Nothing Special   »   [go: up one dir, main page]

WO2013005966A2 - 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치 - Google Patents

비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치 Download PDF

Info

Publication number
WO2013005966A2
WO2013005966A2 PCT/KR2012/005251 KR2012005251W WO2013005966A2 WO 2013005966 A2 WO2013005966 A2 WO 2013005966A2 KR 2012005251 W KR2012005251 W KR 2012005251W WO 2013005966 A2 WO2013005966 A2 WO 2013005966A2
Authority
WO
WIPO (PCT)
Prior art keywords
information
depth
current block
lcu
prediction
Prior art date
Application number
PCT/KR2012/005251
Other languages
English (en)
French (fr)
Other versions
WO2013005966A3 (ko
Inventor
임성창
김휘용
이진호
최진수
김진웅
김재곤
이상용
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US14/130,071 priority Critical patent/US20140126645A1/en
Priority claimed from KR1020120071620A external-priority patent/KR20130004173A/ko
Publication of WO2013005966A2 publication Critical patent/WO2013005966A2/ko
Publication of WO2013005966A3 publication Critical patent/WO2013005966A3/ko
Priority to US15/060,051 priority patent/US9843803B2/en
Priority to US15/806,574 priority patent/US10250880B2/en
Priority to US16/263,314 priority patent/US10681349B2/en
Priority to US16/877,807 priority patent/US11190767B2/en
Priority to US17/510,560 priority patent/US11677942B2/en
Priority to US18/311,786 priority patent/US20230336722A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria

Definitions

  • the present invention relates to a technique for encoding / decoding video, and more particularly, to a method and apparatus for encoding / decoding a current CU using information of a neighboring coding unit (CU).
  • CU neighboring coding unit
  • the supporting performance is also diversified by device.
  • the network in which information is transmitted is also diversified not only in the external structure such as wired and wireless networks, but also in functions such as the type of information to be transmitted, the amount and speed of information.
  • the user selects a terminal and a network to be used according to a desired function, and the spectrum of terminals and networks provided by the enterprise to the user is also diversified.
  • Ultra High Definition which has four times the resolution of HDTV
  • HDTV High Definition
  • an inter prediction technique for predicting a pixel value included in a current picture from a previous and / or subsequent picture in time, another pixel included in the current picture using pixel information in the current picture
  • An intra prediction technique for predicting a value an entropy encoding technique for allocating a short sign to a high frequency symbol and a long code to a low frequency symbol may be used.
  • An object of the present invention is to provide a method and apparatus for using information of a neighboring LCU when encoding / decoding a current LCU.
  • the maximum coding depth of the current LCU may be predicted using the maximum depth information of the neighboring LCUs.
  • An object of the present invention is to provide a method and apparatus for using encoding information or cost of a lower layer when encoding / decoding an upper layer of a current LCU.
  • the number of reference picture candidates of a PU belonging to an upper depth CU may be limited using the encoding cost of the lower depth CU.
  • An embodiment of the present invention provides a video encoding method comprising: obtaining information of neighboring blocks, setting information on a current block based on the information of the neighboring blocks, and encoding a current block based on the set information
  • the current block and the neighboring blocks may be coding units (CUs).
  • the encoding information may be a maximum encoding depth
  • the maximum encoding depth for the current LCU may be set based on the deepest value among the maximum encoding depths of the neighboring LCUs.
  • the lower depth CU A reference picture of may be set as a reference picture of the upper depth CU.
  • the neighboring blocks of the partition size and the partition position corresponding to the current block among the neighboring blocks are included.
  • the motion information of the current block may be derived based on the motion information.
  • Another embodiment of the present invention is a video decoding method, comprising: obtaining information of neighboring blocks, deriving information about a current block based on the information of the neighboring blocks, and decoding the current block based on the set information; And the current block and the neighboring blocks may be coding units (CUs).
  • CUs coding units
  • the current block is a current LCU (Largest Coding Unit) to be decoded and the neighboring block is a neighboring LCU of the current LCU
  • Information to be used as the information can be selected.
  • the encoding information may be a maximum coding depth, and in the information derivation step for the current block, the maximum coding depth for the current LCU may be derived based on the deepest value among the maximum coding depths of the neighboring LCUs. .
  • the lower depth CU A reference image of may be used as a reference image of the upper depth CU.
  • the neighboring block of the partition size and the partition position corresponding to the current block among the neighboring blocks may be derived based on the motion information.
  • Another embodiment of the present invention is a video encoder, comprising: a predictor for predicting a current block, a quantizer for quantizing the predicted information, and an entropy encoder for entropy encoding the quantized information, wherein the predictor In FIG. 3, prediction of the current block is performed based on information of neighboring blocks of the current block, and the current block and the neighboring blocks may be coding units (CUs).
  • a predictor for predicting a current block
  • a quantizer for quantizing the predicted information
  • an entropy encoder for entropy encoding the quantized information
  • Another embodiment of the present invention is a video decoder, comprising: an entropy decoding unit for entropy decoding a received bitstream, an inverse quantizer for dequantizing entropy decoded information, and a prediction for a current block based on the dequantized information
  • the prediction unit may perform a prediction on the current block based on information of neighboring blocks of the current block, and the current block and the neighboring blocks may be coding units (CUs).
  • the information of the neighboring LCU is used, thereby reducing complexity and improving coding efficiency.
  • FIG. 1 is a block diagram illustrating a basic configuration according to an embodiment of an encoder.
  • FIG. 2 is a block diagram illustrating a basic configuration according to an embodiment of the decoder.
  • FIG. 3 is a flowchart schematically illustrating an example of an encoding / decoding method according to the present invention.
  • FIG. 4 is a diagram schematically illustrating an example of a method of deriving encoding information of a current LCU from encoding information of a neighboring LCU according to the present invention.
  • FIG. 5 is a diagram schematically illustrating a method of encoding / decoding an upper depth CU using encoding information of a lower depth CU according to the present invention.
  • FIG. 6 is a diagram schematically illustrating an example in which one LCU is divided.
  • FIG. 7 is a flowchart schematically illustrating another example of an encoding / decoding method according to the present invention.
  • FIG. 8 is a flowchart schematically illustrating a method of restricting a reference image of an upper depth CU using encoding information of the lower depth CU when encoding and decoding the upper depth CU according to the present invention.
  • FIG. 9 is a diagram schematically illustrating a method of using a correspondence relationship between an upper depth CU and a lower depth CU when performing prediction according to the present invention.
  • FIG. 1 is a block diagram illustrating a basic configuration according to an embodiment of an encoder.
  • the encoder 100 includes an inter predictor 110, an intra predictor 120, a switch 125, a subtractor 130, a transformer 135, a quantizer 140, and an entropy encoder. 150, an inverse quantization unit 160, an inverse transform unit 170, an adder 175, a filter unit 180, and a picture buffer 190.
  • the encoder 100 may perform encoding on an input image in an intra mode or an inter mode and output a bitstream.
  • the switch 125 In the intra mode, the switch 125 is switched to intra, and in the inter mode, the switch 125 is switched to inter.
  • the encoder 100 may generate a prediction block for an input block of the input image and then encode a difference between the input block and the prediction block.
  • the intra predictor 120 may generate a predictive block by performing spatial prediction using pixel values of blocks that are already encoded around the current block.
  • the inter prediction unit 110 may obtain a motion vector by searching for a region corresponding to an input block in a reference image stored in the picture buffer 190 during a motion prediction process.
  • the inter prediction unit 110 may generate a prediction block by performing motion compensation using the motion vector and the reference image stored in the picture buffer 190.
  • the subtractor 130 may generate a residual block by the difference between the input block and the generated prediction block.
  • the transformer 135 may perform a transform on the residual block and output a transform coefficient.
  • 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 bitstream by entropy encoding the quantized coefficients according to a probability distribution based on the values calculated by the quantizer 140 or the encoding parameter values calculated in the encoding process. Can be.
  • the quantized coefficients may be 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 through the adder 175 and a reconstruction block can be 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 determine whether to apply ALF when SAO is applied.
  • the reconstructed block that has passed through the filter unit 180 may be stored in the picture buffer 190.
  • FIG. 2 is a block diagram illustrating a basic configuration according to an embodiment of the decoder.
  • the decoder 200 includes an entropy decoding unit 210, an inverse quantization unit 220, an inverse transform unit 230, an intra prediction unit 240, an inter prediction unit 250, and a filter unit 260. And a picture buffer 270.
  • the decoder 200 may receive the bitstream output from the encoder, 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 decoder 200 may obtain a residual block reconstructed from the received bitstream, generate a prediction block, and then add the reconstructed residual block and the prediction block to generate a reconstructed block, that is, a reconstruction block.
  • the entropy decoding unit 210 entropy decodes the input bitstream according to the probability distribution. By entropy decoding, quantized (transform) coefficients can be generated.
  • 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 reconstructed residual block may be generated.
  • the intra predictor 240 may generate a predictive block by performing spatial prediction using pixel values of blocks that are already encoded around the current block.
  • the inter predictor 250 may generate a predictive block by performing motion compensation using a motion vector and a reference image stored in the picture buffer 270.
  • the reconstructed residual block and the prediction block are added through the adder 255, and the added block passes through the filter unit 260.
  • the filter unit 260 may apply at least one of the deblocking filter, SAO, and ALF to the reconstructed block or the reconstructed picture.
  • the filter unit 260 may determine whether to apply ALF when SAO is applied.
  • the filter unit 260 outputs the reconstructed image, that is, the reconstructed image.
  • the reconstructed image may be stored in the picture buffer 270 to be used for inter prediction.
  • a coding unit which is a hierarchical coding unit, may be defined without using a macroblock of a fixed size, and the encoding / decoding may be performed by variably setting the size of the CU.
  • the largest size CU (largest CU) and the smallest size CU (SCU) can be defined.
  • the LCU may be defined as a 64x64 pixel size
  • the SCU may be defined as an 8x8 pixel size.
  • the image may be hierarchically encoded by defining a CU having various sizes between the LCU and the SCU.
  • CUs of various sizes have depth information.
  • the depth of the LCU is 0 and the depth of the SCU is D
  • the CU between the LCU and the SCU has a depth of 0 to D.
  • the coded bitstream is information for signaling the size of a CU and may include split_coding_unit_flag for a CU of each size.
  • split_coding_unit_flag is information indicating whether the current CU is split into a smaller size CU, that is, a CU of greater depth. At this time, the current CU means a CU to be encoded or decoded.
  • the current LCU may be encoded using encoding information of a neighboring LCU.
  • the maximum coding depth of the current LCU may be predicted using the maximum depth information of adjacent LCU blocks.
  • the current LCU means an LCU to be encoded or decoded.
  • a CU of an upper layer may be encoded by using information of a lower layer.
  • the lower layer means an encoding / decoding object of a lower depth (eg, CU, PU, pixels, etc.)
  • the upper layer means an encoding / decoding object (eg, CU, PU, pixels, etc.) of an upper depth.
  • the depth close to the LCU side is referred to as the lower depth, and the depth close to the SCU side is different as described above. It is called depth.
  • the depth d is lower than the depth d + 1 (0 ⁇ d ⁇ D).
  • the number of reference picture candidates of a prediction unit (PU) belonging to an upper CU may be limited by using encoding information of a lower depth CU.
  • the encoder determines the optimal CU size and coding method by investigating the cost for each coding method applicable to each CU having a possible size. Since all possible coding methods must be considered for each CU size, high computational complexity is required.
  • the complexity may be reduced and the coding efficiency may be increased.
  • a method of removing redundancy between the current LCU and the neighbor LCU a method of using information of the neighbor LCU in the current LCU may be considered.
  • the redundancy in the current LCU may be removed to reduce complexity and increase coding efficiency.
  • FIG. 3 is a flowchart schematically illustrating an example of an encoding / decoding method according to the present invention.
  • a method of using encoding information of neighboring LCUs in encoding / decoding of a current LCU is described.
  • the method described in the example of FIG. 3 may be performed in separate units in the encoder / decoder shown in FIGS. 1 and 2, but for the convenience of description, it is described here that the encoder and the decoder perform each step.
  • the encoder / decoder specifies the positions of neighboring LCUs of the current LCU (S310). For example, if the number of available LCUs located in the vicinity of the current LCU is n, the encoder / decoder obtains the coordinates of n neighbor LCUs.
  • the coordinate specifying the position of the surrounding LCUs may be the position (x, y) of the upper left pixel of each LCU.
  • the encoder / decoder acquires encoding information of the neighbor LCUs (S320).
  • the encoder / decoder obtains encoding information of n neighbor LCUs specified in step S310.
  • the obtained encoding information includes information on splitting of a CU (split_coding_unit_flag), an LCU maximum depth (LCU_max_depth), an LCU partitioning map (LCU_split_map), an LCU prediction type (LCU_Pred_Type), and an LCU partition size (LCU_Part_Size).
  • the LCU prediction type is information indicating whether the prediction type applied is inter prediction or intra prediction. If inter prediction is applied, it may be information indicating whether a skip mode is applied, a merge mode is applied, a method of using an MVP is applied, and if intra prediction is applied, information indicating what an intra prediction mode is.
  • skip_flag indicating skip mode application
  • ref_idx indicating reference picture index
  • inter_pred_idc indicating inter prediction method
  • mvp_idx indicating motion vector predictor
  • merge_flag indicating whether merge mode is applied
  • merge target indicating merge_idx
  • prev_intra_luma_pred_flag indicating the estimation of the intra prediction mode of the luma component from the intra prediction mode of the neighboring block
  • mpm_idx indicating the most frequently occurring intra mode
  • intra_mode indicating the intra prediction mode
  • the LCU partition size is information indicating the partition type of the LCU in detail, and may indicate whether the partition of the LCU is 2Nx2N, 2NxN, or Nx2N (where N is a predetermined number of pixels).
  • the encoder / decoder encodes / decodes the current LCU based on encoding information obtained from neighboring LCUs (S330).
  • the encoder / decoder may predict the maximum depth of the current LCU using the depth information of the surrounding LCU.
  • the size of the LCU can be fixedly defined within a predetermined range.
  • the LCU size may be defined as having a size of 8x8 pixels, 6x16 pixels, 32x32 pixels, 64x64 pixels, and the like within the range of 8x8 pixels to 64x64 pixels.
  • the LCU size may be variably determined so that it can be defined within a larger range.
  • the LCU size may be defined as having a size of 8x8 pixels, 6x16 pixels, 32x32 pixels, 64x64 pixels, 128x128 pixels, etc., in the range of 8x8 pixels to 128x128 pixels.
  • the LCU size and the SCU size used for encoding may be determined at the encoder and signaled to the decoder.
  • the SCU size may be signaled as log2_min_coding_block_size_minus3.
  • the LCU size may be signaled as a difference value from the SCU size, such as log2_diff_max_min_coding_block_size. If the decoder signals the difference between the LCU size and the SCU size, the decoder may derive the LCU size using the received SCU size.
  • the SCU size and the LCU size may be signaled through a Sequence Parameter Set (SPS) through which encoding information of a corresponding sequence is transmitted.
  • SPS Sequence Parameter Set
  • FIG. 4 is a diagram schematically illustrating an example of a method of deriving encoding information of a current LCU from encoding information of a neighboring LCU according to the present invention.
  • FIG. 4 four LCUs, an A_LCU 410, a B_LCU 420, a C_LCU 430, and a D_LCU 440 exist around the LCU 400 as an example.
  • the maximum coding depth of the current LCU may be predicted using the maximum depth information of the A_LCU 410, the B_LCU 420, the C_LCU 430, and the D_LCU 440.
  • Equation 1 is an example of a method of predicting the maximum coding depth of the current LCU from the surrounding LCUs (A_LCU, B_LCU, C_LCU, D_LCU) according to the present invention.
  • D min (3, max (A_max_depth, B_max_depth, C_max_depth, D_max_depth) + X)
  • Equation 1 D is the maximum depth used for encoding the current LCU, X is information on the difference between the LCU size and the SCU size, log2_diff_max_min_coding_block_size-1.
  • A_max_depth is the maximum depth of A_LCU
  • B_max_depth is the maximum depth of B_LCU
  • C_max_depth is the maximum depth of C_LCU
  • D_max_depth is the maximum depth of D_LCU.
  • the size of the LCU is 64x64 pixels
  • the size of the SCU is 8x8 pixels
  • the prediction for the NxN pixel in inter prediction or intra prediction is performed only for the SCU will be described as an example.
  • the encoder may determine the optimal CU size by performing ratio distortion optimization (RDO) for each size CU from depth 0 (64x64 pixels) to depth 3 (8x8 pixels).
  • RDO ratio distortion optimization
  • the maximum depth max_depth that the LCU can have is the depth, that is, the depth 3, for the 8x8 pixel CU (SCU).
  • the maximum depth that can be applied to the encoding of the current LCU may be determined separately from the depth of the SCU. If D is the maximum depth applied to the current LCU encoding, D may be determined as in Equation 2 below.
  • Equation 2 if all four LCUs (A_LCU, B_LCU, C_LCU, and D_LCU) have a depth of 0, that is, if all four LCUs are encoded with a size of 64x64 pixels without being split, this example will be described.
  • the D value which is the maximum depth (max_cu_depth) of the current LCU, becomes 2. Therefore, the encoder performs RDO only for CUs of 64x64 pixels, 32x32 pixels, and 16x16 pixels, and does not perform RDO for CUs (SCUs) of 8x8 pixels.
  • NxN prediction may be performed only for the smallest block to which the RDO is applied. For example, as in the above example, when the maximum depth of the current LCU is 2, the SCU is a CU of 8x8 pixel size, but the CU of 8x8 pixel size is excluded from the RDO target, so NxN prediction is performed on a block of 16x16 pixel size. You may.
  • the encoder / decoder may derive / estimate the split_coding_unit_flag value for the current LCU based on the split_coding_unit_flag value, which is split information of the neighbor LCU.
  • the split_coding_unit_flag value is 0, this indicates that the CU is no longer split, and if the split_coding_unit_flag value is 1, this indicates that the CU is split into four sub-CUs.
  • the encoder / decoder reads split information (split_cofing_unit_flag) of neighbor LCUs A_LCU 410, B_LCU 420, C_LCU 430, and D_LCU 440 before encoding / decoding the current LCU 400. You can check it.
  • the encoder / decoder checks the split_coding_unit_flag values of four LCUs around the current LCU, and if all the split_coding_unit_flags have a value of 0, the split_coding_unit_flag of the current LCU may also be set to zero. Since it can be derived from the neighboring LCU without transmitting the split_coding_unit_flag for the current LCU, one bit to be used for the transmission of the split_coding_unit_flag can be saved, and the value of the split_coding_unit_flag of the current LCU is derived to 0, so that the CU having a smaller size than the current LCU By not coding for, the complexity may be reduced.
  • the encoder / decoder may check split_coding_unit_flag values of four LCUs around the current LCU, and if at least one split_coding_unit_flag has a value of 1, the split_coding_unit_flag value of the current LCU may be set to 1. Even in this case, since it is possible to derive from the neighboring LCU without transmitting the split_coding_unit_flag for the current LCU, one bit to be used for the transmission of the split_coding_unit_flag can be saved, and the value of the split_coding_unit_flag of the current LCU is derived to 1, so that the current LCU is derived. Except, if only coding for a partitioned small size CU, the complexity may also be reduced.
  • splitting_coding_unit_flag information about splitting
  • Table 1 shows an example of syntax when deriving the split information of the current LCU using the split information of the neighboring LCU.
  • Table 1 is an example of a case where the mode of entropy encoding is CABAC (Context-based Adaptive Binary Arithmetic Coding).
  • CABAC Context-based Adaptive Binary Arithmetic Coding
  • the syntax of the current LCU may be adaptively entropy encoded according to encoding information of a neighboring LCU.
  • a context index delta value of a syntax for a current LCU may be set through syntax counting of a neighboring LCU.
  • the context index delta value may be set as in Equation 3.
  • Examples of the context that can be set using Equation 3 for the current LCU include the merge index (merge_idx), the motion vector predictor index (mvp_idx), and the residual prediction mode (rem_intra_luma_pred_mode) except for the Most Probable Mode (MPM) in the intra prediction mode. Etc.
  • the value of the Most Probable Symbol is 0 when encoding split information (split_coding_unit_flag) for a CU having a depth (max_cu_depth-1) lower than 1 by the maximum depth. Can be set.
  • CAVLC Context based Adaptive Variable Length Coding
  • syntax counting of neighboring LCUs is reflected in an adaptive sorting table of a current LCU or a variable length code. code) can be used to select a table. That is, the probability of the neighbor LCU syntax may be reflected in the encoding / decoding of the current LCU by using the correlation between the encoding information of the current LCU and the encoding information of the neighbor LCU.
  • a table (cu_split_pred_part_mode table) defining partition information and prediction mode information for a CU having a depth (max_cu_depth-1) lower than 1 by the maximum depth is shown in Table 2 below. It can be used by modifying to Table 3 from.
  • cu_split_pred_part_mode indicating a split and prediction mode may be adaptively allocated according to the occurrence probability of other modes.
  • an upper depth CU using encoding information of a lower depth CU of the current LCU may be considered.
  • FIG. 5 is a diagram schematically illustrating a method of encoding / decoding an upper depth CU using encoding information of a lower depth CU according to the present invention.
  • the CUs 520, 530, 540, and 550 of upper depths are encoded.
  • the encoding information of the upper depth CU 510 may be taken and used for decoding.
  • FIG. 6 is a diagram schematically illustrating an example in which one LCU is divided.
  • an LCU 610 of 64 ⁇ 64 pixels may be divided into CUs having various sizes and encoded.
  • encoding may be performed for each CU having an optimal size, thereby increasing encoding efficiency, but increasing complexity. That is, the encoder determines the optimal CU size and determines the PU encoding mode in each CU size. To this end, since the encoder must calculate the rate-distortion (RD) cost for each coding mode possible for each CU size, considerable complexity is required. In this case, as described above, the complexity can be greatly reduced by using the correlation between the encoding information for the lower depth CU and the encoding information for the higher depth CU.
  • RD rate-distortion
  • FIG. 7 is a flowchart schematically illustrating another example of an encoding / decoding method according to the present invention.
  • a method of using encoding information of a lower layer when encoding / decoding an upper layer of a current LCU is described.
  • the method described in the example of FIG. 7 may be performed in a separate unit in the encoder / decoder shown in FIGS. 1 and 2, but for the convenience of description, it is described here that the encoder and the decoder perform each step.
  • the encoder / decoder obtains encoding information about a lower depth CU of the current LCU (S710).
  • the encoder / decoder may check and obtain encoding information of the available lower depth CU.
  • the obtained encoding information includes information on splitting of a CU (split_coding_unit_flag), an LCU maximum depth (LCU_max_depth), an LCU partitioning map (LCU_split_map), an LCU prediction type (LCU_Pred_Type), and an LCU partition size (LCU_Part_Size).
  • the LCU prediction type is information indicating whether the prediction type applied is inter prediction or intra prediction. If inter prediction is applied, it may be information indicating whether a skip mode is applied, a merge mode is applied, a method of using an MVP is applied, and if intra prediction is applied, information indicating what an intra prediction mode is.
  • skip_flag indicating skip mode application
  • ref_idx indicating reference picture index
  • inter_pred_idc indicating inter prediction method
  • mvp_idx indicating motion vector predictor
  • merge_flag indicating whether merge mode is applied
  • merge target indicating merge_idx
  • prev_intra_luma_pred_flag indicating the estimation of the intra prediction mode of the luma component from the intra prediction mode of the neighboring block
  • mpm_idx indicating the most frequently occurring intra mode
  • intra_mode indicating the intra prediction mode
  • the LCU partition size is information indicating the partition type of the LCU in detail, and may indicate whether the partition of the LCU is 2Nx2N, 2NxN, or Nx2N (where N is a predetermined number of pixels).
  • the encoder / decoder predicts encoding information of the higher depth CU based on the obtained encoding information of the lower depth CU (S720). For example, when inter prediction is performed on a PU belonging to an upper depth CU, reference image information and / or a motion vector of a PU belonging to an upper depth CU may be predicted from encoding information of the lower depth CU.
  • the encoder / decoder may perform encoding / decoding on the higher depth CU based on the predicted encoding information (S730).
  • the encoder / decoder may predict the encoding information of the higher depth CU based on the encoding information of the lower depth CU.
  • the encoder / decoder may limit the reference picture used for prediction of the PU in the upper depth CU to a specific range when encoding / decoding the upper depth CU based on the encoding information of the lower depth CU.
  • FIG. 8 is a flowchart schematically illustrating a method of restricting a reference image of an upper depth CU using encoding information of the lower depth CU when encoding and decoding the upper depth CU according to the present invention.
  • the prediction method described with reference to FIG. 8 may be performed by a predetermined unit (for example, an inter prediction unit) in the encoder / decoder described with reference to FIGS. 1 and 2, but for the convenience of description, an encoder or a decoder ('encoder / decoder) is described here. It will be described as performing in the "
  • a predetermined unit for example, an inter prediction unit
  • the encoder / decoder acquires information of the lower depth CU (S800). For example, the encoder / decoder obtains information of whether the lower depth CU is inter predicted or intra predicted. Further, the encoder / decoder may acquire information such as whether a skip mode is applied if the lower depth CU is inter predicted, whether a merge mode is applied or uses an MVP, and what is an intra prediction mode if intra predicted.
  • the encoder may signal the obtained information to the decoder, and the decoder may parse and acquire the bitstream received from the encoder.
  • the encoder / decoder determines whether the lower depth CU is inter predicted based on the obtained information (S805).
  • the encoder / decoder inter-predicts the upper depth CU that is the current block when the lower depth CU is not inter predicted (in case of intra prediction), and uses all reference images for the upper depth CU in L0 and L1 prediction. To perform (S810).
  • the encoder / decoder determines whether a skip mode or a merge mode is applied when the lower depth CU is inter predicted (S820).
  • the encoder / decoder may check information such as a merge index (S825).
  • the merge index indicates which block motion information is to be used as the motion information of the current block when the skip mode or the merge mode is applied.
  • the encoder / decoder determines whether the lower depth CU is L0 predicted, L1 predicted, or pair predicted (S830).
  • motion compensation may be performed in units of blocks. For each block, motion compensation is performed by applying forward prediction (L0 prediction) and backward prediction (L1 prediction).
  • L0 is reference picture list 0
  • L1 is reference picture list 1.
  • Predictions applied to the prediction target block may be divided into a case of encoding using only L0 prediction or L1 prediction (single prediction) and a case of encoding using both L0 prediction and L1 prediction (pair prediction).
  • a frame or block using only L0 prediction or L1 prediction is called a P frame or P block, and a frame or block using both L0 prediction and L1 prediction is called a B-Predictive Frame or B block. .
  • the encoder / decoder checks reference images of L0 and L1 (S835).
  • the encoder / decoder checks the reference picture of L0 (S840).
  • the encoder / decoder checks the reference picture of L1 (S845).
  • the encoder / decoder may limit the reference picture for the higher depth CU based on the information checked in operation S835, S840, or S845.
  • the inter-layer for the upper depth CU is used by using the image corresponding to the reference image of the lower depth CU among the reference image candidates of the upper depth CU as the reference image. You can make predictions.
  • inter prediction on the upper depth CU may be performed using all reference image candidates belonging to the prediction direction of the upper depth CU.
  • the L0 direction / L0 direction pair prediction when the L0 direction / L0 direction pair prediction is applied to the lower depth CU, when the L0 prediction is performed on the upper depth CU that is the current block, it was used as the reference image of the lower depth CU among the reference image candidates of the upper depth CU.
  • the image is used as the reference image and L1 prediction is performed for the upper depth CU, all reference image candidates of the upper depth CU are used (S850).
  • the reference image is used as the reference image in the L0 prediction of the lower depth CU among the reference image candidates of the upper depth CU.
  • the image used as the reference image and L1 prediction is performed on the upper depth CU the image used as the reference image in the L1 prediction of the lower depth CU among the reference image candidates of the upper depth CU is used as the reference image (S855).
  • the L1 / L1 bidirectional prediction is applied to the lower depth CU
  • L0 prediction is performed on the upper depth CU that is the current block
  • all reference image candidates of the upper depth CU are used, and L1 prediction is performed on the upper depth CU.
  • the image used as the reference image of the lower depth CU is used as the reference image (S860).
  • the L1 prediction is applied to the lower depth CU
  • the L1 prediction is performed on the upper depth CU that is the current block
  • the image used as the reference image of the lower depth CU among the reference image candidates of the upper depth CU is used as the reference image.
  • all reference picture candidates of the higher depth CU are used (S870).
  • a merge candidate or a skip candidate of the upper depth CU may be applied to the lower depth CU. Prediction may be performed using a candidate indicated by the merge index as a skip candidate or a merge candidate for a higher depth CU.
  • the skip candidate refers to a block having motion information or corresponding motion information used as motion information of the current block when the skip mode is applied.
  • the merge candidate refers to a block having motion information or corresponding motion information used as motion information of the current block when the merge mode is applied.
  • the prediction directions of the lower depth CU and the upper depth CU are the same.
  • prediction may be performed using a candidate indicated by the merge index of the lower depth CU among the merge candidate or the skip candidate of the upper depth CU as the skip candidate or the merge candidate for the higher depth CU.
  • a CU of even-numbered depths may be used by using only the information of the corresponding depth.
  • the prediction may be performed, and prediction of CUs having an odd depth (eg, depth 1 and depth 3) may be performed using encoding information of a lower depth CU. That is, prediction of a CU having a depth of 1 may be performed using encoding information of a CU having a depth of 0, and prediction of a CU having a depth of 3 may be performed using encoding information of a CU having a depth of 2.
  • the partition size or the partition position of the lower depth CU may be checked to use motion information of the lower depth CU corresponding to the upper depth CU.
  • FIG. 9 is a diagram schematically illustrating a method of using a correspondence relationship between an upper depth CU and a lower depth CU when performing prediction according to the present invention.
  • a partition size and a partition position are used as a corresponding relationship between an upper depth CU and a lower depth CU is described as an example.
  • the CUs 945, 0 and 1, among the CUs 940 having the upper depth n + 1, 945, 950 may use the motion information of the lower depth CU 905 of the corresponding position as the motion information of the upper depth CUs 945 and 950 or the higher depth CUs based on the motion information of the lower depth CU 905.
  • the motion information of 945 and 950 may be derived.
  • the CUs 955 and 960 of 2 and 3 use the motion information of the lower depth CU 910 of the corresponding position as the motion information of the upper depth CUs 955 and 960 or the lower depth CU 910.
  • the motion information of the upper depth CUs 955 and 960 may be derived based on the motion information about.
  • the CUs 975 of 0 and 2 of the CUs 970 of the upper depth CU having depth n + 1 985 uses the motion information of the lower depth CU 925 as the motion information of the upper depth CUs 975 and 985 or the higher depth CUs 975 and 985 based on the motion information of the lower depth CU 925.
  • Motion information can be derived.
  • the CUs 980 and 990 of 1 and 3 use the motion information of the lower depth CU 930 at the corresponding position as the motion information of the upper depth CUs 980 and 990 or the lower depth CU 930.
  • the motion information of the upper depth CUs 980 and 990 may be derived based on the motion information.
  • the CU has been described as an example of each processing unit of encoding / decoding, but this is for convenience of description and the present invention is not limited thereto.
  • the descriptions of FIGS. 3 to 9 may be equally applied to a PU and a TU instead of the CU.

Landscapes

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

Abstract

본 발명은 비디오 인코딩/디코디 방법과 장치에 관한 것으로서, 본 발명에 따른 비디오 부호화 방법은 주변 블록들의 정보를 획득하는 단계, 상기 주변 블록들의 정보를 기반으로 현재 블록에 대한 정보를 설정하는 단계 및 상기 설정된 정보를 기반으로 현재 블록을 부호화하는 단계를 포함하며, 상기 현재 블록 및 상기 주변 블록들은 CU(coding Unit)일 수 있다.

Description

비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치
본 발명은 비디오 부호화/복호화 하는 기술에 관한 것으로서, 더 구체적으로는 주변 CU(Coding Unit)의 정보를 이용하여 현재 CU를 부호화/복호화하는 방법 및 장치에 관한 것이다.
최근 멀티미디어(multimedia) 환경이 구축되면서, 다양한 단말과 네트워크가 이용되고 있으며, 이에 따른 사용자 요구도 다변화하고 있다.
예컨대, 단말의 성능과 컴퓨팅 능력(computing ability)가 다양해짐에 따라서 지원하는 성능도 기기별로 다양해지고 있다. 또한 정보가 전송되는 네트워크 역시 유무선 네트워크와 같은 외형적인 구조뿐만 아니라, 전송하는 정보의 형태, 정보량과 속도 등 기능별로도 다양해지고 있다. 사용자는 원하는 기능에 따라서 사용할 단말과 네트워크를 선택하며, 사용자에게 기업이 제공하는 단말과 네트워크의 스펙트럼도 다양해지고 있다.
최근에는 HD(High Definition) 해상도를 가지는 방송이 국내뿐만 아니라 세계적으로 확대되어 서비스되면서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있다. 이에 따라서 많은 영상 서비스 관련 기관들이 차세대 영상 기기에 대한 개발에 박차를 가하고 있다.
또한 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 보다 높은 해상도, 고화질의 영상을 압축하여 처리하는 기술에 대한 요구는 더 높아지고 있다.
영상을 압축하여 처리하기 위해, 시간적으로 이전 및/또는 이후의 픽처로부터 현재 픽처에 포함된 화소값을 예측하는 인터(inter) 예측 기술, 현재 픽처 내의 화소 정보를 이용하여 현재 픽처에 포함된 다른 화소값을 예측하는 인트라(intra) 예측 기술, 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 인코딩 기술 등이 사용될 수 있다.
고해상도, 고화질 영상 서비스에 대한 수요가 증가함에 따라서, 전송되는 정보량 혹은 처리되는 정보량을 적정하게 제어하거나 최소화하는 방법으로서, 주변 블록의 정보를 이용하는 방법이 필요하다.
본 발명은 현재 LCU를 부호화/복호화 할 때 주변 LCU의 정보를 이용하는 방법 및 장치를 제공하는 것을 목적으로 한다. 예컨대, 본 발명에 의하면, 주변 LCU의 최대 깊이 정보를 이용하여 현재 LCU의 최대 부호화 깊이를 예측할 수 있다.
본 발명은 현재 LCU의 상위 계층을 부호화/복호화 할 때 하위 계층의 부호화 정보 혹은 비용을 이용하는 방법 및 장치를 제공하는 것을 목적으로 한다. 예컨대, 본 발명에 의하면, 인터 예측을 이용한 부호화의 경우에, 하위 깊이 CU의 부호화 비용을 이용하여 상위 깊이 CU에 속하는 PU의 참조 영상 후보 개수를 제한할 수 있다.
본 발명의 일 실시 형태는 비디오 부호화 방법으로서, 주변 블록들의 정보를 획득하는 단계, 상기 주변 블록들의 정보를 기반으로 현재 블록에 대한 정보를 설정하는 단계 및 상기 설정된 정보를 기반으로 현재 블록을 부호화하는 단계를 포함하며, 상기 현재 블록 및 상기 주변 블록들은 CU(coding Unit)일 수 있다.
상기 현재 블록이 부호화 대상인 현재 LCU(Largest Coding Unit)이고 상기 주변 블록이 상기 현재 LCU의 주변 LCU인 경우에, 상기 현재 블록에 대한 정보 설정 단계에서는, 상기 주변 LCU들의 부호화 정보 중에서 상기 현재 LCU에 대한 정보로서 이용될 정보를 선택할 수 있다. 여기서, 상기 부호화 정보는 최대 부호화 깊이일 수 있으며, 상기 현재 블록에 대한 정보 설정 단계에서는, 상기 주변 LCU들의 최대 부호화 깊이 중 가장 깊은 값을 기반으로 상기 현재 LCU에 대한 최대 부호화 깊이를 설정할 수 있다.
상기 현재 블록이 상위 깊이 CU이고, 상기 주변 블록이 하위 깊이 CU인 경우에, 상기 현재 블록에 대한 정보 설정 단계에서는, 상기 하위 깊이 CU와 상기 상위 깊이 CU의 예측 방향이 동일하면, 상기 하위 깊이 CU의 참조 영상을 상기 상위 깊이 CU의 참조 영상으로 설정할 수 있다.
상기 현재 블록이 상위 깊이 CU이고, 상기 주변 블록들이 하위 깊이 CU인 경우에, 상기 현재 블록에 대한 정보 설정 단계에서는, 상기 주변 블록들 중 상기 현재 블록에 대응하는 파티션 사이즈 및 파티션 위치의 주변 블록에 대한 움직임 정보를 기반으로 상기 현재 블록에 대한 움직임 정보를 유도할 수 있다.
본 발명의 다른 실시 형태는 비디오 복호화 방법으로서, 주변 블록들의 정보를 획득하는 단계, 상기 주변 블록들의 정보를 기반으로 현재 블록에 대한 정보를 유도하는 단계 및 상기 설정된 정보를 기반으로 현재 블록을 복호화하는 단계를 포함하며, 상기 현재 블록 및 상기 주변 블록들은 CU(coding Unit)일 수 있다.
상기 현재 블록이 복호화 대상인 현재 LCU(Largest Coding Unit)이고, 상기 주변 블록이 상기 현재 LCU의 주변 LCU인 경우에, 상기 현재 블록에 대한 정보 유도 단계에서는, 상기 주변 LCU들의 부호화 정보 중에서 상기 현재 LCU에 대한 정보로서 이용될 정보를 선택할 수 있다. 상기 부호화 정보는 최대 부호화 깊이일 수 있으며, 이때, 상기 현재 블록에 대한 정보 유도 단계에서는, 상기 주변 LCU들의 최대 부호화 깊이 중 가장 깊은 값을 기반으로 상기 현재 LCU에 대한 최대 부호화 깊이를 유도할 수 있다.
상기 현재 블록이 상위 깊이 CU이고, 상기 주변 블록이 하위 깊이 CU인 경우에, 상기 현재 블록에 대한 정보 유도 단계에서는, 상기 하위 깊이 CU와 상기 상위 깊이 CU의 예측 방향이 동일하면, 상기 하위 깊이 CU의 참조 영상을 상기 상위 깊이 CU의 참조 영상으로 이용할 수 있다.
상기 현재 블록이 상위 깊이 CU이고, 상기 주변 블록들이 하위 깊이 CU인 경우에, 상기 현재 블록에 대한 정보 유도 단계에서는, 상기 주변 블록들 중 상기 현재 블록에 대응하는 파티션 사이즈 및 파티션 위치의 주변 블록에 대한 움직임 정보를 기반으로 상기 현재 블록에 대한 움직임 정보를 유도할 수 있다.
본 발명의 또 다른 실시 형태는 비디오 부호화기로서, 현재 블록에 대한 예측을 수행하는 예측부, 상기 예측된 정보를 양자화하는 양자화부 및 상기 양자화된 정보를 엔트로피 인코딩하는 엔트로피 인코딩부를 포함하며, 상기 예측부에서는 상기 현재 블록의 주변 블록들의 정보를 기반으로 상기 현재 블록에 대한 예측을 수행하고, 상기 현재 블록 및 상기 주변 블록들은 CU(Coding Unit)들일 수 있다.
본 발명의 또 다른 실시 형태는 비디오 복호화기로서, 수신한 비트스트림을 엔트로피 디코딩하는 엔트로피 디코딩부, 엔트로피 디코딩된 정보를 역양자화하는 역양자화부 및 상기 역양자화된 정보를 기반으로 현재 블록에 대한 예측을 수행하는 예측부를 포함하며, 상기 예측부에서는 상기 현재 블록의 주변 블록들의 정보를 기반으로 상기 현재 블록에 대한 예측을 수행하고, 상기 현재 블록 및 상기 주변 블록들은 CU(Coding Unit)들일 수 있다.
본 발명에 의하면 현재 LCU를 부호화/복호화 할 때 주변 LCU의 정보를 이용함으로써, 복잡도를 감소시키고 부호화 효율을 높일 수 있다.
본 발명에 의하면 현재 LCU의 상위 계층을 부호화/복호화 할 때 하위 계층의 부호화 정보 혹은 비용을 이용함으로써, 복잡도를 감소시키고 부호화 효율을 높일 수 있다.
도 1은 인코더의 일 실시예에 따른 기본 구성을 나타내는 블록도이다.
도 2는 디코더의 일 실시예에 따른 기본 구성을 나타내는 블록도이다.
도 3은 본 발명에 따른 부호화/복호화 방법의 일 예를 개략적으로 설명하는 순서도이다.
도 4는 본 발명에 따라서 주변 LCU의 부호화 정보로부터 현재 LCU의 부호화 정보를 유도하는 방법의 일 예를 개략적으로 설명하는 도면이다.
도 5는 본 발명에 따라서 하위 깊이 CU의 부호화 정보를 이용하여 상위 깊이 CU를 부호화/복호화 하는 방법을 개략적으로 설명하는 도면이다.
도 6은 하나의 LCU가 분할되는 일 예를 개략적으로 설명하는 도면이다.
도 7은 본 발명에 따른 부호화/복호화 방법의 다른 예를 개략적으로 설명하는 순서도이다.
도 8은 본 발명에 따라서 상위 깊이 CU를 부호화/복호화하는 경우에, 하위 깊이 CU의 부호화 정보를 이용하여 상위 깊이 CU의 참조 영상을 제한하는 방법을 개략적으로 설명하는 순서도이다.
도 9는 본 발명에 따라서 예측을 수행하는 경우에, 상위 깊이 CU와 하위 깊이 CU의 대응 관계를 이용하는 방법을 개략적으로 설명하는 도면이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 해당 설명을 생략할 수도 있다.
도 1은 인코더의 일 실시예에 따른 기본 구성을 나타내는 블록도이다.
도 1을 참조하면, 인코더(100)는 인터 예측부(110), 인트라 예측부(120), 스위치(125), 감산기(130), 변환부(135), 양자화부(140), 엔트로피 인코딩부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 픽처 버퍼(190)를 포함한다.
인코더(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림(bitstream)을 출력할 수 있다. 인트라 모드인 경우 스위치(125)가 인트라로 전환되고, 인터 모드인 경우 스위치(125)가 인터로 전환된다. 인코더(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분을 부호화할 수 있다.
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 모드인 경우, 인터 예측부(110)는, 움직임 예측 과정에서 픽처 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록에 대응하는 영역을 찾아 움직임 벡터를 구할 수 있다. 인터 예측부(110)는 움직임 벡터와 픽처 버퍼(190)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
감산기(130)는 입력 블록과 생성된 예측 블록의 차분에 의해 레지듀얼 블록(residual block)을 생성할 수 있다. 변환부(135)는 레지듀얼 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다. 엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로, 양자화된 계수를 확률 분포에 따라 엔트로피 부호화하여 비트스트림(bitstream)을 출력할 수 있다.
양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환될 수 있다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성될 수 있다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(180)에서는 SAO가 적용된 경우에 ALF를 적용할지를 결정할 수도 있다. 필터부(180)를 거친 복원 블록은 픽처 버퍼(190)에 저장될 수 있다.
도 2는 디코더의 일 실시예에 따른 기본 구성을 나타내는 블록도이다.
도 2를 참조하면, 디코더(200)는 엔트로피 디코딩부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 인터 예측부(250), 필터부(260) 및 픽처 버퍼(270)를 포함한다.
디코더(200)는 인코더에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다.
디코더(200)는 입력 받은 비트스트림으로부터 복원된 레지듀얼 블록(residual block)을 얻고 예측 블록을 생성한 후 복원된 레지듀얼 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.
엔트로피 디코딩부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화한다. 엔트로피 디코딩에 의해, 양자화된 (변환) 계수가 생성될 수 있다.
양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환된 결과, 복원된 레지듀얼 블록(residual block)이 생성될 수 있다.
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 인터 예측부(250)는 움직임 벡터 및 픽처 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
복원된 레지듀얼 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거친다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나를 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(260)에서는 SAO가 적용된 경우에 ALF를 적용할지를 결정할 수도 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력한다. 복원 영상은 픽처 버퍼(270)에 저장되어 화면 간 예측에 사용될 수 있다.
한편, 고정된 크기의 매크로블록(macroblock)을 사용하지 않고, 계층적인 부호화 단위인 CU(Coding Unit)을 정의하고, CU의 크기를 가변적으로 설정하여 부호화/복호화를 수행할 수 있다.
가장 큰 크기의 CU인 LCU(largest CU)와 가장 작은 크기의 CU인 SCU(Smallest CU)를 정의할 수 있다. 예컨대, LCU를 64x64 픽셀 사이즈로 정의하고, SCU를 8x8 픽셀 사이즈로 정의할 수 있다. 영상은, LCU와 SCU 사이에 다양한 크기의 CU를 정의함으로써, 계층적으로 부호화될 수 있다.
이때, 다양한 크기의 CU는 깊이 정보를 가진다. LCU의 깊이를 0, SCU의 깊이를 D라고 할 때, LCU와 SCU 사이의 CU는 0 ~ D의 깊이를 가진다.
부호화된 비트스트림은 CU의 크기를 시그널링하기 위한 정보로서, 각 크기의 CU에 대한 split_coding_unit_flag을 포함할 수 있다. split_coding_unit_flag은 현재 CU가 더 작은 크기의 CU 즉, 더 큰 깊이의 CU로 분할되는지를 지시하는 정보이다. 이때, 현재 CU는 부호화 또는 복호화 대상이 되는 CU를 의미한다.
본 발명에 따른 부호화 방법에서 현재 LCU는 주변 LCU의 부호화 정보를 이용하여 부호화될 수 있다. 예컨대, 인접한 LCU 블록들의 최대 깊이 정보를 이용하여 현재 LCU의 최대 부호화 깊이를 예측할 수 있다. 이때, 현재 LCU는 부호화 또는 복호화 대상이 되는 LCU를 의미한다.
현재 LCU에서는 하위 계층의 정보를 이용하여 상위 계층의 CU를 부호화할 수 있다. 여기서, 하위 계층은 하위 깊이의 부호화/복호화 대상(예컨대, CU, PU, 픽셀 등)을 의미하고, 상위 계층은 상위 깊이의 부호화/복호화 대상(예컨대, CU, PU, 픽셀 등)을 의미한다.
또한, 본 명세서에서 하위 깊이와 상위 깊이는, 상술한 바와 같이, LCU의 깊이를 0으로 하고, SCU의 깊이를 D으로 할 때, LCU 쪽에 가까운 깊이를 하위 깊이라고 하고, SCU쪽에 가까운 깊이를 상위 깊이라고 한다. 예컨대, 깊이 d은 깊이 d+1보다 하위 깊이가 된다(0 < d < D). 인터 예측에 의한 부호화의 경우에, 하위 깊이 CU의 부호화 정보를 이용하여 상위 CU에 속하는 예측 단위(Prediction Unit: PU)의 참조 영상 후보 개수를 제한할 수 있다.
이와 관련하여, CU는 다양한 크기를 가질 수 있고, 계층적 부호화 구조를 가지고 있기 때문에, 부호화 효율이 높지만 복잡도 역시 증가하게 된다. 예를 들어, 인코더에서는 가능한 크기의 CU 각각에 대해 적용할 수 있는 부호화 방법들마다 비용을 모두 조사해서 최적의 CU 크기 및 부호화 방법을 결정한다. 각각의 CU 사이즈마다 가능한 부호화 방법을 모두 고려해야 하므로, 높은 계산 복잡도가 요구된다.
이때, 현재 LCU와 주변 LCU 사이의 중복성을 제거하면, 복잡도를 낮추고 부호화 효율을 증가시킬 수 있다. 현재 LCU와 주변 LCU 사이의 중복성을 제거하는 방법으로서, 현재 LCU에서 주변 LCU의 정보를 이용하는 방법을 고려할 수 있다.
또한, 현재 LCU에서 하위 계층(하위 깊이)의 정보를 이용함으로써, 현재 LCU 내의 중복성을 제거하여 복잡도를 낮추고 부호화 효율을 증가시킬 수도 있다.
이하, 도면을 참조하여 본 발명에 따른 부호화/복호화 방법을 구체적으로 설명한다.
도 3은 본 발명에 따른 부호화/복호화 방법의 일 예를 개략적으로 설명하는 순서도이다. 도 3의 예에서는 현재 LCU의 부호화/복호화에 있어서 주변 LCU의 부호화 정보를 이용하는 방법을 설명하고 있다.
도 3의 예에서 설명하는 방법은 도 1 및 도 2에 도시된 인코더/디코더 내의 개별 유닛에서 수행될 수도 있으나, 여기서는 설명의 편의를 위해, 인코더와 디코더가 각 단계를 수행하는 것으로 설명한다.
도 3을 참조하면, 인코더/디코더는 현재 LCU의 주변 LCU들의 위치를 특정한다(S310). 예컨대, 현재 LCU의 주변에 위치하는 이용 가능한 LCU의 개수가 n이라면, 인코더/디코더는 n개의 주변 LCU들의 좌표를 획득한다. 주변 LCU들의 위치를 특정하는 좌표는 각 LCU의 좌상단 픽셀의 위치 (x, y)일 수 있다.
인코더/디코더는 상기 주변 LCU들의 부호화 정보를 획득한다(S320). 인코더/디코더는 S310 단계에서 특정된 n 개의 주변 LCU들의 부호화 정보를 획득한다. 이때, 획득되는 부호화 정보는, CU의 분할에 관한 정보(split_coding_unit_flag), LCU 최대 깊이(LCU_max_depth), LCU 분할 맵(LCU_split_map), LCU 예측 타입(LCU_Pred_Type), LCU 파티션 사이즈(LCU_Part_Size)를 포함한다.
LCU 예측 타입은 적용되는 예측 타입이 인터 예측인지, 인트라 예측인지를 지시하는 정보이다. 인터 예측이 적용된다면 스킵 모드가 적용되는지, 머지 모드가 적용되는지, MVP를 이용하는 방법이 적용되는지를 지시하는 정보지, 인트라 예측이 적용된다면, 인트라 예측 모드가 무엇인지를 지시하는 정보일 수 있다. 예컨대, 스킵 모드의 적용을 지시하는 skip_flag, 참조 영상 인덱스를 지시하는 ref_idx, 인터 예측 방법을 지시하는 inter_pred_idc, 움직임 벡터 예측자를 지시하는 mvp_idx, 머지 모드가 적용되는지를 지시하는 merge_flag, 머지 대상을 지시하는 merge_idx, 주변 블록의 인트라 예측 모드로부터 루마 성분의 인트라 예측 모드를 추정하는 것을 지시하는 prev_intra_luma_pred_flag, 최다 발생 인트라 모드를 지시하는 mpm_idx, 인트라 예측 모드를 지시하는 intra_mode 등이 포함될 수 있다.
LCU 파티션 사이즈는 LCU의 파티션 형태를 구체적으로 지시하는 정보로서, LCU의 파티션이 2Nx2N인지, 2NxN인지, Nx2N인지(N은 소정의 픽셀 개수)를 지시할 수 있다.
인코더/디코더는 주변 LCU들로부터 획득한 부호화 정보를 기반으로 현재 LCU를 부호화/복호화한다(S330).
예컨대, 인코더/디코더는 주변 LCU의 깊이 정보를 이용하여 현재 LCU의 최대 깊이를 예측할 수 있다.
LCU의 사이즈는 소정의 범위 내에서 고정적으로 정의될 수 있다. 예를 들어, LCU 사이즈는 8x8 픽셀 ~ 64x64 픽셀의 범위 내에서, 8x8 픽셀, 6x16 픽셀, 32x32 픽셀, 64x64 픽셀 등의 사이즈를 갖는 것으로 정의될 수 있다. 또한, LCU 사이즈는 더 큰 범위 내에서 정의될 수 있도록 가변적으로 결정될 수도 있다. 예를 들어, LCU 사이즈는 8x8 픽셀 ~ 128x128 픽셀의 범위 내에서, 8x8 픽셀, 6x16 픽셀, 32x32 픽셀, 64x64 픽셀, 128x128 픽셀 등의 사이즈를 갖는 것으로 정의될 수도 있다
부호화에 사용된 LCU 크기와 SCU 크기는 인코더에서 결정되어 디코더로 시그널링될 수 있다. 예컨대, SCU 크기는 log2_min_coding_block_size_minus3과 같이 시그널링 될 수 있다. LCU 크기는 log2_diff_max_min_coding_block_size와 같이 SCU 크기와의 차이값으로 시그널링 될 수 있다. 디코더는 LCU 크기와 SCU 크기의 차이값이 시그널링되면, 수신한 SCU 크기를 이용하여 LCU 크기를 도출할 수 있다. SCU 크기와 LCU 크기는 해당 시퀀스의 부호화 정보가 전송되는 SPS(Sequence Parameter Set)을 통해 시그널링 될 수 있다.
도 4는 본 발명에 따라서 주변 LCU의 부호화 정보로부터 현재 LCU의 부호화 정보를 유도하는 방법의 일 예를 개략적으로 설명하는 도면이다.
도 4에서는 현재 LCU(400)의 주변에 네 개의 LCU, A_LCU(410), B_LCU(420), C_LCU(430), D_LCU(440)이 존재하는 경우를 예로서 설명하고 있다.
본 발명에 의하면, 현재 LCU의 최대 부호화 깊이는 A_LCU(410), B_LCU(420), C_LCU(430), D_LCU(440)의 최대 깊이 정보를 이용하여 예측될 수 있다.
수식 1은 본 발명에 의해 주변 LCU(A_LCU, B_LCU, C_LCU, D_LCU)로부터 현재 LCU의 최대 부호화 깊이를 예측하는 방법의 일 예이다.
<수식 1>
D = min(3, max (A_max_depth, B_max_depth, C_max_depth, D_max_depth)+X)
수식 1에서, D 는 현재 LCU의 부호화에 사용되는 최대 깊이이고, X는 LCU 크기와 SCU 크기의 차이값에 관한 정보로서, log2_diff_max_min_coding_block_size-1이다.
A_max_depth는 A_LCU의 최대 깊이이며, B_max_depth는 B_LCU의 최대 깊이이고, C_max_depth는 C_LCU의 최대 깊이이고, D_max_depth는 D_LCU의 최대 깊이이다.
설명의 편의를 위해, LCU의 크기가 64x64 픽셀이고, SCU의 크기가 8x8 픽셀이고, 인터 예측 또는 인트라 예측에서 NxN 픽셀에 대한 예측은 SCU에 대해서만 수행되는 경우를 예로서 설명한다.
인코더는 깊이 0(64x64 픽셀)부터 깊이 3(8x8 픽셀)까지 각 크기의 CU에 대한 RDO(Ratio Distortion Optimization)을 수행하여 최적의 CU 크기를 결정할 수 있다.
상술한 바와 같이, LCU의 크기가 64x64 픽셀이고, SCU의 크기가 8x8 픽셀인 경우이므로, LCU가 가질 수 있는 최대 깊이 max_depth는 8x8 픽셀 크기의 CU(SCU)에 대한 깊이, 즉 깊이 3이 된다.
이때, 현재 LCU의 부호화에 적용될 수 있는 최대 깊이는 SCU의 깊이와는 별도로 결정될 수 있다. 현재 LCU의 부호화에 적용되는 최대 깊이를 D라고 하면, D는 아래 수식 2와 같이 결정될 수 있다.
<수식 2>
D = min(3, max (A_max_depth, B_max_depth, C_max_depth, D_max_depth)+2)
수식 2를 이용하여, 주변의 네 LCU(A_LCU, B_LCU, C_LCU, D_LCU) 모두 깊이가 0인 경우, 즉 주변의 네 LCU가 모두 분할되지 않고 64x64 픽셀의 크기로 부호화된 경우를 예로서 살펴보면, 이 경우에 현재 LCU의 최대 깊이(max_cu_depth)인 D 값은 2가 된다. 따라서, 인코더는 64x64 픽셀, 32x32 픽셀, 16x16 픽셀 크기의 CU에 대해서만 RDO를 수행하고 8x8 픽셀 크기의 CU(SCU)에 대해서는 RDO를 수행하지 않는다.
한편, 앞서 NxN 픽셀에 대한 예측은 SCU에 대해서만 수행한다고 설명하였지만, RDO가 적용되는 가장 작은 블록에 대해서만 NxN 예측을 수행할 수도 있다. 예컨대, 상기 예에서와 같이, 현재 LCU의 최대 깊이가 2인 경우에 SCU는 8x8 픽셀 크기의 CU지만, 8x8 픽셀 크기의 CU는 RDO 대상에서 제외되므로, 16x16 픽셀 크기의 블록에 대하여 NxN 예측을 수행할 수도 있다.
주변 LCU의 부호화 정보를 이용하여 현재 LCU의 부호화 정보를 유도하는 다른 예로서, 주변 LCU의 분할 정보를 이용하여 현재 LCU의 분할 정보를 유도/추정하는 방법이 있다.
예컨대, 인코더/디코더는 주변 LCU의 분할 정보인 split_coding_unit_flag 값에 기반해서 현재 LCU에 대한 split_coding_unit_flag 값을 유도/추정할 수 있다. 여기서, split_coding_unit_flag 값이 0이면 CU가 더 이상 분할되지 않는다는 것을 지시하고, split_coding_unit_flag 값이 1이면 CU가 4 개의 서브 CU(sub CU)로 분할된다는 것을 지시한다.
도 4를 참조하면, 인코더/디코더는 현재 LCU(400)를 부호화/복호화 하기 전에 주변 LCU인 A_LCU(410), B_LCU(420), C_LCU(430), D_LCU(440)의 분할 정보(split_cofing_unit_flag)를 확인할 수 있다.
인코더/디코더는 현재 LCU 주변의 네 LCU들에 대한 split_coding_unit_flag 들의 값을 확인해서 모든 split_coding_unit_flag 들이 0의 값을 가진다면, 현재 LCU의 split_coding_unit_flag의 값도 0으로 설정할 수 있다. 현재 LCU에 대한 split_coding_unit_flag를 전송하지 않고, 주변 LCU로부터 유도할 수 있으므로, split_coding_unit_flag의 전송에 사용될 1 비트를 절감할 수 있고, 현재 LCU의 split_coding_unit_flag의 값이 0으로 유도되어, 현재 LCU 보다 작은 크기의 CU에 대해서 부호화하지 않게 되면, 복잡도가 감소할 수 있다.
인코더/디코더는 현재 LCU 주변의 네 LCU들에 대한 split_coding_unit_flag 들의 값을 확인해서 적어도 하나의 split_coding_unit_flag 가 1의 값을 가진다면, 현재 LCU의 split_coding_unit_flag 값을 1로 설정할 수 있다. 이 경우에도, 현재 LCU에 대한 split_coding_unit_flag를 전송하지 않고, 주변 LCU로부터 유도할 수 있으므로, split_coding_unit_flag의 전송에 사용될 1 비트를 절감할 수 있고, 현재 LCU의 split_coding_unit_flag의 값이 1로 유도되어, 현재 LCU를 제외하고, 분할된 작은 크기의 CU에 대해서만 부호화하게 되면, 복잡도가 역시 감소할 수 있다.
또한, 결과적으로 각 LCU에 대하여 깊이 0에서는 분할에 관한 정보(split_coding_unit_flag)를 전송하지 않을 수 있다.
표 1은 주변 LCU의 분할 정보를 이용하여 현재 LCU의 분할 정보를 유도하는 경우의 신택스에 대한 일 예를 나타낸 것이다.
<표 1>
Figure PCTKR2012005251-appb-I000001
표 1은 엔트로피 인코딩의 모드가 CABAC(Context-based Adaptive Binary Arithmetic Coding)인 경우에 대한 예이다.
표 1을 참조하면, 주변 LCU의 부호화 정보에 따라서 현재 LCU의 신택스를 적응적으로 엔트로피 부호화 할 수 있다.
예컨대, 표 1과 같이 엔트로피 부호화 방법으로 CABAC이 이용되는 경우에, 주변 LCU의 신택스 카운팅(syntax counting)을 통해 현재 LCU에 대한 신택스의 콘텍스트 인덱스 델타(context index delta) 값을 설정할 수 있다.
이때, 콘텍스트 인덱스 델타 값은 수식 3과 같이 설정될 수 있다.
<수식 3>
콘텍스트 인덱스(context index) = 오프셋(offset) + 증가분(increment) + 델타(delta)
현재 LCU에 대해 수식 3을 이용하여 설정될 수 있는 콘텍스트의 예로서는, 머지 인덱스(merge_idx), 움직임 벡터 예측자 인덱스(mvp_idx), 인트라 예측 모드에서 MPM(Most Probable Mode)를 제외한 잔여 예측 모드(rem_intra_luma_pred_mode) 등이 있다.
주변 LCU가 모두 분할되지 않고 LCU 크기로 부호화된 경우에는, 최대 깊이보다 1만큼 낮은 깊이(max_cu_depth-1)의 CU에 대한 분할 정보(split_coding_unit_flag)를 부호화할 때 MPS(Most Probable Symbol)의 값을 0으로 설정할 수 있다.
표 1과 달리 엔트로피 부호화 방법으로 CAVLC(Context based Adaptive Variable Length Coding)가 사용되는 경우에는, 주변 LCU의 신택스 카운팅을 현재 LCU의 적응적 정렬 테이블(adaptive sorting table)에 반영하거나 가변 길이 코드(variable length code) 테이블을 선택하는데 사용할 수 있다. 즉, 현재 LCU의 부호화 정보와 주변 LCU의 부호화 정보 간의 상관성을 이용하여 주변 LCU 신택스의 확률을 현재 LCU의 부호화/복호화에 반영할 수 있다.
예컨대, 주변 LCU가 모드 분할되지 않고 LCU 크기로 부호화된 경우에는, 최대 깊이보다 1만큼 낮은 깊이(max_cu_depth-1)의 CU에 대한 분할 정보와 예측 모드 정보를 정의하는 테이블(cu_split_pred_part_mode table)을 표 2로부터 표 3으로 수정하여 이용할 수 있다.
<표 2>
Figure PCTKR2012005251-appb-I000002
<표 3>
Figure PCTKR2012005251-appb-I000003
표 2 및 표 3을 참조하면, split_coding_unit_flag의 값이 1인 경우에 분할 및 예측 모드를 지시하는 cu_split_pred_part_mode는 다른 모드들의 발생 확률에 따라서 적응적으로 할당될 수 있다.
주변 정보를 현재 블록의 부호화/복호화에 이용하는 방법으로서, 상술한 바와 같이 주변 LCU의 정보를 이용하여 현재 LCU를 부호화/복호화하는 방법 외에, 현재 LCU의 하위 깊이 CU의 부호화 정보를 이용하여 상위 깊이 CU를 부호화/복호화하는 방법을 고려할 수 있다.
도 5는 본 발명에 따라서 하위 깊이 CU의 부호화 정보를 이용하여 상위 깊이 CU를 부호화/복호화 하는 방법을 개략적으로 설명하는 도면이다.
도 5를 참조하면, 하위 깊이 CU(510)가 상위 깊이의 네 CU들(520, 530, 540, 550)으로 분할되는 경우에, 상위 깊이의 CU들(520, 530, 540, 550)을 부호화/복호화하는데 상위 깊이 CU(510)의 부호화 정보를 가져다 이용할 수 있다.
도 6은 하나의 LCU가 분할되는 일 예를 개략적으로 설명하는 도면이다.
도 6을 참조하면, 64x64 픽셀의 LCU(610)은 다양한 크기의 CU로 분할되어 부호화될 수 있다.
다양한 크기의 CU로 분할됨으로써, 최적의 크기를 가지는 CU별로 부호화가 수행되어 부호화 효율은 높아질 수 있지만, 복잡도가 증가하게 된다. 즉, 인코더는 최적의 CU 크기를 결정하고, 각 CU 크기에서 PU 부호화 모드를 결정한다. 이를 위해서, 인코더는 각 CU 크기별로 가능한 부호화 모드마다 RD(Rate-Distortion) 비용을 산출해야 하므로, 상당한 복잡도가 요구된다. 이 경우에, 상술한 바와 같이, 하위 깊이 CU에 대한 부호화 정보와 상위 깊이 CU에 대한 부호화 정보 사이의 상관성을 이용하면 복잡도를 크게 낮출 수 있다.
도 7은 본 발명에 따른 부호화/복호화 방법의 다른 예를 개략적으로 설명하는 순서도이다. 도 7의 예에서는 현재 LCU의 상위 계층을 부호화/복호화 하는 경우에 하위 계층의 부호화 정보를 이용하는 방법을 설명하고 있다.
도 7의 예에서 설명하는 방법은 도 1 및 도 2에 도시된 인코더/디코더 내의 개별 유닛에서 수행될 수도 있으나, 여기서는 설명의 편의를 위해, 인코더와 디코더가 각 단계를 수행하는 것으로 설명한다.
도 7를 참조하면, 인코더/디코더는 현재 LCU의 하위 깊이 CU에 대한 부호화 정보를 획득한다(S710). 인코더/디코더는 소정의 깊이를 갖는 CU를 부호화/복호화하는 경우에, 이용 가능한 하위 깊이 CU의 부호화 정보를 확인하고 획득할 수 있다.
이때, 획득되는 부호화 정보는, CU의 분할에 관한 정보(split_coding_unit_flag), LCU 최대 깊이(LCU_max_depth), LCU 분할 맵(LCU_split_map), LCU 예측 타입(LCU_Pred_Type), LCU 파티션 사이즈(LCU_Part_Size)를 포함한다.
LCU 예측 타입은 적용되는 예측 타입이 인터 예측인지, 인트라 예측인지를 지시하는 정보이다. 인터 예측이 적용된다면 스킵 모드가 적용되는지, 머지 모드가 적용되는지, MVP를 이용하는 방법이 적용되는지를 지시하는 정보지, 인트라 예측이 적용된다면, 인트라 예측 모드가 무엇인지를 지시하는 정보일 수 있다. 예컨대, 스킵 모드의 적용을 지시하는 skip_flag, 참조 영상 인덱스를 지시하는 ref_idx, 인터 예측 방법을 지시하는 inter_pred_idc, 움직임 벡터 예측자를 지시하는 mvp_idx, 머지 모드가 적용되는지를 지시하는 merge_flag, 머지 대상을 지시하는 merge_idx, 주변 블록의 인트라 예측 모드로부터 루마 성분의 인트라 예측 모드를 추정하는 것을 지시하는 prev_intra_luma_pred_flag, 최다 발생 인트라 모드를 지시하는 mpm_idx, 인트라 예측 모드를 지시하는 intra_mode 등이 포함될 수 있다.
LCU 파티션 사이즈는 LCU의 파티션 형태를 구체적으로 지시하는 정보로서, LCU의 파티션이 2Nx2N인지, 2NxN인지, Nx2N인지(N은 소정의 픽셀 개수)를 지시할 수 있다.
인코더/디코더는 획득한 하위 깊이 CU의 부호화 정보를 기반으로 상위 깊이 CU의 부호화 정보를 예측한다(S720). 예컨대, 상위 깊이 CU에 속하는 PU에 대하여 인터 예측하는 경우에, 하위 깊이 CU의 부호화 정보로부터 상위 깊이 CU에 속하는 PU의 참조 영상 정보 및/또는 움직임 벡터를 예측할 수 있다.
인코더/디코더는 예측한 부호화 정보를 기반으로 상위 깊이 CU에 대한 부호화/복호화를 수행할 수 있다(S730).
인코더/디코더는 하위 깊이 CU의 부호화 정보를 기반으로 상위 깊이 CU의 부호화 정보를 예측할 수 있다. 일 예로서, 인코더/디코더는 하위 깊이 CU의 부호화 정보를 기반으로 상위 깊이 CU의 부호화/복호화시, 상위 깊이 CU 내 PU의 예측에 사용되는 참조 영상을 특정한 범위로 제한할 수 있다. 사용하는 참조 영상을 소정의 참조 영상으로 제한함으로써 복잡도를 낮추고 압축 효율을 증가시킬 수 있다.
도 8은 본 발명에 따라서 상위 깊이 CU를 부호화/복호화하는 경우에, 하위 깊이 CU의 부호화 정보를 이용하여 상위 깊이 CU의 참조 영상을 제한하는 방법을 개략적으로 설명하는 순서도이다.
도 8에서 설명하는 예측 방법은, 도 1 및 도 2에서 설명한 인코더/디코더 내 소정의 유닛(예컨대, 인터 예측부)에서 수행될 수도 있으나, 여기서는 설명의 편의를 위해 인코더 또는 디코더(‘인코더/디코더’라 함)에서 수행하는 것으로 설명한다.
도 8을 참조하면, 인코더/디코더는 하위 깊이 CU의 정보를 획득한다(S800). 예컨대, 인코더/디코더는 하위 깊이 CU가 인터 예측되는지, 인트라 예측되는지의 정보를 획득한다. 더 나아가 인코더/디코더는 하위 깊이 CU가 인터 예측된다면 스킵 모드가 적용되는지, 머지 모드가 적용되는지 또는 MVP를 이용하는지, 인트라 예측된다면 인트라 예측 모드는 무엇인지 등의 정보를 획득할 수 있다.
인코더는 획득한 정보를 디코더에 시그널링할 수 있으며, 디코더는 상기 부호화 정보를 인코더로부터 수신한 비트스트림을 파싱하여 획득할 수 있다.
인코더/디코더는 획득한 정보를 기반으로 하위 깊이 CU가 인터 예측되는지를 결정한다(S805).
인코더/디코더는 하위 깊이 CU가 인터 예측되지 않은 경우(인트라 예측되는 경우)로서 현재 블록인 상위 깊이 CU를 인터 예측할 때에는, L0와 L1 예측에 있어서 상위 깊이 CU에 대한 모든 참조 영상을 이용하여 인터 예측을 수행한다(S810).
인코더/디코더는 하위 깊이 CU가 인터 예측되는 경우에, 스킵 모드 또는 머지 모드가 적용되는지를 결정한다(S820).
인코더/디코더는 하위 깊이 CU에 스킵 모드 또는 머지 모드가 적용되는 경우에는, 머지 인덱스 등의 정보를 확인할 수 있다(S825). 머지 인덱스는 스킵 모드 또는 머지 모드가 적용되는 경우에, 현재 블록의 움직임 정보로서 어떤 블록의 움직임 정보를 이용할 것인지를 지시한다.
인코더/디코더는 하위 깊이 CU가 L0 예측되는지, L1 예측되는지, 쌍예측되는지를 결정한다(S830). CU가 인터 모드일 경우에는 블록 단위로 움직임 보상을 수행할 수 있다. 각 블록에는 순방향 예측(L0 예측)과 역방향 예측(L1 예측)을 적용하여 움직임 보상을 수행한다. 여기서, L0은 참조 픽처 리스트 0(reference picture list 0)이며, L1은 참조 픽처 리스트 1이다.
예측 대상 블록에 적용되는 예측은 L0 예측 혹은 L1 예측 하나만 사용해서 부호화하는 경우(단예측)와 L0 예측과 L1 예측을 모두 사용하여 부호화하는 경우(쌍예측)로 나뉠 수 있다. L0 예측 또는 L1 예측만 사용하는 프레임 또는 블록을 P 프레임(Predictive Frame) 또는 P 블록이라고 하고, L0 예측과 L1 예측을 모두 사용하는 프레임 또는 블록을 B 프레임(Bi-Predictive Frame) 또는 B 블록이라고 한다.
하위 깊이 CU에 쌍예측이 적용되는 경우에, 인코더/디코더는 L0과 L1의 참조 영상을 확인한다(S835).
하위 깊이 CU에 단예측으로서 L0 예측이 적용되는 경우에, 인코더/디코더는 L0의 참조 영상을 확인한다(S840).
하위 깊이 CU에 단예측으로서 L1 예측이 적용되는 경우에, 인코더/디코더는 L1의 참조 영상을 확인한다(S845).
인코더/디코더는 S835 단계, S840 단계 또는 S845 단계에서 확인한 정보를 기반으로, 상위 깊이 CU에 대한 참조 영상을 제한할 수 있다.
즉, 상위 깊이 CU의 예측 방향과 하위 깊이 CU의 예측 방향이 동일한 경우에는, 상위 깊이 CU의 참조 영상 후보들 중 하위 깊이 CU의 참조 영상에 해당하는 영상을 참조 영상으로 이용하여 상위 깊이 CU에 대한 인터 예측을 수행할 수 있다.
또한, 상위 깊이 CU의 예측 방향과 하위 깊이 CU의 예측 방향이 상이한 경우에는, 상위 깊이 CU의 상기 예측 방향에 속하는 참조 영상 후보를 모두 이용하여 상위 깊이 CU에 대한 인터 예측을 수행할 수 있다.
예컨대, 하위 깊이 CU에 L0 방향/L0 방향의 쌍예측이 적용된 경우에, 현재 블록인 상위 깊이 CU에 대해서 L0 예측을 할 때에는 상위 깊이 CU의 참조 영상 후보들 중 하위 깊이 CU에 대한 참조 영상으로 이용되었던 영상을 참조 영상으로 이용하고, 상위 깊이 CU에 대하여 L1 예측을 할 때에는 상위 깊이 CU의 참조 영상 후보들을 모두 이용한다(S850).
하위 깊이 CU에 L0 방향/L1 방향의 쌍예측이 적용된 경우에, 현재 블록인 상위 깊이 CU에 대해서 L0 예측을 할 때에는 상위 깊이 CU의 참조 영상 후보들 중 하위 깊이 CU의 L0 예측에서 참조 영상으로 사용된 영상을 참조 영상으로 이용하고, 상위 깊이 CU에 대하여 L1 예측을 할 때에는 상위 깊이 CU의 참조 영상 후보들 중 하위 깊이 CU의 L1 예측에서 참조 영상으로 이용된 영상을 참조 영상으로 이용한다(S855).
하위 깊이 CU에 L1 방향/L1 방향의 쌍예측이 적용된 경우에, 현재 블록인 상위 깊이 CU에 대해서 L0 예측을 할 때에는 상위 깊이 CU의 참조 영상 후보들을 모두 이용하고, 상위 깊이 CU에 대하여 L1 예측을 할 때에는 하위 깊이 CU의 참조 영상으로 이용된 영상을 참조 영상으로 이용한다(S860).
하위 깊이 CU에 L0 방향의 단예측이 적용된 경우에, 현재 블록인 상위 깊이 CU에 대해서 L0 예측을 할 때에는 상위 깊이 CU의 참조 영상 후보들 중 하위 깊이 CU의 참조 영상으로 이용된 영상을 참조 영상으로 이용하고, 상위 깊이 CU에 대하여 L1 예측을 할 때에는 상위 깊이 CU의 참조 영상 후보들을 모두 이용한다(S865).
하위 깊이 CU에 L1 방향의 단예측이 적용된 경우에, 현재 블록인 상위 깊이 CU에 대해서 L1 예측을 할 때에는 상위 깊이 CU의 참조 영상 후보들 중 하위 깊이 CU의 참조 영상으로 이용된 영상을 참조 영상으로 이용하고, 상위 깊이 CU에 대하여 L0 예측을 할 때에는 상위 깊이 CU의 참조 영상 후보들을 모두 이용한다(S870).
한편, 하위 깊이 CU에 스킵 모드 또는 머지 모드가 적용된 경우로서 S825 단계에서 하위 깊이 CU에 대한 머지 인덱스가 확인되면, S850 내지 S870 단계에서는 상위 깊이 CU의 머지 후보 또는 스킵 후보 중 상기 하위 깊이 CU에 대한 머지 인덱스가 지시하는 후보를 상위 깊이 CU에 대한 스킵 후보 또는 머지 후보로 이용하여 예측을 수행할 수 있다. 여기서, 스킵 후보는 스킵 모드가 적용되는 경우에 현재 블록의 움직임 정보로서 이용되는 움직임 정보 또는 해당 움직임 정보를 가지는 블록을 의미한다. 또한, 머지 후보는 머지 모드가 적용되는 경우에 현재 블록의 움직임 정보로서 이용되는 움직임 정보 또는 해당 움직임 정보를 가지는 블록을 의미한다.
더 나아가, 하위 깊이 CU에 스킵 모드 또는 머지 모드가 적용된 경우에, S825 단계에서 확인된 하위 깊이 CU의 머지 인덱스를 기반으로, S850 내지 S870 단계에서는 하위 깊이 CU와 상위 깊이 CU의 예측 방향이 같은 경우에만, 상위 깊이 CU의 머지 후보 또는 스킵 후보 중 상기 하위 깊이 CU에 대한 머지 인덱스가 지시하는 후보를 상위 깊이 CU에 대한 스킵 후보 또는 머지 후보로 이용하여 예측을 수행할 수도 있다.
한편, 하위 깊이 CU의 부호화 정보를 확인(획득)하고, 더 정확한 정보를 상위 깊이 CU에 이용하기 위해서, 짝수 번째 깊이(예컨대 깊이 0, 깊이 2)의 CU에 대해서는 해당 깊이의 정보만을 이용하여 일반적인 방법으로 예측을 수행하고, 홀수 번째 깊이(예컨대, 깊이 1, 깊이 3)의 CU에 대해서는 하위 깊이 CU의 부호화 정보를 이용하여 예측을 할 수도 있다. 즉, 깊이 0의 CU에 대한 부호화 정보를 이용하여 깊이 1의 CU에 대한 예측을 수행하고, 깊이 2의 CU에 대한 부호화 정보를 이용하여 깊이 3의 CU에 대한 예측을 수행할 수 있다.
이를 통해서, 모든 깊이에 대하여 하위 깊이 CU의 부호화 정보를 이용하는 경우에 깊이 0의 CU에 대한 부호화 정보가 깊이 3의 CU에 대한 예측에까지 적용되는 전파(propagation)의 영향을 줄이고 예측의 정확도를 높일 수 있다.
또한, 상위 깊이 CU에 대한 예측을 수행할 때 하위 깊이 CU의 파티션 사이즈(partition size) 또는 파티션 위치를 확인하여, 상위 깊이 CU에 대응하는 하위 깊이 CU의 움직임 정보를 이용할 수도 있다.
도 9는 본 발명에 따라서 예측을 수행하는 경우에, 상위 깊이 CU와 하위 깊이 CU의 대응 관계를 이용하는 방법을 개략적으로 설명하는 도면이다. 도 9에서는 상위 깊이 CU와 하위 깊이 CU의 대응 관계로서 파티션 사이즈와 파티션 위치를 이용하는 경우를 예로서 설명하고 있다.
도 9의 예에서, 깊이가 n인 하위 깊이 CU들(900)의 파티션 사이즈가 2NxN인 경우에, 깊이가 n+1인 상위 깊이의 CU들(940) 중 0 및 1의 CU들(945, 950)은 대응하는 위치의 하위 깊이 CU(905)에 대한 움직임 정보를 상위 깊이 CU들(945, 950)의 움직임 정보로 이용하거나 하위 깊이 CU(905)에 대한 움직임 정보를 기반으로 상위 깊이 CU들(945, 950)의 움직임 정보를 유도할 수 있다. 또한, 2 및 3의 CU들(955, 960)은 대응하는 위치의 하위 깊이 CU(910)에 대한 움직임 정보를 상위 깊이 CU들(955, 960)의 움직임 정보로 이용하거나 하위 깊이 CU(910)에 대한 움직임 정보를 기반으로 상위 깊이 CU들(955, 960)의 움직임 정보를 유도할 수 있다.
도 9의 예에서, 깊이가 n인 하위 깊이 CU들(920)의 파티션 사이즈가 Nx2N인 경우에, 깊이가 n+1인 상위 깊이의 CU들(970) 중 0 및 2의 CU들(975, 985)은 하위 깊이 CU(925)에 대한 움직임 정보를 상위 깊이 CU들(975, 985)의 움직임 정보로 이용하거나 하위 깊이 CU(925)에 대한 움직임 정보를 기반으로 상위 깊이 CU들(975, 985)의 움직임 정보를 유도할 수 있다. 또한, 1 및 3의 CU들(980, 990)은 대응하는 위치의 하위 깊이 CU(930)의 움직임 정보를 상위 깊이 CU들(980, 990)의 움직임 정보로 이용하거나 하위 깊이 CU(930)에 대한 움직임 정보를 기반으로 상위 깊이 CU들(980, 990)의 움직임 정보를 유도할 수 있다.
지금까지는 부호화/복호화의 각 처리 단위 중 CU를 예로 들어 설명하였으나, 이는 설명의 편의를 위한 것으로서 본 발명은 이에 한정되지 않는다. 예컨대, 상기 도 3 내지 도 9의 설명들은 CU 대신 PU와 TU에 대해서도 동일하게 적용될 수 있다.
또한, 여기서는 두 가지 실시예(주변 LCU의 부호화 정보를 이용하는 도 3 및 도 4의 예, 하위 깊이 블록의 정보를 이용하는 도 5 내지 도 9의 예)를 나누어 설명하였으나, 이는 각 실시예를 명확하게 설명하기 위한 것으로서 본 발명은 이에 한정되지 않는다. 예컨대, 상기 두 실시예는 별개로 실시될 수 있을 뿐만 아니라 함께 실시될 수도 있음에 유의한다.
또한, 상술한 예시적인 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함한다. 예컨대, 각 실시예의 조합 역시 본 발명의 일 실시예로서 이해되어야 할 것이다.









Claims (12)

  1. 주변 블록들의 정보를 획득하는 단계;
    상기 주변 블록들의 정보를 기반으로 현재 블록에 대한 정보를 설정하는 단계; 및
    상기 설정된 정보를 기반으로 현재 블록을 부호화하는 단계를 포함하며,
    상기 현재 블록 및 상기 주변 블록들은 CU(coding Unit)인 것을 특징으로 하는 비디오 부호화 방법.
  2. 제1항에 있어서, 상기 현재 블록은 부호화 대상인 현재 LCU(Largest Coding Unit)이고, 상기 주변 블록은 상기 현재 LCU의 주변 LCU이며,
    상기 현재 블록에 대한 정보 설정 단계에서는,
    상기 주변 LCU들의 부호화 정보 중에서 상기 현재 LCU에 대한 정보로서 이용될 정보를 선택하는 것을 특징으로 하는 비디오 부호화 방법.
  3. 제2항에 있어서, 상기 부호화 정보는 최대 부호화 깊이이며,
    상기 현재 블록에 대한 정보 설정 단계에서는,
    상기 주변 LCU들의 최대 부호화 깊이 중 가장 깊은 값을 기반으로 상기 현재 LCU에 대한 최대 부호화 깊이를 설정하는 것을 특징으로 하는 비디오 부호화 방법.
  4. 제1항에 있어서, 상기 현재 블록은 상위 깊이 CU이고, 상기 주변 블록은 하위 깊이 CU이며,
    상기 현재 블록에 대한 정보 설정 단계에서는,
    상기 하위 깊이 CU와 상기 상위 깊이 CU의 예측 방향이 동일한 경우에, 상기 하위 깊이 CU의 참조 영상을 상기 상위 깊이 CU의 참조 영상으로 설정하는 것을 특징으로 하는 비디오 부호화 방법.
  5. 제1항에 있어서, 상기 현재 블록은 상위 깊이 CU이고, 상기 주변 블록들은 하위 깊이 CU이며,
    상기 현재 블록에 대한 정보 설정 단계에서는,
    상기 주변 블록들 중 상기 현재 블록에 대응하는 파티션 사이즈 및 파티션 위치의 주변 블록에 대한 움직임 정보를 기반으로 상기 현재 블록에 대한 움직임 정보를 유도하는 것을 특징으로 하는 비디오 부호화 방법.
  6. 주변 블록들의 정보를 획득하는 단계;
    상기 주변 블록들의 정보를 기반으로 현재 블록에 대한 정보를 유도하는 단계; 및
    상기 설정된 정보를 기반으로 현재 블록을 복호화하는 단계를 포함하며,
    상기 현재 블록 및 상기 주변 블록들은 CU(coding Unit)인 것을 특징으로 하는 비디오 복호화 방법.
  7. 제6항에 있어서, 상기 현재 블록은 복호화 대상인 현재 LCU(Largest Coding Unit)이고, 상기 주변 블록은 상기 현재 LCU의 주변 LCU이며,
    상기 현재 블록에 대한 정보 유도 단계에서는,
    상기 주변 LCU들의 부호화 정보 중에서 상기 현재 LCU에 대한 정보로서 이용될 정보를 선택하는 것을 특징으로 하는 비디오 복호화 방법.
  8. 제7항에 있어서, 상기 부호화 정보는 최대 부호화 깊이이며,
    상기 현재 블록에 대한 정보 유도 단계에서는,
    상기 주변 LCU들의 최대 부호화 깊이 중 가장 깊은 값을 기반으로 상기 현재 LCU에 대한 최대 부호화 깊이를 유도하는 것을 특징으로 하는 비디오 복호화 방법.
  9. 제6항에 있어서, 상기 현재 블록은 상위 깊이 CU이고, 상기 주변 블록은 하위 깊이 CU이며,
    상기 현재 블록에 대한 정보 유도 단계에서는,
    상기 하위 깊이 CU와 상기 상위 깊이 CU의 예측 방향이 동일한 경우에, 상기 하위 깊이 CU의 참조 영상을 상기 상위 깊이 CU의 참조 영상으로 하는 것을 특징으로 하는 비디오 복호화 방법.
  10. 제6항에 있어서, 상기 현재 블록은 상위 깊이 CU이고, 상기 주변 블록들은 하위 깊이 CU이며,
    상기 현재 블록에 대한 정보 유도 단계에서는,
    상기 주변 블록들 중 상기 현재 블록에 대응하는 파티션 사이즈 및 파티션 위치의 주변 블록에 대한 움직임 정보를 기반으로 상기 현재 블록에 대한 움직임 정보를 유도하는 것을 특징으로 하는 비디오 복호화 방법.
  11. 현재 블록에 대한 예측을 수행하는 예측부;
    상기 예측된 정보를 양자화하는 양자화부; 및
    상기 양자화된 정보를 엔트로피 인코딩하는 엔트로피 인코딩부를 포함하며,
    상기 예측부에서는 상기 현재 블록의 주변 블록들의 정보를 기반으로 상기 현재 블록에 대한 예측을 수행하고,
    상기 현재 블록 및 상기 주변 블록들은 CU(Coding Unit)들인 것을 특징으로 하는 비디오 부호화기.
  12. 수신한 비트스트림을 엔트로피 디코딩하는 엔트로피 디코딩부;
    엔트로피 디코딩된 정보를 역양자화하는 역양자화부; 및
    상기 역양자화된 정보를 기반으로 현재 블록에 대한 예측을 수행하는 예측부를 포함하며,
    상기 예측부에서는 상기 현재 블록의 주변 블록들의 정보를 기반으로 상기 현재 블록에 대한 예측을 수행하고,
    상기 현재 블록 및 상기 주변 블록들은 CU(Coding Unit)들인 것을 특징으로 하는 비디오 복호화기.
PCT/KR2012/005251 2011-07-01 2012-07-02 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치 WO2013005966A2 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US14/130,071 US20140126645A1 (en) 2011-07-01 2012-07-02 Video encoding and decoding methods and device using same
US15/060,051 US9843803B2 (en) 2011-07-01 2016-03-03 Video encoding and decoding methods and device using same
US15/806,574 US10250880B2 (en) 2011-07-01 2017-11-08 Video encoding and decoding methods and device using same
US16/263,314 US10681349B2 (en) 2011-07-01 2019-01-31 Video encoding and decoding methods and device using same
US16/877,807 US11190767B2 (en) 2011-07-01 2020-05-19 Video encoding and decoding methods and device using same
US17/510,560 US11677942B2 (en) 2011-07-01 2021-10-26 Video encoding and decoding methods and device using same
US18/311,786 US20230336722A1 (en) 2011-07-01 2023-05-03 Video encoding and decoding methods and device using same

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20110065431 2011-07-01
KR10-2011-0065431 2011-07-01
KR10-2011-0082462 2011-08-18
KR20110082462 2011-08-18
KR10-2012-0071620 2012-07-02
KR1020120071620A KR20130004173A (ko) 2011-07-01 2012-07-02 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US14/130,071 A-371-Of-International US20140126645A1 (en) 2011-07-01 2012-07-02 Video encoding and decoding methods and device using same
US15/060,051 Continuation US9843803B2 (en) 2011-07-01 2016-03-03 Video encoding and decoding methods and device using same

Publications (2)

Publication Number Publication Date
WO2013005966A2 true WO2013005966A2 (ko) 2013-01-10
WO2013005966A3 WO2013005966A3 (ko) 2013-03-14

Family

ID=47437545

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/005251 WO2013005966A2 (ko) 2011-07-01 2012-07-02 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치

Country Status (2)

Country Link
US (2) US11677942B2 (ko)
WO (1) WO2013005966A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10003808B2 (en) 2014-08-20 2018-06-19 Electronics And Telecommunications Research Institute Apparatus and method for encoding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090075767A (ko) * 2008-01-05 2009-07-09 경희대학교 산학협력단 인접 블록의 공간 예측 방향성을 이용하여 화면 내 예측모드를 추정하는 인코딩 및 디코딩 방법, 그 장치
KR20110017721A (ko) * 2009-08-14 2011-02-22 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR20110018189A (ko) * 2009-08-17 2011-02-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR20110073263A (ko) * 2009-12-21 2011-06-29 한국전자통신연구원 인트라 예측 부호화 방법 및 부호화 방법, 그리고 상기 방법을 수행하는 인트라 예측 부호화 장치 및 인트라 예측 복호화 장치

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2823480T3 (es) * 2010-05-04 2021-05-07 Lg Electronics Inc Método y aparato para procesar una señal de vídeo
KR102439252B1 (ko) 2010-05-26 2022-08-31 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
DK2924995T3 (en) 2010-07-09 2018-10-01 Samsung Electronics Co Ltd PROCEDURE FOR VIDEO DECODING, BY USING BLOCK COLLECTION
SI3907999T1 (sl) 2010-09-02 2024-02-29 Lg Electronics, Inc. Inter napoved
CN103477635B (zh) * 2010-10-08 2017-01-18 Ge视频压缩有限责任公司 编码器和编码方法与解码器和解码方法
CN105812817B (zh) * 2010-11-23 2019-07-12 Lg电子株式会社 由编码装置和解码装置执行的间预测方法
US8929450B2 (en) 2011-01-14 2015-01-06 Google Technology Holdings LLC Temporal block merge mode
TW201246943A (en) 2011-01-26 2012-11-16 Panasonic Corp Video image encoding method, video image encoding device, video image decoding method, video image decoding device, and video image encoding and decoding device
US9648334B2 (en) 2011-03-21 2017-05-09 Qualcomm Incorporated Bi-predictive merge mode based on uni-predictive neighbors in video coding
CN103765893A (zh) 2011-06-30 2014-04-30 三星电子株式会社 使用用于定点变换的比特深度调整的视频编码方法及其设备,以及视频解码方法及其设备
US9451277B2 (en) * 2012-02-08 2016-09-20 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090075767A (ko) * 2008-01-05 2009-07-09 경희대학교 산학협력단 인접 블록의 공간 예측 방향성을 이용하여 화면 내 예측모드를 추정하는 인코딩 및 디코딩 방법, 그 장치
KR20110017721A (ko) * 2009-08-14 2011-02-22 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR20110018189A (ko) * 2009-08-17 2011-02-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR20110073263A (ko) * 2009-12-21 2011-06-29 한국전자통신연구원 인트라 예측 부호화 방법 및 부호화 방법, 그리고 상기 방법을 수행하는 인트라 예측 부호화 장치 및 인트라 예측 복호화 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10003808B2 (en) 2014-08-20 2018-06-19 Electronics And Telecommunications Research Institute Apparatus and method for encoding

Also Published As

Publication number Publication date
US20220053188A1 (en) 2022-02-17
US11677942B2 (en) 2023-06-13
US20230336722A1 (en) 2023-10-19
WO2013005966A3 (ko) 2013-03-14

Similar Documents

Publication Publication Date Title
KR102585969B1 (ko) 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치
US11910013B2 (en) Image encoding method using a skip mode, and a device using the method
KR101316060B1 (ko) 인터 예측 부호화된 동영상 복호화 방법
KR20180109054A (ko) 영상 복호화 방법 및 장치
KR20130034559A (ko) 인트라 예측 모드 부호화/복호화 방법 및 장치
US11671584B2 (en) Inter-prediction method and video decoding apparatus using the same
US20240236304A1 (en) Inter-prediction method and video decoding apparatus using the same
US20230336722A1 (en) Video encoding and decoding methods and device using same
KR20180111374A (ko) 향상된 산술부호화를 제공하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 14130071

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12807248

Country of ref document: EP

Kind code of ref document: A2