WO2013069972A1 - 인트라 예측 방법 및 그 장치 - Google Patents

인트라 예측 방법 및 그 장치 Download PDF

Info

Publication number
WO2013069972A1
WO2013069972A1 PCT/KR2012/009369 KR2012009369W WO2013069972A1 WO 2013069972 A1 WO2013069972 A1 WO 2013069972A1 KR 2012009369 W KR2012009369 W KR 2012009369W WO 2013069972 A1 WO2013069972 A1 WO 2013069972A1
Authority
WO
WIPO (PCT)
Prior art keywords
luma
pixel
block
pixels
peripheral
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
Application number
PCT/KR2012/009369
Other languages
English (en)
French (fr)
Inventor
이진호
김휘용
임성창
최진수
김진웅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Priority claimed from KR1020120125858A external-priority patent/KR20130050900A/ko
Publication of WO2013069972A1 publication Critical patent/WO2013069972A1/ko
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Definitions

  • the present invention relates to image processing, and more particularly, to an intra prediction method and apparatus.
  • an inter prediction technique for predicting a pixel value included in a current picture from a previous and / or subsequent picture in time, and for predicting a pixel value included in a current picture using pixel information in the current picture.
  • An intra prediction technique an entropy encoding technique of allocating a short code to a symbol with a high frequency of appearance and a long code to a symbol with a low frequency of appearance may be used.
  • An object of the present invention is to provide an image encoding method and apparatus capable of improving image encoding / decoding efficiency.
  • Another object of the present invention is to provide an image decoding method and apparatus capable of improving image encoding / decoding efficiency.
  • Another object of the present invention is to provide an intra prediction method and apparatus capable of improving image encoding / decoding efficiency.
  • One embodiment of the present invention is an intra prediction method.
  • the method includes generating luma reference information including pixels in a luma reference block and surrounding luma reference pixels located around the luma reference block based on pixels in a current luma block and surrounding luma pixels located around the current luma block. Deriving a prediction parameter for the current chroma block based on a first surrounding chroma pixel corresponding to the surrounding luma reference pixel among the surrounding luma reference pixels and surrounding chroma pixels located around the current chroma block and the luma Deriving a prediction value of a pixel in the current chroma block based on the pixel in the reference block and the prediction parameter.
  • the surrounding luma reference information generation step it is determined whether the surrounding luma pixel is available according to whether a second surrounding chroma pixel corresponding to the surrounding luma pixel is available among the surrounding chroma pixels located around the current chroma block.
  • the pixel value of the peripheral luma pixel may be determined according to whether the surrounding luma pixel is available.
  • the second peripheral chroma pixel when the second peripheral chroma pixel is available, it may be determined that the peripheral luma pixel is available.
  • the position of the second peripheral chroma pixel is [x, y]
  • the x is -1 and the y has a value of 0 to N U * 2-1, based on the second peripheral chroma pixel
  • the position of the peripheral luma pixel, which is determined whether it is available may be [x, 2y] or [x, 2y + 1], and N U may represent a horizontal length and a vertical length of the current chroma block.
  • the position of the second peripheral chroma pixel is [x, y]
  • the y is -1 and the x has a value of 0 to N U * 2-1, based on the second peripheral chroma pixel
  • the position of the peripheral luma pixel, which is determined whether it is available may be [2x, y] or [2x + 1, y], and N U may represent the horizontal length and the vertical length of the current chroma block.
  • the position of the peripheral luma pixel which is determined based on the second peripheral chroma pixel, may be [-1, -1]. have.
  • a pixel value of an available pixel among the pixels located around the current luma block may be allocated to the peripheral luma pixel.
  • the luma reference information generating step when the peripheral luma pixel is a pixel on a left pixel line adjacent to the left of the current luma block and the peripheral luma pixel is determined to be available, the luma reference information is located adjacent to the left of the peripheral luma pixel.
  • the pixel value of the luma pixel may be determined as the pixel value of the peripheral luma pixel.
  • the peripheral luma pixel is a pixel on a top pixel line adjacent to the top of the current luma block and the peripheral luma pixel is determined to be available, a luma pixel at the same position as the peripheral luma pixel.
  • the pixel value of may be determined as the pixel value of the peripheral luma pixel.
  • Another embodiment of the present invention is a video decoding method.
  • the method includes generating luma reference information including pixels in a luma reference block and surrounding luma reference pixels located around the luma reference block based on pixels in a current luma block and surrounding luma pixels located around the current luma block. Deriving a prediction parameter for the current chroma block based on a first surrounding chroma pixel corresponding to the surrounding luma reference pixel among the surrounding luma reference pixels and neighboring chroma pixels located around the current chroma block.
  • Generating a prediction block for the current chroma block by deriving a prediction value of the pixel in the current chroma block based on the pixel in the reference block and the prediction parameter and for the current chroma block based on the prediction block. Generating a recovery block.
  • the pixel value of the peripheral luma pixel may be determined according to whether the surrounding luma pixel is available.
  • the second peripheral chroma pixel when the second peripheral chroma pixel is available, it may be determined that the peripheral luma pixel is available.
  • the position of the second peripheral chroma pixel is [x, y]
  • the x is -1 and the y has a value of 0 to N U * 2-1, based on the second peripheral chroma pixel
  • the position of the peripheral luma pixel, which is determined whether it is available may be [x, 2y] or [x, 2y + 1], and N U may represent a horizontal length and a vertical length of the current chroma block.
  • the position of the second peripheral chroma pixel is [x, y]
  • the y is -1 and the x has a value of 0 to N U * 2-1, based on the second peripheral chroma pixel
  • the position of the peripheral luma pixel, which is determined whether it is available may be [2x, y] or [2x + 1, y], and N U may represent the horizontal length and the vertical length of the current chroma block.
  • the position of the peripheral luma pixel which is determined based on the second peripheral chroma pixel, may be [-1, -1]. have.
  • a pixel value of an available pixel among the pixels located around the current luma block may be allocated to the peripheral luma pixel.
  • the luma reference information generating step when the peripheral luma pixel is a pixel on a left pixel line adjacent to the left of the current luma block and the peripheral luma pixel is determined to be available, the luma reference information is located adjacent to the left of the peripheral luma pixel.
  • the pixel value of the luma pixel may be determined as the pixel value of the peripheral luma pixel.
  • the peripheral luma pixel is a pixel on a top pixel line adjacent to the top of the current luma block and the peripheral luma pixel is determined to be available, a luma pixel at the same position as the peripheral luma pixel.
  • the pixel value of may be determined as the pixel value of the peripheral luma pixel.
  • image encoding / decoding efficiency can be improved.
  • the image decoding method According to the image decoding method according to the present invention, the image encoding / decoding efficiency can be improved.
  • image encoding / decoding efficiency may be improved.
  • FIG. 1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
  • 3 is a conceptual diagram schematically illustrating an embodiment in which one unit is divided into a plurality of sub-units.
  • FIG. 4 illustrates an embodiment of a prediction direction of an intra prediction mode and a mode value assigned to each prediction direction.
  • FIG. 5 is a flowchart schematically illustrating an example of a method for predicting inter-color components for performing prediction on chroma components based on luma components.
  • FIG. 6 illustrates an embodiment of a method of deriving luma reference information when the size of the current luma block and the size of the current chroma block are different from each other.
  • FIG. 7 is a diagram schematically illustrating an embodiment of a process of generating luma reference information based on an encoding parameter.
  • FIG. 8 is a diagram schematically illustrating an embodiment of a process of generating luma reference information when there are pixels that are not available among the surrounding luma pixels.
  • FIG. 9 is a diagram for explaining an embodiment of a process of generating luma reference information after performing a padding process.
  • FIG. 10 illustrates another embodiment of a process of generating luma reference information after performing a padding process.
  • 11 is a diagram for describing another embodiment of a process of generating luma reference information after performing a padding process.
  • FIG. 12 is a diagram for describing another embodiment of a process of generating luma reference information after performing a padding process.
  • FIG. 13 is a diagram schematically illustrating an embodiment of a process of deriving first color component reference information to be used for prediction of a second color component block when the size of the first color component block is smaller than the size of the second color component block.
  • FIG. 14 is a diagram schematically illustrating an embodiment of a process of deriving first color component reference information to be used for prediction of a second color component block when the size of the first color component block is the same as the size of the second color component block.
  • 15 is a diagram schematically showing an embodiment of peripheral luma pixels used to generate luma reference information.
  • FIG. 16 is a diagram for describing an embodiment of a process of deriving a prediction parameter and a process of deriving a prediction value of pixels in a current chroma block.
  • 17 is a flowchart schematically illustrating an embodiment of a decoding process according to the present invention.
  • FIG. 18 is a diagram for describing an embodiment of a process of deriving luma reference information and a prediction parameter for a current chroma block when the decoding process is performed as in the embodiment of FIG. 17.
  • 19A and 19B are diagrams for describing another embodiment of a decoding process according to the present invention.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • each component shown in the embodiments of the present invention are shown independently to represent different characteristic functions, and do not mean that each component is made of separate hardware or one software component unit.
  • each component is included in each component for convenience of description, and at least two of the components may be combined into one component, or one component may be divided into a plurality of components to perform a function.
  • Integrated and separate embodiments of the components are also included within the scope of the present invention without departing from the spirit of the invention.
  • the components may not be essential components for performing essential functions in the present invention, but may be optional components for improving performance.
  • the present invention can be implemented including only the components essential for implementing the essentials of the present invention except for the components used for improving performance, and the structure including only the essential components except for the optional components used for improving performance. Also included in the scope of the present invention.
  • FIG. 1 is a block diagram illustrating a configuration of an image encoding apparatus according to an embodiment of the present invention.
  • the image encoding apparatus 100 may include a motion predictor 111, a motion compensator 112, an intra predictor 120, a switch 115, a subtractor 125, and a converter 130. And a quantization unit 140, an entropy encoding unit 150, an inverse quantization unit 160, an inverse transform unit 170, an adder 175, a filter unit 180, and a reference picture buffer 190.
  • the image encoding apparatus 100 may encode an input image in an intra mode or an inter mode and output a bitstream.
  • Intra prediction means intra prediction and inter prediction means inter prediction.
  • the switch 115 may be switched to intra, and in the inter mode, the switch 115 may be switched to inter.
  • the image encoding apparatus 100 may generate a prediction block for an input block of an input image and then encode a residual between the input block and the prediction block.
  • the intra predictor 120 may generate a prediction block by performing spatial prediction using pixel values of blocks that are already encoded around the current block.
  • the motion predictor 111 may obtain a motion vector by searching for a region that best matches an input block in the reference image stored in the reference picture buffer 190 during the motion prediction process.
  • the motion compensator 112 may generate a prediction block by performing motion compensation using the motion vector.
  • the motion vector is a two-dimensional vector used for inter prediction, and may indicate an offset between the current encoding / decoding target image and the reference image.
  • the processing unit in which the prediction method or the prediction mode is determined and the processing unit in which the prediction is performed may be the same, but different from each other. It may be.
  • the processing unit in which the prediction method is determined is a PU
  • the processing unit in which the prediction is performed may be a TU.
  • the subtractor 125 may generate a residual block by the difference between the input block and the generated prediction block.
  • the transform unit 130 may output a transform coefficient by performing a transform on the residual block.
  • the quantization unit 140 may output the quantized coefficient by quantizing the input transform coefficient according to the quantization parameter.
  • the entropy encoder 150 may output a bit stream by performing entropy encoding based on values calculated by the quantizer 140 or encoding parameter values calculated in the encoding process.
  • the entropy encoder 150 may use an encoding method such as exponential golomb, context-adaptive variable length coding (CAVLC), or context-adaptive binary arithmetic coding (CABAC) for entropy encoding.
  • CAVLC context-adaptive variable length coding
  • CABAC context-adaptive binary arithmetic coding
  • the image encoding apparatus Since the image encoding apparatus according to the embodiment of FIG. 1 performs inter prediction encoding, that is, inter prediction encoding, the currently encoded image needs to be decoded and stored to be used as a reference image. Accordingly, the quantized coefficients are inversely quantized by the inverse quantizer 160 and inversely transformed by the inverse transformer 170. The inverse quantized and inverse transformed coefficients are added to the prediction block by the adder 175 and a reconstruction block is generated.
  • the reconstruction block passes through the filter unit 180, and the filter unit 180 applies at least one or more of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the reconstruction block or the reconstruction picture. can do.
  • the filter unit 180 may be referred to as an adaptive in-loop filter.
  • the deblocking filter can remove block distortion generated at the boundary between blocks.
  • SAO can add an appropriate offset to the pixel value to compensate for coding errors.
  • the ALF may perform filtering based on a value obtained by comparing the reconstructed image with the original image.
  • the reconstructed block that has passed through the filter unit 180 may be stored in the reference picture buffer 190.
  • FIG. 2 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
  • the image decoding apparatus 200 may include an entropy decoder 210, an inverse quantizer 220, an inverse transformer 230, an intra predictor 240, a motion compensator 250, and an adder ( 255, a filter unit 260, and a reference picture buffer 270.
  • the image decoding apparatus 200 may receive a bitstream output from the encoder and perform decoding in an intra mode or an inter mode, and output a reconstructed image, that is, a reconstructed image.
  • the switch In the intra mode, the switch may be switched to intra, and in the inter mode, the switch may be switched to inter.
  • the image decoding apparatus 200 may obtain a residual block from the input bitstream, generate a prediction block, and then add the residual block and the prediction block to generate a reconstructed block, that is, a reconstruction block.
  • the entropy decoder 210 may entropy decode the input bitstream according to a probability distribution to generate symbols including symbols in the form of quantized coefficients.
  • the entropy decoding method is similar to the entropy coding method described above.
  • the entropy decoding method When the entropy decoding method is applied, a small number of bits are allocated to a symbol having a high probability of occurrence and a large number of bits are allocated to a symbol having a low probability of occurrence, whereby the size of the bit string for each symbol is increased. Can be reduced. Therefore, the compression performance of image decoding can be improved through an entropy decoding method.
  • the quantized coefficient is inversely quantized by the inverse quantizer 220 and inversely transformed by the inverse transformer 230, and as a result of the inverse quantization / inverse transformation of the quantized coefficient, a residual block may be generated.
  • the intra predictor 240 may generate a prediction block by performing spatial prediction using pixel values of blocks that are already encoded around the current block.
  • the motion compensator 250 may generate a predictive block by performing motion compensation using the reference image stored in the motion vector and the reference picture buffer 270.
  • the processing unit in which the prediction method or the prediction mode is determined and the processing unit in which the prediction is performed may be the same or may be different from each other.
  • the processing unit in which the prediction method is determined is a PU
  • the processing unit in which the prediction is performed may be a TU.
  • the residual block and the prediction block may be added through the adder 255, and the added block may pass through the filter unit 260.
  • the filter unit 260 may apply at least one or more of the deblocking filter, SAO, and ALF to the reconstructed block or the reconstructed picture.
  • the filter unit 260 may output a reconstructed image, that is, a reconstructed image.
  • the reconstructed picture may be stored in the reference picture buffer 270 and used for inter prediction.
  • a unit may mean a unit of image encoding and decoding.
  • a coding or decoding unit refers to a divided unit when an image is divided and encoded or decoded, and thus a coding unit (CU), a prediction unit (PU), and a transformation unit (TU). Transform Unit).
  • CU coding unit
  • PU prediction unit
  • TU transformation unit
  • Transform Unit a unit may also be referred to as a block.
  • One unit may be further divided into smaller sub-units.
  • 3 is a conceptual diagram schematically illustrating an embodiment in which one unit is divided into a plurality of sub-units.
  • One unit may be hierarchically divided with depth information based on a tree structure.
  • Each divided subunit may have depth information. Since the depth information indicates the number and / or degree of division of the unit, the depth information may include information about the size of the sub-unit.
  • 310 of FIG. 3 illustrates an embodiment of a tree structure in which one unit is divided into a plurality of sub-units.
  • 320 of FIG. 3 illustrates an embodiment of a unit that is divided into a plurality of sub-units.
  • the unit shown in 320 of FIG. 3 may be a CU or a TU, for example.
  • the highest node may be called a root node and may have the smallest depth value. At this time, the highest node may have a depth of level 0 and may represent the first unit that is not divided.
  • a lower node having a depth of level 1 may indicate a unit in which the first unit is divided once, and a lower node having a depth of level 2 may indicate a unit in which the first unit is divided twice.
  • unit 320 corresponding to node a in 320 of FIG. 3 may be a unit divided once in an initial unit and may have a depth of level 1.
  • a leaf node of level 3 may indicate a unit in which the first unit is divided three times.
  • the unit d corresponding to the node d in 320 of FIG. 3 may be a unit divided three times in the first unit and may have a depth of level 3.
  • FIG. the leaf node at level 3, which is the lowest node, may have the deepest depth.
  • an encoding / decoding target block may be referred to as a current block in some cases.
  • the encoding / decoding object block may be called a prediction object block.
  • the image signal may be composed of color components that are components that form a color space.
  • the image signal may include three color components generally representing three primary color components of light. Three color components representing the three primary color components of light may be represented by R (Red), G (Green), and B (Blue).
  • the R, G, and B signals may be converted into one luma component and two chroma components to reduce a frequency band used for image processing.
  • one image signal may include one luma component and two chroma components.
  • the luma component may be represented as Y as a component representing the brightness of the screen.
  • two chroma components may be represented as U, V, Cb, or Cr as a component representing a color of a screen.
  • the color space of the image may be represented by YUV or YCbCr, for example.
  • a block having a luma component may be referred to as a luma block
  • a block having a chroma component may be referred to as a chroma block.
  • the human eye is sensitive to luma component signals and insensitive to chroma component signals.
  • the frequency band used for image processing may be reduced.
  • the number of pixels of the chroma component in one image or block may be smaller than the number of pixels of the luma component.
  • the horizontal pixel number of the chroma block corresponding to the luma block is 1/2 of the horizontal pixel number of the luma block
  • the vertical pixel of the chroma block corresponding to the luma block is the luma block.
  • the number of horizontal and vertical pixels of the chroma block corresponding to the luma block may be the same as the number of horizontal and vertical pixels of the luma block, respectively.
  • intra prediction may be performed according to the intra prediction mode of the current block. Since the intra prediction mode of the current block has a high correlation with the prediction mode of the neighboring block, the prediction mode of the current block may be encoded based on the prediction mode of the neighboring block adjacent to the current block block. At this time, Most Probable Mode (MPM) for the current block may be used.
  • MPM Probable Mode
  • a pixel may have the same meaning as a sample, and in embodiments described below, the pixel may be referred to as a sample in some cases.
  • the encoder and the decoder may generate a prediction block by performing intra prediction based on pixel information in the current picture. That is, when performing intra prediction, the encoder and the decoder may perform directional prediction and / or non-directional prediction based on at least one reconstructed reference pixel.
  • the prediction block may mean a block generated as a result of performing intra prediction.
  • the prediction block may correspond to at least one of a coding unit CU, a prediction unit PU, and a transform unit TU.
  • intra prediction may be performed according to the intra prediction mode of the current block.
  • the number of intra prediction modes that the current block may have may be a predetermined fixed value or may be a value determined differently according to the size of the prediction block. In one example, the number of intra prediction modes that the current block may have may be 35 or 36.
  • the prediction may be performed in the vertical direction based on the pixel value of the reference pixel in the vertical mode having the mode value of 1, and the reference pixel in the horizontal mode having the mode value of 2.
  • the prediction may be performed in the horizontal direction based on the pixel value of.
  • the encoder and the decoder may perform intra prediction using the reference pixel according to the corresponding angle.
  • a prediction mode having a mode value of 0 may be called a planar mode, and a prediction mode having a mode value of 3 may be called a DC mode.
  • the planner mode eg Intra_Planar
  • DC mode eg Intra_DC
  • a prediction block may be generated by averaging pixel values of a plurality of reference pixels.
  • a position of a reference pixel to be used for prediction of the prediction target pixel may be determined based on the position of the prediction target pixel, and a prediction value of the prediction target pixel may be derived based on the reference pixel existing at the determined position.
  • the prediction mode having the mode value of 35 in 410 of FIG. 4 may be referred to as an LM mode (eg, Intra_FromLuma).
  • the LM mode may refer to a prediction mode in which a prediction value of a chroma component (eg, U or V) pixel is determined according to a pixel value of a luma component (eg, Y).
  • a prediction value of a chroma component eg, U or V
  • a luma component eg, Y
  • the number of intra prediction modes and / or mode values assigned to each intra prediction mode are not limited to the above-described embodiments, and may be determined differently according to implementation and / or needs.
  • the prediction direction of the intra prediction mode and the mode value allocated to each prediction mode may be determined differently from 410 of FIG. 4 as shown in 420 of FIG. 4.
  • the LM mode may be applied to the embodiment of 420 of FIG. 4 as in 410 of FIG. 4.
  • the mode value of 35 may be assigned to the LM mode.
  • intra prediction is performed based on the intra prediction mode as shown in 410 of FIG. 4 unless otherwise stated for convenience of description.
  • the prediction mode of the chroma component may be encoded based on the prediction mode of the corresponding luma component, and the decoder may predict the chroma component based on the prediction mode of the luma component.
  • the mode can be derived.
  • the prediction mode information of the chroma component transmitted from the encoder to the decoder may be a separate value used to derive the prediction mode of the chroma component in relation to the prediction mode of the luma component, not the prediction mode of the chroma component itself.
  • Table 1 below shows an embodiment of a chroma prediction mode that is determined according to a prediction mode of a luma component and a transmitted value.
  • the value transmitted from the encoder to the decoder may be a value allocated to intra_chroma_pred_mode.
  • IntraPredMode represents the intra prediction mode of the luma component. For example, when the intra_chroma_pred_mode value is 2 and the value of IntraPredMode is 26, the intra prediction mode value of the chroma component may be 10.
  • the intra_chroma_pred_mode and IntraPredMode are not limited to the names.
  • the values assigned to each prediction mode may be determined differently according to implementation and / or needs as an embodiment.
  • the prediction mode of the chroma component when the value of intra_chroma_pred_mode is 4, the prediction mode of the chroma component may be called LM mode, and when the value of intra_chroma_pred_mode is 5, the prediction mode of the chroma component may be called DM mode.
  • the LM mode is a prediction mode in which the prediction value of the chroma component pixel is determined according to the pixel value of the luma component.
  • the DM mode is a prediction mode in which the prediction mode of the luma component is used as the prediction mode of the chroma component.
  • the encoder encodes LM flag information indicating whether the LM mode is applied according to the prediction mode of the chroma component in the current sequence, that is, whether the LM mode may be applied to the intra prediction of the chroma component within the current sequence, and then encodes the LM flag information to the decoder.
  • the LM flag information may be transmitted to the decoder through a syntax element called chroma_pred_from_luma_enabled_flag, for example. For example, when 1 is assigned to chroma_pred_from_luma_enabled_flag, the flag may indicate that the LM mode may be used for intra prediction of chroma components. In addition, when 0 is assigned to chroma_pred_from_luma_enabled_flag, the flag may indicate that the LM mode is not used for intra prediction of chroma components.
  • the chroma prediction mode may be determined according to the embodiment of Table 1. However, if 0 is assigned to chroma_pred_from_luma_enabled_flag, since the LM mode is not used for intra prediction of the chroma component, the chroma prediction mode determined according to the prediction mode and the transmitted value of the luma component may be determined differently than in the embodiment of Table 1. For example, when the LM mode is not used for intra prediction of the chroma component, the chroma prediction mode may be represented as in the embodiment of Table 2 below.
  • color components constituting the color space may include R, G, B, luma components (eg, Y), and / or chroma components (eg, U, V, Cb, Cr).
  • the prediction of the chroma component may be performed based on the luma component.
  • the first color component may correspond to a luma component
  • the second color component may correspond to a chroma component.
  • the correlation between the luma component and the chroma component may be expressed as a linear relationship using prediction parameters.
  • the first color component and the second color component may have various combinations, but for convenience of description, the first color component is called a luma component, and the second color component is called a chroma component.
  • the embodiments described below are not limited thereto and may be applied in the same or similar manner to all possible combinations of the first color component and the second color component.
  • the luma component may be viewed as the first color component
  • the chroma component may be viewed as the second color component in the following embodiments.
  • FIG. 5 is a flowchart schematically illustrating an example of a method for predicting inter-color components for performing prediction on chroma components based on luma components.
  • the prediction process described later may be performed by the intra prediction unit of the encoding apparatus and the decoding apparatus.
  • a chroma block to be encoded / decoded is referred to as a current chroma block.
  • the "restored" luma block corresponding to the current chroma block is called a current luma block.
  • the current luma block may be a block existing at the same position as the current chroma block.
  • the current luma block may be a block existing at a predetermined position relative to the current chroma block or at a predetermined fixed position.
  • the encoder and the decoder may derive luma reference information to be used for prediction of the current chroma block based on pixels in the current luma block and pixels around the current luma block (S510).
  • Luma reference information may mean pixel values of a luma component to be used for prediction of a current chroma block. Accordingly, luma reference information may be referred to herein as a "luma reference pixel.” In this case, luma reference pixels corresponding to pixels in the current chroma block may constitute a 'luma reference block'. In addition, in the present specification, a pixel located near the current luma block is referred to as a 'peripheral luma pixel', and a pixel located near the current chroma block is referred to as a 'peripheral chroma pixel', This is called the 'ambient reference pixel'.
  • the luma reference block may correspond to the current chroma block
  • the surrounding luma reference pixel may correspond to the surrounding chroma pixel.
  • luma reference information may be used as a concept including a pixel in a luma reference block and a surrounding luma reference pixel.
  • the current luma block and the current chroma block may have different sizes according to the image format.
  • the encoder and decoder perform down sampling and / or up sampling on the pixels in the current luma block and on the pixels around the current luma block, thereby providing a luma of the same size as the current chroma block.
  • a reference block and corresponding luma reference pixels corresponding thereto can be derived.
  • the encoder and the decoder may differently generate luma reference information based on the encoding parameter.
  • the encoding parameter is a parameter necessary for encoding and decoding, and may include information that may be inferred in the encoding or decoding process as well as information encoded by the encoder and transmitted to the decoder, such as a syntax element. This can mean information that is needed when doing so.
  • the encoding parameter may include, for example, an encoding mode, an intra prediction mode, an inter prediction mode, a quantization parameter (QP), and the like.
  • the encoder and the decoder may perform a padding process on pixels that are not available.
  • the padding may mean a process of filling a new pixel value based on the available pixels at positions of the unavailable pixels.
  • the encoder and the decoder may derive a prediction parameter for the current chroma block based on the luma reference information and the chroma component information (S520).
  • the encoder and the decoder may derive the prediction parameter based on the pixel value of the peripheral luma reference pixels and the pixel value of the peripheral chroma pixels.
  • the prediction parameters may be alpha ( ⁇ ) and beta ( ⁇ ) based on the least squares method.
  • the encoder and the decoder may derive the prediction value of the pixels in the current chroma block based on the prediction parameter and the luma reference pixel value in the luma reference block (S530). That is, the encoder and the decoder may perform intra prediction on the current chroma block based on the prediction parameter and the luma reference pixel value in the luma reference block.
  • a specific embodiment of the process of deriving the prediction value of the pixels in the current chroma block will be described later.
  • FIG. 6 illustrates an embodiment of a method of deriving luma reference information when the size of the current luma block and the size of the current chroma block are different from each other.
  • the current luma block and the current chroma block may have different sizes according to the image format.
  • the size of the current luma block may be four times larger than the size of the current chroma block.
  • the encoder and the decoder may derive pixels in a luma reference block having the same size as the current chroma block based on the current luma block, and may derive peripheral luma reference pixels located around the luma reference block. That is, in this case, the encoder and the decoder may generate luma reference information to correspond to the size of the current chroma block.
  • 610 of FIG. 6 illustrates an embodiment of the current luma block 612, the surrounding luma pixels 614, the current chroma block 616, and the surrounding chroma pixels 618.
  • the size of the current chroma block 616 is 4 ⁇ 4
  • the size of the current luma block 612 corresponding thereto may be 8 ⁇ 8.
  • the encoder and the decoder may generate luma reference pixels corresponding to a 4 ⁇ 4 luma reference block.
  • FIG. 6 illustrates an embodiment of a method for deriving luma reference information.
  • the encoder and the decoder are based on the pixel in the current luma block 612 and the surrounding luma pixels 624, and the luma reference block 626 and the surrounding to be used for prediction of the current chroma block 616.
  • Luma reference pixels 628 may be generated.
  • the peripheral luma pixels 624 used for deriving luma reference information are pixels included in the two pixel lines closest to the left of the current luma block 612, and at the top of the current luma block 612. It may include pixels included in one pixel line located closest to each other.
  • the encoder and the decoder since the sizes of the current luma block 612 and the current chroma block 616 are different from each other, the encoder and the decoder have a luma reference block 626 of the same size (4 ⁇ 4) as the current chroma block 616. And peripheral luma reference pixels 628 corresponding thereto.
  • the encoder and the decoder since the size of the current chroma block 616 is smaller than the size of the current luma block 612, the encoder and the decoder may perform downsampling on the pixels in the current luma block 612 and the surrounding luma pixels 624.
  • luma reference information may be generated by performing down sampling.
  • the coordinates of the present specification may be coordinates based on the position of the pixel located at the upper left corner of the block.
  • a coordinate of a pixel present at the upper left corner of a block may be (0,0).
  • the encoder and decoder are two-tap, three-tap and / or four taps for the pixels in the current luma block 612 and the surrounding luma pixels 624.
  • Down sampling can be performed by applying a (4-tap) filter or the like.
  • the downsampling process may be represented by Equation 1 as an example.
  • p [x, y] may represent pixel values of the reconstructed luma component pixels, that is, the pixels in the current luma block 612 and the surrounding luma pixels 624.
  • p '[x, y] may represent pixel values of luma reference pixels 626 and 628 generated according to the size of the current chroma block 616.
  • the encoder and the decoder may perform down sampling by selecting pixels to be used as luma reference pixels among the pixels in the current luma block 612 and the surrounding luma pixels 624 according to a predetermined operation.
  • the encoder and the decoder may select one pixel within a pixel group having a predetermined size and use it as a luma reference pixel.
  • the downsampling process may be performed by at least one of the downsampling schemes represented by Equations 2, 3, and 4, for example.
  • different down-sampling schemes may be applied to the pixels in the current luma block 612, the peripheral luma pixels located at the top of the current luma block 612, and the peripheral luma pixels located at the left of the current luma block 612. have.
  • the down sampling scheme according to Equation 1 is applied to the pixels in the current luma block 612
  • the down sampling scheme according to Equation 2 is applied to the peripheral luma pixels located at the top of the current luma block 612.
  • the down sampling scheme according to Equation 3 may be applied to the peripheral luma pixels positioned to the left of the current luma block 612.
  • FIG. 6 illustrates another embodiment of a method for deriving luma reference information.
  • the encoder and decoder are based on the pixel in the current luma block 612 and the surrounding luma pixels 634, and the luma reference block 636 and the surrounding to be used for prediction of the current chroma block 616.
  • Luma reference pixels 638 may be generated.
  • luma reference information 636 and 638 may be derived. That is, in the embodiment of 630 of FIG. 6, only pixels 634 included in one pixel line at the left and top of the current luma block 612 may be used to derive the luma reference information 636 and 638.
  • the encoder and the decoder may differently generate luma reference information based on a block including neighboring luma pixels and / or encoding parameters of the current luma block.
  • the encoding parameter may include an encoding mode, an intra prediction mode, an inter prediction mode, a quantization parameter (QP), and the like.
  • the encoder and the decoder may generate luma reference information using only pixel values of pixels with low distortion.
  • the encoder and the decoder may differently generate luma reference information based on an encoding mode.
  • the encoder and the decoder may use only the pixels in the intra-coded block in the luma reference information derivation among the pixels in the current luma block and the surrounding luma pixels.
  • FIG. 7 is a diagram schematically illustrating an embodiment of a process of generating luma reference information based on an encoding parameter.
  • FIG. 7 illustrates an embodiment of a method of generating luma reference information 716 and 718 based on the intra prediction mode of the current luma block 712.
  • the size of the current luma block 712 is 8x8 and the size of the current chroma block is 4x4.
  • a luma reference block 716 and surrounding luma reference pixels 718 to be used for prediction of the current chroma block are generated based on the pixels in the current luma block 712 and the surrounding luma pixels 714.
  • the encoder and the decoder may include only pixels located adjacent to the top of the current luma block 712 among the surrounding luma pixels 714. May be used to generate luma reference information 716 and 718.
  • the peripheral luma reference pixels 718 derived at 710 of FIG. 7 may be pixels located adjacent to the top of the luma reference block 716.
  • the encoder and the decoder may use only pixels located adjacent to the left of the current luma block among the surrounding luma pixels to generate luma reference information.
  • the derived luma reference pixels may be pixels located adjacent to the left side of the luma reference block. If the intra prediction mode of the current luma block is a DC mode or a planner mode, both the pixels located on the left of the current luma block and the pixels located on the top of the current luma block may be used to generate luma reference information.
  • the derived luma reference pixels may include both pixels located on the left side of the luma reference block and pixels located on the top of the luma reference block.
  • FIG. 7 illustrates one embodiment of a method of generating luma reference information 752, 754 based on quantization parameters of peripheral luma blocks 734, 736, 738 located around the current luma block 732.
  • the size of the current luma block 732 is 8x8 and the size of the current chroma block is 4x4.
  • the quantization parameter value of the upper peripheral luma block 734 located adjacent to the top of the current luma block 732 is 22, and the upper left corner located at the upper left corner outside the current luma block 732.
  • the quantization parameter value of the peripheral luma block 736 is 26.
  • the quantization parameter value of the left peripheral luma block 738 located adjacent to the left of the current luma block 732 is 28.
  • the encoder and the decoder may use the surrounding luma pixels belonging to the surrounding luma block having the smallest quantization parameter value among the surrounding luma pixels 744, 746, and 748 to generate the luma reference information.
  • the upper peripheral luma block 734 of the upper peripheral luma block 734, the upper left peripheral luma block 736, and the left peripheral luma block 738 has the smallest quantization parameter value (eg, 22).
  • the peripheral luma pixels 744 in the upper peripheral luma block 734 can be used to generate luma reference information. That is, in 730 of FIG. 7, the encoder and decoder determine that the pixels in the current luma block 732 and the peripheral luma pixels 744 in the upper peripheral luma block 734 are the luma reference block 752 and the peripheral luma reference pixels ( 754.
  • the size of the generated luma reference block 752 may be 4 ⁇ 4.
  • the peripheral luma reference pixels 754 derived at 730 of FIG. 7 may be pixels located adjacent to the top of the luma reference block 752.
  • the downsampling process performed to generate luma reference information is similar to that of the embodiment of FIG. 6, and thus a detailed description thereof will be omitted.
  • FIG. 8 is a diagram schematically illustrating an embodiment of a process of generating luma reference information when there are pixels that are not available among the surrounding luma pixels.
  • the current luma block is located adjacent to the boundary of the current picture, the current luma block is located adjacent to the boundary of the current slice, and the Constrained Intra for the current luma block. Prediction) may be applied.
  • FIG. 8 illustrates an embodiment of a method of deriving luma reference information when a current luma block is located adjacent to a boundary of a current picture and / or a current slice.
  • the current luma block 812 may be a block located adjacent to the left boundary 818 of the current picture and / or the current slice.
  • the peripheral luma pixels 816 located on the left side of the current luma block 812 are located outside the current picture and / or the current slice, they may correspond to pixels that are not available.
  • the encoder and the decoder may perform a padding process on pixels that are not available prior to performing the downsampling process.
  • padding may refer to a process of filling a new pixel value at a location of an unavailable pixel.
  • peripheral luma pixels 816 located on the left side of the current luma block 812 are not available, as in 810 of FIG. 8, the encoder and decoder are available peripheral luma pixels located on top of the current luma block 812.
  • the pixel value of at least one of the pixels 814 may be filled in the positions of the peripheral luma pixels located to the left of the current luma block 812. For example, a process of filling a pixel value in the first pixel line nearest to the left of the current luma block 812 may be represented by Equation 5 below.
  • p [x, y] may represent a reconstructed pixel value of the luma component.
  • a process of filling pixel values into a pixel line located second to the left of the current luma block 812, that is, a second pixel line adjacent to the left of the first pixel line, is represented by Equation 6 below. Can be.
  • the encoder and the decoder may use the newly filled pixel value to generate luma reference information. That is, the encoder and decoder determine luma reference information based on the available pixel values of the surrounding luma pixels 814, the pixel values of the pixels 816 filled by the padding process, and the pixel values of the pixels in the current luma block 812. Can be generated.
  • neighboring luma pixels that are not available to the encoder and decoder may not be used to generate luma reference information. That is, the encoder and the decoder may generate luma reference information based on pixels in the current luma block and available peripheral luma pixels. For example, in 810 of FIG. 8, pixels in the current luma block 812 and available peripheral luma pixels 814 located on top of the current luma block 812 may be used to generate luma reference information.
  • At 810 of FIG. 8 at least one of the above-described method of generating luma reference information may be applied together with the above-described embodiments.
  • FIG. 8 illustrates an embodiment of a method of deriving luma reference information when CIP (Constrained Intra Prediction) is applied.
  • the CIP may refer to an intra prediction scheme that uses only pixels in a block that are encoded / decoded by intra prediction among blocks located around the prediction block. When CIP is applied, pixels in a block encoded / decoded by inter prediction may not be used for intra prediction.
  • the encoder may transmit flag information on whether CIP is applied to the decoder.
  • the decoder may determine whether to apply CIP based on the flag information.
  • the flag information on whether the CIP is applied may be represented as 'constrained_intra_pred_flag' as an example.
  • the upper peripheral luma block 824 located at the top of the current luma block 822 is a block encoded / decoded in an intra mode, and the left located at the left of the current luma block 822.
  • the peripheral luma block 826 may be a block encoded / decoded in an inter mode.
  • the peripheral luma pixels 836 located in the left peripheral luma block 826 may correspond to pixels that are not available.
  • the encoder and the decoder may perform a padding process on pixels that are not available prior to performing the downsampling process.
  • padding may refer to a process of filling a new pixel value at a location of an unavailable pixel.
  • the encoder and the decoder may fill the unusable surrounding luma pixels with pixel values of the available surrounding luma pixels.
  • peripheral luma pixels 836 located in the left peripheral luma block 826 are not available, as in 820 of FIG. 8, the encoder and decoder are available peripherals located in the upper peripheral luma block 824.
  • Pixel values of at least one of the luma pixels 834 may be filled at positions of peripheral luma pixels 836 that are not available.
  • a process of performing padding based on pixels in the upper peripheral luma block 824 may be represented by Equation 7 below.
  • the pixels 838 located adjacent to the bottom of the left peripheral luma block 826 may be pixels in a block encoded / decoded in an intra mode.
  • the encoder and the decoder may include a pixel located at the top of the left peripheral luma block (for example, a pixel at the position of (-2, -1) or a pixel at the position of (-1, -1)) and a left peripheral.
  • Peripheral luma pixels 836 where no pixel average value is available for a pixel located at the bottom of the luma block e.g., a pixel at position (-2,8) or a pixel at position (-1,8)).
  • This padding process may be represented by Equation 8 as an example.
  • the encoder and the decoder may use the newly filled pixel value to generate luma reference information. That is, the encoder and decoder determine luma reference information based on the available pixel values of the surrounding luma pixels 834, the pixel values of the pixels 836 filled by the padding process, and the pixel values of the pixels in the current luma block 822. Can be generated.
  • neighboring luma pixels that are not available to the encoder and the decoder may not be used to generate luma reference information. That is, the encoder and the decoder may generate luma reference information based on pixels in the current luma block and available peripheral luma pixels. For example, in 820 of FIG. 8, pixels within the current luma block 822 and available peripheral luma pixels 834 located within the upper peripheral luma block 824 may be used to generate luma reference information.
  • At 820 of FIG. 8 at least one of the luma reference information generation methods described above with reference to the embodiments of FIGS. 6 and 7 may be applied together with the above-described embodiments.
  • FIG. 9 is a diagram for explaining an embodiment of a process of generating luma reference information after performing a padding process.
  • peripheral luma pixels in the first left pixel line nearest to the left of the current luma block 910 and the first upper pixel line nearest to the top of the current luma block 910 generate luma reference information.
  • An embodiment in the case of using is shown.
  • a pixel line located second to the left of the current luma block 910, that is, a pixel line adjacent to the left of the first left pixel line will be referred to as a second left pixel line.
  • a pixel line second closest to the top of the current luma block 910, that is, a pixel line adjacent to the top of the first top pixel line will be referred to as a second top pixel line.
  • the intra prediction mode of the current chroma block to be predicted is the LM mode.
  • the LM mode may be represented as Intra_FromLuma.
  • the size of the current luma block 910 is 8x8 and the size of the current chroma block is 4x4.
  • the size of the luma reference block to be used for prediction of the current chroma block may be the same as the size of the current chroma block. Accordingly, the size of the luma reference block 930 derived in the embodiment of FIG. 9 may be 4 ⁇ 4.
  • peripheral luma pixels 922, 924, 926, and 928 illustrated in the embodiment of FIG. 9 are available pixels.
  • the peripheral luma pixels corresponding to 924 and the peripheral luma pixels corresponding to 928 are assumed to be unavailable pixels.
  • the encoder and the decoder may generate luma reference information after performing a padding process on neighboring luma pixels that are not available.
  • the encoder and the decoder may perform a padding process after copying peripheral luma pixel values on the second left pixel line to the first left pixel line. That is, the encoder and the decoder replace the peripheral luma pixel values of the first left pixel line with the peripheral luma pixel values of the second left pixel line, and then apply the non-available peripheral luma pixels on the first left pixel line and the first top pixel line.
  • the padding process may be performed.
  • the process of copying the peripheral luma pixel values on the second left pixel line to the first left pixel line may be represented by Equation 9 as an example.
  • P Y may represent a pixel value of the surrounding luma pixel.
  • nS may represent the horizontal length and the vertical length of the current luma block 910.
  • Pixel values of the surrounding luma pixels to be used for generating luma reference information may be represented by Equation 10 below.
  • Pixels not available among the surrounding luma pixels may form a pixel group as shown in 924 and 928 of FIG. 9.
  • a group of unavailable pixels on the first left pixel line eg, four pixels located on the left in 928 of FIG. 9
  • the first top pixel line The group of unavailable pixels 924 on the image is referred to as the top pixel group.
  • the encoder and the decoder may determine whether there are available pixels located adjacent to the pixel group at both ends of each pixel group (eg, the left pixel group and the top pixel group) to perform padding.
  • an available pixel located adjacent to a pixel group may exist only at one end of the pixel group.
  • an available pixel may not exist on the right side of the upper pixel group 924, and an available pixel c may exist on the left side of the upper pixel group 924.
  • the pixel c may be represented by P Y [nS-1, -1].
  • the encoder and the decoder may fill the pixel value of the available pixel c located adjacent to the upper pixel group at the positions of the unavailable pixels in the upper pixel group 924.
  • Such a padding process may be represented by Equation 11 below.
  • available pixels located adjacent to the pixel group may exist at both ends of the pixel group.
  • an available pixel b may be adjacent to the top of the left pixel group
  • an available pixel a may be adjacent to the bottom of the left pixel group.
  • the pixel a may be represented by P Y [-1, nS + (nS >> 1)]
  • the pixel b may be represented by P Y [-1, nS-1].
  • the encoder and the decoder may fill in the pixel average value of the available pixels (a, b) located adjacent to the left pixel group at the positions of the unavailable pixels in the left pixel group.
  • Such a padding process may be represented by Equation 12 as an example.
  • pixel values of peripheral luma pixels on the first left pixel line and peripheral luma pixels on the first top pixel line may be determined.
  • the encoder and the decoder may determine the luma reference information (the luma reference) based on the pixel values of the peripheral luma pixels on the first left pixel line, the peripheral luma pixels on the first top pixel line, and the pixels in the current luma block 910.
  • Block 930 and surrounding luma reference pixels 940 may be generated.
  • the peripheral luma pixel present at the position of [-1, -1] may not be used for generating luma reference information.
  • the luma reference information generation process may be represented by Equation 13 as an example.
  • P RecY may represent a pixel value of a pixel in the current luma block.
  • P Y ′ may represent a pixel value corresponding to the luma reference information (eg, a pixel value of a pixel in the luma reference block and / or a peripheral luma reference pixel).
  • FIG. 10 illustrates another embodiment of a process of generating luma reference information after performing a padding process.
  • FIG. 10 illustrates that peripheral luma pixels in the first left pixel line closest to the left of the current luma block 1010 and the first upper pixel line closest to the top of the current luma block 1010 generate luma reference information.
  • An embodiment in the case of using is shown.
  • a pixel line located second to the left of the current luma block 1010 that is, a pixel line adjacent to the left of the first left pixel line
  • a second left pixel line a pixel line second closest to the top of the current luma block 1010, that is, a pixel line adjacent to the top of the first top pixel line
  • a second top pixel line a pixel line second closest to the top of the current luma block 1010
  • the intra prediction mode of the current chroma block to be predicted is the LM mode.
  • the LM mode may be represented as Intra_FromLuma.
  • the size of the current luma block 1010 is 8x8 and the size of the current chroma block is 4x4.
  • the size of the luma reference block to be used for prediction of the current chroma block may be the same as the size of the current chroma block. Accordingly, the size of the luma reference block 1030 derived in the embodiment of FIG. 10 may be 4 ⁇ 4.
  • peripheral luma pixels 1022, 1024, 1026, and 1028 shown in the embodiment of FIG. 10 are available pixels, It is assumed that the peripheral luma pixels corresponding to 1024 and the peripheral luma pixels corresponding to 1028 are unavailable pixels.
  • the encoder and the decoder may generate luma reference information after performing a padding process on neighboring luma pixels that are not available.
  • the encoder and the decoder perform a padding process on unused peripheral luma pixels on the first left pixel line and the first top pixel line, thereby pixel values P Y [x, y] of the peripheral luma pixels.
  • P Y may represent a pixel value of the surrounding luma pixel.
  • nS may represent the horizontal length and the vertical length of the current luma block 1010.
  • Pixels not available among the surrounding luma pixels may form a pixel group as shown in 1024 and 1028 of FIG. 10.
  • a group of unavailable pixels on the first left pixel line eg, four pixels located on the left in 1028 of FIG. 10
  • the first top pixel line The group of unavailable pixels 1024 on the image is referred to as the top pixel group.
  • the encoder and the decoder may determine whether there are available pixels located adjacent to the pixel group at both ends of each pixel group (eg, the left pixel group and the top pixel group) to perform padding.
  • an available pixel located adjacent to a pixel group may exist only at one end of the pixel group.
  • an available pixel may not exist on the right side of the upper pixel group 1024, and an available pixel c may exist on the left side of the upper pixel group 1024.
  • the pixel c may be represented by P Y [nS-1, -1].
  • the encoder and the decoder may fill the pixel value of the available pixel c located adjacent to the upper pixel group at the positions of the unavailable pixels in the upper pixel group 1024.
  • Such a padding process may be represented by Equation 14 as an example.
  • available pixels located adjacent to the pixel group may exist at both ends of the pixel group.
  • an available pixel b may be adjacent to the top of the left pixel group
  • an available pixel a may be adjacent to the bottom of the left pixel group.
  • the pixel a may be represented by P Y [-1, nS + (nS >> 1)]
  • the pixel b may be represented by P Y [-1, nS-1].
  • the encoder and the decoder may fill in the pixel average value of the available pixels (a, b) located adjacent to the left pixel group at the positions of the unavailable pixels in the left pixel group.
  • Such a padding process may be represented by, for example, Equation 15 below.
  • pixel values of peripheral luma pixels on the first left pixel line and peripheral luma pixels on the first top pixel line may be determined.
  • the encoder and decoder determine the luma reference information (luma reference block 1030) based on the pixel values of the peripheral luma pixels on the first left pixel line, the peripheral luma pixels on the first top pixel line, and the pixels in the current luma block 1010. ) And surrounding luma reference pixels 1040).
  • available pixels may exist among pixels on the second left pixel line positioned adjacent to the left side of the first left pixel line. If a pixel located adjacent to the left side of the pixel on the first left pixel line (pixel on the second left pixel line) is available, the encoder and the decoder are positioned adjacent to the second left pixel line instead of the pixel on the first left pixel line.
  • the pixels of the image may be used to generate luma reference information. However, if a pixel located adjacent to the left side of the pixel on the first left pixel line (pixel on the second left pixel line) is not available, the encoder and decoder refer to the luma on the pixel on the first left pixel line on which the padding process has been performed. Can be used to generate information.
  • Equation 16 the process of generating luma reference information may be represented by Equation 16 as an example.
  • P RecY may represent a pixel value of a pixel in the current luma block.
  • P Y ′ may represent a pixel value corresponding to the luma reference information (eg, a pixel value of a pixel in the luma reference block and / or a peripheral luma reference pixel).
  • 11 is a diagram for describing another embodiment of a process of generating luma reference information after performing a padding process.
  • peripheral luma pixels in a first left pixel line closest to the left of the current luma block 1110 and a first top pixel line closest to the top of the current luma block 1110 generate luma reference information.
  • An embodiment in the case of using is shown.
  • a pixel line positioned second to the left of the current luma block 1110, that is, a pixel line adjacent to the left of the first left pixel line will be referred to as a second left pixel line.
  • the second pixel line located closest to the top of the current luma block 1110, that is, the pixel line adjacent to the top of the first top pixel line will be referred to as a second top pixel line.
  • the intra prediction mode of the current chroma block to be predicted is the LM mode.
  • the LM mode may be represented as Intra_FromLuma.
  • the size of the current luma block 1110 is 8x8 and the size of the current chroma block is 4x4.
  • the size of the luma reference block to be used for prediction of the current chroma block may be the same as the size of the current chroma block. Accordingly, the size of the luma reference block 1130 derived in the embodiment of FIG. 11 may be 4 ⁇ 4.
  • peripheral luma pixels 1122, 1124, 1126, and 1128 illustrated in the embodiment of FIG. 11 are available pixels. It is assumed that the peripheral luma pixels corresponding to 1124 and the peripheral luma pixels corresponding to 1128 are unavailable pixels. In this case, the encoder and the decoder may generate luma reference information after performing a padding process on neighboring luma pixels that are not available.
  • the encoder and the decoder may perform a padding process on unused peripheral luma pixels on the first left pixel line, the second left pixel line, and the first top pixel line.
  • the encoder and the decoder may copy peripheral luma pixel values on the second left pixel line to the first left pixel line.
  • the pixel value of the peripheral luma pixels to be used for generating the reference information, which is generated by the above-described process, may be represented by the following equation (17).
  • P Y may represent pixel values of peripheral luma pixels belonging to the first left pixel line and / or the first top pixel line.
  • nS may represent the horizontal length and the vertical length of the current luma block 1110.
  • Pixels not available among the surrounding luma pixels may form a pixel group as shown in 1124 and 1128 of FIG. 11.
  • a group of unavailable pixels on the first left pixel line eg, four pixels located on the left in 1128 of FIG. 11
  • the group of unavailable pixels on the pixel line eg, four pixels located on the right in 1128 of FIG. 11
  • the second left pixel group e.g., four pixels located on the right in 1128 of FIG. 11
  • the group of unavailable pixels 1124 on the first top pixel line eg, four pixels located on the right in 1128 of FIG. 11
  • the group is called the top pixel group.
  • P Y2 may represent a pixel value of the peripheral luma pixel belonging to the second left pixel line.
  • the encoder and decoder determine whether there are available pixels located adjacent to the pixel group at both ends of each pixel group (eg, the first left pixel group, the second left pixel group, the top pixel group) to perform padding. Can be determined.
  • the available pixels located adjacent to the pixel group may exist only at one end of the pixel group.
  • an available pixel may not exist on the right side of the upper pixel group 1124, and an available pixel c may exist on the left side of the upper pixel group 1124.
  • the pixel c may be represented by P Y [nS-1, -1].
  • the encoder and the decoder may fill the pixel value of the available pixel c located adjacent to the upper pixel group at the positions of the unavailable pixels in the upper pixel group 1124.
  • Such a padding process may be represented by Equation 18 as an example.
  • available pixels located adjacent to the pixel group may exist at both ends of the pixel group.
  • an available pixel b may be adjacent to an upper end of the first left pixel group, and an available pixel a may be adjacent to a lower end of the first left pixel group.
  • the pixel a may be represented by P Y [-1, nS + (nS >> 1)]
  • the pixel b may be represented by P Y [-1, nS-1].
  • the encoder and the decoder may fill the pixel average value of the available pixels (a, b) located adjacent to the first left pixel group at the positions of the unavailable pixels in the first left pixel group.
  • Such a padding process may be represented by, for example, Equation 19 below.
  • an available pixel e may be adjacent to the top of the second left pixel group, and an available pixel d may be adjacent to the bottom of the second left pixel group.
  • the pixel d may be represented by P Y2 [-2, nS + (nS >> 1)]
  • the pixel e may be represented by P Y2 [-2, nS-1].
  • the encoder and the decoder may fill the pixel average value of the available pixels (e, d) located adjacent to the second left pixel group at the positions of the unavailable pixels in the second left pixel group.
  • Such a padding process may be represented by Equation 20 as an example.
  • pixel values of peripheral luma pixels on the first left pixel line, the second left pixel line, and the first top pixel line may be determined.
  • the encoder and the decoder may derive pixel values on the first left pixel line to be used for generating luma reference information by copying peripheral luma pixel values on the second left pixel line to the first left pixel line. That is, the encoder and the decoder may replace the peripheral luma pixel values of the first left pixel line with the peripheral luma pixel values of the second left pixel line. Copying the peripheral luma pixel values on the second left pixel line to the first left pixel line may be represented by Equation 21 as an example.
  • the encoder and decoder determine the peripheral luma pixels on the first left pixel line, the peripheral luma pixels on the first top pixel line, and the current luma block. Based on the pixel values of the pixels in 1110, luma reference information (luma reference block 1130 and surrounding luma reference pixels 1140) may be generated. In the embodiment of FIG. 11, the luma reference information generation process may be represented by Equation 22 as an example.
  • P RecY may represent a pixel value of a pixel in the current luma block.
  • P Y ′ may represent a pixel value corresponding to the luma reference information (eg, a pixel value of a pixel in the luma reference block and / or a peripheral luma reference pixel).
  • FIG. 12 is a diagram for describing another embodiment of a process of generating luma reference information after performing a padding process.
  • peripheral luma pixels in the first left pixel line closest to the left of the current luma block 1210 and the first upper pixel line closest to the top of the current luma block 1210 are used to generate luma reference information.
  • An embodiment when used is shown.
  • a pixel line located second to the left of the current luma block 1210, that is, a pixel line adjacent to the left of the first left pixel line will be referred to as a second left pixel line.
  • the second pixel line located near the top of the current luma block 1210, that is, the pixel line adjacent to the top of the first top pixel line will be referred to as a second top pixel line.
  • the intra prediction mode of the current chroma block to be predicted is the LM mode.
  • the LM mode may be represented as Intra_FromLuma.
  • the size of the current luma block 1210 is 8 ⁇ 8 and the size of the current chroma block is 4 ⁇ 4.
  • the size of the luma reference block to be used for prediction of the current chroma block may be the same as the size of the current chroma block. Accordingly, the size of the luma reference block 1230 derived in the embodiment of FIG. 12 may be 4 ⁇ 4.
  • peripheral luma pixels 1222, 1224, 1226, and 1228 shown in the embodiment of FIG. 12 are available pixels, It is assumed that the peripheral luma pixels corresponding to 1224 and the peripheral luma pixels corresponding to 1228 are unavailable pixels.
  • the encoder and the decoder may generate luma reference information after performing a padding process on neighboring luma pixels that are not available.
  • the encoder and the decoder perform a padding process on unused peripheral luma pixels on the first left pixel line and the first top pixel line, thereby providing pixel values P Y [x, y] of the peripheral luma pixels.
  • P Y may represent a pixel value of the surrounding luma pixel.
  • nS may represent the horizontal length and the vertical length of the current luma block 1210.
  • Pixels not available among the surrounding luma pixels may form a pixel group as shown in 1224 and 1228 of FIG. 12.
  • a group of unavailable pixels on the first left pixel line eg, four pixels located on the left in 1228 of FIG. 12
  • the first top pixel line The group of unavailable pixels 1224 on the image is referred to as the top pixel group.
  • the encoder and the decoder may determine whether there are available pixels located adjacent to the pixel group at both ends of each pixel group (eg, the left pixel group and the top pixel group) to perform padding.
  • an available pixel located adjacent to a pixel group may exist only at one end of the pixel group.
  • an available pixel may not exist on the right side of the upper pixel group 1224, and an available pixel c may exist on the left side of the upper pixel group 1224.
  • the pixel c may be represented by P Y [nS-1, -1].
  • the encoder and the decoder may fill the pixel value of the available pixel c located adjacent to the upper pixel group at the positions of the unavailable pixels in the upper pixel group 1224.
  • Such a padding process may be represented by Equation 23 as an example.
  • available pixels located adjacent to the pixel group may exist at both ends of the pixel group.
  • available pixels b may be adjacent to an upper end of the left pixel group
  • available pixels a may be adjacent to an lower end of the left pixel group.
  • the pixel a may be represented by P Y [-1, nS + (nS >> 1)]
  • the pixel b may be represented by P Y [-1, nS-1].
  • the encoder and the decoder may fill in the pixel average value of the available pixels (a, b) located adjacent to the left pixel group at the positions of the unavailable pixels in the left pixel group.
  • Such a padding process may be represented by Equation 24 as an example.
  • pixel values of peripheral luma pixels on the first left pixel line and peripheral luma pixels on the first top pixel line may be determined.
  • the encoder and decoder determine the luma reference information (luma reference block 1230 based on the pixel values of the peripheral luma pixels on the first left pixel line, the peripheral luma pixels on the first top pixel line, and the pixels in the current luma block 1210. ) And surrounding luma reference pixels 1240.
  • the process of generating luma reference information may be represented by Equation 25 as an example.
  • P RecY may represent a pixel value of a pixel in the current luma block.
  • P Y ′ may represent a pixel value corresponding to the luma reference information (eg, a pixel value of a pixel in the luma reference block and / or a peripheral luma reference pixel).
  • pixels on the second left pixel line are not used to generate luma reference information, and peripheral luma pixels on the first left pixel line and peripheral luma pixels on the first top pixel line are described. Only and pixels in the current luma block 1210 may be used to generate luma reference information (luma reference block 1230 and surrounding luma reference pixels 1240).
  • the present invention is not limited thereto.
  • the present invention can be applied in the same or similar manner for all possible combinations of the first color component and the second color component.
  • the size of the first color component block eg, luma block
  • the size of the second color component block eg, chroma block
  • the component block may have a size smaller than the second color component block or may have the same size.
  • the encoder and the decoder may derive the first color component reference information to be used for the prediction of the second color component block based on the pixels in the first color component block and the pixels around the first color component block.
  • the first color component reference information may mean pixel values of the first color component to be used for prediction of the second color component block. Therefore, in the present specification, the first color component information may be referred to as 'first color component pixel'.
  • the first color component pixels corresponding to the pixels in the second color component block may constitute a 'first color component reference block'.
  • a pixel positioned around the first color component block is referred to as a 'peripheral first color component pixel'
  • a pixel positioned around the second color component block is referred to as a 'peripheral second color component pixel'. Pixels located around the one color component reference block are referred to as 'a peripheral first color component reference pixel'.
  • the first color component reference block may correspond to the second color component block
  • the peripheral first color component reference pixel may correspond to the peripheral second color component pixel.
  • the first color component reference information may be used as a concept including a pixel in the first color component reference block and a peripheral first color component reference pixel.
  • Deriving first color component reference information to be used for prediction of the second color component block based on the first color component block when the first color component block has a smaller size or the same size as the second color component block May differ from the above-described embodiment of FIGS. 6 to 12.
  • FIG. 13 is a diagram schematically illustrating an embodiment of a process of deriving first color component reference information to be used for prediction of a second color component block when the size of the first color component block is smaller than the size of the second color component block.
  • 1310 of FIG. 13 shows an embodiment of the first color component block 1312, the peripheral first color component pixels 1314, the second color component block 1316, and the peripheral second color component pixels 1318.
  • the size of the second color component block 1316 is 8 ⁇ 8
  • the size of the first color component block 1312 corresponding thereto may be 4 ⁇ 4.
  • the encoder and the decoder may generate first color component reference pixels corresponding to the first color component reference block of size 8x8.
  • FIG. 1320 of FIG. 13 illustrates an embodiment of a method of deriving first color component reference information.
  • the derivation method is shown.
  • the encoder and the decoder may be configured to be used for prediction of the second color component block 1316 based on the pixel in the first color component block 1312 and the surrounding first color component pixels 1314.
  • One color component reference block 1326 and peripheral first color component reference pixels 1328 may be generated.
  • the peripheral first color component pixels 1314 used to derive the first color component reference information may include, for example, pixels included in one pixel line nearest to the left of the first color component block 1312. And pixels included in one pixel line closest to the top of the first color component block 1312.
  • the encoder and the decoder since the sizes of the first color component block 1312 and the second color component block 1316 are different from each other, the encoder and the decoder have the same size (8x8) as the second color component block 1316.
  • the first color component reference block 1326 and the peripheral first color component reference pixels 1328 corresponding thereto may be generated.
  • the encoder and the decoder since the size of the first color component block 1312 is smaller than the size of the second color component block 1316, the encoder and the decoder may include the pixels in the first color component block 1312 and the peripheral first color component pixels.
  • the first color component reference information may be generated by performing up sampling on the fields 1314.
  • the encoder and the decoder may perform upsampling after performing a padding process on the pixels that are not available.
  • the padding process is similar to that in the above-described embodiments, and thus a detailed description thereof will be omitted.
  • a process of performing upsampling on the pixels in the first color component block 1312 and the peripheral first color component pixels 1314 may be represented by Equation 26 as an example.
  • p [x, y] may represent pixel values of the reconstructed first color component pixels, that is, the pixels in the first color component block 1312 and the peripheral first color component pixels 1314.
  • p '[x, y] may represent pixel values of the first color component reference pixels 1326 and 1328 generated according to the size of the second color component block 1316.
  • FIG. 14 is a diagram schematically illustrating an embodiment of a process of deriving first color component reference information to be used for prediction of a second color component block when the size of the first color component block is the same as the size of the second color component block.
  • the size of the luma block and the chroma block may be the same. have. Therefore, in this case, if the first color component block is a luma block and the second color component block is a chroma block, the size of the first color component block and the size of the second color component block may be the same. In addition, when the first color component block is a chroma block corresponding to U and the second color component block is a chroma block corresponding to V, the size of the first color component block and the size of the second color component block may be the same. . In the embodiment of FIG. 14, it is assumed that the size of the first color component block 1412 is 8 ⁇ 8 and the size of the second color component block 1422 is 8 ⁇ 8.
  • the encoder and the decoder may use the first color component reference block to be used for prediction of the second color component block based on the pixel in the first color component block 1412 and the surrounding first color component pixels 1414.
  • 1422 and surrounding first color component reference pixels 1424 may be generated.
  • the generated first color component reference block 1422 may exist at a position corresponding to the second color component block.
  • the peripheral first color component pixels 1414 used to derive the first color component reference information may include, for example, pixels included in one pixel line nearest to the left of the first color component block 1412, And pixels included in one pixel line nearest to the top of the first color component block 1412.
  • the encoder and the decoder may be configured to down-sampling and sub-sampling when generating the first color component information. And up sampling may not be performed. Accordingly, the pixel values of the pixels in the first color component block 1412 and the pixel values of the peripheral first color component pixels 1414 may be used as the first color component reference information.
  • a lossless encoding / decoding scheme may be applied instead of a lossy coding / decoding scheme in which transform / quantization is used.
  • a process such as transform quantization may not be applied to an encoding target block.
  • the first color component reference information may be derived as in the above-described embodiment. Can be.
  • the encoder and the decoder may not perform down sampling, subsampling, and upsampling when generating the first color component information.
  • the generated first color component reference block 1422 may exist at a position corresponding to the second color component block.
  • both upper peripheral luma pixels positioned at the top of the current luma block and left peripheral luma pixels positioned at the left of the current luma block may be used to generate luma reference information.
  • the present invention is not limited thereto, and the surrounding luma pixels used to generate luma reference information may be determined in various ways. For example, only the upper peripheral luma pixels may be used for luma reference information generation, and only the left peripheral luma pixels may be used for luma reference information generation.
  • the peripheral luma pixels used to generate luma reference information may be determined according to the intra prediction mode of the current luma block.
  • 15 is a diagram schematically showing an embodiment of peripheral luma pixels used to generate luma reference information.
  • FIG. 15 may correspond to an embodiment in which a video format of YUV 4: 2: 0 is used.
  • FIG. 15 it is assumed that the peripheral luma pixels A, B, C, D, E, and F shown in FIG. 15 are already filled with pixel values through the above-described padding process.
  • FIG. 15 it is assumed that the same mode value of the intra prediction mode as in 410 of FIG. 4 is used.
  • a luma reference block to be used for prediction of the current chroma block ( 1522, 1532 or 1542 and peripheral luma reference pixels 1524, 1534 or 1544 may be generated.
  • the size of the current chroma block is 4x4
  • the size of the generated luma reference block 1522, 1532, or 1542 may be 4x4.
  • peripheral luma pixels to be used for generating luma reference information may be obtained by at least one of the combinations shown in Table 3, for example.
  • P may mean that the left peripheral luma pixels located on the left side of the current luma block 1512 and the top peripheral luma pixels located on the top of the current luma block 1512 are used to generate luma reference information.
  • Q may mean that the upper peripheral luma pixels located at the top of the luma block 1512 are used to generate luma reference information.
  • R may mean that the left peripheral luma pixels located on the left side of the luma block 1512 are used to generate luma reference information.
  • L indicates that when the left peripheral luma pixels are used to generate luma reference information, the pixels on the first left pixel line located closest to the left of the current luma block 1512 are used to generate luma reference information. It may mean.
  • M may mean that when the left peripheral luma pixels are used to generate luma reference information, the pixels on the second left pixel line located second to the left of the current luma block 1512 are used to generate luma reference information. have. In this case, the pixels on the first left pixel line may be used together for subsampling.
  • N may mean that neighboring luma pixels to be used for generating luma reference information are determined based on the intra prediction mode of the current luma block 1512.
  • luma reference information may be adaptively generated based on the intra prediction mode of the current luma block 1512.
  • the left peripheral luma pixels used when luma reference information is generated based on the intra prediction mode of the current luma block 1512 may be, for example, pixels on the first left pixel line, or, alternatively, pixels on the second left pixel line. It may be.
  • peripheral luma pixels located at the top of the current luma block 1512 and left peripheral luma pixels on the first left pixel line may be used to generate luma reference information.
  • peripheral luma pixels of [A, D] or [A, B, D, F] shown in 1510 of FIG. 15 may be used to generate luma reference information.
  • the generated luma reference information may be illustrated as shown at 1520 of FIG. 15 as an example.
  • the peripheral luma reference pixels 1524 may include pixels adjacent to the top of the luma reference block 1522 and pixels adjacent to the left of the luma reference block 1522.
  • upper peripheral luma pixels positioned at the top of the current luma block 1512 may be used to generate luma reference information. Therefore, in this case, the peripheral luma pixels of [A, B] shown in 1510 of FIG. 15 may be used to generate luma reference information.
  • the generated luma reference information may be illustrated as shown at 1530 of FIG. 15 as an example.
  • the peripheral luma reference pixels 1534 may be pixels located on top of the luma reference block 1532.
  • the left peripheral luma pixels on the first left pixel line may be used to generate luma reference information. Therefore, in this case, the peripheral luma pixels of [D, F] shown in 1510 of FIG. 15 may be used to generate luma reference information.
  • the generated luma reference information may be illustrated as shown at 1540 of FIG. 15 as an example.
  • the peripheral luma reference pixels 1544 may be pixels located to the left of the luma reference block 1542.
  • peripheral luma pixels of [A, C] or [A, B, C, E] shown in 1510 of FIG. 15 may be used to generate luma reference information.
  • Luma reference information generated when a combination of P and M is applied may be illustrated as shown at 1520 of FIG. 15.
  • upper peripheral luma pixels positioned at the top of the current luma block 1512 may be used to generate luma reference information. Therefore, in this case, the peripheral luma pixels of [A, B] shown in 1510 of FIG. 15 may be used to generate luma reference information. Luma reference information generated when a combination of Q and M is applied may be illustrated as shown at 1530 of FIG. 15.
  • the left peripheral luma pixels on the second left pixel line may be used to generate luma reference information. Therefore, in this case, the peripheral luma pixels of [C, E] shown in 1510 of FIG. 15 may be used to generate luma reference information. Luma reference information generated when a combination of R and M is applied may be illustrated as shown at 1540 of FIG. 15.
  • the left peripheral luma pixels located on the left side of the N may be determined as the peripheral luma pixels to be used for generating luma reference information.
  • the intra prediction mode of the current luma block 1512 may be a first intra prediction mode using both pixels located at the top and the left of the current luma block 1512.
  • the first intra prediction mode has a mode value of DC mode, planner mode or 4, 19, 11, 20, 5, 21, 12, 22, 27, 15, 28, 8, 29, 16 or 30. May be a mode.
  • Luma reference information generated when a combination of P and N is applied may be illustrated as shown at 1520 of FIG. 15.
  • upper peripheral luma pixels positioned at the top of the current luma block 1512 are used to generate luma reference information based on the intra prediction mode of the current luma block 1512. It can be determined by the surrounding luma pixel to be.
  • the intra prediction mode of the current luma block 1512 may be a second intra prediction mode that mainly uses a pixel located at the top of the current luma block 1512.
  • the second intra prediction mode may be a mode having a mode value of 1, 23, 13, 24, 6, 25, 14, 26, or 7.
  • Luma reference information generated when a combination of Q and N is applied may be illustrated as shown at 1530 of FIG. 15.
  • left peripheral luma pixels located to the left of the current luma block 1512 are used to generate luma reference information based on the intra prediction mode of the current luma block 1512. It can be determined by the surrounding luma pixel to be.
  • the intra prediction mode of the current luma block 1512 may be a third intra prediction mode that mainly uses pixels located to the left of the current luma block 1512.
  • the third intra prediction mode may be a mode having a mode value of 2, 31, 17, 32, 9, 33, 18, 34, or 10.
  • Luma reference information generated when a combination of R and N is applied may be illustrated as shown at 1540 of FIG. 15.
  • the prediction parameter may be derived using the peripheral chroma pixels at the same position as each peripheral luma reference pixel. . A specific embodiment of the prediction parameter derivation process will be described later.
  • FIG. 16 is a diagram for describing an embodiment of a process of deriving a prediction parameter and a process of deriving a prediction value of pixels in a current chroma block.
  • FIG. 16 illustrates luma reference block 1610, peripheral luma reference pixels 1620, current chroma block 1630, and reconstructed peripheral chroma pixels 1640.
  • the size of the luma reference block 1610 and the size of the current chroma block 1630 may each be 8 ⁇ 8.
  • the encoder and the decoder may derive the prediction parameter for the current chroma block 1630 based on the luma reference information and the chroma component information.
  • the encoder and the decoder may derive the prediction parameter based on the pixel value of the peripheral luma reference pixels 1620 and the pixel value of the peripheral chroma pixels 1640.
  • the prediction parameters may be alpha ( ⁇ ) and beta ( ⁇ ) based on the least squares method.
  • a process of deriving a prediction parameter based on pixel values of the peripheral luma reference pixels 1620 and the peripheral chroma pixels 1640 may be represented by Equation 27 as an example.
  • p1 may represent a pixel value of the peripheral luma reference pixels 1620
  • p2 may represent a pixel value of the peripheral chroma pixels 1640
  • nS may represent the horizontal length and the vertical length of the luma reference block 1610 and the current chroma block 1630
  • 'Bitdepth' may represent the bit depth of the chroma component pixel.
  • abs (x) may represent the absolute value of x.
  • 'LmDiv' is a variable that is determined according to the value of 'a2s', and may be determined by, for example, Table 4 below.
  • Equation 27 a may represent alpha ( ⁇ ), and b may represent beta ( ⁇ ).
  • an unavailable pixel may exist among the surrounding luma reference pixels 1620 and / or the surrounding chroma pixels 1640.
  • the encoder and the decoder may derive the prediction parameter based on only available pixels among the surrounding luma reference pixels 1620 and / or the surrounding chroma pixels 1640.
  • the encoder and the decoder do not derive a prediction parameter based on the peripheral luma reference pixels 1620 and the peripheral chroma pixels 1640 and replace the default prediction parameter with the current chroma block 1630. It can also be used to predict. For example, alpha ( ⁇ ) used as the basic prediction parameter may be 1, and beta ( ⁇ ) used as the basic prediction parameter may be 0.
  • the encoder and the decoder may derive the prediction value of the pixels in the current chroma block 1630 based on the prediction parameter and the pixel values of the pixels in the luma reference block 1610. have.
  • the encoder and decoder are based on the prediction parameters 'a', 'k', 'b' derived by equation 27 and the current chroma block based on the pixel values of the pixels in the luma reference block 1610 shown in FIG.
  • a prediction value of the pixels in 1630 can be derived.
  • the process of deriving the prediction value of the pixels in the current chroma block 1630 can be represented by Equation 28 as an example.
  • Clip1 (i) Clip3 (0, (1 ⁇ BitDepth) -1, i)
  • 'predSamples [x, y]' may indicate a prediction value of the pixel in the current chroma block 1630.
  • clip (x, y, z) may be x if z is less than x, y if z is greater than y, and z otherwise.
  • 17 is a flowchart schematically illustrating an embodiment of a decoding process according to the present invention.
  • P Y may represent pixel values of neighboring luma pixels used for prediction of the current luma block.
  • N Y may represent the horizontal length and the vertical length of the current luma block
  • P LM may represent the pixel value of the peripheral luma pixel used for generating luma reference information in the LM mode.
  • P Y [x, y] and P LM [x, y] may have the same value.
  • FIG. 17 is described with reference to luma component (Y).
  • the present invention is not limited thereto, and the embodiment of FIG. 17 may be applied to the chroma components U and V other than the luma component Y in the same or similar manner as the luma component.
  • P C may be used instead of the variable P Y
  • N C may be used instead of the variable N Y
  • a value assigned to cIdx may be 1 or 2 rather than 0.
  • cIdx may be an index indicating which component among Y, U, and V the color component of the current block corresponds to.
  • cIdx For example, if the color component of the current block is Y, 0 may be assigned to cIdx, if the color component of the current block is U, 1 may be assigned to cIdx, and if the color component of the current block is V, cIdx may be assigned to 2 may be allocated.
  • Table 5 The relationship between the variables applied to the embodiment of FIG. 17 according to the color component may be represented by Table 5 as an example.
  • P C may represent a pixel value of a peripheral chroma pixel located around the current chroma block.
  • N C may represent the horizontal length and the vertical length of the current chroma block.
  • the embodiment of FIG. 17 may be applied to the respective color components constituting the color space in the order of the Y component, the U component, and the V component.
  • the marking may mean a process of storing or displaying information on availability. Embodiments when the surrounding luma pixel is not available have been described above with reference to the embodiment of FIG. 8, and thus a detailed description thereof will be omitted.
  • the encoder and the decoder may determine whether condition A and condition B are satisfied for the current luma block (S1720).
  • condition A is a condition indicating that the LM mode may be applied to intra prediction of the current chroma block corresponding to the current luma block.
  • condition A may be satisfied when 1 is assigned to the LM flag (chroma_pred_from_luma_enabled_flag).
  • chroma_pred_from_luma_enabled_flag may indicate whether LM mode can be supported for intra prediction of the current chroma block.
  • condition B is a condition indicating that the current block is a luma component block (Y). In one example, condition B may be satisfied when 0 is assigned to cIdx.
  • the encoder and decoder can generate P LM .
  • P Y [x, y] and P LM [x, y] may have the same value, if P Y [x, y] is available, P LM [x, y] is also marked as available. P LM [x, y] may also be marked as not available if P Y [x, y] is not available.
  • the pixel value of the pixels determined to be one may be replaced with a luma pixel value at the position [x-1, y].
  • condition C is satisfied for neighboring luma pixels to be used for prediction of the current luma block (S1740).
  • the encoder and the decoder may generate a reconstruction block for the current luma block by performing a prediction and decoding process on the current luma block based on the surrounding luma pixels (S1780).
  • the encoder and decoder When the embodiment of FIG. 17 is applied for a chroma component (U or V), the encoder and decoder generate a predictive block for the current chroma block based on the surrounding luma pixels, the pixels in the reconstructed current luma block, and the surrounding chroma pixels.
  • a reconstruction block for the current chroma block may be generated based on the generated prediction block.
  • FIG. 18 is a diagram for describing an embodiment of a process of deriving luma reference information and a prediction parameter for a current chroma block when the decoding process is performed as in the embodiment of FIG. 17.
  • FIG. 18 illustrates a luma component block 1810 to be predicted, neighboring luma pixels 1820 and P Y used for prediction of the luma component block, a reconstructed current luma block 1830 and P RecY , and luma reference information generation.
  • the peripheral luma pixels 1840, P LM , the current chroma block 1850 and the peripheral chroma pixels 1860, P C are shown.
  • the size of the luma component block 1810 and the restored current luma block 1830 (P RecY ) to be predicted may be 8 ⁇ 8 and the size of the current chroma block 1850 may be 4 ⁇ 4.
  • the embodiment of FIG. 17 may be applied to chroma components (U and V) rather than luma component (Y).
  • the prediction mode of the current chroma block 1850 is the LM mode
  • the encoder and the decoder may derive luma reference information and prediction parameters for the current chroma block 1850.
  • the encoder and the decoder may derive the prediction value of the pixels in the luma component block 1810 to be predicted based on the surrounding luma pixels 1820 and P Y.
  • the encoder and the decoder may generate a reconstruction block of the luma component based on the derived prediction value, which may correspond to the reconstructed current luma block 1830 (P RecY ).
  • the encoder and the decoder may determine the surrounding luma pixels 1840 and P LM to be used for generating luma reference information based on the surrounding luma pixels 1820 and P Y used for the prediction of the luma component block 1810. have.
  • the encoder and decoder may generate luma reference information to be used for prediction of the current chroma block 1850 based on the surrounding luma pixels 1840 and P LM and the reconstructed current luma block 1830 and P RecY .
  • the encoder and the decoder may have a luma reference block having the same size (4 ⁇ 4) as the current chroma block 1850 and a corresponding neighbor. Luma reference pixels may be generated.
  • the encoder and the decoder are applied to the pixels in the reconstructed current luma block 1830 and the surrounding luma pixels 1840.
  • the luma reference information can be generated by performing down sampling on the.
  • the down-sampling process may be performed on the surrounding luma pixels positioned at the top of the reconstructed current luma block 1830.
  • P Y ′ may represent a pixel value of a pixel corresponding to the luma reference information (eg, a pixel in the luma reference block or a peripheral luma reference pixel).
  • P LM may indicate a pixel value of the surrounding luma pixel 1840 to be used for generating luma reference information.
  • N C may represent a horizontal length and a vertical length of the current chroma block 1850.
  • the down-sampling process may be performed on the surrounding luma pixels positioned on the left side of the reconstructed current luma block 1830.
  • the down sampling process may be performed on the pixels in the reconstructed current luma block 1830 by the following equation (31).
  • a luma reference block corresponding to the current chroma block 1850 may be generated by Equation 31 below.
  • P RecY may represent a pixel value of a pixel in the current luma block 1830.
  • the encoder and the decoder may derive a prediction parameter for the current chroma block 1850 based on the luma reference information and the chroma component information.
  • the encoder and the decoder may derive the prediction parameter based on the pixel value of the peripheral luma reference pixels 1840 and the pixel value of the peripheral chroma pixels 1860.
  • Equation 32 may represent a part of a process of deriving a prediction parameter.
  • P C may indicate a pixel value of the peripheral chroma pixel 1860 to be used for generating luma reference information
  • 'Bitdepth' may indicate a bit depth of the chroma component pixel
  • Equation 32 Since the example is similar to that of the embodiment of Equation 27, a detailed description thereof will be omitted here. However, in this case, in the embodiment of Equation 27, nS may be replaced with N C , p1 may be replaced with P Y ′, and p2 may be replaced with P C.
  • the encoder and the decoder may derive the prediction values of the pixels in the current chroma block 1850 based on the prediction parameters and the pixel values of the pixels in the luma reference block 1830. Since the embodiment of the process of deriving the prediction value of the pixels in the current chroma block 1850 is similar to the embodiment of Equation 28, a detailed description thereof will be omitted herein. In this case, however, in the embodiment of Equation 28, nS may be replaced with N C , and p1 may be replaced with P RecY .
  • 19A and 19B are diagrams for describing another embodiment of a decoding process according to the present invention.
  • FIG. 19A illustrates an embodiment of a decoding process according to the present invention.
  • FIG. 19B illustrates that one CU 1990 is divided into a plurality of TUs based on a quad-tree structure.
  • P k may be P Y , P U or P V
  • N k may be N Y , N U or N V.
  • P Y may represent pixel values of neighboring luma pixels used for prediction of the current luma block.
  • P U and P V may represent pixel values of neighboring chroma pixels used for prediction of the current chroma block.
  • P U and P V may be represented by P C.
  • N Y may represent the horizontal length and the vertical length of the current luma block
  • N U and N V may represent the horizontal length and the vertical length of the current chroma block.
  • N U and N V may be represented by N C.
  • P LM may represent pixel values of peripheral luma pixels used for generating luma reference information in the LM mode.
  • P Y [x, y] and P LM [x, y] may have the same value.
  • k may be Y, U, or V, so the embodiment of FIG. 19 may be applied to both the luma component (Y) and the chroma component (U, V).
  • the relationship between the variables applied to the embodiment of FIG. 19 according to the color component may be represented by Table 6 as an example.
  • cIdx may be an index indicating which component of the color block of the current block corresponds to Y, U (Cb), or V (Cr). For example, if the color component of the current block is Y, cIdx may be assigned 0, and if the color component of the current block is U (Cb), 1 may be assigned to cIdx, and the color component of the current block is V ( 2) may be allocated to cIdx.
  • FIG. 19 may be applied in the order of the Y component, the U (Cb) component, and the V (Cr) component to each color component constituting the color space in one CU.
  • one CU 1990 may be divided into a plurality of TUs 1, 2, 3, 4, 5, 6, and 7 based on a quad tree structure.
  • the encoder and the decoder may first perform the decoding process according to the embodiment of FIG. 19A on the Y component blocks in the CU 1990.
  • the encoder and the decoder may perform the decoding process according to the embodiment of FIG. 19A with respect to the U component blocks and the V component blocks in the CU 1990.
  • the decoding process according to the embodiment of FIG. 19 is [Y1-> Y2-> ...-> Y7-> U1-> U2-> ...-> U7-> V1-> V2 ...- > V7].
  • Y1 may mean that decoding is performed on the luma component of block 1 in FIG. 19B.
  • the encoder and the decoder may determine whether condition A, condition B, and condition C are satisfied (S1920).
  • condition A is a condition indicating that the LM mode may be applied to intra prediction of the current chroma block.
  • condition A may be satisfied when 1 is assigned to the LM flag (chroma_pred_from_luma_enabled_flag).
  • chroma_pred_from_luma_enabled_flag may indicate whether LM mode can be supported for intra prediction of the current chroma block.
  • condition B is a condition indicating that the intra prediction mode of the current block is LM mode.
  • the LM mode may be represented as Intra_FromLuma.
  • condition C is a condition indicating that the current block is a chroma component block U (Cb) or V (Cr). In one example, condition C may be satisfied when 1 or 2 is assigned to cIdx.
  • condition A If condition A, condition B and condition C are satisfied, the encoder and decoder can generate P LM .
  • the pixel value of the pixels determined to be available among the pixels may be replaced with the pixel value of the position [x-1, y], that is, the pixel value of P LM [x-1, y].
  • the encoder and the decoder may check whether P LM is available based on the availability of the peripheral chroma pixels corresponding to the peripheral luma pixels, that is, P U or P V. At this time, whether P U or P V is available may be already marked in step S1910. As an example, the encoder and the protector may determine whether the P LM is available based on whether the pixel corresponding to P U is available.
  • the encoder and the decoder may determine that the peripheral luma pixel P LM [x , 2y] and P LM [x, 2y + 1] may also be determined to be unavailable.
  • the encoder and decoder determine the peripheral luma pixel P LM [x, 2y]. And P LM [x, 2y + 1] may also be determined to be available.
  • the encoder and the decoder assign luma pixel values located at [x-1,2y] and [x-1,2y + 1] to P LM [x, 2y] and P LM [x, 2y + 1], respectively. can do.
  • the peripheral luma pixel is a pixel on the left pixel line located adjacent to the left of the current luma block and the peripheral luma pixel is determined to be available
  • the pixel value of the luma pixel located adjacent to the left of the peripheral luma pixel is determined by the peripheral luma pixel.
  • the pixel value of the luma pixel may be determined.
  • the encoder and the decoder may allocate luma pixel values located at [2x, y] and [2x + 1, y] to P LM [2x, y] and P LM [2x + 1, y], respectively.
  • the peripheral luma pixel is a pixel on the top pixel line located adjacent to the top of the current luma block and the peripheral luma pixel is determined to be available
  • the pixel value of the luma pixel at the same position as the peripheral luma pixel is the peripheral luma pixel. It can be determined by the pixel value of.
  • the encoder and decoder may determine that the surrounding luma pixel P LM [x, y] is also available. Can be.
  • the encoder and the decoder may assign a luma pixel value located in [x, y] to P LM [x, y]. Therefore, when the position of the peripheral luma pixel is [-1, -1] and the peripheral luma pixel is determined to be available, the pixel value of the luma pixel at the same position as the peripheral luma pixel is determined as the pixel value of the peripheral luma pixel. Can be.
  • the padding process may be performed on pixels that are not available among the groups (1). Since embodiments of the padding process have been described above, a detailed description thereof will be omitted herein.
  • the encoder and decoder After the above-mentioned padding process is performed, the encoder and decoder perform a prediction and decoding process on the current luma block and / or the current chroma block, thereby reconstructing a reconstruction block for the current luma block and / or a reconstruction block for the current chroma block. Can be generated (S1980).
  • LM mode prediction may be applied to the current chroma block. Since the prediction process in the LM mode is similar to that of the embodiment of FIG. 18, a detailed description thereof will be omitted herein.
  • the methods are described based on a flowchart as a series of steps or blocks, but the present invention is not limited to the order of steps, and any steps may occur in a different order than or simultaneously with other steps as described above. Can be. Also, one of ordinary skill in the art would appreciate that the steps shown in the flowcharts are not exclusive, that other steps may be included, or that one or more steps in the flowcharts may be deleted without affecting the scope of the present invention. I can understand.

Landscapes

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

Abstract

본 발명에 따른 인트라 예측 방법은, 현재 루마 블록 내 픽셀 및 현재 루마 블록 주변에 위치한 주변 루마 픽셀을 기반으로, 루마 참조 블록 내 픽셀 및 루마 참조 블록 주변에 위치한 주변 루마 참조 픽셀을 포함한 루마 참조 정보를 생성하는 단계, 주변 루마 참조 픽셀 및 현재 크로마 블록 주변에 위치한 주변 크로마 픽셀들 중에서 주변 루마 참조 픽셀에 대응되는 제1 주변 크로마 픽셀을 기반으로, 현재 크로마 블록에 대한 예측 파라미터를 도출하는 단계 및 루마 참조 블록 내 픽셀 및 예측 파라미터를 기반으로, 현재 크로마 블록 내 픽셀의 예측 값을 도출하는 단계를 포함할 수 있다.

Description

인트라 예측 방법 및 그 장치
본 발명은 영상 처리에 관한 것으로서, 보다 상세하게는 인트라 예측 방법 및 장치에 관한 것이다.
최근 HD(High Definition) 해상도를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되면서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있으며 이에 따라 많은 기관들이 차세대 영상기기에 대한 개발에 박차를 가하고 있다. 또한 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 보다 높은 해상도, 고화질의 영상에 대한 압축기술이 요구되고 있다.
영상 압축을 위해, 시간적으로 이전 및/또는 이후의 픽쳐로부터 현재 픽쳐에 포함된 픽셀값을 예측하는 인터(inter) 예측 기술, 현재 픽쳐 내의 픽셀 정보를 이용하여 현재 픽쳐에 포함된 픽셀값을 예측하는 인트라(intra) 예측 기술, 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 부호화 기술 등이 사용될 수 있다.
본 발명의 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 영상 부호화 방법 및 장치를 제공함에 있다.
본 발명의 다른 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 영상 복호화 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 기술적 과제는 영상 부호화/복호화 효율을 향상시킬 수 있는 인트라 예측 방법 및 장치를 제공함에 있다.
본 발명의 일 실시 형태는 인트라 예측 방법이다. 상기 방법은, 현재 루마 블록 내 픽셀 및 상기 현재 루마 블록 주변에 위치한 주변 루마 픽셀을 기반으로, 루마 참조 블록 내 픽셀 및 상기 루마 참조 블록 주변에 위치한 주변 루마 참조 픽셀을 포함한 루마 참조 정보를 생성하는 단계, 상기 주변 루마 참조 픽셀 및 현재 크로마 블록 주변에 위치한 주변 크로마 픽셀들 중에서 상기 주변 루마 참조 픽셀에 대응되는 제1 주변 크로마 픽셀을 기반으로, 상기 현재 크로마 블록에 대한 예측 파라미터를 도출하는 단계 및 상기 루마 참조 블록 내 픽셀 및 상기 예측 파라미터를 기반으로, 상기 현재 크로마 블록 내 픽셀의 예측 값을 도출하는 단계를 포함할 수 있다. 여기서, 상기 루마 참조 정보 생성 단계에서는, 상기 현재 크로마 블록 주변에 위치한 주변 크로마 픽셀들 중에서 상기 주변 루마 픽셀에 대응되는 제2 주변 크로마 픽셀이 가용한지 여부에 따라 상기 주변 루마 픽셀이 가용한지 여부를 결정하고, 상기 주변 루마 픽셀이 가용한지 여부에 따라 상기 주변 루마 픽셀의 픽셀 값을 결정할 수 있다.
상기 루마 참조 정보 생성 단계에서는, 상기 제2 주변 크로마 픽셀이 가용한 경우에 상기 주변 루마 픽셀이 가용한 것으로 결정할 수 있다.
상기 제2 주변 크로마 픽셀의 위치가 [x, y]이고, 상기 x는 -1이고 상기 y는 0 내지 NU*2-1 중 하나의 값을 갖는 경우, 상기 제2 주변 크로마 픽셀을 기반으로 가용한지 여부가 결정되는 상기 주변 루마 픽셀의 위치는 [x, 2y] 또는 [x, 2y+1]일 수 있고, 상기 NU는 상기 현재 크로마 블록의 가로 길이 및 세로 길이를 나타낼 수 있다.
상기 제2 주변 크로마 픽셀의 위치가 [x, y]이고, 상기 y는 -1이고 상기 x는 0 내지 NU*2-1 중 하나의 값을 갖는 경우, 상기 제2 주변 크로마 픽셀을 기반으로 가용한지 여부가 결정되는 상기 주변 루마 픽셀의 위치는 [2x, y] 또는 [2x+1, y]일 수 있고, 상기 NU는 상기 현재 크로마 블록의 가로 길이 및 세로 길이를 나타낼 수 있다.
상기 제2 주변 크로마 픽셀의 위치가 [-1, -1]인 경우, 상기 제2 주변 크로마 픽셀을 기반으로 가용한지 여부가 결정되는 상기 주변 루마 픽셀의 위치는 [-1, -1]일 수 있다.
상기 루마 참조 정보 생성 단계에서는, 상기 주변 루마 픽셀이 가용하지 않은 것으로 결정된 경우, 상기 현재 루마 블록 주변에 위치한 픽셀들 중에서 가용한 픽셀의 픽셀 값을 상기 주변 루마 픽셀에 할당할 수 있다.
상기 루마 참조 정보 생성 단계에서는, 상기 주변 루마 픽셀이 상기 현재 루마 블록의 좌측에 인접하여 위치한 좌측 픽셀 라인상의 픽셀이고 상기 주변 루마 픽셀이 가용한 것으로 결정된 경우, 상기 주변 루마 픽셀의 좌측에 인접하여 위치한 루마 픽셀의 픽셀 값이 상기 주변 루마 픽셀의 픽셀 값으로 결정될 수 있다.
상기 루마 참조 정보 생성 단계에서는, 상기 주변 루마 픽셀이 상기 현재 루마 블록의 상단에 인접하여 위치한 상단 픽셀 라인상의 픽셀이고 상기 주변 루마 픽셀이 가용한 것으로 결정된 경우, 상기 주변 루마 픽셀과 동일한 위치의 루마 픽셀의 픽셀 값이 상기 주변 루마 픽셀의 픽셀 값으로 결정될 수 있다.
본 발명의 다른 실시 형태는 영상 복호화 방법이다. 상기 방법은, 현재 루마 블록 내 픽셀 및 상기 현재 루마 블록 주변에 위치한 주변 루마 픽셀을 기반으로, 루마 참조 블록 내 픽셀 및 상기 루마 참조 블록 주변에 위치한 주변 루마 참조 픽셀을 포함한 루마 참조 정보를 생성하는 단계, 상기 주변 루마 참조 픽셀 및 현재 크로마 블록 주변에 위치한 주변 크로마 픽셀들 중에서 상기 주변 루마 참조 픽셀에 대응되는 제1 주변 크로마 픽셀을 기반으로, 상기 현재 크로마 블록에 대한 예측 파라미터를 도출하는 단계, 상기 루마 참조 블록 내 픽셀 및 상기 예측 파라미터를 기반으로, 상기 현재 크로마 블록 내 픽셀의 예측 값을 도출함으로써, 상기 현재 크로마 블록에 대한 예측 블록을 생성하는 단계 및 상기 예측 블록을 기반으로 상기 현재 크로마 블록에 대한 복원 블록을 생성하는 단계를 포함할 수 있다. 여기서, 상기 루마 참조 정보 생성 단계에서는, 상기 현재 크로마 블록 주변에 위치한 주변 크로마 픽셀들 중에서 상기 주변 루마 픽셀에 대응되는 제2 주변 크로마 픽셀이 가용한지 여부에 따라 상기 주변 루마 픽셀이 가용한지 여부를 결정하고, 상기 주변 루마 픽셀이 가용한지 여부에 따라 상기 주변 루마 픽셀의 픽셀 값을 결정할 수 있다.
상기 루마 참조 정보 생성 단계에서는, 상기 제2 주변 크로마 픽셀이 가용한 경우에 상기 주변 루마 픽셀이 가용한 것으로 결정할 수 있다.
상기 제2 주변 크로마 픽셀의 위치가 [x, y]이고, 상기 x는 -1이고 상기 y는 0 내지 NU*2-1 중 하나의 값을 갖는 경우, 상기 제2 주변 크로마 픽셀을 기반으로 가용한지 여부가 결정되는 상기 주변 루마 픽셀의 위치는 [x, 2y] 또는 [x, 2y+1]일 수 있고, 상기 NU는 상기 현재 크로마 블록의 가로 길이 및 세로 길이를 나타낼 수 있다.
상기 제2 주변 크로마 픽셀의 위치가 [x, y]이고, 상기 y는 -1이고 상기 x는 0 내지 NU*2-1 중 하나의 값을 갖는 경우, 상기 제2 주변 크로마 픽셀을 기반으로 가용한지 여부가 결정되는 상기 주변 루마 픽셀의 위치는 [2x, y] 또는 [2x+1, y]일 수 있고, 상기 NU는 상기 현재 크로마 블록의 가로 길이 및 세로 길이를 나타낼 수 있다.
상기 제2 주변 크로마 픽셀의 위치가 [-1, -1]인 경우, 상기 제2 주변 크로마 픽셀을 기반으로 가용한지 여부가 결정되는 상기 주변 루마 픽셀의 위치는 [-1, -1]일 수 있다.
상기 루마 참조 정보 생성 단계에서는, 상기 주변 루마 픽셀이 가용하지 않은 것으로 결정된 경우, 상기 현재 루마 블록 주변에 위치한 픽셀들 중에서 가용한 픽셀의 픽셀 값을 상기 주변 루마 픽셀에 할당할 수 있다.
상기 루마 참조 정보 생성 단계에서는, 상기 주변 루마 픽셀이 상기 현재 루마 블록의 좌측에 인접하여 위치한 좌측 픽셀 라인상의 픽셀이고 상기 주변 루마 픽셀이 가용한 것으로 결정된 경우, 상기 주변 루마 픽셀의 좌측에 인접하여 위치한 루마 픽셀의 픽셀 값이 상기 주변 루마 픽셀의 픽셀 값으로 결정될 수 있다.
상기 루마 참조 정보 생성 단계에서는, 상기 주변 루마 픽셀이 상기 현재 루마 블록의 상단에 인접하여 위치한 상단 픽셀 라인상의 픽셀이고 상기 주변 루마 픽셀이 가용한 것으로 결정된 경우, 상기 주변 루마 픽셀과 동일한 위치의 루마 픽셀의 픽셀 값이 상기 주변 루마 픽셀의 픽셀 값으로 결정될 수 있다.
본 발명에 따른 영상 부호화 방법에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
본 발명에 따른 영상 복호화 방법에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
본 발명에 따른 인트라 예측 방법에 의하면, 영상 부호화/복호화 효율이 향상될 수 있다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 하나의 유닛이 복수의 하위 유닛으로 분할되는 실시예를 개략적으로 나타내는 개념도이다.
도 4는 인트라 예측 모드의 예측 방향 및 각 예측 방향에 할당된 모드 값의 실시예를 도시한다.
도 5는 루마 성분을 기반으로 하여 크로마 성분에 대한 예측을 수행하는 색 성분 간 예측 방법의 일 실시예를 개략적으로 나타내는 흐름도이다.
도 6은 현재 루마 블록의 크기 및 현재 크로마 블록의 크기가 서로 다른 경우, 루마 참조 정보를 도출하는 방법의 일 실시예를 나타낸다.
도 7은 부호화 파라미터를 기반으로 루마 참조 정보를 생성하는 과정의 실시예를 개략적으로 나타내는 도면이다.
도 8은 주변 루마 픽셀들 중에서 가용하지 않은 픽셀이 존재하는 경우에 루마 참조 정보를 생성하는 과정의 실시예를 개략적으로 나타내는 도면이다.
도 9는 패딩 과정을 수행한 후 루마 참조 정보를 생성하는 과정의 실시예를 설명하기 위한 도면이다.
도 10은 패딩 과정을 수행한 후 루마 참조 정보를 생성하는 과정의 다른 실시예를 설명하기 위한 도면이다.
도 11은 패딩 과정을 수행한 후 루마 참조 정보를 생성하는 과정의 또 다른 실시예를 설명하기 위한 도면이다.
도 12는 패딩 과정을 수행한 후 루마 참조 정보를 생성하는 과정의 또 다른 실시예를 설명하기 위한 도면이다.
도 13은 제1 색 성분 블록의 크기가 제2 색 성분 블록의 크기보다 작은 경우, 제2 색 성분 블록의 예측에 사용될 제1 색 성분 참조 정보를 도출하는 과정의 실시예를 개략적으로 나타내는 도면이다.
도 14는 제1 색 성분 블록의 크기가 제2 색 성분 블록의 크기와 동일한 경우, 제2 색 성분 블록의 예측에 사용될 제1 색 성분 참조 정보를 도출하는 과정의 실시예를 개략적으로 나타내는 도면이다.
도 15는 루마 참조 정보 생성에 사용되는 주변 루마 픽셀들의 실시예를 개략적으로 나타내는 도면이다.
도 16은 예측 파라미터를 도출하는 과정 및 현재 크로마 블록 내 픽셀들의 예측값을 도출하는 과정의 실시예를 설명하기 위한 도면이다.
도 17은 본 발명에 따른 복호화 과정의 일 실시예를 개략적으로 나타내는 흐름도이다.
도 18은 도 17의 실시예에서와 같이 복호화 과정이 수행되는 경우, 현재 크로마 블록에 대한 루마 참조 정보 및 예측 파라미터를 도출하는 과정의 실시예를 설명하기 위한 도면이다.
도 19a 및 도 19b는 본 발명에 따른 복호화 과정의 다른 실시예를 설명하기 위한 도면이다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 아울러, 본 발명에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.

도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 픽쳐 버퍼(190)를 포함한다.
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림을 출력할 수 있다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환될 수 있다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분(residual)을 부호화할 수 있다.
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 픽쳐 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 여기서, 움직임 벡터는 인터 예측에 사용되는 2차원 벡터이며, 현재 부호화/복호화 대상 영상과 참조 영상 사이의 오프셋을 나타낼 수 있다.
인트라 예측부(120), 움직임 예측부(111) 및/또는 움직임 보상부(112)의 예측 과정에서 예측 방법이나 예측 모드가 정해지는 처리 단위 및 예측이 수행되는 처리 단위는 동일할 수도 있으나 서로 다를 수도 있다. 일례로, 예측 방법이 정해지는 처리 단위가 PU일 때 예측이 수행되는 처리 단위는 TU일 수도 있다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔차 블록(residual block)을 생성할 수 있다. 변환부(130)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다.
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 비트스트림(bit stream)을 출력할 수 있다.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. 엔트로피 부호화부(150)는 엔트로피 부호화를 위해 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다.
도 1의 실시예에 따른 영상 부호화 장치는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성된다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(180)는 적응적 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 필터부(180)를 거친 복원 블록은 참조 픽쳐 버퍼(190)에 저장될 수 있다.

도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 가산기(255), 필터부(260) 및 참조 픽쳐 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 잔차 블록(residual block)을 얻고 예측 블록을 생성한 후 잔차 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.
엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다.
엔트로피 복호화 방법이 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 각 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 복호화 방법을 통해서 영상 복호화의 압축 성능이 높아질 수 있다.
양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 잔차 블록(residual block)이 생성될 수 있다.
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 픽쳐 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
인트라 예측부(240) 및/또는 움직임 보상부(250)에서의 예측 과정에서 예측 방법이나 예측 모드가 정해지는 처리 단위 및 예측이 수행되는 처리 단위는 동일할 수도 있으나 서로 다를 수도 있다. 일례로, 예측 방법이 정해지는 처리 단위가 PU일 때 예측이 수행되는 처리 단위는 TU일 수도 있다.
잔차 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거칠 수 있다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 복원 영상은 참조 픽쳐 버퍼(270)에 저장되어 인터 예측에 사용될 수 있다.

이하, 유닛(unit)은 영상 부호화 및 복호화의 단위를 의미할 수 있다. 영상 부호화 및 복호화 시 부호화 혹은 복호화 단위는, 영상을 분할하여 부호화 혹은 복호화 할 때 그 분할된 단위를 의미하므로, 부호화 유닛 (CU: Coding Unit), 예측 유닛 (PU: Prediction Unit), 변환 유닛(TU: Transform Unit) 등으로 불릴 수 있다. 또한, 후술되는 실시예들에서 유닛은 블록으로도 지칭될 수 있다. 하나의 유닛은 크기가 더 작은 하위 유닛으로 더 분할될 수 있다.

도 3은 하나의 유닛이 복수의 하위 유닛으로 분할되는 실시예를 개략적으로 나타내는 개념도이다.
하나의 유닛은 트리 구조(tree structure)를 기초로 깊이 정보(depth)를 가지고 계층적으로 분할될 수 있다. 각각의 분할된 하위 유닛은 깊이 정보를 가질 수 있다. 상기 깊이 정보는 유닛이 분할된 회수 및/또는 정도를 나타내므로, 상기 하위 유닛의 크기에 관한 정보를 포함할 수도 있다.
도 3의 310은 하나의 유닛이 복수의 하위 유닛으로 분할되는 트리 구조의 실시예를 도시한다. 또한, 도 3의 320은 복수의 하위 유닛으로 분할되는 유닛의 실시예를 도시한다. 도 3의 320에 도시된 유닛은 일례로 CU이거나 TU일 수 있다.
도 3의 310을 참조하면, 가장 상위 노드는 루트 노드(root node)로 불릴 수 있고, 가장 작은 깊이 값을 가질 수 있다. 이 때, 가장 상위 노드는 레벨 0의 깊이를 가질 수 있으며, 분할되지 않은 최초의 유닛을 나타낼 수 있다.
레벨 1의 깊이를 갖는 하위 노드는 최초 유닛이 한 번 분할된 유닛을 나타낼 수 있으며, 레벨 2의 깊이를 갖는 하위 노드는 최초의 유닛이 두 번 분할된 유닛을 나타낼 수 있다. 예를 들어, 도 3의 320에서 노드 a에 대응하는 유닛 a는 최초 유닛에서 한 번 분할된 유닛이고, 레벨 1의 깊이를 가질 수 있다.
레벨 3의 리프 노드(leaf node)는 최초 유닛이 3번 분할된 유닛을 나타낼 수 있다. 예를 들어, 도3의 320에서 노드 d에 대응하는 유닛 d는 최초 유닛에서 세 번 분할된 유닛이고, 레벨 3의 깊이를 가질 수 있다. 따라서, 가장 하위 노드인 레벨 3의 리프 노드는 가장 깊은 깊이를 가질 수 있다.

이하, 후술되는 실시예들에서 부호화/복호화 대상 블록은 경우에 따라 현재 블록으로 지칭될 수도 있다. 또한 부호화/복호화 대상 블록에 대해 인트라 예측이 수행되는 경우, 상기 부호화/복호화 대상 블록은 예측 대상 블록으로 불릴 수도 있다.

한편, 영상 신호는 색 공간(color space)을 이루는 구성 요소인 색 성분들(color components)로 구성될 수 있다. 일례로, 영상 신호는 일반적으로 빛의 3원색 성분을 나타내는 세 가지의 색 성분을 포함할 수 있다. 빛의 3원색 성분을 나타내는 세 가지의 색 성분은 R(Red), G(Green), B(Blue)로 나타내어질 수 있다. 상기 R, G, B 신호는 영상 처리를 위해 사용되는 주파수 대역을 감소시키기 위해 하나의 루마(luma) 성분 및 두 개의 크로마(chroma) 성분으로 변환될 수 있다. 이 때, 하나의 영상 신호는 하나의 루마 성분과 두 개의 크로마 성분을 포함할 수 있다. 여기서, 루마 성분은 화면의 밝기를 나타내는 성분으로 Y로 나타내어질 수 있다. 또한, 두 개의 크로마 성분은 화면의 색(color)을 나타내는 성분으로 U, V 또는 Cb, Cr로 나타내어질 수 있다. 따라서, 영상의 색 공간은 일례로 YUV로 나타내어지거나 YCbCr로 나타내어질 수 있다. 이하, 후술되는 실시예들에서 루마 성분을 갖는 블록은 루마 블록, 크로마 성분을 갖는 블록은 크로마 블록으로 지칭될 수 있다.
인간의 눈은 루마 성분 신호에 대해서 민감하고 크로마 성분 신호에 대해서 둔감한 특성을 가진다. 이러한 특성을 이용하여 R, G, B 신호가 루마 신호 및 크로마 신호로 변환되는 경우, 영상 처리에 사용되는 주파수 대역이 감소될 수 있다. 또한, 이러한 특성에 의해 하나의 영상 또는 블록 내에서 크로마 성분의 픽셀 수가 루마 성분의 픽셀 수보다 작을 수 있다.
예를 들어, 4:2:0 영상 포맷에서, 루마 블록에 대응되는 크로마 블록의 수평 방향 픽셀 수는 루마 블록의 수평 방향 픽셀 수의 1/2이고, 루마 블록에 대응되는 크로마 블록의 수직 방향 픽셀 수는 루마 블록의 수직 방향 픽셀 수의 1/2에 해당될 수 있다. 4:2:2 영상 포맷에서, 루마 블록에 대응되는 크로마 블록의 수평 방향 픽셀 수는 루마 블록의 수평 방향 픽셀 수의 1/2이고, 루마 블록에 대응되는 크로마 블록의 수직 방향 픽셀 수는 루마 블록의 수직 방향 픽셀 수와 동일할 수 있다. 4:4:4 영상 포맷에서, 루마 블록에 대응되는 크로마 블록의 수평 방향 및 수직 방향 픽셀 수는 각각 루마 블록의 수평 방향 및 수직 방향 픽셀 수와 동일할 수 있다.

한편, 인트라 예측은 현재 블록의 인트라 예측 모드에 따라 수행될 수 있다. 현재 블록의 인트라 예측 모드는 인접한 주변 블록(neighboring block)의 예측 모드와 상관성이 크기 때문에, 현재 블록 블록에 인접한 주변 블록의 예측 모드를 기반으로 현재 블록의 예측 모드가 부호화될 수 있다. 이 때, 현재 블록에 대한 MPM(Most Probable Mode)이 이용될 수도 있다.

도 4는 인트라 예측 모드의 예측 방향 및 각 예측 방향에 할당된 모드 값의 실시예를 도시한다. 이하, 본 명세서에서 픽셀은 샘플과 동일한 의미를 가질 수 있으며, 후술되는 실시예들에서 픽셀은 경우에 따라 샘플로 지칭될 수도 있다.
도 1 및 도 2의 실시예에서 상술한 바와 같이, 부호화기 및 복호화기는 현재 픽쳐 내의 픽셀 정보를 기초로 인트라 예측을 수행하여 예측 블록을 생성할 수 있다. 즉, 인트라 예측 수행 시에 부호화기 및 복호화기는 적어도 하나의 복원된 참조 픽셀을 기반으로 방향성 예측 및/또는 비방향성 예측을 수행할 수 있다. 여기서, 예측 블록은 인트라 예측 수행 결과 생성된 블록을 의미할 수 있다. 상기 예측 블록은 부호화 유닛(CU), 예측 유닛(PU) 및 변환 유닛(TU) 중에서 적어도 하나에 해당될 수 있다.
상술한 바와 같이 인트라 예측은 현재 블록의 인트라 예측 모드에 따라 수행될 수 있다. 현재 블록이 가질 수 있는 인트라 예측 모드의 개수는 소정의 고정된 값일 수 있으며, 예측 블록의 크기에 따라 다르게 결정되는 값일 수도 있다. 일례로, 현재 블록이 가질 수 있는 인트라 예측 모드의 개수는 35 또는 36일 수 있다.
도 4의 410을 참조하면, 예를 들어, 모드 값이 1인 수직 모드의 경우 참조 픽셀의 픽셀 값을 기반으로 수직 방향으로 예측이 수행될 수 있고, 모드 값이 2인 수평 모드의 경우 참조 픽셀의 픽셀 값을 기반으로 수평 방향으로 예측이 수행될 수 있다. 상술한 모드 이외의 방향성 모드의 경우에도, 부호화기 및 복호화기는 해당 각도에 따라 참조 픽셀을 이용하여 인트라 예측을 수행할 수 있다.
도 4의 410에서 0의 모드 값을 갖는 예측 모드는 플래너(planar) 모드로 불릴 수 있고, 3의 모드 값을 갖는 예측 모드는 DC 모드로 불릴 수 있다. 상기 플래너 모드(예컨대, Intra_Planar) 및 DC 모드(예컨대, Intra_DC)는 비방향성 모드에 해당될 수 있다. 예를 들어, DC 모드의 경우, 복수의 참조 픽셀의 픽셀 값 평균에 의해 예측 블록이 생성될 수 있다. 플래너 모드에서는 예측 대상 픽셀의 위치를 기반으로 상기 예측 대상 픽셀의 예측에 사용될 참조 픽셀의 위치가 결정될 수 있고, 결정된 위치에 존재하는 참조 픽셀을 기반으로 예측 대상 픽셀의 예측 값이 도출될 수 있다.
또한, 도 4의 410에서 35의 모드 값을 갖는 예측 모드는 LM 모드(예컨대, Intra_FromLuma)로 불릴 수 있다. LM 모드는 루마 성분(예컨대, Y)의 픽셀 값에 따라 크로마 성분(예컨대, U 또는 V) 픽셀의 예측 값이 결정되는 예측 모드를 의미할 수 있다. LM 모드에서의 인트라 예측에 대한 구체적인 실시예는 후술하기로 한다.
인트라 예측 모드의 개수 및/또는 각각의 인트라 예측 모드에 할당되는 모드값은 상술한 실시예에 한정되지 않으며, 구현 및/또는 필요에 따라 다르게 정해질 수도 있다. 예를 들어, 인트라 예측 모드의 예측 방향 및 각 예측 모드에 할당되는 모드값은 도 4의 420에서와 같이 도 4의 410과 다르게 정해질 수도 있다. 또한, 일례로 도 4의 420의 실시예에서도 도 4의 410에서와 같이 LM 모드가 적용될 수 있다. 이 경우 LM 모드에는 35의 모드 값이 할당될 수 있다. 이하, 후술되는 실시예들에서는 설명의 편의상 다른 언급이 없는 경우에는 도 4의 410에서와 같은 인트라 예측 모드에 기반하여 인트라 예측이 수행되는 것으로 가정한다.

한편, 영상 내의 루마 성분과 크로마 성분은 상관성을 가지므로, 크로마 성분의 예측 모드는 대응되는 루마 성분의 예측 모드를 기반으로 부호화될 수 있으며, 복호화기는 루마 성분의 예측 모드를 기반으로 크로마 성분의 예측 모드를 도출할 수 있다. 따라서, 부호화기에서 복호화기로 전송되는 크로마 성분의 예측 모드 정보는 크로마 성분의 예측 모드 자체가 아니라 루마 성분의 예측 모드와의 관계에서 크로마 성분의 예측 모드를 도출하는 데 이용되는 별도의 값일 수 있다. 다음 표 1은 루마 성분의 예측 모드와 전송되는 값에 따라 결정되는 크로마 예측 모드의 일 실시예를 나타낸다.
[표 1]
Figure PCTKR2012009369-appb-I000001

표 1을 참조하면, 부호화기에서 복호화기로 전송되는 값은 intra_chroma_pred_mode에 할당된 값일 수 있다. IntraPredMode는 루마 성분의 인트라 예측 모드를 나타낸다. 예를 들어, intra_chroma_pred_mode 값이 2이고 IntraPredMode의 값이 26인 경우, 크로마 성분의 인트라 예측 모드 값은 10일 수 있다. 상기 intra_chroma_pred_mode 및 IntraPredMode는 그 명칭에 한정되는 것은 아니다. 또한, 각각의 예측 모드에 할당되는 값들은 하나의 실시예로서 구현 및/또는 필요에 따라 다르게 정해질 수도 있다.
표 1의 실시예에서 intra_chroma_pred_mode의 값이 4일 때에 크로마 성분의 예측 모드는 LM모드로 불릴 수 있고, intra_chroma_pred_mode의 값이 5일 때에 크로마 성분의 예측 모드는 DM모드로 불릴 수 있다. LM 모드는 루마 성분의 픽셀값에 따라 크로마 성분 픽셀의 예측값이 결정되는 예측 모드이고, DM 모드는 루마 성분의 예측 모드가 그대로 크로마 성분의 예측 모드로 사용되는 예측 모드이다.
또한, 부호화기는 현재 시퀀스 내에서 크로마 성분의 예측 모드에 따라 LM 모드가 적용되는지, 즉 현재 시퀀스 내에서 크로마 성분의 인트라 예측에 LM 모드가 적용될 수 있는지 여부를 지시하는 LM 플래그 정보를 부호화하여 복호화기로 전송할 수 있다. LM 플래그 정보는 일례로 chroma_pred_from_luma_enabled_flag라는 구문 요소(syntax element)를 통해 복호화기로 전송될 수 있다. 예를 들어, chroma_pred_from_luma_enabled_flag에 1이 할당된 경우 상기 플래그는 크로마 성분의 인트라 예측에 LM 모드가 이용될 수 있음을 지시할 수 있다. 또한, chroma_pred_from_luma_enabled_flag에 0이 할당된 경우 상기 플래그는 크로마 성분의 인트라 예측에 LM 모드가 이용되지 않음을 지시할 수 있다.
LM 플래그가 사용되는 경우, chroma_pred_from_luma_enabled_flag에 1이 할당되면 표 1의 실시예에 따라 크로마 예측 모드가 결정될 수 있다. 그러나, chroma_pred_from_luma_enabled_flag에 0이 할당되면 크로마 성분의 인트라 예측에 LM 모드가 이용되지 않으므로, 루마 성분의 예측 모드와 전송되는 값에 따라 결정되는 크로마 예측 모드는 표 1의 실시예에서와 다르게 결정될 수도 있다. 예를 들어, 크로마 성분의 인트라 예측에 LM 모드가 이용되지 않는 경우, 크로마 예측 모드는 다음 표 2의 실시예에서와 같이 나타내어질 수 있다.
[표 2]
Figure PCTKR2012009369-appb-I000002

한편, 색 공간을 구성하는 복수의 색 성분은 서로 상관성을 가지므로, 하나의 색 성분(제1 색 성분)을 기반으로 다른 색 성분(제2 색 성분)에 대한 예측을 수행함으로써, 제2 색 성분에 대한 부호화 효율이 향상될 수 있다. 이러한 예측 과정은 ‘색 성분 간 예측’으로도 불릴 수 있다. 상술한 바와 같이, 색 공간을 구성하는 색 성분에는 R, G, B, 루마 성분(예컨대, Y) 및/또는 크로마 성분(예컨대, U, V, Cb, Cr) 등이 있을 수 있다.
일례로, 상술한 LM 모드에서는 루마 성분을 기반으로 크로마 성분에 대한 예측이 수행될 수 있다. 이 때, 제1 색 성분은 루마 성분에 해당될 수 있고, 제2 색 성분은 크로마 성분에 해당될 수 있다. LM 모드에서 루마 성분과 크로마 성분의 상관성은 예측 파라미터를 이용한 선형 관계로 표현될 수 있다. 루마 성분을 기반으로 크로마 성분에 대해 예측을 수행하는 과정의 구체적인 실시예는 후술하기로 한다.
상기 제1 색 성분 및 상기 제2 색 성분은 다양한 조합을 가질 수 있으나, 본 명세서에서는 설명의 편의상 제1 색 성분은 루마 성분이라 하고, 제2 색 성분은 크로마 성분이라 한다. 다만, 후술되는 실시예들은 이에 한정되어 적용되는 것은 아니며, 제1 색 성분 및 제2 색 성분의 가능한 모든 조합에 대해 동일하거나 유사한 방식으로 적용될 수 있다. 이 때, 후술되는 실시예들에서 루마 성분은 제1 색 성분으로 볼 수 있으며, 크로마 성분은 제2 색 성분으로 볼 수 있다.

도 5는 루마 성분을 기반으로 하여 크로마 성분에 대한 예측을 수행하는 색 성분 간 예측 방법의 일 실시예를 개략적으로 나타내는 흐름도이다. 후술되는 예측 과정은 부호화 장치 및 복호화 장치의 인트라 예측부에서 수행될 수 있다.
이하, 본 명세서에서 부호화/복호화 대상이 되는 크로마 블록은 현재 크로마 블록이라 한다. 또한, 상기 현재 크로마 블록에 대응되는 ‘복원된’ 루마 블록은 현재 루마 블록이라 한다. 일례로 현재 루마 블록은 현재 크로마 블록과 동일한 위치에 존재하는 블록일 수 있다. 다른 예로 현재 루마 블록은 현재 크로마 블록에 대해 소정의 상대적인 위치에 존재하거나 소정의 고정된 위치에 존재하는 블록일 수도 있다.
도 5를 참조하면, 부호화기 및 복호화기는 현재 루마 블록 내의 픽셀 및 현재 루마 블록 주변의 픽셀을 기반으로 현재 크로마 블록의 예측에 사용될 루마 참조 정보를 도출할 수 있다(S510).
루마 참조 정보는 현재 크로마 블록의 예측에 사용될 루마 성분의 픽셀 값들을 의미할 수 있다. 따라서, 본 명세서에서 루마 참조 정보는 ‘루마 참조 픽셀’로 지칭될 수도 있다. 이 때, 현재 크로마 블록 내의 픽셀들에 대응되는 루마 참조 픽셀들은 ‘루마 참조 블록’을 구성할 수 있다. 또한, 본 명세서에서 현재 루마 블록 주변에 위치하는 픽셀은 ‘주변 루마 픽셀’이라 하고, 현재 크로마 블록 주변에 위치하는 픽셀은 ‘주변 크로마 픽셀’이라 하며, 루마 참조 블록 주변에 위치하는 루마 참조 픽셀은 ‘주변 루마 참조 픽셀’이라 한다. 이 때, 루마 참조 블록은 현재 크로마 블록에 대응될 수 있고, 주변 루마 참조 픽셀은 주변 크로마 픽셀에 대응될 수 있다. 본 명세서에서, 루마 참조 정보는 루마 참조 블록 내의 픽셀 및 주변 루마 참조 픽셀을 포함한 개념으로 사용될 수 있다.
한편, 상술한 바와 같이 현재 루마 블록 및 현재 크로마 블록은 영상 포맷에 따라 서로 다른 크기를 가질 수도 있다. 이 경우, 부호화기 및 복호화기는 현재 루마 블록 내의 픽셀들 및 현재 루마 블록 주변의 픽셀들에 대해 다운 샘플링(down sampling) 및/또는 업 샘플링(up sampling)을 수행함으로써, 현재 크로마 블록과 동일한 크기의 루마 참조 블록 및 이에 대응되는 주변 루마 참조 픽셀들을 도출할 수 있다.
이 때, 부호화기 및 복호화기는 부호화 파라미터를 기반으로 루마 참조 정보를 다르게 생성할 수도 있다. 여기서, 부호화 파라미터는 부호화 및 복호화에 필요한 매개변수로서, 구문 요소와 같이 부호화기에서 부호화되어 복호화기로 전달되는 정보뿐만 아니라, 부호화 혹은 복호화 과정에서 유추될 수 있는 정보를 포함할 수 있으며 영상을 부호화하거나 복호화할 때 필요한 정보를 의미할 수 있다. 부호화 파라미터에는 예를 들어, 부호화 모드, 인트라 예측 모드, 인터 예측 모드, 양자화 파라미터(Quantization Parameter: QP) 등이 있을 수 있다.
또한, 현재 루마 블록, 루마 참조 블록 및/또는 현재 크로마 블록의 주변에 위치한 픽셀들 중에서는 가용하지 않은(unavailable) 픽셀들이 있을 수 있다. 이 경우, 부호화기 및 복호화기는 가용하지 않은 픽셀들에 대해 패딩 과정(padding process)을 수행할 수도 있다. 여기서, 패딩은 가용하지 않은 픽셀의 위치에 가용한 픽셀을 기반으로 새로운 픽셀 값을 채워 넣는 프로세스를 의미할 수 있다.
루마 참조 정보 도출 과정의 구체적인 실시예들은 후술하기로 한다.
다시 도 5를 참조하면, 부호화기 및 복호화기는 루마 참조 정보 및 크로마 성분 정보를 기반으로 현재 크로마 블록에 대한 예측 파라미터를 도출할 수 있다(S520).
일례로, 부호화기 및 복호화기는 주변 루마 참조 픽셀들의 픽셀 값 및 주변 크로마 픽셀들의 픽셀 값을 기반으로 예측 파라미터를 도출할 수 있다. 여기서, 예측 파라미터는 최소 자승법을 기반으로 하는 알파(α) 및 베타(β)일 수 있다.
예측 파라미터 도출 과정의 구체적인 실시예들은 후술하기로 한다.
다시 도 5를 참조하면, 부호화기 및 복호화기는 예측 파라미터 및 루마 참조 블록 내의 루마 참조 픽셀 값을 기반으로 현재 크로마 블록 내 픽셀들의 예측 값을 도출할 수 있다(S530). 즉, 부호화기 및 복호화기는 예측 파라미터 및 루마 참조 블록 내의 루마 참조 픽셀 값을 기반으로 현재 크로마 블록에 대해 인트라 예측을 수행할 수 있다. 현재 크로마 블록 내 픽셀들의 예측 값을 도출하는 과정의 구체적인 실시예는 후술하기로 한다.

도 6은 현재 루마 블록의 크기 및 현재 크로마 블록의 크기가 서로 다른 경우, 루마 참조 정보를 도출하는 방법의 일 실시예를 나타낸다.
상술한 바와 같이 현재 루마 블록 및 현재 크로마 블록은 영상 포맷에 따라 서로 다른 크기를 가질 수 있다. 예를 들어, 영상의 색 공간(color space)이 YUV 4:2:0 또는 YCbCr 4:2:0인 경우, 현재 루마 블록의 크기가 현재 크로마 블록의 크기보다 4배 클 수 있다. 이 경우 부호화기 및 복호화기는 현재 루마 블록을 기반으로 현재 크로마 블록과 동일한 크기를 갖는 루마 참조 블록 내의 픽셀들을 도출할 수 있으며, 상기 루마 참조 블록의 주변에 위치한 주변 루마 참조 픽셀들을 도출할 수 있다. 즉, 이 경우 부호화기 및 복호화기는 현재 크로마 블록의 크기에 대응되도록 루마 참조 정보를 생성할 수 있다.
도 6의 610은 현재 루마 블록(612), 주변 루마 픽셀들(614), 현재 크로마 블록(616) 및 주변 크로마 픽셀들(618)의 실시예를 도시한다. 도 6의 610을 참조하면, 현재 크로마 블록(616)의 크기가 4x4일 때, 이에 대응되는 현재 루마 블록(612)의 크기는 8x8일 수 있다. 이 경우, 부호화기 및 복호화기는 4x4 크기의 루마 참조 블록에 대응되는 루마 참조 픽셀들을 생성할 수 있다.
도 6의 620은 루마 참조 정보 도출 방법의 일 실시예를 도시한다.
도 6의 620의 실시예에서는, 도 6의 610에서와 같이 현재 루마 블록(612)의 크기가 8x8이고 현재 크로마 블록(616)의 크기가 4x4인 경우의 루마 참조 정보(626, 628) 도출 방법이 도시된다.
도 6의 620을 참조하면, 부호화기 및 복호화기는 현재 루마 블록(612) 내의 픽셀 및 주변 루마 픽셀들(624)을 기반으로, 현재 크로마 블록(616)의 예측에 사용될 루마 참조 블록(626) 및 주변 루마 참조 픽셀들(628)을 생성할 수 있다. 여기서, 루마 참조 정보 도출에 사용되는 주변 루마 픽셀들(624)은, 현재 루마 블록(612)의 좌측에 가장 가까이 위치한 두 개의 픽셀 라인에 포함된 픽셀들, 및 현재 루마 블록(612)의 상단에 가장 가까이 위치한 한 개의 픽셀 라인에 포함된 픽셀들을 포함할 수 있다.
한편, 도 6의 620에서는 현재 루마 블록(612) 및 현재 크로마 블록(616)의 크기가 서로 다르므로, 부호화기 및 복호화기는 현재 크로마 블록(616)과 동일한 크기(4x4)의 루마 참조 블록(626) 및 이에 대응되는 주변 루마 참조 픽셀들(628)을 생성할 수 있다. 이 때, 현재 크로마 블록(616)의 크기가 현재 루마 블록(612)의 크기보다 작으므로, 부호화기 및 복호화기는 현재 루마 블록(612) 내의 픽셀들 및 주변 루마 픽셀들(624)에 대해 다운 샘플링(down sampling)을 수행함으로써 루마 참조 정보를 생성할 수 있다.
이하, 본 명세서의 좌표들(예컨대, (x,y))은 블록 내의 가장 좌측 상단에 존재하는 픽셀의 위치를 기준으로 하는 좌표일 수 있다. 일례로 본 명세서에서 블록 내의 가장 좌측 상단에 존재하는 픽셀의 좌표는 (0,0)일 수 있다.
일 실시예로, 부호화기 및 복호화기는 현재 루마 블록(612) 내의 픽셀들 및 주변 루마 픽셀들(624)에 대해 2 탭(2-tap) 필터, 3 탭(3-tap) 필터 및/또는 4 탭(4-tap) 필터 등을 적용함으로써 다운 샘플링을 수행할 수 있다. 이 때, 다운 샘플링 수행 과정은 일례로 다음 수학식 1에 의해 나타내어질 수 있다.
[수학식 1]
p’[x,y] = (p[2x,2y] + p[2x,2y+1]) >> 1
p’[x,y] = (p[2x+1,2y] + p[2x+1,2y+1]) >> 1
p’[x,y] = (p[2x-1,2y+1] + 2*p[2x,2y+1] + p[2x+1,2y+1] + 2) >> 2

여기서, p[x,y]는 복원된 루마 성분 픽셀들, 즉 현재 루마 블록(612) 내의 픽셀들 및 주변 루마 픽셀들(624)의 픽셀 값을 나타낼 수 있다. 또한, p’[x,y]는 현재 크로마 블록(616)의 크기에 따라 생성된 루마 참조 픽셀들(626, 628)의 픽셀 값을 나타낼 수 있다.
다른 실시예로, 부호화기 및 복호화기는 소정의 연산에 따라 현재 루마 블록(612) 내의 픽셀들 및 주변 루마 픽셀들(624) 중에서 루마 참조 픽셀로 사용될 픽셀들을 선택함으로써, 다운 샘플링을 수행할 수도 있다. 이 때, 일례로 부호화기 및 복호화기는 소정의 크기를 갖는 픽셀 그룹 내에서 하나의 픽셀을 선택하여 루마 참조 픽셀로 사용할 수 있다. 이러한 다운 샘플링 수행 과정은 일례로 다음 수학식 2, 수학식 3 및 수학식 4 에 의해 나타내어지는 다운 샘플링 방식 중에서 적어도 하나의 방식으로 수행될 수 있다.
[수학식 2]
p’[x,y] = p[2x,2y]
[수학식 3]
p’[x,y] = p[2x,2y+1]
[수학식 4]
p’[x,y] = p[2x+1,2y]

또한, 현재 루마 블록(612) 내의 픽셀들, 현재 루마 블록(612)의 상단에 위치한 주변 루마 픽셀들 및 현재 루마 블록(612)의 좌측에 위치한 주변 루마 픽셀들에는 서로 다른 다운 샘플링 방식이 적용될 수도 있다. 일례로, 현재 루마 블록(612) 내의 픽셀들에 수학식 1에 의한 다운 샘플링 방식이 적용될 때, 현재 루마 블록(612)의 상단에 위치한 주변 루마 픽셀들에는 수학식 2에 의한 다운 샘플링 방식이 적용될 수도 있고, 현재 루마 블록(612)의 좌측에 위치한 주변 루마 픽셀들에는 수학식 3에 의한 다운 샘플링 방식이 적용될 수도 있다. 여기서, 다운 샘플링 방식이 적용되는 가능한 실시예들의 조합이 모두 서술되지는 않지만, 당해 분야에서 통상의 지식을 가진 자라면, 상술한 다운 샘플링 방식들의 다른 조합의 사용이 가능함을 인식할 수 있을 것이다.
도 6의 630은 루마 참조 정보 도출 방법의 다른 실시예를 도시한다.
도 6의 630의 실시예에서는, 도 6의 610에서와 같이 현재 루마 블록(612)의 크기가 8x8이고 현재 크로마 블록(616)의 크기가 4x4인 경우의 루마 참조 정보(636, 638) 도출 방법이 도시된다.
도 6의 630을 참조하면, 부호화기 및 복호화기는 현재 루마 블록(612) 내의 픽셀 및 주변 루마 픽셀들(634)을 기반으로, 현재 크로마 블록(616)의 예측에 사용될 루마 참조 블록(636) 및 주변 루마 참조 픽셀들(638)을 생성할 수 있다.
도 6의 630에서는, 도 6의 620에서와 달리 현재 루마 블록(612)의 좌측에 가장 가까이 위치한 “한 개”의 픽셀 라인에 포함된 픽셀들, 및 현재 루마 블록(612)의 상단에 가장 가까이 위치한 한 개의 픽셀 라인에 포함된 픽셀들을 기반으로 다운 샘플링을 수행함으로써, 루마 참조 정보(636, 638)가 도출될 수 있다. 즉, 도 6의 630의 실시예에서는, 현재 루마 블록(612) 좌측 및 상단에서 각각 한 개의 픽셀 라인에 포함된 픽셀들(634)만이 루마 참조 정보 (636, 638) 도출에 사용될 수 있다.
도 6의 630에서 다운 샘플링 수행 방법은 도 6의 620에서와 동일하므로 다운 샘플링 수행 방법에 관한 구체적인 설명은 생략하기로 한다.

한편, 부호화기 및 복호화기는 주변 루마 픽셀들을 포함하는 블록 및/또는 현재 루마 블록의 부호화 파라미터를 기반으로 루마 참조 정보를 다르게 생성할 수도 있다. 상술한 바와 같이, 부호화 파라미터에는 부호화 모드, 인트라 예측 모드, 인터 예측 모드, 양자화 파라미터(Quantization Parameter: QP) 등이 있을 수 있다. 예를 들어, 부호화기 및 복호화기는 왜곡이 작은 픽셀들의 픽셀 값만을 이용하여 루마 참조 정보를 생성할 수 있다.
일 실시예로, 부호화기 및 복호화기는 부호화 모드를 기반으로 루마 참조 정보를 다르게 생성할 수 있다. 일례로, 부호화기 및 복호화기는 현재 루마 블록 내의 픽셀들 및 주변 루마 픽셀들 중에서 인트라 모드로 부호화된 블록 내의 픽셀들만을 루마 참조 정보 도출에 이용할 수 있다.
부호화 파라미터를 기반으로 루마 참조 정보를 생성하는 방법의 추가 실시예는 도 7에서 후술된다.

도 7은 부호화 파라미터를 기반으로 루마 참조 정보를 생성하는 과정의 실시예를 개략적으로 나타내는 도면이다.
도 7의 710은 현재 루마 블록(712)의 인트라 예측 모드를 기반으로 루마 참조 정보(716, 718)를 생성하는 방법의 일 실시예를 나타낸다. 도 7의 710에서, 현재 루마 블록(712)의 크기는 8x8이고 현재 크로마 블록의 크기는 4x4라 가정한다.
도 7의 710에서는 현재 루마 블록(712) 내의 픽셀들 및 주변 루마 픽셀들(714)을 기반으로, 현재 크로마 블록의 예측에 사용될 루마 참조 블록(716) 및 주변 루마 참조 픽셀들(718)이 생성될 수 있다. 현재 크로마 블록의 크기는 4x4이므로, 생성된 루마 참조 블록(716)의 크기는 4x4일 수 있다.
이 때, 현재 루마 블록(712)의 인트라 예측 모드는 수직(vertical) 모드(722)이므로, 부호화기 및 복호화기는 주변 루마 픽셀들(714) 중에서 현재 루마 블록(712)의 상단에 인접하여 위치한 픽셀들만을 루마 참조 정보(716, 718) 생성에 이용할 수 있다. 따라서, 도 7의 710에서 도출되는 주변 루마 참조 픽셀들(718)은 루마 참조 블록(716)의 상단에 인접하여 위치한 픽셀들일 수 있다.
도 7의 710에서와 달리 현재 루마 블록의 인트라 예측 모드가 수평(horizontal) 모드이면, 부호화기 및 복호화기는 주변 루마 픽셀들 중에서 현재 루마 블록의 좌측에 인접하여 위치한 픽셀들만을 루마 참조 정보 생성에 이용할 수도 있다. 이 경우 도출되는 주변 루마 참조 픽셀들은 루마 참조 블록의 좌측에 인접하여 위치한 픽셀들일 수 있다. 현재 루마 블록의 인트라 예측 모드가 DC 모드 또는 플래너 모드이면, 부호화기 및 복호화기는 현재 루마 블록의 좌측에 위치한 픽셀들 및 현재 루마 블록의 상단에 위치한 픽셀들이 모두 루마 참조 정보 생성에 이용될 수 있다. 이 경우 도출되는 주변 루마 참조 픽셀들은 루마 참조 블록의 좌측에 위치한 픽셀들 및 루마 참조 블록의 상단에 위치한 픽셀들을 모두 포함할 수 있다.
도 7의 730은 현재 루마 블록(732)의 주변에 위치한 주변 루마 블록(734, 736, 738)의 양자화 파라미터를 기반으로 루마 참조 정보(752, 754)를 생성하는 방법의 일 실시예를 나타낸다. 도 7의 730에서, 현재 루마 블록(732)의 크기는 8x8이고, 현재 크로마 블록의 크기는 4x4라 가정한다.
도 7의 730을 참조하면, 현재 루마 블록(732)의 상단에 인접하여 위치한 상단 주변 루마 블록(734)의 양자화 파라미터 값은 22이고, 현재 루마 블록(732) 외부의 좌측 상단 코너에 위치한 좌측 상단 주변 루마 블록(736)의 양자화 파라미터 값은 26이다. 또한, 현재 루마 블록(732)의 좌측에 인접하여 위치한 좌측 주변 루마 블록(738)의 양자화 파라미터 값은 28이다. 이 때, 부호화기 및 복호화기는 주변 루마 픽셀들(744, 746, 748) 중에서, 가장 작은 양자화 파라미터 값을 갖는 주변 루마 블록에 속한 주변 루마 픽셀들을 루마 참조 정보 생성에 이용할 수 있다.
도 7의 730에서는 상단 주변 루마 블록(734), 좌측 상단 주변 루마 블록(736) 및 좌측 주변 루마 블록(738) 중에서 상단 주변 루마 블록(734)이 가장 작은 양자화 파라미터 값(예컨대, 22)을 가지므로, 상단 주변 루마 블록(734) 내의 주변 루마 픽셀들(744)이 루마 참조 정보 생성에 이용될 수 있다. 즉, 도 7의 730에서 부호화기 및 복호화기는 현재 루마 블록(732) 내의 픽셀들 및 상단 주변 루마 블록(734) 내의 주변 루마 픽셀들(744)이 루마 참조 블록(752) 및 주변 루마 참조 픽셀들(754)의 생성에 이용될 수 있다.
도 7의 730에서 현재 크로마 블록의 크기는 4x4이므로, 생성된 루마 참조 블록(752)의 크기는 4x4일 수 있다. 또한, 도 7의 730에서 도출되는 주변 루마 참조 픽셀들(754)은 루마 참조 블록(752)의 상단에 인접하여 위치한 픽셀들일 수 있다.
도 7의 실시예에서, 루마 참조 정보를 생성하기 위해 수행되는 다운 샘플링 과정은 도 6의 실시예에서와 유사하므로 여기서는 이에 대한 구체적인 설명은 생략하기로 한다.

도 8은 주변 루마 픽셀들 중에서 가용하지 않은 픽셀이 존재하는 경우에 루마 참조 정보를 생성하는 과정의 실시예를 개략적으로 나타내는 도면이다.
상술한 바와 같이, 현재 루마 블록의 주변에 위치한 주변 루마 픽셀들 중에서는 가용하지 않은(unavailable) 픽셀들이 있을 수 있다. 주변 루마 픽셀이 가용하지 않은 경우로는 현재 루마 블록이 현재 픽쳐의 경계에 인접하여 위치한 경우, 현재 루마 블록이 현재 슬라이스(slice)의 경계에 인접하여 위치한 경우 및 현재 루마 블록에 대해 CIP(Constrained Intra Prediction)가 적용되는 경우 등이 있을 수 있다.
도 8의 810은 현재 루마 블록이 현재 픽쳐 및/또는 현재 슬라이스의 경계에 인접하여 위치하는 경우 루마 참조 정보를 도출하는 방법의 실시예를 도시한다. 도 8의 810을 참조하면, 현재 루마 블록(812)은 현재 픽쳐 및/또는 현재 슬라이스의 좌측 경계(818)에 인접하여 위치한 블록일 수 있다. 이 경우, 현재 루마 블록(812)의 좌측에 위치하는 주변 루마 픽셀들(816)은 현재 픽쳐 및/또는 현재 슬라이스의 외부에 위치하므로, 가용하지 않은 픽셀들에 해당될 수 있다.
이 때, 일 실시예로 부호화기 및 복호화기는 다운 샘플링 과정을 수행하기에 앞서 가용하지 않은 픽셀들에 대해 패딩 과정을 수행할 수 있다. 상술한 바와 같이, 패딩은 가용하지 않은 픽셀의 위치에 새로운 픽셀 값을 채워 넣는 프로세스를 의미할 수 있다.
도 8의 810에서와 같이 현재 루마 블록(812)의 좌측에 위치하는 주변 루마 픽셀들(816)이 가용하지 않은 경우, 부호화기 및 복호화기는 현재 루마 블록(812)의 상단에 위치한 가용한 주변 루마 픽셀들(814) 중에서 적어도 하나의 픽셀의 픽셀 값을 현재 루마 블록(812)의 좌측에 위치한 주변 루마 픽셀들의 위치에 채워 넣을 수 있다. 일례로, 현재 루마 블록(812)의 좌측에 가장 가까이 위치한 제1 픽셀 라인에 픽셀 값을 채워 넣는 과정은 다음 수학식 5에 의해 나타내어질 수 있다.
[수학식 5]
p[-1,y] = p[0,-1], (y=0~7)

여기서, p[x,y]는 루마 성분의 복원된 픽셀 값을 나타낼 수 있다.
현재 루마 블록(812)의 좌측에 두 번째로 가까이 위치한 픽셀 라인, 즉 제1 픽셀 라인의 좌측에 인접하여 위치한 제2 픽셀 라인에 픽셀 값을 채워 넣는 과정은 일례로 다음 수학식 6에 의해 나타내어질 수 있다.
[수학식 6]
p[-2,y] = p[0,-1], (y=0~7)

패딩 과정이 수행된 경우 부호화기 및 복호화기는 새로이 채워진 픽셀 값을 루마 참조 정보 생성에 이용할 수 있다. 즉, 부호화기 및 복호화기는 가용한 주변 루마 픽셀들(814)의 픽셀 값, 패딩 과정에 의해 채워진 픽셀들(816)의 픽셀 값 및 현재 루마 블록(812) 내의 픽셀들의 픽셀 값을 기반으로 루마 참조 정보를 생성할 수 있다.
다른 실시예로 부호하기 및 복호화기는 가용하지 않은 주변 루마 픽셀들은 루마 참조 정보 생성에 이용하지 않을 수도 있다. 즉, 부호화기 및 복호화기는 현재 루마 블록 내의 픽셀들 및 가용한 주변 루마 픽셀들을 기반으로 루마 참조 정보를 생성할 수 있다. 예를 들어, 도 8의 810에서는 현재 루마 블록(812) 내의 픽셀들 및 현재 루마 블록(812)의 상단에 위치한 가용한 주변 루마 픽셀들(814)이 루마 참조 정보 생성에 이용될 수 있다.
도 8의 810에서 루마 참조 정보 생성 과정에서는 도 6 및 도 7의 실시예에서 상술한 루마 참조 정보 생성 방법들 중에서 적어도 하나가 상술한 실시예들과 함께 적용될 수도 있다.
도 8의 820은 CIP(Constrained Intra Prediction)가 적용되는 경우에 루마 참조 정보를 도출하는 방법의 실시예를 도시한다.
CIP는 예측 대상 블록의 주변에 위치한 블록들 중에서 인트라 예측에 의해 부호화/복호화되는 블록 내의 픽셀들만을 예측에 이용하는 인트라 예측 방식을 의미할 수 있다. CIP가 적용되는 경우, 인터 예측에 의해 부호화/복호화된 블록 내의 픽셀들은 인트라 예측에 이용되지 않을 수 있다.
일례로 부호화기는 CIP가 적용되는지 여부에 대한 플래그 정보를 복호화기로 전송할 수 있다. 이 때, 복호화기는 상기 플래그 정보를 기반으로 CIP 적용 여부를 결정할 수 있다. CIP가 적용되는지 여부에 대한 플래그 정보는 일례로 ‘constrained_intra_pred_flag’로 나타내어질 수 있다.
도 8의 820을 참조하면, 현재 루마 블록(822)의 상단에 위치한 상단 주변 루마 블록(824)은 인트라(intra) 모드로 부호화/복호화된 블록이고, 현재 루마 블록(822)의 좌측에 위치한 좌측 주변 루마 블록(826)은 인터(inter) 모드로 부호화/복호화된 블록일 수 있다. 이 경우, 좌측 주변 루마 블록(826) 내에 위치하는 주변 루마 픽셀들(836)은 가용하지 않은 픽셀들에 해당될 수 있다.
이 때, 일 실시예로 부호화기 및 복호화기는 다운 샘플링 과정을 수행하기에 앞서 가용하지 않은 픽셀들에 대해 패딩 과정을 수행할 수 있다. 상술한 바와 같이, 패딩은 가용하지 않은 픽셀의 위치에 새로운 픽셀 값을 채워 넣는 프로세스를 의미할 수 있다. 이 때, 부호화기 및 복호화기는 가용하지 않은 주변 루마 픽셀들을 가용한 주변 루마 픽셀의 픽셀 값으로 채워 넣을 수 있다.
일례로, 도 8의 820에서와 같이 좌측 주변 루마 블록(826) 내에 위치하는 주변 루마 픽셀들(836)이 가용하지 않은 경우, 부호화기 및 복호화기는 상단 주변 루마 블록(824) 내에 위치하는 가용한 주변 루마 픽셀들(834) 중에서 적어도 하나의 픽셀의 픽셀 값을 가용하지 않은 주변 루마 픽셀들(836)의 위치에 채워 넣을 수 있다. 일례로, 상단 주변 루마 블록(824) 내의 픽셀을 기반으로 패딩을 수행하는 과정은 다음 수학식 7에 의해 나타내어질 수 있다.
[수학식 7]
p[-2,y] = p[-2,-1] (y=0~7) 또는
p[-2,y] = p[-1,-1] (y=0~7) 또는
p[-1,y] = p[-1,-1] (y=0~7)

다른 예로, 좌측 주변 루마 블록(826)의 하단에 인접하여 위치한 픽셀들(838)은 인트라 모드로 부호화/복호화된 블록 내의 픽셀일 수 있다. 이 때, 부호화기 및 복호화기는 좌측 주변 루마 블록의 상단에 위치한 픽셀(예컨대, (-2,-1)의 위치에 존재하는 픽셀 또는 (-1,-1)의 위치에 존재하는 픽셀) 및 좌측 주변 루마 블록의 하단에 위치한 픽셀(예컨대, (-2,8)의 위치에 존재하는 픽셀 또는 (-1,8)의 위치에 존재하는 픽셀)의 픽셀 평균 값을 가용하지 않은 주변 루마 픽셀들(836)의 위치에 채워 넣을 수 있다. 이러한 패딩 수행 과정은 일례로 다음 수학식 8에 의해 나타내어질 수 있다.
[수학식 8]
p[-2,y] = (p[-2,-1] + p[-2,8] + 1)>>1, (y=0~7) 또는
p[-2,y] = (p[-1,-1] + p[-1,8] + 1)>>1, (y=0~7)

패딩 과정이 수행된 경우 부호화기 및 복호화기는 새로이 채워진 픽셀 값을 루마 참조 정보 생성에 이용할 수 있다. 즉, 부호화기 및 복호화기는 가용한 주변 루마 픽셀들(834)의 픽셀 값, 패딩 과정에 의해 채워진 픽셀들(836)의 픽셀 값 및 현재 루마 블록(822) 내의 픽셀들의 픽셀 값을 기반으로 루마 참조 정보를 생성할 수 있다.
다른 실시예로 도 8의 820에서 부호하기 및 복호화기는 가용하지 않은 주변 루마 픽셀들은 루마 참조 정보 생성에 이용하지 않을 수도 있다. 즉, 부호화기 및 복호화기는 현재 루마 블록 내의 픽셀들 및 가용한 주변 루마 픽셀들을 기반으로 루마 참조 정보를 생성할 수 있다. 예를 들어, 도 8의 820에서는 현재 루마 블록(822) 내의 픽셀들 및 상단 주변 루마 블록(824) 내에 위치한 가용한 주변 루마 픽셀들(834)이 루마 참조 정보 생성에 이용될 수 있다.
도 8의 820에서 루마 참조 정보 생성 과정에서는 도 6 및 도 7의 실시예에서 상술한 루마 참조 정보 생성 방법들 중에서 적어도 하나가 상술한 실시예들과 함께 적용될 수도 있다.

도 9는 패딩 과정을 수행한 후 루마 참조 정보를 생성하는 과정의 실시예를 설명하기 위한 도면이다.
도 9의 실시예는 현재 루마 블록(910)의 좌측에 가장 가까이 위치한 제1 좌측 픽셀 라인 및 현재 루마 블록(910)의 상단에 가장 가까이 위치한 제1 상단 픽셀 라인 내의 주변 루마 픽셀들이 루마 참조 정보 생성에 사용되는 경우의 실시예를 도시한다. 도 9의 실시예에서, 현재 루마 블록(910)의 좌측에 두 번째로 가까이 위치한 픽셀 라인, 즉 제1 좌측 픽셀 라인의 좌측에 인접하여 위치한 픽셀 라인은 제2 좌측 픽셀 라인이라 지칭하기로 한다. 또한, 현재 루마 블록(910)의 상단에 두 번째로 가까이 위치한 픽셀 라인, 즉 제1 상단 픽셀 라인의 상단에 인접하여 위치한 픽셀 라인은 제2 상단 픽셀 라인이라 지칭하기로 한다.
도 9의 실시예에서, 예측 대상이 되는 현재 크로마 블록의 인트라 예측 모드는 LM 모드라 가정한다. 일례로, LM 모드는 Intra_FromLuma로 나타내어질 수 있다. 또한, 도 9에서 현재 루마 블록(910)의 크기는 8x8이고 현재 크로마 블록의 크기는 4x4라 가정한다. 상술한 바와 같이 현재 크로마 블록의 예측에 사용될 루마 참조 블록의 크기는 현재 크로마 블록의 크기와 동일할 수 있다. 따라서, 도 9의 실시예에서 도출되는 루마 참조 블록(930)의 크기는 4x4일 수 있다.
또한, 도 9의 실시예에 도시된 주변 루마 픽셀들(922, 924, 926, 928) 중에서, 922에 해당되는 주변 루마 픽셀들 및 926에 해당되는 주변 루마 픽셀들은 가용한(available) 픽셀이고, 924에 해당되는 주변 루마 픽셀들 및 928에 해당되는 주변 루마 픽셀들은 가용하지 않은(unavailable) 픽셀이라 가정한다. 이 경우, 부호화기 및 복호화기는 가용하지 않은 주변 루마 픽셀에 대해 패딩 과정을 수행한 후에 루마 참조 정보를 생성할 수 있다.
도 9의 실시예에서, 부호화기 및 복호화기는 제2 좌측 픽셀 라인 상의 주변 루마 픽셀 값들을 제1 좌측 픽셀 라인에 카피(copy)한 후에 패딩 과정을 수행할 수 있다. 즉 부호화기 및 복호화기는 제1 좌측 픽셀 라인의 주변 루마 픽셀 값들을 제2 좌측 픽셀 라인의 주변 루마 픽셀 값으로 대체한 후에, 제1 좌측 픽셀 라인 및 제1 상단 픽셀 라인 상의 가용하지 않은 주변 루마 픽셀에 대한 패딩 과정을 수행할 수 있다. 제2 좌측 픽셀 라인 상의 주변 루마 픽셀 값들을 제1 좌측 픽셀 라인에 카피(copy)하는 과정은 일례로 다음 수학식 9에 의해 나타내어질 수 있다.
[수학식 9]
PY[x,y] = PY[x-1,y], (x=-1, y=0~2*nS-1)

여기서, PY 는 주변 루마 픽셀의 픽셀 값을 나타낼 수 있다. 또한, nS는 현재 루마 블록(910)의 가로 길이 및 세로 길이를 나타낼 수 있다.
제2 촤즉 픽셀 라인 상의 주변 루마 픽셀 값들이 제1 좌측 픽셀 라인에 카피된 후, 부호화기 및 복호화기는 주변 루마 픽셀에 대한 패딩 과정을 수행함으로써, 루마 참조 정보 생성에 사용될 주변 루마 픽셀들의 픽셀 값을 도출할 수 있다. 루마 참조 정보 생성에 사용될 주변 루마 픽셀들의 픽셀 값들은 다음 수학식 10에 의해 나타내어질 수 있다.
[수학식 10]
PY[x,y], (x=-1, y=-1~nS*2-1), (x=0~nS*2-1, y=-1)

주변 루마 픽셀들 중에서 가용하지 않은 픽셀들은 도 9의 924, 928과 같이 픽셀 그룹을 구성할 수 있다. 도 9의 실시예에서는 설명의 편의상 제1 좌측 픽셀 라인 상의 가용하지 않은 픽셀들(예컨대, 도 9의 928에서 좌측에 위치한 네 개의 픽셀들)의 그룹은 좌측 픽셀 그룹이라 하고, 제1 상단 픽셀 라인 상의 가용하지 않은 픽셀들(924)의 그룹은 상단 픽셀 그룹이라 한다. 도 9의 실시예에서, 상단 픽셀 그룹에 속한 픽셀들은 PY[x,y], (x=nS~nS*2-1, y=-1)로 나타내어질 수 있고, 좌측 픽셀 그룹에 속한 픽셀들은 PY[x,y], (x=-1, y=nS~nS+(nS>>1)-1)로 나타내어질 수 있다.
부호화기 및 복호화기는 패딩을 수행하기 위해 각각의 픽셀 그룹(예컨대, 좌측 픽셀 그룹, 상단 픽셀 그룹)의 양 쪽 끝에 상기 픽셀 그룹에 인접하여 위치한 가용한 픽셀이 존재하는지 여부를 판단할 수 있다.
일례로, 픽셀 그룹에 인접하여 위치한 가용한 픽셀은 픽셀 그룹의 한 쪽 끝에만 존재할 수 있다. 도 9를 참조하면, 상단 픽셀 그룹(924)의 우측에는 가용한 픽셀이 존재하지 않고, 상단 픽셀 그룹(924)의 좌측에는 가용한 픽셀(c)이 존재할 수 있다. 여기서, 픽셀 c는 PY[nS-1,-1]로 나타내어질 수 있다.
이 경우, 제1 상단 픽셀 라인 내에서 상단 픽셀 그룹(924)에 인접하여 위치한 가용한 픽셀은 하나만 존재할 수 있다. 따라서, 부호화기 및 복호화기는 상단 픽셀 그룹에 인접하여 위치한 가용한 픽셀(c)의 픽셀 값을, 상단 픽셀 그룹(924) 내의 가용하지 않은 픽셀들의 위치에 채워 넣을 수 있다. 이러한 패딩 수행 과정은 일례로 다음 수학식 11에 의해 나타내어질 수 있다.
[수학식 11]
PY[x,y] = PY[nS-1,-1], (x=nS~nS*2-1, y=-1)

다른 예로, 픽셀 그룹에 인접하여 위치한 가용한 픽셀은 픽셀 그룹의 양 쪽 끝에 존재할 수도 있다. 도 9를 참조하면, 좌측 픽셀 그룹의 상단에는 가용한 픽셀 b가 인접하여 위치할 수 있고, 좌측 픽셀 그룹의 하단에는 가용한 픽셀 a가 인접하여 위치할 수 있다. 여기서, 픽셀 a는 PY[-1, nS+(nS>>1)]로 나타내어질 수 있고, 픽셀 b는 PY[-1, nS-1]로 나타내어질 수 있다.
이 경우, 제1 좌측 픽셀 라인 내에서 좌측 픽셀 그룹에 인접하여 위치한 가용한 픽셀들은 두 개가 존재할 수 있다. 따라서, 부호화기 및 복호화기는 좌측 픽셀 그룹에 인접하여 위치한 가용한 픽셀들(a,b)의 픽셀 평균 값을, 좌측 픽셀 그룹 내의 가용하지 않은 픽셀들의 위치에 채워 넣을 수 있다. 이러한 패딩 수행 과정은 일례로 다음 수학식 12에 의해 나타내어질 수 있다.
[수학식 12]
PY[x,y] = (PY[-1,nS-1] + PY[-1,nS+(nS>>1)] + 1) >> 1,
(x=-1, y=nS~nS+(nS>>1)-1)

상술한 패딩 과정에 의해 제1 좌측 픽셀 라인 상의 주변 루마 픽셀들 및 제1 상단 픽셀 라인 상의 주변 루마 픽셀들의 픽셀 값들이 결정될 수 있다. 이 때, 부호화기 및 복호화기는 제1 좌측 픽셀 라인 상의 주변 루마 픽셀들, 제1 상단 픽셀 라인 상의 주변 루마 픽셀들 및 현재 루마 블록(910) 내의 픽셀들의 픽셀 값을 기반으로, 루마 참조 정보(루마 참조 블록(930) 및 주변 루마 참조 픽셀들(940))를 생성할 수 있다. 다만, [-1,-1]의 위치에 존재하는 주변 루마 픽셀은 루마 참조 정보 생성에 사용되지 않을 수도 있다. 도 9의 실시예에서, 루마 참조 정보 생성 과정은 일례로 다음 수학식 13에 의해 나타내어질 수 있다.
[수학식 13]
PY’[x,y] = (PY[2x-1,y] + 2*PY[2x,y] + PY[2x+1,y] + 2) >> 2, (x=0~nS-1, y=-1)
PY’[x,y] = (PY[x,2y] + PY[x,2y+1]) >> 1, (x=-1, y=0~nS-1)
PY’[x,y] =(PRecY[2x,2y] + PRecY[2x,2y+1]) >> 1, (x=0~nS-1, y=0~nS-1)

여기서, PRecY 는 현재 루마 블록 내 픽셀의 픽셀 값을 나타낼 수 있다. 또한, PY’는 루마 참조 정보에 해당되는 픽셀 값(예컨대, 루마 참조 블록 내의 픽셀 및/또는 주변 루마 참조 픽셀의 픽셀 값)을 나타낼 수 있다.

도 10은 패딩 과정을 수행한 후 루마 참조 정보를 생성하는 과정의 다른 실시예를 설명하기 위한 도면이다.
도 10의 실시예는 현재 루마 블록(1010)의 좌측에 가장 가까이 위치한 제1 좌측 픽셀 라인 및 현재 루마 블록(1010)의 상단에 가장 가까이 위치한 제1 상단 픽셀 라인 내의 주변 루마 픽셀들이 루마 참조 정보 생성에 사용되는 경우의 실시예를 도시한다. 도 10의 실시예에서, 현재 루마 블록(1010)의 좌측에 두 번째로 가까이 위치한 픽셀 라인, 즉 제1 좌측 픽셀 라인의 좌측에 인접하여 위치한 픽셀 라인은 제2 좌측 픽셀 라인이라 지칭하기로 한다. 또한, 현재 루마 블록(1010)의 상단에 두 번째로 가까이 위치한 픽셀 라인, 즉 제1 상단 픽셀 라인의 상단에 인접하여 위치한 픽셀 라인은 제2 상단 픽셀 라인이라 지칭하기로 한다.
도 10의 실시예에서, 예측 대상이 되는 현재 크로마 블록의 인트라 예측 모드는 LM 모드라 가정한다. 일례로, LM 모드는 Intra_FromLuma로 나타내어질 수 있다. 또한, 도 10에서 현재 루마 블록(1010)의 크기는 8x8이고 현재 크로마 블록의 크기는 4x4라 가정한다. 상술한 바와 같이 현재 크로마 블록의 예측에 사용될 루마 참조 블록의 크기는 현재 크로마 블록의 크기와 동일할 수 있다. 따라서, 도 10의 실시예에서 도출되는 루마 참조 블록(1030)의 크기는 4x4일 수 있다.
또한, 도 10의 실시예에 도시된 주변 루마 픽셀들(1022, 1024, 1026, 1028) 중에서, 1022에 해당되는 주변 루마 픽셀들 및 1026에 해당되는 주변 루마 픽셀들은 가용한(available) 픽셀이고, 1024에 해당되는 주변 루마 픽셀들 및 1028에 해당되는 주변 루마 픽셀들은 가용하지 않은(unavailable) 픽셀이라 가정한다. 이 경우, 부호화기 및 복호화기는 가용하지 않은 주변 루마 픽셀에 대해 패딩 과정을 수행한 후에 루마 참조 정보를 생성할 수 있다.
도 10의 실시예에서, 부호화기 및 복호화기는 제1 좌측 픽셀 라인 및 제1 상단 픽셀 라인 상의 가용하지 않은 주변 루마 픽셀에 대한 패딩 과정을 수행함으로써, 주변 루마 픽셀들의 픽셀 값 PY[x,y], (x=-1, y=-1~nS*2-1), (x=0~nS*2-1, y=-1)을 도출할 수 있다. 여기서, PY 는 주변 루마 픽셀의 픽셀 값을 나타낼 수 있다. 또한, nS는 현재 루마 블록(1010)의 가로 길이 및 세로 길이를 나타낼 수 있다.
주변 루마 픽셀들 중에서 가용하지 않은 픽셀들은 도 10의 1024, 1028과 같이 픽셀 그룹을 구성할 수 있다. 도 10의 실시예에서는 설명의 편의상 제1 좌측 픽셀 라인 상의 가용하지 않은 픽셀들(예컨대, 도 10의 1028에서 좌측에 위치한 네 개의 픽셀들)의 그룹은 좌측 픽셀 그룹이라 하고, 제1 상단 픽셀 라인 상의 가용하지 않은 픽셀들(1024)의 그룹은 상단 픽셀 그룹이라 한다. 도 10의 실시예에서, 상단 픽셀 그룹에 속한 픽셀들은 PY[x,y], (x=nS~nS*2-1, y=-1)로 나타내어질 수 있고, 좌측 픽셀 그룹에 속한 픽셀들은 PY[x,y], (x=-1, y=nS~nS+(nS>>1)-1)로 나타내어질 수 있다.
부호화기 및 복호화기는 패딩을 수행하기 위해 각각의 픽셀 그룹(예컨대, 좌측 픽셀 그룹, 상단 픽셀 그룹)의 양 쪽 끝에 상기 픽셀 그룹에 인접하여 위치한 가용한 픽셀이 존재하는지 여부를 판단할 수 있다.
일례로, 픽셀 그룹에 인접하여 위치한 가용한 픽셀은 픽셀 그룹의 한 쪽 끝에만 존재할 수 있다. 도 10을 참조하면, 상단 픽셀 그룹(1024)의 우측에는 가용한 픽셀이 존재하지 않고, 상단 픽셀 그룹(1024)의 좌측에는 가용한 픽셀(c)이 존재할 수 있다. 여기서, 픽셀 c는 PY[nS-1,-1]로 나타내어질 수 있다.
이 경우, 제1 상단 픽셀 라인 내에서 상단 픽셀 그룹(1024)에 인접하여 위치한 가용한 픽셀은 하나만 존재할 수 있다. 따라서, 부호화기 및 복호화기는 상단 픽셀 그룹에 인접하여 위치한 가용한 픽셀(c)의 픽셀 값을, 상단 픽셀 그룹(1024) 내의 가용하지 않은 픽셀들의 위치에 채워 넣을 수 있다. 이러한 패딩 수행 과정은 일례로 다음 수학식 14에 의해 나타내어질 수 있다.
[수학식 14]
PY[x,y] = PY[nS-1,-1], (x=nS~nS*2-1, y=-1)

다른 예로, 픽셀 그룹에 인접하여 위치한 가용한 픽셀은 픽셀 그룹의 양 쪽 끝에 존재할 수도 있다. 도 10을 참조하면, 좌측 픽셀 그룹의 상단에는 가용한 픽셀 b가 인접하여 위치할 수 있고, 좌측 픽셀 그룹의 하단에는 가용한 픽셀 a가 인접하여 위치할 수 있다. 여기서, 픽셀 a는 PY[-1, nS+(nS>>1)]로 나타내어질 수 있고, 픽셀 b는 PY[-1, nS-1]로 나타내어질 수 있다.
이 경우, 제1 좌측 픽셀 라인 내에서 좌측 픽셀 그룹에 인접하여 위치한 가용한 픽셀들은 두 개가 존재할 수 있다. 따라서, 부호화기 및 복호화기는 좌측 픽셀 그룹에 인접하여 위치한 가용한 픽셀들(a,b)의 픽셀 평균 값을, 좌측 픽셀 그룹 내의 가용하지 않은 픽셀들의 위치에 채워 넣을 수 있다. 이러한 패딩 수행 과정은 일례로 다음 수학식 15에 의해 나타내어질 수 있다.
[수학식 15]
PY[x,y] = (PY[-1,nS-1] + PY[-1,nS+(nS>>1)] + 1) >> 1,
(x=-1, y=nS~nS+(nS>>1)-1)

상술한 패딩 과정에 의해 제1 좌측 픽셀 라인 상의 주변 루마 픽셀들 및 제1 상단 픽셀 라인 상의 주변 루마 픽셀들의 픽셀 값들이 결정될 수 있다. 부호화기 및 복호화기는 제1 좌측 픽셀 라인 상의 주변 루마 픽셀들, 제1 상단 픽셀 라인 상의 주변 루마 픽셀들 및 현재 루마 블록(1010) 내의 픽셀들의 픽셀 값을 기반으로, 루마 참조 정보(루마 참조 블록(1030) 및 주변 루마 참조 픽셀들(1040))를 생성할 수 있다.
이 때, 제1 좌측 픽셀 라인의 좌측에 인접하여 위치한 제2 좌측 픽셀 라인 상의 픽셀들 중에는 가용한 픽셀들이 존재할 수 있다. 제1 좌측 픽셀 라인 상의 픽셀의 좌측에 인접하여 위치한 픽셀(제2 좌측 픽셀 라인 상의 픽셀)이 가용한 경우, 부호화기 및 복호화기는 상기 제1 좌측 픽셀 라인 상의 픽셀 대신 이에 인접하여 위치한 제2 좌측 픽셀 라인 상의 픽셀을 루마 참조 정보 생성에 이용할 수 있다. 그러나, 제1 좌측 픽셀 라인 상의 픽셀의 좌측에 인접하여 위치한 픽셀(제2 좌측 픽셀 라인 상의 픽셀)이 가용하지 않은 경우, 부호화기 및 복호화기는 패딩 과정이 수행된 제1 좌측 픽셀 라인 상의 픽셀을 루마 참조 정보 생성에 이용할 수 있다.
도 10의 실시예에서, 루마 참조 정보 생성 과정은 일례로 다음 수학식 16에 의해 나타내어질 수 있다.
[수학식 16]
PY’[x,y] = (PY[2x-1,y] + 2*PY[2x,y] + PY[2x+1,y] + 2) >> 2, (x=0~nS-1, y=-1)
PY’[x,y] = (PRecY[2x,2y] + PRecY[2x,2y+1]) >> 1, (x=0~nS-1, y=0~nS-1)
만일, PY[2x,2y], (x=-1, y=0~nS-1)이 가용하면,
PY’[x,y] = (PY[2x,2y] + PY[2x,2y+1]) >> 1, (x=-1, y=0~nS-1)
만일, PY[2x,2y], (x=-1, y=0~nS-1)이 가용하지 않으면,
PY’[x,y] = (PY[x,2y] + PY[x,2y+1]) >> 1, (x=-1, y=0~nS-1)

여기서, PRecY 는 현재 루마 블록 내 픽셀의 픽셀 값을 나타낼 수 있다. 또한, PY’는 루마 참조 정보에 해당되는 픽셀 값(예컨대, 루마 참조 블록 내의 픽셀 및/또는 주변 루마 참조 픽셀의 픽셀 값)을 나타낼 수 있다.

도 11은 패딩 과정을 수행한 후 루마 참조 정보를 생성하는 과정의 또 다른 실시예를 설명하기 위한 도면이다.
도 11의 실시예는 현재 루마 블록(1110)의 좌측에 가장 가까이 위치한 제1 좌측 픽셀 라인 및 현재 루마 블록(1110)의 상단에 가장 가까이 위치한 제1 상단 픽셀 라인 내의 주변 루마 픽셀들이 루마 참조 정보 생성에 사용되는 경우의 실시예를 도시한다. 도 11의 실시예에서, 현재 루마 블록(1110)의 좌측에 두 번째로 가까이 위치한 픽셀 라인, 즉 제1 좌측 픽셀 라인의 좌측에 인접하여 위치한 픽셀 라인은 제2 좌측 픽셀 라인이라 지칭하기로 한다. 또한, 현재 루마 블록(1110)의 상단에 두 번째로 가까이 위치한 픽셀 라인, 즉 제1 상단 픽셀 라인의 상단에 인접하여 위치한 픽셀 라인은 제2 상단 픽셀 라인이라 지칭하기로 한다.
도 11의 실시예에서, 예측 대상이 되는 현재 크로마 블록의 인트라 예측 모드는 LM 모드라 가정한다. 일례로, LM 모드는 Intra_FromLuma로 나타내어질 수 있다. 또한, 도 11에서 현재 루마 블록(1110)의 크기는 8x8이고 현재 크로마 블록의 크기는 4x4라 가정한다. 상술한 바와 같이 현재 크로마 블록의 예측에 사용될 루마 참조 블록의 크기는 현재 크로마 블록의 크기와 동일할 수 있다. 따라서, 도 11의 실시예에서 도출되는 루마 참조 블록(1130)의 크기는 4x4일 수 있다.
또한, 도 11의 실시예에 도시된 주변 루마 픽셀들(1122, 1124, 1126, 1128) 중에서, 1122에 해당되는 주변 루마 픽셀들 및 1126에 해당되는 주변 루마 픽셀들은 가용한(available) 픽셀이고, 1124에 해당되는 주변 루마 픽셀들 및 1128에 해당되는 주변 루마 픽셀들은 가용하지 않은(unavailable) 픽셀이라 가정한다. 이 경우, 부호화기 및 복호화기는 가용하지 않은 주변 루마 픽셀에 대해 패딩 과정을 수행한 후에 루마 참조 정보를 생성할 수 있다.
도 11의 실시예에서, 부호화기 및 복호화기는 제1 좌측 픽셀 라인, 제2 좌측 픽셀 라인 및 제1 상단 픽셀 라인 상의 가용하지 않은 주변 루마 픽셀에 대한 패딩 과정을 수행할 수 있다. 그리고, 부호화기 및 복호화기는 제2 좌측 픽셀 라인 상의 주변 루마 픽셀 값들을 제1 좌측 픽셀 라인에 카피할 수 있다. 상술한 과정에 의해 생성되는, 참조 정보 생성에 사용될 주변 루마 픽셀들의 픽셀 값은 다음 수학식 17에 의해 나타내어질 수 있다.
[수학식 17]
PY[x,y], (x=-1, y=-1~nS*2-1), (x=0~nS*2-1, y=-1)

여기서, PY 는 제1 좌측 픽셀 라인 및/또는 제1 상단 픽셀 라인에 속한 주변 루마 픽셀의 픽셀 값을 나타낼 수 있다. 또한, nS는 현재 루마 블록(1110)의 가로 길이 및 세로 길이를 나타낼 수 있다.
주변 루마 픽셀들 중에서 가용하지 않은 픽셀들은 도 11의 1124, 1128과 같이 픽셀 그룹을 구성할 수 있다. 도 11의 실시예에서는 설명의 편의상 제1 좌측 픽셀 라인 상의 가용하지 않은 픽셀들(예컨대, 도 11의 1128에서 좌측에 위치한 네 개의 픽셀들)의 그룹은 제1 좌측 픽셀 그룹이라 하고, 제2 좌측 픽셀 라인 상의 가용하지 않은 픽셀들(예컨대, 도 11의 1128에서 우측에 위치한 네 개의 픽셀들)의 그룹은 제2 좌측 픽셀 그룹이라 하며, 제1 상단 픽셀 라인 상의 가용하지 않은 픽셀들(1124)의 그룹은 상단 픽셀 그룹이라 한다. 도 11의 실시예에서, 상단 픽셀 그룹에 속한 픽셀들은 PY[x,y], (x=nS~nS*2-1, y=-1)로 나타내어질 수 있고, 제1 좌측 픽셀 그룹에 속한 픽셀들은 PY[x,y], (x=-1, y=nS~nS+(nS>>1)-1)로 나타내어질 수 있으며, 제2 좌측 픽셀 그룹에 속한 픽셀들은 PY2[x,y], (x=-2, y=nS~nS+(nS>>1)-1)로 나타내어질 수 있다. 여기서, PY2 는 제2 좌측 픽셀 라인에 속한 주변 루마 픽셀의 픽셀 값을 나타낼 수 있다.
부호화기 및 복호화기는 패딩을 수행하기 위해 각각의 픽셀 그룹(예컨대, 제1 좌측 픽셀 그룹, 제2 좌측 픽셀 그룹, 상단 픽셀 그룹)의 양 쪽 끝에 상기 픽셀 그룹에 인접하여 위치한 가용한 픽셀이 존재하는지 여부를 판단할 수 있다.
일 실시예로, 픽셀 그룹에 인접하여 위치한 가용한 픽셀은 픽셀 그룹의 한 쪽 끝에만 존재할 수 있다. 도 11을 참조하면, 상단 픽셀 그룹(1124)의 우측에는 가용한 픽셀이 존재하지 않고, 상단 픽셀 그룹(1124)의 좌측에는 가용한 픽셀(c)이 존재할 수 있다. 여기서, 픽셀 c는 PY[nS-1,-1]로 나타내어질 수 있다.
이 경우, 제1 상단 픽셀 라인 내에서 상단 픽셀 그룹(1124)에 인접하여 위치한 가용한 픽셀은 하나만 존재할 수 있다. 따라서, 부호화기 및 복호화기는 상단 픽셀 그룹에 인접하여 위치한 가용한 픽셀(c)의 픽셀 값을, 상단 픽셀 그룹(1124) 내의 가용하지 않은 픽셀들의 위치에 채워 넣을 수 있다. 이러한 패딩 수행 과정은 일례로 다음 수학식 18에 의해 나타내어질 수 있다.
[수학식 18]
PY[x,y] = PY[nS-1,-1], (x=nS~nS*2-1, y=-1)

다른 실시예로, 픽셀 그룹에 인접하여 위치한 가용한 픽셀은 픽셀 그룹의 양 쪽 끝에 존재할 수도 있다.
일례로, 도 11의 실시예에서 제1 좌측 픽셀 그룹의 상단에는 가용한 픽셀 b가 인접하여 위치할 수 있고, 제1 좌측 픽셀 그룹의 하단에는 가용한 픽셀 a가 인접하여 위치할 수 있다. 여기서, 픽셀 a는 PY[-1, nS+(nS>>1)]로 나타내어질 수 있고, 픽셀 b는 PY[-1, nS-1]로 나타내어질 수 있다.
이 경우, 제1 좌측 픽셀 라인 내에서 좌측 픽셀 그룹에 인접하여 위치한 가용한 픽셀들은 두 개가 존재할 수 있다. 따라서, 부호화기 및 복호화기는 제1 좌측 픽셀 그룹에 인접하여 위치한 가용한 픽셀들(a,b)의 픽셀 평균 값을, 제1 좌측 픽셀 그룹 내의 가용하지 않은 픽셀들의 위치에 채워 넣을 수 있다. 이러한 패딩 수행 과정은 일례로 다음 수학식 19에 의해 나타내어질 수 있다.
[수학식 19]
PY[x,y] = (PY[-1,nS-1] + PY[-1,nS+(nS>>1)] + 1) >> 1,
(x=-1, y=nS~nS+(nS>>1)-1)

다른 예로, 도 11의 실시예에서 제2 좌측 픽셀 그룹의 상단에는 가용한 픽셀 e가 인접하여 위치할 수 있고, 제2 좌측 픽셀 그룹의 하단에는 가용한 픽셀 d가 인접하여 위치할 수 있다. 여기서, 픽셀 d는 PY2[-2, nS+(nS>>1)]로 나타내어질 수 있고, 픽셀 e는 PY2[-2, nS-1]로 나타내어질 수 있다.
이 경우, 제2 좌측 픽셀 라인 내에서 좌측 픽셀 그룹에 인접하여 위치한 가용한 픽셀들은 두 개가 존재할 수 있다. 따라서, 부호화기 및 복호화기는 제2 좌측 픽셀 그룹에 인접하여 위치한 가용한 픽셀들(e,d)의 픽셀 평균 값을, 제2 좌측 픽셀 그룹 내의 가용하지 않은 픽셀들의 위치에 채워 넣을 수 있다. 이러한 패딩 수행 과정은 일례로 다음 수학식 20에 의해 나타내어질 수 있다.
[수학식 20]
PY2[x,y] = (PY2[-2,nS-1] + PY2[-2,nS+(nS>>1)] + 1) >> 1,
(x=-2, y=nS~nS+(nS>>1)-1)

패딩 과정이 수행된 후에 결정된 제2 좌측 픽셀 라인 상의 픽셀 값들은 일례로 PY2[x,y], (x=-2, y=-1~2*nS-1)로 나타내어질 수 있다.
상술한 패딩 과정에 의해 제1 좌측 픽셀 라인, 제2 좌측 픽셀 라인 및 제1 상단 픽셀 라인 상의 주변 루마 픽셀들의 픽셀 값들이 결정될 수 있다. 이 때, 부호화기 및 복호화기는 제2 좌측 픽셀 라인 상의 주변 루마 픽셀 값들을 제1 좌측 픽셀 라인에 카피함으로써, 루마 참조 정보 생성에 사용될 제1 좌측 픽셀 라인 상의 픽셀 값들을 도출할 수 있다. 즉, 부호화기 및 복호화기는 제1 좌측 픽셀 라인의 주변 루마 픽셀 값들을 제2 좌측 픽셀 라인의 주변 루마 픽셀 값으로 대체할 수 있다. 제2 좌측 픽셀 라인 상의 주변 루마 픽셀 값들을 제1 좌측 픽셀 라인에 카피하는 과정은 일례로 다음 수학식 21에 의해 나타내어질 수 있다.
[수학식 21]
PY[x,y] = PY2[x-1,y], (x=-1, y=0~2*nS-1)

제2 촤즉 픽셀 라인 상의 주변 루마 픽셀 값들이 제1 좌측 픽셀 라인에 카피된 후, 부호화기 및 복호화기는 제1 좌측 픽셀 라인 상의 주변 루마 픽셀들, 제1 상단 픽셀 라인 상의 주변 루마 픽셀들 및 현재 루마 블록(1110) 내의 픽셀들의 픽셀 값을 기반으로, 루마 참조 정보(루마 참조 블록(1130) 및 주변 루마 참조 픽셀들(1140))을 생성할 수 있다. 도 11의 실시예에서, 루마 참조 정보 생성 과정은 일례로 다음 수학식 22에 의해 나타내어질 수 있다.
[수학식 22]
PY’[x,y] = (PY[2x-1,y] + 2*PY[2x,y] + PY[2x+1,y] + 2) >> 2, (x=0~nS-1, y=-1)
PY’[x,y] = (PY[x,2y] + PY[x,2y+1]) >> 1, (x=-1, y=0~nS-1)
PY’[x,y] = (PRecY[2x,2y] + PRecY[2x,2y+1]) >> 1, (x=0~nS-1, y=0~nS-1)

여기서, PRecY 는 현재 루마 블록 내 픽셀의 픽셀 값을 나타낼 수 있다. 또한, PY’는 루마 참조 정보에 해당되는 픽셀 값(예컨대, 루마 참조 블록 내의 픽셀 및/또는 주변 루마 참조 픽셀의 픽셀 값)을 나타낼 수 있다.

도 12는 패딩 과정을 수행한 후 루마 참조 정보를 생성하는 과정의 또 다른 실시예를 설명하기 위한 도면이다.
도 12의 실시에는 현재 루마 블록(1210)의 좌측에 가장 가까이 위치한 제1 좌측 픽셀 라인 및 현재 루마 블록(1210)의 상단에 가장 가까이 위치한 제1 상단 픽셀 라인 내의 주변 루마 픽셀들이 루마 참조 정보 생성에 사용되는 경우의 실시예를 도시한다. 도 12의 실시예에서, 현재 루마 블록(1210)의 좌측에 두 번째로 가까이 위치한 픽셀 라인, 즉 제1 좌측 픽셀 라인의 좌측에 인접하여 위치한 픽셀 라인은 제2 좌측 픽셀 라인이라 지칭하기로 한다. 또한, 현재 루마 블록(1210)의 상단에 두 번째로 가까이 위치한 픽셀 라인, 즉 제1 상단 픽셀 라인의 상단에 인접하여 위치한 픽셀 라인은 제2 상단 픽셀 라인이라 지칭하기로 한다.
도 12의 실시예에서, 예측 대상이 되는 현재 크로마 블록의 인트라 예측 모드는 LM 모드라 가정한다. 일례로, LM 모드는 Intra_FromLuma로 나타내어질 수 있다. 또한, 도 12에서 현재 루마 블록(1210)의 크기는 8x8이고 현재 크로마 블록의 크기는 4x4라 가정한다. 상술한 바와 같이 현재 크로마 블록의 예측에 사용될 루마 참조 블록의 크기는 현재 크로마 블록의 크기와 동일할 수 있다. 따라서, 도 12의 실시예에서 도출되는 루마 참조 블록(1230)의 크기는 4x4일 수 있다.
또한, 도 12의 실시예에 도시된 주변 루마 픽셀들(1222, 1224, 1226, 1228) 중에서, 1222에 해당되는 주변 루마 픽셀들 및 1226에 해당되는 주변 루마 픽셀들은 가용한(available) 픽셀이고, 1224에 해당되는 주변 루마 픽셀들 및 1228에 해당되는 주변 루마 픽셀들은 가용하지 않은(unavailable) 픽셀이라 가정한다. 이 경우, 부호화기 및 복호화기는 가용하지 않은 주변 루마 픽셀에 대해 패딩 과정을 수행한 후에 루마 참조 정보를 생성할 수 있다.
도 12의 실시예에서, 부호화기 및 복호화기는 제1 좌측 픽셀 라인 및 제1 상단 픽셀 라인 상의 가용하지 않은 주변 루마 픽셀에 대한 패딩 과정을 수행함으로써, 주변 루마 픽셀들의 픽셀 값 PY[x,y], (x=-1, y=-1~nS*2-1), (x=0~nS*2-1, y=-1)을 도출할 수 있다. 여기서, PY 는 주변 루마 픽셀의 픽셀 값을 나타낼 수 있다. 또한, nS는 현재 루마 블록(1210)의 가로 길이 및 세로 길이를 나타낼 수 있다.
주변 루마 픽셀들 중에서 가용하지 않은 픽셀들은 도 12의 1224, 1228과 같이 픽셀 그룹을 구성할 수 있다. 도 12의 실시예에서는 설명의 편의상 제1 좌측 픽셀 라인 상의 가용하지 않은 픽셀들(예컨대, 도 12의 1228에서 좌측에 위치한 네 개의 픽셀들)의 그룹은 좌측 픽셀 그룹이라 하고, 제1 상단 픽셀 라인 상의 가용하지 않은 픽셀들(1224)의 그룹은 상단 픽셀 그룹이라 한다. 도 12의 실시예에서, 상단 픽셀 그룹에 속한 픽셀들은 PY[x,y], (x=nS~nS*2-1, y=-1)로 나타내어질 수 있고, 좌측 픽셀 그룹에 속한 픽셀들은 PY[x,y], (x=-1, y=nS~nS+(nS>>1)-1)로 나타내어질 수 있다.
부호화기 및 복호화기는 패딩을 수행하기 위해 각각의 픽셀 그룹(예컨대, 좌측 픽셀 그룹, 상단 픽셀 그룹)의 양 쪽 끝에 상기 픽셀 그룹에 인접하여 위치한 가용한 픽셀이 존재하는지 여부를 판단할 수 있다.
일례로, 픽셀 그룹에 인접하여 위치한 가용한 픽셀은 픽셀 그룹의 한 쪽 끝에만 존재할 수 있다. 도 12를 참조하면, 상단 픽셀 그룹(1224)의 우측에는 가용한 픽셀이 존재하지 않고, 상단 픽셀 그룹(1224)의 좌측에는 가용한 픽셀(c)이 존재할 수 있다. 여기서, 픽셀 c는 PY[nS-1,-1]로 나타내어질 수 있다.
이 경우, 제1 상단 픽셀 라인 내에서 상단 픽셀 그룹(1224)에 인접하여 위치한 가용한 픽셀은 하나만 존재할 수 있다. 따라서, 부호화기 및 복호화기는 상단 픽셀 그룹에 인접하여 위치한 가용한 픽셀(c)의 픽셀 값을, 상단 픽셀 그룹(1224) 내의 가용하지 않은 픽셀들의 위치에 채워 넣을 수 있다. 이러한 패딩 수행 과정은 일례로 다음 수학식 23에 의해 나타내어질 수 있다.
[수학식 23]
PY[x,y] = PY[nS-1,-1], (x=nS~nS*2-1, y=-1)

다른 예로, 픽셀 그룹에 인접하여 위치한 가용한 픽셀은 픽셀 그룹의 양 쪽 끝에 존재할 수도 있다. 도 12를 참조하면, 좌측 픽셀 그룹의 상단에는 가용한 픽셀 b가 인접하여 위치할 수 있고, 좌측 픽셀 그룹의 하단에는 가용한 픽셀 a가 인접하여 위치할 수 있다. 여기서, 픽셀 a는 PY[-1, nS+(nS>>1)]로 나타내어질 수 있고, 픽셀 b는 PY[-1, nS-1]로 나타내어질 수 있다.
이 경우, 제1 좌측 픽셀 라인 내에서 좌측 픽셀 그룹에 인접하여 위치한 가용한 픽셀들은 두 개가 존재할 수 있다. 따라서, 부호화기 및 복호화기는 좌측 픽셀 그룹에 인접하여 위치한 가용한 픽셀들(a,b)의 픽셀 평균 값을, 좌측 픽셀 그룹 내의 가용하지 않은 픽셀들의 위치에 채워 넣을 수 있다. 이러한 패딩 수행 과정은 일례로 다음 수학식 24에 의해 나타내어질 수 있다.
[수학식 24]
PY[x,y] = (PY[-1,nS-1] + PY[-1,nS+(nS>>1)] + 1) >> 1,
(x=-1, y=nS~nS+(nS>>1)-1)

상술한 패딩 과정에 의해 제1 좌측 픽셀 라인 상의 주변 루마 픽셀들 및 제1 상단 픽셀 라인 상의 주변 루마 픽셀들의 픽셀 값들이 결정될 수 있다. 부호화기 및 복호화기는 제1 좌측 픽셀 라인 상의 주변 루마 픽셀들, 제1 상단 픽셀 라인 상의 주변 루마 픽셀들 및 현재 루마 블록(1210) 내의 픽셀들의 픽셀 값을 기반으로, 루마 참조 정보(루마 참조 블록(1230) 및 주변 루마 참조 픽셀들(1240))를 생성할 수 있다. 도 12의 실시예에서, 루마 참조 정보 생성 과정은 일례로 다음 수학식 25에 의해 나타내어질 수 있다.
[수학식 25]
PY’[x,y] = (PY[2x-1,y] + 2*PY[2x,y] + PY[2x+1,y] + 2) >> 2, (x=0~nS-1, y=-1)
PY’[x,y] =(PRecY[2x,2y] + PRecY[2x,2y+1]) >> 1, (x=0~nS-1, y=0~nS-1)
PY’[x,y] = (PY[x,2y] + PY[x,2y+1]) >> 1, (x=-1, y=0~nS-1)

여기서, PRecY 는 현재 루마 블록 내 픽셀의 픽셀 값을 나타낼 수 있다. 또한, PY’는 루마 참조 정보에 해당되는 픽셀 값(예컨대, 루마 참조 블록 내의 픽셀 및/또는 주변 루마 참조 픽셀의 픽셀 값)을 나타낼 수 있다.
상술한 내용을 참고하면, 도 12의 실시예에서는 제2 좌측 픽셀 라인 상의 픽셀들은 루마 참조 정보 생성에 사용되지 않고, 제1 좌측 픽셀 라인 상의 주변 루마 픽셀들, 제1 상단 픽셀 라인 상의 주변 루마 픽셀들 및 현재 루마 블록(1210) 내의 픽셀들만이 루마 참조 정보(루마 참조 블록(1230) 및 주변 루마 참조 픽셀들(1240)) 생성에 사용될 수 있다.

한편, 상술한 도 5 내지 도 12에서는 제1 색 성분이 루마 성분이고 제2 색 성분이 크로마 성분인 경우의 실시예들이 서술되고 있으나, 본 발명은 이에 한정되어 적용되는 것은 아니다. 상술한 바와 같이 본 발명은 제1 색 성분 및 제2 색 성분의 가능한 모든 조합에 대해 동일하거나 유사한 방식으로 적용될 수 있다.
또한, 상술한 도 6 내지 도 12에서는 제1 색 성분 블록(예컨대, 루마 블록)의 크기가 제2 색 성분 블록(예컨대, 크로마 블록)의 크기보다 큰 경우의 실시예들이 서술되었으나, 제1 색 성분 블록은 제2 색 성분 블록보다 작은 크기를 가질 수도 있고 또는 동일한 크기를 가질 수도 있다.
이러한 경우에도 부호화기 및 복호화기는 제1 색 성분 블록 내의 픽셀 및 제1 색 성분 블록 주변의 픽셀을 기반으로 제2 색 성분 블록의 예측에 사용될 제1 색 성분 참조 정보를 도출할 수 있다.
여기서, 제1 색 성분 참조 정보는 제2 색 성분 블록의 예측에 사용될 제1 색 성분의 픽셀 값들을 의미할 수 있다. 따라서, 본 명세서에서 제1 색 성분 정보는 ‘제1 색 성분 픽셀’로 지칭될 수도 있다. 이 때, 제2 색 성분 블록 내의 픽셀들에 대응되는 제1 색 성분 픽셀들은 ‘제1 색 성분 참조 블록’을 구성할 수 있다. 또한, 본 명세서에서 제1 색 성분 블록 주변에 위치하는 픽셀은 ‘주변 제1 색 성분 픽셀’이라 하고, 제2 색 성분 블록 주변에 위치하는 픽셀은 ‘주변 제2 색 성분 픽셀’이라 하며, 제1 색 성분 참조 블록 주변에 위치하는 픽셀은 ‘주변 제1 색 성분 참조 픽셀’이라 한다. 이 때, 제1 색 성분 참조 블록은 제2 색 성분 블록에 대응될 수 있고, 주변 제1 색 성분 참조 픽셀은 주변 제2 색 성분 픽셀에 대응될 수 있다. 본 명세서에서, 제1 색 성분 참조 정보는 제1 색 성분 참조 블록 내의 픽셀 및 주변 제1 색 성분 참조 픽셀을 포함한 개념으로 사용될 수 있다.
제1 색 성분 블록이 제2 색 성분 블록보다 작은 크기를 갖거나 동일한 크기를 갖는 경우, 제1 색 성분 블록을 기반으로 제2 색 성분 블록의 예측에 사용될 제1 색 성분 참조 정보를 도출하는 과정은 상술한 도 6 내지 도 12의 실시예에서와는 다를 수 있다.

도 13은 제1 색 성분 블록의 크기가 제2 색 성분 블록의 크기보다 작은 경우, 제2 색 성분 블록의 예측에 사용될 제1 색 성분 참조 정보를 도출하는 과정의 실시예를 개략적으로 나타내는 도면이다.
도 13의 1310은 제1 색 성분 블록(1312), 주변 제1 색 성분 픽셀들(1314), 제2 색 성분 블록(1316) 및 주변 제2 색 성분 픽셀들(1318)의 실시예를 도시한다. 도 13의 1310을 참조하면, 제2 색 성분 블록(1316)의 크기가 8x8일 때, 이에 대응되는 제1 색 성분 블록(1312)의 크기는 4x4일 수 있다. 이 경우, 부호화기 및 복호화기는 8x8 크기의 제1 색 성분 참조 블록에 대응되는 제1 색 성분 참조 픽셀들을 생성할 수 있다.
도 13의 1320은 제1 색 성분 참조 정보 도출 방법의 일 실시예를 도시한다.
도 13의 1320의 실시예에서는, 도 13의 1310에서와 같이 제1 색 성분 블록(1312)의 크기가 4x4이고 제2 색 성분 블록(1316)의 크기가 8x8인 경우의 제1 색 성분 참조 정보 도출 방법이 도시된다.
도 13의 1320을 참조하면, 부호화기 및 복호화기는 제1 색 성분 블록(1312) 내의 픽셀 및 주변 제1 색 성분 픽셀들(1314)을 기반으로, 제2 색 성분 블록(1316)의 예측에 사용될 제1 색 성분 참조 블록(1326) 및 주변 제1 색 성분 참조 픽셀들(1328)을 생성할 수 있다. 여기서, 제1 색 성분 참조 정보 도출에 사용되는 주변 제1 색 성분 픽셀들(1314)은 일례로, 제1 색 성분 블록(1312)의 좌측에 가장 가까이 위치한 한 개의 픽셀 라인에 포함된 픽셀들, 및 제1 색 성분 블록(1312)의 상단에 가장 가까이 위치한 한 개의 픽셀 라인에 포함된 픽셀들을 포함할 수 있다.
한편, 도 13의 1320에서는 제1 색 성분 블록(1312) 및 제2 색 성분 블록(1316)의 크기가 서로 다르므로, 부호화기 및 복호화기는 제2 색 성분 블록(1316)과 동일한 크기(8x8)의 제1 색 성분 참조 블록(1326) 및 이에 대응되는 주변 제1 색 성분 참조 픽셀들(1328)을 생성할 수 있다. 이 때, 제1 색 성분 블록(1312)의 크기가 제2 색 성분 블록(1316)의 크기보다 작으므로, 부호화기 및 복호화기는 제1 색 성분 블록(1312) 내의 픽셀들 및 주변 제1 색 성분 픽셀들(1314)에 대해 업 샘플링(up sampling)을 수행함으로써 제1 색 성분 참조 정보를 생성할 수 있다.
주변 제1 색 성분 픽셀들(1314) 중에서 가용하지 않은 픽셀들이 존재하는 경우, 부호화기 및 복호화기는 가용하지 않은 픽셀들에 대해 패딩 과정을 수행한 후에 업 샘플링을 수행할 수도 있다. 패딩 과정은 상술한 실시예들에서와 유사하므로 여기서는 이에 대한 구체적인 설명은 생략하기로 한다.
제1 색 성분 블록(1312) 내의 픽셀들 및 주변 제1 색 성분 픽셀들(1314)에 대해 업 샘플링을 수행하는 과정은 일례로 다음 수학식 26에 의해 나타내어질 수 있다.
[수학식 26]
p’[2x,2y] = p[x,y]
p’[2x+1,2y] = (p[x,y] + p[x+1,y])>>1
p’[2x,2y+1] = (p[x,y] + p[x,y+1])>>1
p’[2x+1,2y+1] = (p[x+1,y] + p[x,y+1])>>1

여기서, p[x,y]는 복원된 제1 색 성분 픽셀들, 즉 제1 색 성분 블록(1312) 내의 픽셀들 및 주변 제1 색 성분 픽셀들(1314)의 픽셀 값을 나타낼 수 있다. 또한, p’[x,y]는 제2 색 성분 블록(1316)의 크기에 따라 생성된 제1 색 성분 참조 픽셀들(1326, 1328)의 픽셀 값을 나타낼 수 있다.

도 14는 제1 색 성분 블록의 크기가 제2 색 성분 블록의 크기와 동일한 경우, 제2 색 성분 블록의 예측에 사용될 제1 색 성분 참조 정보를 도출하는 과정의 실시예를 개략적으로 나타내는 도면이다.
상술한 바와 같이, 4:4:4 영상 포맷이 사용되는 경우, 즉 영상의 색 공간이 RGB 4:4:4 또는 YUV 4:4:4인 경우에는 루마 블록과 크로마 블록의 크기가 동일할 수 있다. 따라서, 이 경우 제1 색 성분 블록이 루마 블록이고 제2 색 성분 블록이 크로마 블록이라고 하면, 제1 색 성분 블록의 크기와 제2 색 성분 블록의 크기가 동일할 수 있다. 또한, 제1 색 성분 블록이 U에 해당되는 크로마 블록이고 제2 색 성분 블록이 V에 해당되는 크로마 블록인 경우, 제1 색 성분 블록의 크기와 제2 색 성분 블록의 크기가 동일할 수 있다. 도 14의 실시예에서는 제1 색 성분 블록(1412)의 크기가 8x8이고 제2 색 성분 블록(1422)의 크기가 8x8이라 가정한다.
도 14를 참조하면, 부호화기 및 복호화기는 제1 색 성분 블록(1412) 내의 픽셀 및 주변 제1 색 성분 픽셀들(1414)을 기반으로, 제2 색 성분 블록의 예측에 사용될 제1 색 성분 참조 블록(1422) 및 주변 제1 색 성분 참조 픽셀들(1424)을 생성할 수 있다. 생성된 제1 색 성분 참조 블록(1422)은 제2 색 성분 블록에 대응되는 위치에 존재할 수 있다. 여기서, 제1 색 성분 참조 정보 도출에 사용되는 주변 제1 색 성분 픽셀들(1414)은 일례로, 제1 색 성분 블록(1412)의 좌측에 가장 가까이 위치한 한 개의 픽셀 라인에 포함된 픽셀들, 및 제1 색 성분 블록(1412)의 상단에 가장 가까이 위치한 한 개의 픽셀 라인에 포함된 픽셀들을 포함할 수 있다.
이 때, 제1 색 성분 블록(1412)의 크기가 제2 색 성분 블록의 크기와 동일하므로, 부호화기 및 복호화기는 제1 색 성분 정보 생성 시에 다운 샘플링(down sampling), 서브 샘플링(sub smapling) 및 업 샘플링(up sampling) 등을 수행하지 않을 수 있다. 따라서, 제1 색 성분 블록(1412) 내 픽셀들의 픽셀 값 및 주변 제1 색 성분 픽셀들(1414)의 픽셀 값이 그대로 제1 색 성분 참조 정보로 사용될 수 있다.
또한, 인트라 모드에서는 변환/양자화 등이 이용되는 손실 부호화/복호화 방식 대신 무손실 부호화/복호화 방식이 적용될 수도 있다. 무손실 부호화/복호화 방식에서는 부호화 대상 블록에 대해 변환 양자화 등의 과정이 적용되지 않을 수 있다. 제1 색 성분 블록(1412)의 크기가 제2 색 성분 블록의 크기와 동일할 때에는, 무손실 부호화/복호화 방식이 적용되는 경우에도, 상술한 실시예에서와 같이 제1 색 성분 참조 정보가 도출될 수 있다. 이 경우, 부호화기 및 복호화기는 제1 색 성분 정보 생성 시에 다운 샘플링, 서브 샘플링 및 업 샘플링 등을 수행하지 않을 수 있다. 생성된 제1 색 성분 참조 블록(1422)은 제2 색 성분 블록에 대응되는 위치에 존재할 수 있다.

한편, 상술한 실시예들에서는 현재 루마 블록의 상단에 위치하는 상단 주변 루마 픽셀들 및 현재 루마 블록의 좌측에 위치하는 좌측 주변 루마 픽셀들이 모두 루마 참조 정보 생성에 사용될 수 있다. 그러나, 본 발명은 이에 한정되는 것은 아니며, 루마 참조 정보 생성에 사용되는 주변 루마 픽셀들은 다양한 방법으로 정해질 수 있다. 예컨대, 상단 주변 루마 픽셀들만이 루마 참조 정보 생성에 사용될 수도 있고, 좌측 주변 루마 픽셀들만이 루마 참조 정보 생성에 사용될 수도 있다. 또한, 루마 참조 정보 생성에 사용되는 주변 루마 픽셀들은 현재 루마 블록의 인트라 예측 모드에 따라 정해질 수도 있다.

도 15는 루마 참조 정보 생성에 사용되는 주변 루마 픽셀들의 실시예를 개략적으로 나타내는 도면이다.
도 15의 실시예에서, 현재 루마 블록(1512)의 크기는 8x8이고 이에 대응되는 현재 크로마 블록의 크기는 4x4라 가정한다. 일례로, 도 15는 YUV 4:2:0의 영상 포맷이 이용되는 경우의 실시예에 해당될 수 있다. 또한, 도 15에 도시된 주변 루마 픽셀들(A, B, C, D, E, F)에는 상술한 패딩 과정을 통해 이미 픽셀 값이 채워져 있다고 가정한다. 그리고, 도 15에서는 상술한 도 4의 410에서와 같은 인트라 예측 모드의 모드 값이 사용된다고 가정한다.
도 15의 실시예에서는 주변 루마 픽셀들(A, B, C, D, E, F) 중에서 적어도 하나 및 현재 루마 블록(1512) 내의 픽셀들을 기반으로, 현재 크로마 블록의 예측에 사용될 루마 참조 블록(1522, 1532 또는 1542) 및 주변 루마 참조 픽셀들(1524, 1534 또는 1544)이 생성될 수 있다. 이 때, 현재 크로마 블록의 크기는 4x4이므로, 생성된 루마 참조 블록(1522, 1532 또는 1542)의 크기는 4x4일 수 있다.
도 15의 실시예에서, 루마 참조 정보 생성에 이용될 주변 루마 픽셀들은 일례로 다음 표 3에 나타내어진 조합들 중에서 적어도 하나에 의해 획득될 수 있다.
[표 3]
Figure PCTKR2012009369-appb-I000003

표 3의 실시예에서 P는 현재 루마 블록(1512)의 좌측에 위치한 좌측 주변 루마 픽셀들 및 현재 루마 블록(1512)의 상단에 위치한 상단 주변 루마 픽셀들이 루마 참조 정보 생성에 사용됨을 의미할 수 있다. 또한, Q는 현재 루마 블록(1512)의 상단에 위치한 상단 주변 루마 픽셀들이 루마 참조 정보 생성에 사용됨을 의미할 수 있다. 그리고, R은 현재 루마 블록(1512)의 좌측에 위치한 좌측 주변 루마 픽셀들이 루마 참조 정보 생성에 사용됨을 의미할 수 있다.
또한, 표 3의 실시예에서 L은 좌측 주변 루마 픽셀들이 루마 참조 정보 생성에 이용되는 경우, 현재 루마 블록(1512)의 좌측에 가장 가까이 위치한 제1 좌측 픽셀 라인 상의 픽셀들이 루마 참조 정보 생성에 사용됨을 의미할 수 있다. 그리고, M은 좌측 주변 루마 픽셀들이 루마 참조 정보 생성에 이용되는 경우, 현재 루마 블록(1512)의 좌측에 두 번째로 가까이 위치한 제2 좌측 픽셀 라인 상의 픽셀들이 루마 참조 정보 생성에 사용됨을 의미할 수 있다. 이 경우에는, 서브 샘플링을 위해 제1 좌측 픽셀 라인 상의 픽셀들이 함께 이용될 수도 있다.
또한, N은 현재 루마 블록(1512)의 인트라 예측 모드를 기반으로 루마 참조 정보 생성에 이용될 주변 루마 픽셀들이 결정됨을 의미할 수 있다. 이 경우 루마 참조 정보는 현재 루마 블록(1512)의 인트라 예측 모드를 기반으로 적응적으로 생성될 수 있다. 현재 루마 블록(1512)의 인트라 예측 모드를 기반으로 루마 참조 정보가 생성되는 경우에 사용되는 좌측 주변 루마 픽셀들은 일례로 제1 좌측 픽셀 라인 상의 픽셀들일 수도 있고 다른 예로 제2 좌측 픽셀 라인 상의 픽셀들일 수도 있다.
일례로, P 및 L의 조합이 적용되는 실시예에서는 현재 루마 블록(1512)의 상단에 위치한 상단 주변 루마 픽셀들 및 제1 좌측 픽셀 라인 상의 좌측 주변 루마 픽셀들이 루마 참조 정보 생성에 이용될 수 있다. 따라서, 이 경우에는 도 15의 1510에 도시된 [A, D] 또는 [A, B, D, F]의 주변 루마 픽셀들이 루마 참조 정보 생성에 이용될 수 있다.
[A, D]를 기반으로 루마 참조 정보가 생성된 경우, 생성된 루마 참조 정보는 일례로 도 15의 1520에서와 같이 도시될 수 있다. 도 15의 1520에서, 주변 루마 참조 픽셀들(1524)은 루마 참조 블록(1522)의 상단에 인접한 픽셀들 및 루마 참조 블록(1522)의 좌측에 인접한 픽셀들을 포함할 수 있다.
다른 예로, Q 및 L의 조합이 적용되는 실시예에서는 현재 루마 블록(1512)의 상단에 위치한 상단 주변 루마 픽셀들이 루마 참조 정보 생성에 이용될 수 있다. 따라서, 이 경우에는 도 15의 1510에 도시된 [A, B]의 주변 루마 픽셀들이 루마 참조 정보 생성에 이용될 수 있다.
[A, B]를 기반으로 루마 참조 정보가 생성된 경우, 생성된 루마 참조 정보는 일례로 도 15의 1530에서와 같이 도시될 수 있다. 도 15의 1530에서, 주변 루마 참조 픽셀들(1534)은 루마 참조 블록(1532)의 상단에 위치한 픽셀들일 수 있다.
또 다른 예로, R 및 L의 조합이 적용되는 실시예에서는 제1 좌측 픽셀 라인 상의 좌측 주변 루마 픽셀들이 루마 참조 정보 생성에 이용될 수 있다. 따라서, 이 경우에는 도 15의 1510에 도시된 [D, F]의 주변 루마 픽셀들이 루마 참조 정보 생성에 이용될 수 있다.
[D, F]를 기반으로 루마 참조 정보가 생성된 경우, 생성된 루마 참조 정보는 일례로 도 15의 1540에서와 같이 도시될 수 있다. 도 15의 1540에서, 주변 루마 참조 픽셀들(1544)은 루마 참조 블록(1542)의 좌측에 위치한 픽셀들일 수 있다.
또 다른 예로, P 및 M의 조합이 적용되는 실시예에서는 현재 루마 블록(1512)의 상단에 위치한 상단 주변 루마 픽셀들 및 제2 좌측 픽셀 라인 상의 좌측 주변 루마 픽셀들이 루마 참조 정보 생성에 이용될 수 있다. 따라서, 이 경우에는 도 15의 1510에 도시된 [A, C] 또는 [A, B, C, E]의 주변 루마 픽셀들이 루마 참조 정보 생성에 이용될 수 있다. P 및 M의 조합이 적용되는 경우에 생성되는 루마 참조 정보는 일례로 도 15의 1520에서와 같이 도시될 수 있다.
또 다른 예로, Q 및 M의 조합이 적용되는 실시예에서는 현재 루마 블록(1512)의 상단에 위치한 상단 주변 루마 픽셀들이 루마 참조 정보 생성에 이용될 수 있다. 따라서, 이 경우에는 도 15의 1510에 도시된 [A, B]의 주변 루마 픽셀들이 루마 참조 정보 생성에 이용될 수 있다. Q 및 M의 조합이 적용되는 경우에 생성되는 루마 참조 정보는 일례로 도 15의 1530에서와 같이 도시될 수 있다.
또 다른 예로, R 및 M의 조합이 적용되는 실시예에서는 제2 좌측 픽셀 라인 상의 좌측 주변 루마 픽셀들이 루마 참조 정보 생성에 이용될 수 있다. 따라서, 이 경우에는 도 15의 1510에 도시된 [C, E]의 주변 루마 픽셀들이 루마 참조 정보 생성에 이용될 수 있다. R 및 M의 조합이 적용되는 경우에 생성되는 루마 참조 정보는 일례로 도 15의 1540에서와 같이 도시될 수 있다.
또 다른 예로, P 및 N의 조합이 적용되는 실시예에서는 현재 루마 블록(1512)의 인트라 예측 모드를 기반으로, 현재 루마 블록(1512)의 상단에 위치한 상단 주변 루마 픽셀들 및 현재 루마 블록(1512)의 좌측에 위치한 좌측 주변 루마 픽셀들이 루마 참조 정보 생성에 이용될 주변 루마 픽셀로 결정될 수 있다.
이 때, 현재 루마 블록(1512)의 인트라 예측 모드는 현재 루마 블록(1512)의 상단 및 좌측에 위치한 픽셀을 모두 이용하는 제1 인트라 예측 모드일 수 있다. 일례로, 상기 제1 인트라 예측 모드는 DC 모드, 플래너 모드 또는 4, 19, 11, 20, 5, 21, 12, 22, 27, 15, 28, 8, 29, 16 또는 30의 모드 값을 갖는 모드일 수 있다.
P 및 N의 조합이 적용되는 경우에 생성되는 루마 참조 정보는 일례로 도 15의 1520에서와 같이 도시될 수 있다.
또 다른 예로, Q 및 N의 조합이 적용되는 실시예에서는 현재 루마 블록(1512)의 인트라 예측 모드를 기반으로, 현재 루마 블록(1512)의 상단에 위치한 상단 주변 루마 픽셀들이 루마 참조 정보 생성에 이용될 주변 루마 픽셀로 결정될 수 있다.
이 때, 현재 루마 블록(1512)의 인트라 예측 모드는 현재 루마 블록(1512)의 상단에 위치한 픽셀을 주로 이용하는 제2 인트라 예측 모드일 수 있다. 일례로, 제2 인트라 예측 모드는 1, 23, 13, 24, 6, 25, 14, 26 또는 7의 모드 값을 갖는 모드일 수 있다.
Q 및 N의 조합이 적용되는 경우에 생성되는 루마 참조 정보는 일례로 도 15의 1530에서와 같이 도시될 수 있다.
또 다른 예로, R 및 N의 조합이 적용되는 실시예에서는 현재 루마 블록(1512)의 인트라 예측 모드를 기반으로, 현재 루마 블록(1512)의 좌측에 위치한 좌측 주변 루마 픽셀들이 루마 참조 정보 생성에 이용될 주변 루마 픽셀로 결정될 수 있다.
이 때, 현재 루마 블록(1512)의 인트라 예측 모드는 현재 루마 블록(1512)의 좌측에 위치한 픽셀을 주로 이용하는 제3 인트라 예측 모드일 수 있다. 일례로, 제3 인트라 예측 모드는 2, 31, 17, 32, 9, 33, 18, 34 또는 10의 모드 값을 갖는 모드일 수 있다.
R 및 N의 조합이 적용되는 경우에 생성되는 루마 참조 정보는 일례로 도 15의 1540에서와 같이 도시될 수 있다.
상술한 실시예에 따라 결정된 주변 루마 픽셀들을 기반으로 주변 루마 참조 픽셀들의 픽셀 값이 도출된 경우에는, 각각의 주변 루마 참조 픽셀과 동일한 위치에 있는 주변 크로마 픽셀들을 이용하여 예측 파라미터를 도출할 수 있다. 예측 파라미터 도출 과정의 구체적인 실시예는 후술하기로 한다.

도 16은 예측 파라미터를 도출하는 과정 및 현재 크로마 블록 내 픽셀들의 예측값을 도출하는 과정의 실시예를 설명하기 위한 도면이다.
도 16은 루마 참조 블록(1610), 주변 루마 참조 픽셀들(1620), 현재 크로마 블록(1630) 및 복원된 주변 크로마 픽셀들(1640)을 도시한다. 도 16의 실시예에서, 루마 참조 블록(1610)의 크기 및 현재 크로마 블록(1630)의 크기는 각각 8x8일 수 있다.
일 실시예로, 부호화기 및 복호화기는 루마 참조 정보 및 크로마 성분 정보를 기반으로 현재 크로마 블록(1630)에 대한 예측 파라미터를 도출할 수 있다. 일례로, 부호화기 및 복호화기는 주변 루마 참조 픽셀들(1620)의 픽셀 값 및 주변 크로마 픽셀들(1640)의 픽셀 값을 기반으로 예측 파라미터를 도출할 수 있다. 여기서, 예측 파라미터는 최소 자승법을 기반으로 하는 알파(α) 및 베타(β)일 수 있다.
주변 루마 참조 픽셀들(1620) 및 주변 크로마 픽셀들(1640)의 픽셀 값을 기반으로 예측 파라미터를 도출하는 과정은 일례로 다음 수학식 27에 의해 나타내어질 수 있다.
[수학식 27]
Figure PCTKR2012009369-appb-I000004
Figure PCTKR2012009369-appb-I000005
Figure PCTKR2012009369-appb-I000006
수학식 27에서, p1은 주변 루마 참조 픽셀들(1620)의 픽셀 값을 나타내고, p2는 주변 크로마 픽셀들(1640)의 픽셀 값을 나타낼 수 있다. 또한, nS는 루마 참조 블록(1610) 및 현재 크로마 블록(1630)의 가로 길이 및 세로 길이를 나타내고, ‘Bitdepth’는 크로마 성분 픽셀의 비트 심도를 나타낼 수 있다. 그리고, abs(x)는 x의 절대값을 나타낼 수 있다. ‘lmDiv’는 ‘a2s’의 값에 따라 결정되는 변수로서, 일례로 다음 표 4에 의해 결정될 수 있다.
[표 4]
Figure PCTKR2012009369-appb-I000007

수학식 27에서 a는 알파(α)를 나타내고, b는 베타(β)를 나타낼 수 있다.
상술한 예측 파라미터 도출 과정에서, 주변 루마 참조 픽셀들(1620) 및/또는 주변 크로마 픽셀들(1640) 중에서는 가용하지 않은 픽셀이 존재할 수도 있다. 이 경우, 일례로 부호화기 및 복호화기에서는 주변 루마 참조 픽셀들(1620) 및/또는 주변 크로마 픽셀들(1640) 중에서 가용한 픽셀들만을 기반으로 예측 파라미터를 도출할 수 있다.
다른 실시예로, 부호화기 및 복호화기는 주변 루마 참조 픽셀들(1620) 및 주변 크로마 픽셀들(1640)을 기반으로 예측 파라미터를 도출하지 않고, 기본 예측 파라미터(default prediction parameter)를 현재 크로마 블록(1630)의 예측에 이용할 수도 있다. 예를 들어, 기본 예측 파라미터로 사용되는 알파(α)는 1일 수 있고, 기본 예측 파라미터로 사용되는 베타(β)는 0일 수 있다.
상술한 실시예들에 따라 예측 파라미터가 도출되면, 부호화기 및 복호화기는 예측 파라미터 및 루마 참조 블록(1610) 내의 픽셀들의 픽셀 값을 기반으로, 현재 크로마 블록(1630) 내 픽셀들의 예측 값을 도출할 수 있다. 일례로, 부호화기 및 복호화기는 수학식 27에 의해 도출된 예측 파라미터 ‘a’, ‘k’, ‘b’와 도 16에 도시된 루마 참조 블록(1610) 내 픽셀들의 픽셀 값을 기반으로 현재 크로마 블록(1630) 내 픽셀들의 예측 값을 도출할 수 있다. 이 때, 현재 크로마 블록(1630) 내 픽셀들의 예측 값을 도출하는 과정은 일례로 다음 수학식 28에 의해 나타내어질 수 있다.
[수학식 28]
predSamples[x,y] = Clip1(((p1[x,y]*a)>>k)+b), (x,y=0~(nS-1))
Clip1(i) = Clip3(0,(1<<BitDepth)-1,i)

여기서, ‘predSamples[x,y]’는 현재 크로마 블록(1630) 내 픽셀의 예측 값을 나타낼 수 있다. 또한, clip(x,y,z)는 z가 x보다 작으면 x이고 z가 y보다 크면 y이고 그렇지 않으면 z일 수 있다.

도 17은 본 발명에 따른 복호화 과정의 일 실시예를 개략적으로 나타내는 흐름도이다.
도 17의 실시예에서, PY는 현재 루마 블록의 예측에 사용되는 주변 루마 픽셀의 픽셀 값을 나타낼 수 있다. 또한, NY는 현재 루마 블록의 가로 길이 및 세로 길이를 나타낼 수 있고, PLM은 LM 모드에서 루마 참조 정보 생성에 사용되는 주변 루마 픽셀의 픽셀 값을 나타낼 수 있다. 여기서, PY[x,y]와 PLM[x,y]는 서로 동일한 값을 가질 수 있다.
도 17의 실시예는 루마 성분(Y)을 기준으로 서술된다. 그러나, 본 발명은 이에 한정되는 것은 아니며, 도 17의 실시예는 루마 성분(Y)이 아닌 크로마 성분(U,V)에 대해서도 루마 성분에서와 동일하거나 유사한 방식으로 적용될 수 있다. 또한, 이 경우에는 변수 PY 대신 PC가 사용될 수 있고, 변수 NY 대신 NC가 사용될 수 있으며, cIdx에 할당되는 값은 0이 아닌 1 또는 2일 수 있다. 여기서, cIdx는 현재 블록의 색 성분이 Y, U, V 중에서 어떤 성분에 해당되는지를 지시하는 인덱스일 수 있다. 일례로, 현재 블록의 색 성분이 Y인 경우 cIdx에는 0이 할당될 수 있고, 현재 블록의 색 성분이 U인 경우 cIdx에 1이 할당될 수 있으며, 현재 블록의 색 성분이 V인 경우 cIdx에는 2가 할당될 수 있다. 색 성분에 따라 도 17의 실시예에 적용되는 변수들의 관계는 일례로 다음 표 5에 의해 나타내어질 수 있다.
[표 5]
Figure PCTKR2012009369-appb-I000008

여기서, PC는 현재 크로마 블록의 주변에 위치한 주변 크로마 픽셀의 픽셀 값을 나타낼 수 있다. 또한, NC는 현재 크로마 블록의 가로 길이 및 세로 길이를 나타낼 수 있다.
일례로, 도 17의 실시예는 색 공간을 구성하는 각각의 색 성분에 대해, Y 성분, U 성분, V 성분의 순서로 적용될 수 있다.
도 17을 참조하면, 부호화기 및 복호화기는 PY[x,y], (x=-1, y=-1~NY*2-1 및 x=0~NY*2-1, y=-1)가 가용한지 여부를 체크하여 마킹(marking)할 수 있다(S1710). 여기서, 마킹이라 함은 가용성(availability)에 대한 정보를 저장하거나 표시하는 과정을 의미할 수 있다. 주변 루마 픽셀이 가용하지 않은 경우의 실시예들은 도 8의 실시예에서 상술한 바 있으므로, 여기서는 이에 대한 구체적인 설명은 생략하기로 한다.
다시 도 17을 참조하면, 부호화기 및 복호화기는 현재 루마 블록에 대해 조건 A 및 조건 B가 만족되는지 여부를 판단할 수 있다(S1720).
여기서, 조건 A는 현재 루마 블록에 대응되는 현재 크로마 블록의 인트라 예측에 LM 모드가 적용될 수 있음을 나타내는 조건이다. 일례로, 조건 A는 LM 플래그(chroma_pred_from_luma_enabled_flag)에 1이 할당되어 있는 경우에 만족될 수 있다. 상술한 바와 같이, chroma_pred_from_luma_enabled_flag는 현재 크로마 블록의 인트라 예측에 대해 LM 모드가 지원될 수 있는지 여부를 나타낼 수 있다. 또한, 조건 B는 현재 블록이 루마 성분 블록(Y)임을 나타내는 조건이다. 일례로, 조건 B는 cIdx에 0이 할당되어 있는 경우에 만족될 수 있다.
조건 A 및 조건 B가 만족되는 경우, 부호화기 및 복호화기는 PLM을 생성할 수 있다.
다시 도 17을 참조하면, 조건 A 및 조건 B가 만족되는 경우 부호화기 및 복호화기는 PLM[x,y], (x=-1, y=-1~NY*2-1 및 x=0~NY*2-1, y=-1)가 가용한지 여부를 체크하여 마킹(marking)할 수 있다(S1730).
이 때, PY[x,y]와 PLM[x,y]는 서로 동일한 값을 가질 수 있으므로, PY[x,y]가 가용한 경우 PLM[x,y]도 가용한 것으로 마킹될 수 있고 PY[x,y]가 가용하지 않은 경우 PLM[x,y]도 가용하지 않은 것으로 마킹될 수 있다.
또한, 일례로 PLM 에 대한 마킹 과정이 수행된 후 부호화기 및 복호화기는 PLM[x,y], (x=-1, y=0~NY*2-1)에 해당되는 픽셀들 중에서 가용한 것으로 판별된 픽셀들의 픽셀 값을 [x-1,y] 위치의 루마 픽셀 값으로 대체할 수도 있다.
다시 도 17을 참조하면, 부호화기 및 복호화기는 현재 루마 블록의 예측에 사용될 주변 루마 픽셀들에 대해 조건 C가 만족되는지 여부를 판단할 수 있다(S1740). 여기서, 조건 C는 PY[x,y], (x=-1, y=-1~NY*2-1 및 x=0~NY*2-1, y=-1) 중에서 적어도 하나의 픽셀이 가용하지 않음을 나타내는 조건이다.
조건 C가 만족되는 경우, 즉 현재 루마 블록의 예측에 사용될 주변 루마 픽셀들 중에서 적어도 하나의 픽셀이 가용하지 않은 경우, 부호화기 및 복호화기는 PY[x,y], (x=-1, y=-1~NY*2-1 및 x=0~NY*2-1, y=-1) 중에서 가용하지 않은 픽셀들에 대해 패딩 과정을 수행할 수 있다(S1750). 패딩 과정의 실시예들은 상술한 바 있으므로, 여기서는 이에 대한 구체적인 설명은 생략하기로 한다.
다시 도 17을 참조하면, 부호화기 및 복호화기는 루마 참조 정보 생성에 사용될 주변 루마 픽셀들에 대해 조건 A, B 및 D가 만족되는지 여부를 판단할 수 있다(S1760). 여기서, 조건 D는 PLM[x,y], (x=-1, y=-1~NY*2-1 및 x=0~NY*2-1, y=-1) 중에서 적어도 하나의 픽셀이 가용하지 않음을 나타내는 조건이다.
조건 A, B 및 D가 만족되는 경우, 즉 루마 참조 정보 생성에 사용될 주변 루마 픽셀들 중에서 적어도 하나의 픽셀이 가용하지 않은 경우, 부호화기 및 복호화기는 PLM[x,y], (x=-1, y=-1~NY*2-1 및 x=0~NY*2-1, y=-1) 중에서 가용하지 않은 픽셀들에 대해 패딩 과정을 수행할 수 있다(S1770). 패딩 과정의 실시예들은 상술한 바 있으므로, 여기서는 이에 대한 구체적인 설명은 생략하기로 한다.
상술한 패딩 과정이 수행된 후, 부호화기 및 복호화기는 주변 루마 픽셀들을 기반으로 현재 루마 블록에 대한 예측 및 복호화 과정을 수행함으로써, 현재 루마 블록에 대한 복원 블록을 생성할 수 있다(S1780). 도 17의 실시예가 크로마 성분(U 또는 V)에 대해 적용된 경우, 부호화기 및 복호화기는 주변 루마 픽셀들, 복원된 현재 루마 블록 내 픽셀들 및 주변 크로마 픽셀들을 기반으로 현재 크로마 블록에 대한 예측 블록을 생성할 수 있으며, 생성된 예측 블록을 기반으로 현재 크로마 블록에 대한 복원 블록을 생성할 수 있다.

도 18은 도 17의 실시예에서와 같이 복호화 과정이 수행되는 경우, 현재 크로마 블록에 대한 루마 참조 정보 및 예측 파라미터를 도출하는 과정의 실시예를 설명하기 위한 도면이다.
도 18은 예측 대상이 되는 루마 성분 블록(1810), 루마 성분 블록의 예측에 사용되는 주변 루마 픽셀들(1820, PY), 복원된 현재 루마 블록(1830, PRecY), 루마 참조 정보 생성에 사용되는 주변 루마 픽셀들(1840, PLM), 현재 크로마 블록(1850) 및 주변 크로마 픽셀들(1860, PC)을 도시한다. 도 18의 실시예에서, 예측 대상이 되는 루마 성분 블록(1810) 및 복원된 현재 루마 블록(1830, PRecY)의 크기는 8x8이고 현재 크로마 블록(1850)의 크기는 4x4일 수 있다.
상술한 바와 같이, 도 17의 실시예는 루마 성분(Y)이 아닌 크로마 성분(U,V)에 대해서도 적용될 수 있다. 현재 크로마 블록(1850)의 예측 모드가 LM 모드인 경우, 패딩 과정이 수행된 후에 부호화기 및 복호화기는 현재 크로마 블록(1850)에 대한 루마 참조 정보 및 예측 파라미터를 도출할 수 있다.
부호화기 및 복호화기는 주변 루마 픽셀들(1820, PY)을 기반으로 예측 대상이 되는 루마 성분 블록(1810) 내 픽셀들의 예측 값을 도출할 수 있다. 이 때, 부호화기 및 복호화기는 도출된 예측 값을 기반으로 루마 성분의 복원 블록을 생성할 수 있으며, 이는 복원된 현재 루마 블록(1830, PRecY)에 해당될 수 있다. 또한, 부호화기 및 복호화기는 루마 성분 블록(1810)의 예측에 사용된 주변 루마 픽셀들(1820, PY)을 기반으로, 루마 참조 정보 생성에 사용될 주변 루마 픽셀들(1840, PLM)을 결정할 수 있다.
부호화기 및 복호화기는 주변 루마 픽셀들(1840, PLM) 및 복원된 현재 루마 블록(1830, PRecY)을 기반으로 현재 크로마 블록(1850)의 예측에 사용될 루마 참조 정보를 생성할 수 있다. 도 18에서는 복원된 현재 루마 블록(1830) 및 현재 크로마 블록(1850)의 크기가 서로 다르므로, 부호화기 및 복호화기는 현재 크로마 블록(1850)과 동일한 크기(4x4)의 루마 참조 블록 및 이에 대응되는 주변 루마 참조 픽셀들을 생성할 수 있다. 이 때, 현재 크로마 블록(1850)의 크기가 복원된 현재 루마 블록(1830)의 크기보다 작으므로, 부호화기 및 복호화기는 복원된 현재 루마 블록(1830) 내의 픽셀들 및 주변 루마 픽셀들(1840)에 대해 다운 샘플링을 수행함으로써 루마 참조 정보를 생성할 수 있다.
복원된 현재 루마 블록(1830)의 상단에 위치한 주변 루마 픽셀들에 대해서는 일례로 다음 수학식 29에 의해 다운 샘플링 과정이 수행될 수 있다.
[수학식 29]
PY’[x,-1] = (PLM[2x-1,-1] + 2*PLM[2x,-1] + PLM[2x+1,-1] + 2) >> 2,
(x = 0~NC-1)

여기서, PY’은 루마 참조 정보에 해당되는 픽셀(예컨대, 루마 참조 블록 내의 픽셀 또는 주변 루마 참조 픽셀)의 픽셀 값을 나타낼 수 있다. 또한, PLM은 루마 참조 정보 생성에 사용될 주변 루마 픽셀(1840)의 픽셀 값을 나타낼 수 있다. 그리고, NC는 현재 크로마 블록(1850)의 가로 길이 및 세로 길이를 나타낼 수 있다.
복원된 현재 루마 블록(1830)의 좌측에 위치한 주변 루마 픽셀들에 대해서는 일례로 다음 수학식 30에 의해 다운 샘플링 과정이 수행될 수 있다.
[수학식 30]
PY’[-1,y] = (PLM[-1,2y] + PLM[-1,2y+1]) >> 1, (y = 0~NC-1)

복원 현재 루마 블록(1830) 내의 픽셀들에 대해서는 일례로 다음 수학식 31에 의해 다운 샘플링 과정이 수행될 수 있다. 다음 수학식 31에 의해서 현재 크로마 블록(1850)에 대응되는 루마 참조 블록이 생성될 수 있다.
[수학식 31]
PY’[x,y] = (PRecY[2x,2y] + PRecY[2x,2y+1]) >> 1, (x,y = 0~NC-1)

여기서, PRecY는 현재 루마 블록(1830) 내 픽셀의 픽셀 값을 나타낼 수 있다.
상술한 과정에 의해 루마 참조 정보가 생성되면, 부호화기 및 복호화기는 루마 참조 정보 및 크로마 성분 정보를 기반으로 현재 크로마 블록(1850)에 대한 예측 파라미터를 도출할 수 있다. 일례로, 부호화기 및 복호화기는 주변 루마 참조 픽셀들(1840)의 픽셀 값 및 주변 크로마 픽셀들(1860)의 픽셀 값을 기반으로 예측 파라미터를 도출할 수 있다. 다음 수학식 32는 예측 파라미터를 도출하는 과정의 일부를 나타낼 수 있다.
[수학식 32]
Figure PCTKR2012009369-appb-I000009

여기서, PC는 루마 참조 정보 생성에 사용될 주변 크로마 픽셀(1860)의 픽셀 값을 나타낼 수 있고, ‘Bitdepth’는 크로마 성분 픽셀의 비트 심도를 나타낼 수 있다.
수학식 32에 의해 도출된 k3, L, C, LL, LC를 기반으로 k2, a1, a2, k1, a1s, a2s, a3, α(알파), k 및 β(베타) 를 도출하는 과정의 실시예는 수학식 27의 실시예에서와 유사하므로, 여기서는 이에 대한 구체적인 설명은 생략하기로 한다. 다만, 이 경우 수학식 27의 실시예에서 nS는 NC로 대체될 수 있고, p1은 PY’으로 대체될 수 있으며, p2는 PC로 대체될 수 있다.
예측 파라미터가 도출되면, 부호화기 및 복호화기는 예측 파라미터 및 루마 참조 블록(1830) 내 픽셀들의 픽셀 값을 기반으로, 현재 크로마 블록(1850) 내 픽셀들의 예측 값을 도출할 수 있다. 현재 크로마 블록(1850) 내 픽셀들의 예측 값을 도출하는 과정의 실시예는 수학식 28의 실시예에서와 유사하므로, 여기서는 이에 대한 구체적인 설명은 생략하기로 한다. 다만, 이 경우 수학식 28의 실시예에서 nS는 NC로 대체될 수 있고, p1은 PRecY로 대체될 수 있다.

도 19a 및 도 19b는 본 발명에 따른 복호화 과정의 다른 실시예를 설명하기 위한 도면이다.
도 19a는 본 발명에 따른 복호화 과정의 실시예를 나타낸다. 또한, 도 19b는 하나의 CU(1990)가 쿼드 트리 구조(quad-tree structure)를 기반으로 복수의 TU로 분할된 것을 나타낸다.
도 19a 및 도 19b(이하, 도 19라 함)의 실시예에서, Pk는 PY, PU 또는 PV일 수 있고, Nk는 NY, NU 또는 NV일 수 있다. 여기서, PY는 현재 루마 블록의 예측에 사용되는 주변 루마 픽셀의 픽셀 값을 나타낼 수 있다. 또한, PU 및 PV 는 현재 크로마 블록의 예측에 사용되는 주변 크로마 픽셀의 픽셀 값을 나타낼 수 있다. 여기서, PU 및 PV 는 PC로 나타내어질 수도 있다. 그리고, NY는 현재 루마 블록의 가로 길이 및 세로 길이를 나타내고, NU 및 NV 는 현재 크로마 블록의 가로 길이 및 세로 길이를 나타낼 수 있다. 여기서, NU 및 NV 는 NC로 나타내어질 수도 있다. 도 19의 실시예에서, PLM은 LM 모드에서 루마 참조 정보 생성에 사용되는 주변 루마 픽셀의 픽셀 값을 나타낼 수 있다. 여기서, PY[x,y]와 PLM[x,y]는 서로 동일한 값을 가질 수 있다.
도 19의 실시예에서 k는 Y, U 또는 V일 수 있으므로, 도 19의 실시예는 루마 성분(Y) 및 크로마 성분(U, V)에 대해 모두 적용될 수 있다. 색 성분에 따라 도 19의 실시예에 적용되는 변수들의 관계는 일례로 다음 표 6에 의해 나타내어질 수 있다.
[표 6]
Figure PCTKR2012009369-appb-I000010

여기서, cIdx는 현재 블록의 색 성분이 Y, U(Cb), V(Cr) 중에서 어떤 성분에 해당되는지를 지시하는 인덱스일 수 있다. 일례로, 현재 블록의 색 성분이 Y인 경우 cIdx에는 0이 할당될 수 있고, 현재 블록의 색 성분이 U(Cb)인 경우 cIdx에 1이 할당될 수 있으며, 현재 블록의 색 성분이 V(Cr)인 경우 cIdx에는 2가 할당될 수 있다.
또한, 도 19의 실시예는 일례로 하나의 CU에서 색 공간을 구성하는 각각의 색 성분에 대해, Y 성분, U(Cb) 성분, V(Cr) 성분의 순서로 적용될 수 있다.
도 19b를 참조하면, 하나의 CU(1990)는 쿼드 트리 구조를 기반으로 복수 개의 TU(1, 2, 3, 4, 5, 6, 7)로 분할될 수 있다. 이 때, 부호화기 및 복호화기는 우선 CU(1990) 내의 Y 성분 블록들에 대해 도 19a의 실시예에 따른 복호화 과정을 수행할 수 있다. 그리고 부호화기 및 복호화기는 CU(1990) 내의 U 성분 블록들 및 V 성분 블록들에 대해 순서대로 도 19a의 실시예에 따른 복호화 과정을 수행할 수 있다. 일례로, 도 19의 실시예에 따른 복호화 과정은 [Y1->Y2->...->Y7->U1->U2->...->U7->V1->V2...->V7]의 순서로 수행될 수 있다. 여기서 일례로, Y1은 도 19b에서 블록 1의 루마 성분에 대해 복호화가 수행됨을 의미할 수 있다.
도 19a를 참조하면, 부호화기 및 복호화기는 Pk[x,y], (x=-1, y=-1~Nk*2-1 및 x=0~Nk*2-1, y=-1)가 가용한지 여부를 체크하여 마킹(marking)할 수 있다(S1910). 상술한 바와 같이, 마킹이라 함은 가용성(availability)에 대한 정보를 저장하거나 표시하는 과정을 의미할 수 있다. 주변 루마 픽셀이 가용하지 않은 경우의 실시예들은 도 8의 실시예에서 상술한 바 있으므로, 여기서는 이에 대한 구체적인 설명은 생략하기로 한다.
다시 도 19a를 참조하면, 부호화기 및 복호화기는 조건 A, 조건 B 및 조건 C가 만족되는지 여부를 판단할 수 있다(S1920).
여기서, 조건 A는 현재 크로마 블록의 인트라 예측에 LM 모드가 적용될 수 있음을 나타내는 조건이다. 일례로, 조건 A는 LM 플래그(chroma_pred_from_luma_enabled_flag)에 1이 할당되어 있는 경우에 만족될 수 있다. 상술한 바와 같이, chroma_pred_from_luma_enabled_flag는 현재 크로마 블록의 인트라 예측에 대해 LM 모드가 지원될 수 있는지 여부를 나타낼 수 있다. 또한, 조건 B는 현재 블록의 인트라 예측 모드가 LM 모드임을 나타내는 조건이다. 여기서, 일례로 LM 모드는 Intra_FromLuma로 나타내어질 수 있다. 또한, 조건 C는 현재 블록이 크로마 성분 블록(U(Cb) 또는 V(Cr))임을 나타내는 조건이다. 일례로, 조건 C는 cIdx에 1 또는 2가 할당되어 있는 경우에 만족될 수 있다.
조건 A, 조건 B 및 조건 C가 만족되는 경우, 부호화기 및 복호화기는 PLM을 생성할 수 있다.
다시 도 19a를 참조하면, 조건 A, 조건 B 및 조건 C가 만족되는 경우 부호화기 및 복호화기는 PLM[x,y], (x=-1, y=-1~NY*2-1 및 x=0~NY*2-1, y=-1)가 가용한지 여부를 체크하여 마킹(marking)할 수 있다(S1930).
이 때 일례로 일례로 PLM 에 대한 마킹 과정이 수행된 후 부호화기 및 복호화기는 PLM[x,y], (x=-1, y=0~NY*2-1)에 해당되는 픽셀들 중에서 가용한 것으로 판별된 픽셀들의 픽셀 값을 [x-1,y] 위치의 픽셀 값 즉, PLM[x-1,y]의 픽셀 값으로 대체할 수도 있다.
또한 이 때 일 실시예로, 부호화기 및 복호화기는 주변 루마 픽셀들에 대응되는 주변 크로마 픽셀, 즉 PU 또는 PV의 가용성을 기반으로 PLM이 가용한지 여부를 체크할 수 있다. 이 때, PU 또는 PV가 가용한지 여부는 S1910 단계에서 이미 마킹되어 있을 수 있다. 일례로, 부호화기 및 보호화기는 PU에 해당되는 픽셀이 가용한지 여부를 기반으로 PLM이 가용한지 여부를 판단할 수 있다.
예를 들어, x=-1, y=0~NU*2-1에 대해 주변 크로마 픽셀 PU[x,y]가 가용하지 않은 것으로 마킹된다면, 부호화기 및 복호화기는 주변 루마 픽셀 PLM[x,2y] 및 PLM[x,2y+1]도 가용하지 않은 것으로 판단할 수 있다. 반면, x=-1, y=0~NU*2-1에 대해 주변 크로마 픽셀 PU[x,y]가 가용한 것으로 마킹된다면, 부호화기 및 복호화기는 주변 루마 픽셀 PLM[x,2y] 및 PLM[x,2y+1]도 가용한 것으로 판단할 수 있다.
이 때, 부호화기 및 복호화기는 [x-1,2y] 및 [x-1,2y+1]에 위치한 루마 픽셀 값을 각각 PLM[x,2y] 및 PLM[x,2y+1]에 할당할 수 있다. 따라서, 주변 루마 픽셀이 현재 루마 블록의 좌측에 인접하여 위치한 좌측 픽셀 라인상의 픽셀이고 상기 주변 루마 픽셀이 가용한 것으로 결정된 경우, 상기 주변 루마 픽셀의 좌측에 인접하여 위치한 루마 픽셀의 픽셀 값이 상기 주변 루마 픽셀의 픽셀 값으로 결정될 수 있다.
또한, x=0~NU*2-1, y=-1에 대해 주변 크로마 픽셀 PU[x,y]가 가용하지 않은 것으로 마킹된다면, 부호화기 및 복호화기는 주변 루마 픽셀 PLM[2x,y] 및 PLM[2x+1,y]도 가용하지 않은 것으로 판단할 수 있다. 반면, x=0~NU*2-1, y=-1에 대해 주변 크로마 픽셀 PU[x,y]가 가용한 것으로 마킹된다면, 부호화기 및 복호화기는 주변 루마 픽셀 PLM[2x,y] 및 PLM[2x+1,y]도 가용한 것으로 판단할 수 있다.
이 때, 부호화기 및 복호화기는 [2x,y] 및 [2x+1,y]에 위치한 루마 픽셀 값을 각각 PLM[2x,y] 및 PLM[2x+1,y]에 할당할 수 있다. 따라서, 주변 루마 픽셀이 현재 루마 블록의 상단에 인접하여 위치한 상단 픽셀 라인상의 픽셀이고 상기 주변 루마 픽셀이 가용한 것으로 결정된 경우, 상기 주변 루마 픽셀과 동일한 위치의 루마 픽셀의 픽셀 값이 상기 주변 루마 픽셀의 픽셀 값으로 결정될 수 있다.
또한, x=-1, y=-1에 대해 주변 크로마 픽셀 PU[x,y]가 가용하지 않은 것으로 마킹된다면, 부호화기 및 복호화기는 주변 루마 픽셀 PLM[x,y]도 가용하지 않은 것으로 판단할 수 있다. 반면, x=-1, y=-1에 대해 주변 크로마 픽셀 PU[x,y]가 가용한 것으로 마킹된다면, 부호화기 및 복호화기는 주변 루마 픽셀 PLM[x,y]도 가용한 것으로 판단할 수 있다.
이 때, 부호화기 및 복호화기는 [x,y]에 위치한 루마 픽셀 값을 PLM[x,y]에 할당할 수 있다. 따라서, 주변 루마 픽셀의 위치가 [-1,-1]이고 상기 주변 루마 픽셀이 가용한 것으로 결정된 경우, 상기 주변 루마 픽셀과 동일한 위치의 루마 픽셀의 픽셀 값이 상기 주변 루마 픽셀의 픽셀 값으로 결정될 수 있다.
상술한 실시예에서는 PU를 기반으로 PLM이 가용한지 여부를 체크하는 과정이 서술되고 있지만 본 발명은 이에 한정되는 것은 아니다. 예를 들어, PLM이 가용한지 여부는 PV를 기반으로 체크될 수도 있다.
다시 도 19a를 참조하면, 부호화기 및 복호화기는 조건 D가 만족되는지 여부를 판단할 수 있다(S1940). 여기서, 조건 D는 Pk[x,y], (x=-1, y=-1~Nk*2-1 및 x=0~Nk*2-1, y=-1) 중에서 적어도 하나의 픽셀이 가용하지 않음을 나타내는 조건이다.
조건 D가 만족되는 경우, 부호화기 및 복호화기는 Pk[x,y], (x=-1, y=-1~Nk*2-1 및 x=0~Nk*2-1, y=-1) 중에서 가용하지 않은 픽셀들에 대해 패딩 과정을 수행할 수 있다(S1950). 패딩 과정의 실시예들은 상술한 바 있으므로, 여기서는 이에 대한 구체적인 설명은 생략하기로 한다.
다시 도 19a를 참조하면, 부호화기 및 복호화기는 조건 A, 조건 B, 조건 C 및 조건 E가 만족되는지 여부를 판단할 수 있다(S1960). 여기서, 조건 E는 PLM[x,y], (x=-1, y=-1~NY*2-1 및 x=0~NY*2-1, y=-1) 중에서 적어도 하나의 픽셀이 가용하지 않음을 나타내는 조건이다.
조건 A, 조건 B, 조건 C 및 조건 E가 만족되는 경우, 부호화기 및 복호화기는 PLM[x,y], (x=-1, y=-1~NY*2-1 및 x=0~NY*2-1, y=-1) 중에서 가용하지 않은 픽셀들에 대해 패딩 과정을 수행할 수 있다(S1970). 패딩 과정의 구체적인 실시예들은 상술한 바 있으므로, 여기서는 이에 대한 구체적인 설명은 생략하기로 한다.
상술한 패딩 과정이 수행된 후, 부호화기 및 복호화기는 현재 루마 블록 및/또는 현재 크로마 블록에 대한 예측 및 복호화 과정을 수행함으로써, 현재 루마 블록에 대한 복원 블록 및/또는 현재 크로마 블록에 대한 복원 블록을 생성할 수 있다(S1980).
이 때, 현재 크로마 블록에 대해서는 LM 모드 예측이 적용될 수도 있다. LM 모드에서의 예측 과정은 도 18의 실시예에서와 유사하므로, 여기서는 이에 대한 구체적인 설명은 생략하기로 한다.

상술한 실시예들에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (16)

  1. 현재 루마 블록 내 픽셀 및 상기 현재 루마 블록 주변에 위치한 주변 루마 픽셀을 기반으로, 루마 참조 블록 내 픽셀 및 상기 루마 참조 블록 주변에 위치한 주변 루마 참조 픽셀을 포함한 루마 참조 정보를 생성하는 단계;
    상기 주변 루마 참조 픽셀 및 현재 크로마 블록 주변에 위치한 주변 크로마 픽셀들 중에서 상기 주변 루마 참조 픽셀에 대응되는 제1 주변 크로마 픽셀을 기반으로, 상기 현재 크로마 블록에 대한 예측 파라미터를 도출하는 단계; 및
    상기 루마 참조 블록 내 픽셀 및 상기 예측 파라미터를 기반으로, 상기 현재 크로마 블록 내 픽셀의 예측 값을 도출하는 단계를 포함하되,
    상기 루마 참조 정보 생성 단계에서는,
    상기 현재 크로마 블록 주변에 위치한 주변 크로마 픽셀들 중에서 상기 주변 루마 픽셀에 대응되는 제2 주변 크로마 픽셀이 가용한지 여부에 따라 상기 주변 루마 픽셀이 가용한지 여부를 결정하고, 상기 주변 루마 픽셀이 가용한지 여부에 따라 상기 주변 루마 픽셀의 픽셀 값을 결정하는 것을 특징으로 하는 인트라 예측 방법.
  2. 제 1항에 있어서,
    상기 루마 참조 정보 생성 단계에서는,
    상기 제2 주변 크로마 픽셀이 가용한 경우에 상기 주변 루마 픽셀이 가용한 것으로 결정하는 것을 특징으로 하는 인트라 예측 방법.
  3. 제 2항에 있어서,
    상기 제2 주변 크로마 픽셀의 위치가 [x, y]이고, 상기 x는 -1이고 상기 y는 0 내지 NU*2-1 중 하나의 값을 갖는 경우,
    상기 제2 주변 크로마 픽셀을 기반으로 가용한지 여부가 결정되는 상기 주변 루마 픽셀의 위치는 [x, 2y] 또는 [x, 2y+1]이고,
    상기 NU는 상기 현재 크로마 블록의 가로 길이 및 세로 길이를 나타내는 것을 특징으로 하는 인트라 예측 방법.
  4. 제 2항에 있어서,
    상기 제2 주변 크로마 픽셀의 위치가 [x, y]이고, 상기 y는 -1이고 상기 x는 0 내지 NU*2-1 중 하나의 값을 갖는 경우,
    상기 제2 주변 크로마 픽셀을 기반으로 가용한지 여부가 결정되는 상기 주변 루마 픽셀의 위치는 [2x, y] 또는 [2x+1, y]이고,
    상기 NU는 상기 현재 크로마 블록의 가로 길이 및 세로 길이를 나타내는 것을 특징으로 하는 인트라 예측 방법.
  5. 제 2항에 있어서,
    상기 제2 주변 크로마 픽셀의 위치가 [-1, -1]인 경우,
    상기 제2 주변 크로마 픽셀을 기반으로 가용한지 여부가 결정되는 상기 주변 루마 픽셀의 위치는 [-1, -1]인 것을 특징으로 하는 인트라 예측 방법.
  6. 제 1항에 있어서,
    상기 루마 참조 정보 생성 단계에서는,
    상기 주변 루마 픽셀이 가용하지 않은 것으로 결정된 경우, 상기 현재 루마 블록 주변에 위치한 픽셀들 중에서 가용한 픽셀의 픽셀 값을 상기 주변 루마 픽셀에 할당하는 것을 특징으로 하는 인트라 예측 방법.
  7. 제 1항에 있어서,
    상기 루마 참조 정보 생성 단계에서는,
    상기 주변 루마 픽셀이 상기 현재 루마 블록의 좌측에 인접하여 위치한 좌측 픽셀 라인상의 픽셀이고 상기 주변 루마 픽셀이 가용한 것으로 결정된 경우,
    상기 주변 루마 픽셀의 좌측에 인접하여 위치한 루마 픽셀의 픽셀 값이 상기 주변 루마 픽셀의 픽셀 값으로 결정되는 것을 특징으로 하는 인트라 예측 방법.
  8. 제 1항에 있어서,
    상기 루마 참조 정보 생성 단계에서는,
    상기 주변 루마 픽셀이 상기 현재 루마 블록의 상단에 인접하여 위치한 상단 픽셀 라인상의 픽셀이고 상기 주변 루마 픽셀이 가용한 것으로 결정된 경우,
    상기 주변 루마 픽셀과 동일한 위치의 루마 픽셀의 픽셀 값이 상기 주변 루마 픽셀의 픽셀 값으로 결정되는 것을 특징으로 하는 인트라 예측 방법.
  9. 현재 루마 블록 내 픽셀 및 상기 현재 루마 블록 주변에 위치한 주변 루마 픽셀을 기반으로, 루마 참조 블록 내 픽셀 및 상기 루마 참조 블록 주변에 위치한 주변 루마 참조 픽셀을 포함한 루마 참조 정보를 생성하는 단계;
    상기 주변 루마 참조 픽셀 및 현재 크로마 블록 주변에 위치한 주변 크로마 픽셀들 중에서 상기 주변 루마 참조 픽셀에 대응되는 제1 주변 크로마 픽셀을 기반으로, 상기 현재 크로마 블록에 대한 예측 파라미터를 도출하는 단계;
    상기 루마 참조 블록 내 픽셀 및 상기 예측 파라미터를 기반으로, 상기 현재 크로마 블록 내 픽셀의 예측 값을 도출함으로써, 상기 현재 크로마 블록에 대한 예측 블록을 생성하는 단계; 및
    상기 예측 블록을 기반으로 상기 현재 크로마 블록에 대한 복원 블록을 생성하는 단계를 포함하되,
    상기 루마 참조 정보 생성 단계에서는,
    상기 현재 크로마 블록 주변에 위치한 주변 크로마 픽셀들 중에서 상기 주변 루마 픽셀에 대응되는 제2 주변 크로마 픽셀이 가용한지 여부에 따라 상기 주변 루마 픽셀이 가용한지 여부를 결정하고, 상기 주변 루마 픽셀이 가용한지 여부에 따라 상기 주변 루마 픽셀의 픽셀 값을 결정하는 것을 특징으로 하는 영상 복호화 방법.
  10. 제 9항에 있어서,
    상기 루마 참조 정보 생성 단계에서는,
    상기 제2 주변 크로마 픽셀이 가용한 경우에 상기 주변 루마 픽셀이 가용한 것으로 결정하는 것을 특징으로 하는 영상 복호화 방법.
  11. 제 10항에 있어서,
    상기 제2 주변 크로마 픽셀의 위치가 [x, y]이고, 상기 x는 -1이고 상기 y는 0 내지 NU*2-1 중 하나의 값을 갖는 경우,
    상기 제2 주변 크로마 픽셀을 기반으로 가용한지 여부가 결정되는 상기 주변 루마 픽셀의 위치는 [x, 2y] 또는 [x, 2y+1]이고,
    상기 NU는 상기 현재 크로마 블록의 가로 길이 및 세로 길이를 나타내는 것을 특징으로 하는 영상 복호화 방법.
  12. 제 10항에 있어서,
    상기 제2 주변 크로마 픽셀의 위치가 [x, y]이고, 상기 y는 -1이고 상기 x는 0 내지 NU*2-1 중 하나의 값을 갖는 경우,
    상기 제2 주변 크로마 픽셀을 기반으로 가용한지 여부가 결정되는 상기 주변 루마 픽셀의 위치는 [2x, y] 또는 [2x+1, y]이고,
    상기 NU는 상기 현재 크로마 블록의 가로 길이 및 세로 길이를 나타내는 것을 특징으로 하는 영상 복호화 방법.
  13. 제 10항에 있어서,
    상기 제2 주변 크로마 픽셀의 위치가 [-1, -1]인 경우,
    상기 제2 주변 크로마 픽셀을 기반으로 가용한지 여부가 결정되는 상기 주변 루마 픽셀의 위치는 [-1, -1]인 것을 특징으로 하는 영상 복호화 방법.
  14. 제 9항에 있어서,
    상기 루마 참조 정보 생성 단계에서는,
    상기 주변 루마 픽셀이 가용하지 않은 것으로 결정된 경우, 상기 현재 루마 블록 주변에 위치한 픽셀들 중에서 가용한 픽셀의 픽셀 값을 상기 주변 루마 픽셀에 할당하는 것을 특징으로 하는 영상 복호화 방법.
  15. 제 9항에 있어서,
    상기 루마 참조 정보 생성 단계에서는,
    상기 주변 루마 픽셀이 상기 현재 루마 블록의 좌측에 인접하여 위치한 좌측 픽셀 라인상의 픽셀이고 상기 주변 루마 픽셀이 가용한 것으로 결정된 경우,
    상기 주변 루마 픽셀의 좌측에 인접하여 위치한 루마 픽셀의 픽셀 값이 상기 주변 루마 픽셀의 픽셀 값으로 결정되는 것을 특징으로 하는 영상 복호화 방법.
  16. 제 9항에 있어서,
    상기 루마 참조 정보 생성 단계에서는,
    상기 주변 루마 픽셀이 상기 현재 루마 블록의 상단에 인접하여 위치한 상단 픽셀 라인상의 픽셀이고 상기 주변 루마 픽셀이 가용한 것으로 결정된 경우,
    상기 주변 루마 픽셀과 동일한 위치의 루마 픽셀의 픽셀 값이 상기 주변 루마 픽셀의 픽셀 값으로 결정되는 것을 특징으로 하는 영상 복호화 방법.
PCT/KR2012/009369 2011-11-08 2012-11-08 인트라 예측 방법 및 그 장치 Ceased WO2013069972A1 (ko)

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
KR10-2011-0116096 2011-11-08
KR20110116096 2011-11-08
KR10-2011-0119992 2011-11-17
KR20110119992 2011-11-17
KR10-2012-0005946 2012-01-18
KR20120005946 2012-01-18
KR20120006657 2012-01-20
KR10-2012-0006657 2012-01-20
KR20120010004 2012-01-31
KR10-2012-0010004 2012-01-31
KR1020120125858A KR20130050900A (ko) 2011-11-08 2012-11-08 인트라 예측 방법 및 그 장치
KR10-2012-0125858 2012-11-08

Publications (1)

Publication Number Publication Date
WO2013069972A1 true WO2013069972A1 (ko) 2013-05-16

Family

ID=48290273

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/009369 Ceased WO2013069972A1 (ko) 2011-11-08 2012-11-08 인트라 예측 방법 및 그 장치

Country Status (1)

Country Link
WO (1) WO2013069972A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113273203A (zh) * 2018-12-22 2021-08-17 北京字节跳动网络技术有限公司 两步交叉分量预测模式
CN115334302A (zh) * 2018-10-05 2022-11-11 华为技术有限公司 帧内预测方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001095012A (ja) * 1999-09-21 2001-04-06 Sony Corp 撮像装置及びカラー画像信号の処理方法
KR20080004565A (ko) * 2005-04-01 2008-01-09 엘지전자 주식회사 스케일러블 비디오 신호 인코딩 및 디코딩 방법
KR20110052203A (ko) * 2009-11-12 2011-05-18 전자부품연구원 스케일러블 영상 코딩 방법 및 장치
KR20110112165A (ko) * 2010-04-05 2011-10-12 삼성전자주식회사 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법과 그 장치, 및 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법과 그 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001095012A (ja) * 1999-09-21 2001-04-06 Sony Corp 撮像装置及びカラー画像信号の処理方法
KR20080004565A (ko) * 2005-04-01 2008-01-09 엘지전자 주식회사 스케일러블 비디오 신호 인코딩 및 디코딩 방법
KR20110052203A (ko) * 2009-11-12 2011-05-18 전자부품연구원 스케일러블 영상 코딩 방법 및 장치
KR20110112165A (ko) * 2010-04-05 2011-10-12 삼성전자주식회사 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 부호화 방법과 그 장치, 및 컨텐트에 기반한 다이나믹 레인지 변환을 이용하는 비디오 복호화 방법과 그 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115334302A (zh) * 2018-10-05 2022-11-11 华为技术有限公司 帧内预测方法及设备
CN113273203A (zh) * 2018-12-22 2021-08-17 北京字节跳动网络技术有限公司 两步交叉分量预测模式
CN113273203B (zh) * 2018-12-22 2024-03-12 北京字节跳动网络技术有限公司 两步交叉分量预测模式
US12368875B2 (en) 2018-12-22 2025-07-22 Beijing Bytedance Network Technology Co., Ltd. Two-step cross-component prediction mode

Similar Documents

Publication Publication Date Title
KR102722425B1 (ko) 인트라 예측 방법 및 그 장치
JP7571227B2 (ja) 行列ベースのイントラ予測と二次変換コア選択を調和させるエンコーダ、デコーダ、および対応する方法
JP2020080568A (ja) 映像符号化/復号化方法及びその装置
JP7469475B2 (ja) 交差成分線形モデル予測のためのフィルタリングの方法及び装置
TW201830964A (zh) 基於在視訊寫碼中之一預測模式導出雙邊濾波器資訊
TW201818720A (zh) 使用解耦樹結構之視訊內寫碼
WO2020236038A1 (en) Method and apparatus of cross-component prediction
CN113545063A (zh) 使用线性模型进行帧内预测的方法及装置
CN113597761A (zh) 帧内预测方法和装置
US20210400276A1 (en) Quantization for video encoding and decoding
KR20210122854A (ko) 인터 예측을 위한 인코더, 디코더 및 대응하는 방법
EP4094441A2 (en) Sample fetching and padding for downsampling filtering
JP2022517488A (ja) エンコーダ、デコーダ、および対応するブロック解除フィルタ適応の方法
CN113491132A (zh) 视频图像解码、编码方法及装置
CN117596409A (zh) 用于处理视频数据的方法、装置以及计算机可读存储介质
KR20220127314A (ko) 적응적 루프 필터링을 위한 인코더, 디코더, 및 대응하는 방법
CN114830652B (zh) 用于方向性帧内预测的参考样本插值滤波的方法及装置
CN111263166A (zh) 一种视频图像预测方法及装置
WO2013069972A1 (ko) 인트라 예측 방법 및 그 장치
RU2827756C2 (ru) Кодер, декодер и соответствующие способы, использующие выделенный буфер ibc, и значение по умолчанию, обновляющее компонент яркости и цветности
RU2820638C2 (ru) Способ вычисления позиции опорной выборки целочисленной сетки для вычисления градиента граничной выборки блочного уровня в вычислении оптического потока с двойным предсказанием и коррекции с двойным предсказанием

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

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

Country of ref document: EP

Kind code of ref document: A1