WO2016072775A1 - 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 - Google Patents

비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 Download PDF

Info

Publication number
WO2016072775A1
WO2016072775A1 PCT/KR2015/011873 KR2015011873W WO2016072775A1 WO 2016072775 A1 WO2016072775 A1 WO 2016072775A1 KR 2015011873 W KR2015011873 W KR 2015011873W WO 2016072775 A1 WO2016072775 A1 WO 2016072775A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
weight
information
intra
inter
Prior art date
Application number
PCT/KR2015/011873
Other languages
English (en)
French (fr)
Inventor
박찬율
민정혜
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to EP15857835.1A priority Critical patent/EP3217663A4/en
Priority to CN201580070271.7A priority patent/CN107113425A/zh
Priority to KR1020177011969A priority patent/KR20170084055A/ko
Priority to US15/525,193 priority patent/US10666940B2/en
Publication of WO2016072775A1 publication Critical patent/WO2016072775A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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
    • 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
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods 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 bits, e.g. of the compressed video stream
    • 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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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

Definitions

  • the present disclosure relates to still image or video encoding and decoding combining an intra prediction result and an inter prediction result.
  • Intra prediction is a prediction technique that allows only spatial reference
  • inter prediction is a compression method that removes duplication of data by referring to an image encoded at a previous time. Since the image decoding / coding video codec uses only one of a spatial reference or a temporal reference, there is a problem that cannot reflect both the spatial and temporal characteristics of the image.
  • the present disclosure relates to a method and apparatus for obtaining weights for intra prediction and inter prediction in consideration of at least one of a distance between a reference picture and a current picture, a size of the current block, and characteristics of inter prediction and intra prediction in joint prediction. It starts.
  • a technique for applying joint prediction to an image codec having a free structure is disclosed.
  • a method of decoding video includes parsing, from a bitstream, combine prediction information indicating whether to combine and predict intra prediction and inter prediction for a current block; Based on the joint prediction information, determining whether to perform joint prediction on the current block; When performing joint prediction, performing inter prediction on a current block to obtain a first prediction value, and performing intra prediction on the current block to obtain a second prediction value; Determining a weight for inter prediction and a weight for intra prediction based on at least one of a distance between a reference picture and a current picture, a size of a current block, and characteristics of inter prediction and intra prediction; And performing joint prediction based on a weight for inter prediction, a weight for intra prediction, a first prediction value, and a second prediction value.
  • a method for decoding video includes parsing information about available modes from a bitstream; Selecting available modes from among a plurality of modes related to the prediction direction included in the intra prediction based on the information about the available modes; And determining a weight for each of the available modes.
  • a method for decoding video includes parsing information about available modes from a bitstream; Selecting available modes from among a plurality of modes corresponding to a plurality of reference blocks referenced by a current block included in inter prediction based on the information about the available modes; And determining a weight for each of the available modes.
  • performing the joint prediction may include calculating (weighted X first prediction value for inter prediction) + (weighted X second prediction value for intra prediction).
  • performing joint prediction may include performing joint prediction on a luma channel; And performing one of inter prediction or intra prediction on a chroma channel.
  • a method of decoding a video includes parsing information about a precision of a motion vector from a bitstream; And setting the precision of the motion vector of the inter prediction for the current block to one of half-pel, integer-pel, and 2-pel based on the information about the precision of the motion vector. It may further include.
  • determining the weight may include parsing weight information for the current block from the bitstream; And determining a weight for inter prediction and a weight for intra prediction based on the weight information.
  • the current block includes a prediction unit used in inter prediction and a prediction unit used in intra prediction, and the prediction unit used in inter prediction may be determined independently of the prediction unit used in intra prediction.
  • the determining of the weight may include determining a reference weight which is an initial weight for inter prediction; Determining a reference distance of a reference picture of inter prediction and a current picture including the current block; Determining a difference between a reference picture of the inter prediction and a distance of the current picture including the current block and a reference distance; Determining a weight for the inter prediction based on the difference between the reference weight and the distance.
  • a program for implementing a method of decoding an image according to an embodiment of the present disclosure may be recorded in a computer-readable recording medium.
  • the image decoding apparatus includes a receiving unit for parsing combined prediction information indicating whether to combine and predict intra prediction and inter prediction with respect to a current block from a bitstream; And determining whether to perform joint prediction on the current block based on the joint prediction information, and when performing joint prediction, perform inter prediction on the current block to obtain a first prediction value, and intra on the current block.
  • the prediction is performed to obtain a second prediction value, and the weight for the inter prediction and the weight for the intra prediction are determined based on at least one of the distance between the reference picture and the current picture, the size of the current block, and the characteristics of the inter prediction and the intra prediction.
  • a decoder configured to perform joint prediction based on a weight for inter prediction, a weight for intra prediction, a first prediction value, and a second prediction value.
  • an image encoding method includes: performing inter prediction on a current block to obtain a first prediction value; Performing intra prediction on the current block to obtain a second prediction value; Determining a weight for inter prediction and a weight for intra prediction based on at least one of a distance between a reference picture and a current picture, a size of a current block, and characteristics of inter prediction and intra prediction; Performing joint prediction based on weights for inter prediction, weights for intra prediction, first prediction values and second prediction values; Determining combine prediction information on whether to perform joint prediction on the current block; And transmitting a bitstream including at least one of the joint prediction information and the weight information using the weight.
  • the method may further include entropy coding at least one of the joint prediction information and the weight information to a lower rank than a result of the intra prediction and the inter prediction.
  • the determining of the weight may include determining a weight based on a sample value, a first prediction value, and a second prediction value of the original pixel in the current block.
  • the determining of the weight may include calculating a weight based on an expected value of the ratio of the sample value of the original pixel and the first prediction value and an expected value of the ratio of the sample value of the original pixel and the second prediction value.
  • the image encoding apparatus performs an inter prediction on the current block to obtain a first prediction value, performs an intra prediction on the current block to obtain a second prediction value, and obtains a reference picture and a current picture.
  • An encoder configured to perform joint prediction based on the prediction value and the second prediction value, and determine combine prediction information on whether to perform joint prediction on the current block;
  • a transmitter configured to transmit a bitstream including at least one of the joint prediction information and the weight information using the weight.
  • FIG. 1 is a flowchart of an image decoding method according to an embodiment of the present disclosure.
  • FIG. 2 is a block diagram of an image decoding apparatus according to an embodiment of the present disclosure.
  • FIG. 3 is a flowchart of an image encoding method according to an embodiment of the present disclosure.
  • FIG. 4 is a block diagram of an image encoding apparatus according to an embodiment of the present disclosure.
  • FIG. 5 is a flowchart of a video encoding method according to an embodiment of the present disclosure.
  • FIG. 6 is a flowchart of an image decoding method according to an embodiment of the present disclosure.
  • FIG. 7 is a flowchart illustrating joint prediction according to an embodiment of the present disclosure.
  • FIG. 8 is a diagram of a method of encoding a mode available in prediction according to an embodiment of the present disclosure.
  • FIG. 9 is a diagram for a method of lowering the accuracy of a motion vector in prediction according to an embodiment of the present disclosure.
  • FIG. 10 illustrates a concept of coding units, according to an embodiment of the present disclosure.
  • FIG. 11 is a block diagram of an image encoder based on coding units, according to an embodiment of the present disclosure.
  • FIG. 12 is a block diagram of an image decoder based on coding units, according to an embodiment of the present disclosure.
  • FIG. 13 is a diagram of deeper coding units according to depths, and partitions, according to an embodiment of the present disclosure.
  • FIG. 14 illustrates a relationship between a coding unit and transformation units, according to an embodiment of the present disclosure.
  • FIG. 15 illustrates encoding information according to depths, according to an embodiment of the present disclosure.
  • 16 is a diagram of deeper coding units according to depths, according to an embodiment of the present disclosure.
  • FIG. 17 illustrates a relationship between a coding unit, a prediction unit, and a transformation unit, according to an embodiment of the present disclosure.
  • FIG. 18 illustrates a relationship between a coding unit, a prediction unit, and a transformation unit, according to an embodiment of the present disclosure.
  • FIG. 19 illustrates a relationship between a coding unit, a prediction unit, and a transformation unit, according to an embodiment of the present disclosure.
  • FIG. 20 illustrates a relationship between a coding unit, a prediction unit, and a transformation unit, according to encoding mode information of Table 2.
  • FIG. 20 illustrates a relationship between a coding unit, a prediction unit, and a transformation unit, according to encoding mode information of Table 2.
  • FIGS. 1 to 9 an image encoding apparatus, an image decoding apparatus, a video encoding method, and a video decoding method according to an embodiment of the present invention will be described with reference to FIGS. 1 to 9.
  • FIG. 1 is a flowchart of an image decoding method according to an embodiment of the present disclosure.
  • the image decoding method may be performed by the image decoding apparatus 200.
  • the image decoding apparatus 200 may perform operation 110 of parsing, from the bitstream, combined prediction information indicating whether to combine and predict intra prediction and inter prediction with respect to the current block.
  • the image decoding apparatus 200 may perform operation 120 to determine whether to perform joint prediction on the current block based on the joint prediction information.
  • the image decoding apparatus 200 obtains a first prediction value by performing inter prediction on the current block, and obtaining a second prediction value by performing intra prediction on the current block (130). ) Can be performed.
  • the image decoding apparatus 200 may determine the weight of the inter prediction and the weight of the intra prediction based on at least one of the distance between the reference picture and the current picture, the size of the current block, and the characteristics of inter prediction and intra prediction. 140 may be performed. In addition, the image decoding apparatus 200 may perform a step 150 of performing joint prediction based on a weight for inter prediction, a weight for intra prediction, a first prediction value, and a second prediction value.
  • the current block may be a basic block of encoding or decoding of an image.
  • the current block may be a block for prediction.
  • the current block may be a block for transformation.
  • the current block may be a coding unit, a prediction unit, or a transformation unit. Coding units, prediction units, and transformation units will be described in more detail with reference to FIGS. 10 to 20.
  • intra prediction is a prediction technique that allows only spatial reference, and refers to a method of predicting a current block by referring to samples in the vicinity of a block to be encoded.
  • inter prediction is a compression method of eliminating duplication of data by referring to an image encoded at a previous time.
  • a prediction signal having high similarity can be generated by referring to an image encoded in a previous time.
  • Combined prediction is prediction that combines intra prediction and inter prediction.
  • the image decoding apparatus 200 obtains a first prediction value, which is a sample value reconstructed by inter prediction, and a second prediction value, which is a sample value reconstructed by intra prediction, and is predetermined to each of the first prediction value and the second prediction value.
  • the sample value may be predicted by multiplying the weights and adding the weighted first and second prediction values. If this is expressed as an equation, it is as follows.
  • Inter prediction uses correlation between screens. Therefore, when the distance between the current picture including the current block and the reference picture including the block referenced by the current block is far from each other, the accuracy of prediction may decrease. Therefore, in this case, the image decoding apparatus 200 may predict the sample value with higher accuracy by predicting the intra prediction using the information in the same picture with a large weight.
  • intra prediction predicts a sample value in the current block by using information of an already restored block in the picture.
  • the accuracy of the sample value prediction by intra prediction may be lower as the sample value at the lower right side in the current block. Therefore, in this case, the image decoding apparatus 200 may predict the lower right sample value with higher accuracy by predicting with higher weight for inter prediction.
  • the joint prediction information indicates whether to predict the combined intra prediction and the inter prediction.
  • the joint prediction information may be a flag. For example, when the joint prediction information is '1', the image decoding apparatus 200 may perform joint prediction. In addition, when the joint prediction information is '0', the image decoding apparatus 200 may not perform the joint prediction. Instead, the image decoding apparatus 200 may perform intra prediction or inter prediction based on predetermined information.
  • the image decoding apparatus 200 may parse split information indicating whether a current coding unit is divided into lower depths from a bitstream.
  • the image decoding apparatus 200 may determine whether to divide the current coding unit into smaller coding units based on the split information.
  • the image decoding apparatus 200 may parse the joint prediction information from the bitstream. Also, the image decoding apparatus 200 may determine whether to perform joint prediction based on the joint prediction information.
  • the image decoding apparatus 200 may parse skip information indicating whether to skip the current coding unit from the bitstream.
  • the skip information indicates whether an additional syntax element is not signaled except index information for merging.
  • the image decoding apparatus 200 may parse the joint prediction information from the bitstream.
  • the image decoding apparatus 200 may determine whether to perform joint prediction based on the joint prediction information.
  • the image decoding apparatus 200 may parse the joint prediction information.
  • the image decoding apparatus 200 may determine a weight for inter prediction and a weight for intra prediction based on at least one of a distance between a reference picture and a current picture, a size of a current block, and characteristics of inter prediction and intra prediction.
  • the image decoding apparatus 200 may determine a reference weight which is an initial weight for inter prediction.
  • the image decoding apparatus 200 may determine a reference distance between the reference picture of the inter prediction and the current picture including the current block.
  • the apparatus 200 for decoding an image may determine a difference between a reference picture and a distance between a reference picture of inter prediction and a current picture including a current block.
  • the image decoding apparatus 200 may determine a weight for inter prediction based on a difference between a reference weight and a distance.
  • the distance between the reference picture and the current picture may be represented by a difference of Picture Order Count (POC).
  • POC indicates the relative output order of pictures existing in the same CVS (Coded Video Sequence).
  • CVS Coded Video Sequence
  • the image decoding apparatus 200 may apply a function to reduce the weight for inter prediction as the distance between the reference picture of the inter prediction and the current picture including the current block increases.
  • the function may be the same as relation (2).
  • Weight for inter prediction reference weight + (reference distance-distance of reference picture and current picture) * k ... (2)
  • k is the amount of change in weight according to the change in distance.
  • k can have a positive real number.
  • the image decoding apparatus 200 may lower the weight for inter prediction as the distance between the reference picture and the current picture increases based on a function. In contrast, the image decoding apparatus 200 may increase the weight for inter prediction as the distance between the reference picture and the current picture is closer.
  • the image decoding apparatus 200 may determine a reference weight.
  • the reference weight may be an initial value of the weight used for the joint prediction.
  • the reference weight may include a reference weight for intra prediction and a reference weight for inter prediction.
  • the reference weight may be included in the bitstream.
  • the image decoding apparatus 200 may obtain the reference weight for the inter prediction by subtracting the reference weight for the intra prediction from '1'.
  • the reference weight may not be included in the bitstream but may be a predetermined value preset in the image decoding apparatus 200 and the image encoding apparatus 400.
  • the image decoding apparatus 200 may determine a reference distance.
  • the reference distance is a reference distance between the reference picture and the current picture.
  • the weight for intra prediction may be the same as the reference weight for intra prediction.
  • the weight for inter prediction may be the same as the reference weight for inter prediction.
  • the reference distance may be included in the bit stream.
  • the reference distance may be a predetermined value preset in the image decoding apparatus 200 and the image encoding apparatus 400.
  • the image decoding apparatus 200 may set a weight for initial inter prediction and a reference weight for initial intra prediction to 0.5, respectively.
  • the image decoding apparatus 200 may increase the weight for the inter prediction by 0.1 as the distance between the reference picture and the current picture is as close as a predetermined distance from the reference distance.
  • the image decoding apparatus 200 may lower the weight for intra prediction by 0.1.
  • the image decoding apparatus 200 may determine a weight for inter prediction and a weight for intra prediction based on the size of the current block. For example, when the size of the modern block is larger than the predetermined size, the accuracy of intra prediction may be lowered toward the lower right side in the current block. Therefore, the image decoding apparatus 200 may increase the weight for inter prediction as the size of the current block increases. Therefore, the image decoding apparatus 200 may increase the influence of inter prediction in joint prediction.
  • the image decoding apparatus 200 may set a weight for initial inter prediction and a reference weight for initial intra prediction to 0.5, respectively.
  • the image decoding apparatus 200 may increase the weight for inter prediction by 0.1 when the size of the current block is larger than the predetermined size.
  • the image decoding apparatus 200 may determine weights for inter prediction and weights for intra prediction based on characteristics of inter prediction and intra prediction. As described above, in the case of inter prediction, when the distance between the current picture including the current block and the reference picture including the block referenced by the current block is far, the accuracy of prediction may be lowered. In addition, in the case of intra prediction, the accuracy of the sample value prediction by intra prediction may be lower as the sample value on the lower right side in the current block. Therefore, when performing the joint prediction in the current block, the image decoding apparatus 200 may increase the weight for inter prediction and decrease the weight for intra prediction as it goes to the lower right pixel. On the contrary, when performing joint prediction in the current block, the image decoding apparatus 200 may lower the weight for the inter prediction and increase the weight for the intra prediction toward the upper left pixel.
  • the image decoding apparatus 200 may set a weight for initial inter prediction and a reference weight for initial intra prediction to 0.5, respectively. Also, when the current decoding apparatus 200 predicts the current block, the image decoding apparatus 200 may gradually increase the weight for inter prediction as the lower right pixel.
  • the reference weight is 0.5, but is not limited thereto. Also, the image decoding apparatus 200 may determine the reference weight as a weight for intra prediction or inter prediction.
  • the image decoding apparatus 200 may parse weight information of the current block from the bitstream.
  • the weight information may include a reference weight, a weight for inter prediction for the current block, and a weight for intra prediction.
  • the weight information may include weights for all pixels in the current block.
  • the weight information may include a weight for each region after separating the current block into a plurality of regions.
  • the image decoding apparatus 200 may obtain only one of weights for inter prediction or weights for intra prediction.
  • Weights included in the weight information may be represented by a matrix.
  • the weight information may be information expressed as a matrix of weight values according to coordinates in the current block.
  • the weight information may be information representing a weight value according to the distance between the current picture and the reference picture in a matrix.
  • the weight information may be expressed as a function.
  • the weight information may be a function indicating the magnitude of the weight according to the distance between the current picture and the reference picture.
  • the weight information may be a function indicating the magnitude of the weight according to the coordinates in the current block.
  • the weight information may include information for obtaining a weight for inter prediction and a weight for intra prediction.
  • the image decoding apparatus 200 may determine the weight based on the weight information.
  • the weight information may include a reference weight.
  • the image decoding apparatus 200 may determine a weight for each pixel based on at least one of a reference weight, a distance between a reference picture and a current picture, a size of a current block, and characteristics of inter prediction and intra prediction.
  • the weight information may be received for each block or slice.
  • intra prediction may include a plurality of modes related to planar mode, DC mode, and direction.
  • image encoding apparatus 200 may generate a unidirectional motion prediction candidate and generate a bidirectional motion prediction candidate.
  • image encoding apparatus 200 may have a reference block of the current block in a picture reconstructed before the left, the upper side, or the current picture.
  • the image decoding apparatus 200 may weight each of the available modes among a plurality of modes (eg, planar mode, DC mode, and a plurality of modes (intra_Angular) related to the prediction direction) included in the intra prediction. Can be determined. In addition, the image decoding apparatus 200 may determine a weight for each of the available modes among the plurality of modes associated with the plurality of reference blocks referenced by the current block included in the inter prediction. Also, the image decoding apparatus 200 may determine a weight for each of the available modes among a plurality of modes related to the unidirectional prediction candidate or the bidirectional prediction candidate included in the inter prediction.
  • a plurality of modes eg, planar mode, DC mode, and a plurality of modes (intra_Angular) related to the prediction direction
  • the image decoding apparatus 200 may select available modes based on the bitstream. For example, the image decoding apparatus 200 may parse information about modes available from the bitstream. Also, the image decoding apparatus 200 may select available modes among a plurality of modes related to the prediction direction included in the intra prediction based on the information about the available modes. In addition, the image decoding apparatus 200 may determine a weight for each of the available modes.
  • the image decoding apparatus 200 may select available modes among modes included in the plurality of inter predictions based on the information about the available modes. For example, the image decoding apparatus 200 may select available modes among a plurality of modes corresponding to a plurality of reference blocks referenced by the current block. Also, the image decoding apparatus 200 may select available modes among a plurality of modes related to the unidirectional prediction candidate or the bidirectional prediction candidate included in the inter prediction. In addition, the image decoding apparatus 200 may determine a weight for each of the available modes.
  • Intra prediction may have a plurality of modes related to the planar mode, the DC mode, and the direction. There may be 33 different modes associated with orientation. Also, the index for planar mode can be '0' and the index for DC mode can be '1'. In addition, the indices for the plurality of modes related to the direction may be '2' to '34', respectively.
  • the image decoding apparatus 200 may receive information about available modes from the bitstream.
  • information about available modes may be given at intervals.
  • the image decoding apparatus 200 may include a planar mode ('0'), a DC mode ('1'), 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34 can be selected as available modes.
  • the image decoding apparatus 200 is available in the Planar mode, DC mode, 2, 6, 10, 14, 18, 22, 26, 30, 34 mode Can be selected.
  • the image decoding apparatus 200 may select Planar, DC, 2, 10, 18, 26, 34 as the available mode.
  • information about available modes may be given as the number of modes.
  • the image decoding apparatus 200 may select a mode available sequentially from the front in the sequence shown in Table 1.
  • the listings listed in Table 1 may be an order of modes that are used less frequently than modes that are used frequently. Since the modes in parentheses are listed in Table 1, the image decoding apparatus 200 may arbitrarily select a mode. Alternatively, the image decoding apparatus 200 may receive additional information from the bitstream and select some of the modes having the same rank.
  • the image decoding apparatus 200 may select ten modes as available modes. That is, the image decoding apparatus 200 may select a planar, DC, 10, 26, 34, 2, 18, 6, 14, or 22 as an available mode. Since (6, 14, 22, 30) are in the same rank, the image decoding apparatus 200 may arbitrarily exclude the mode '30'. Alternatively, the image decoding apparatus 200 may exclude additional information by parsing additional information from the bitstream. In this case, the image decoding apparatus 200 may select a planar, DC, 10, 26, 34, 2, 18, 6, 22, 30 as an available mode.
  • the image decoding apparatus 200 may determine weights for each of the selected available modes. Also, the image decoding apparatus 200 may perform joint prediction based on the determined weight.
  • the image decoding apparatus 200 may perform joint prediction according to relation (3).
  • N represents the number of available modes of inter prediction.
  • M represents the number of available modes of intra prediction.
  • aN represents weights according to the inter prediction mode.
  • XN represents prediction values according to the inter prediction mode.
  • bM represents weights according to the intra prediction mode.
  • YM represents prediction values according to the intra prediction mode.
  • the image decoding apparatus 200 may perform joint prediction based on a weight for inter prediction, a weight for intra prediction, a first prediction value obtained by performing inter prediction, and a second prediction value obtained by performing intra prediction.
  • the joint prediction may be performed based on the relations (1) to (3) described above.
  • FIG. 2 is a block diagram of an image decoding apparatus according to an embodiment of the present disclosure.
  • the image decoding apparatus 200 includes a receiver 210 and a decoder 220.
  • a description overlapping with the image decoding method described with reference to FIG. 1 will be omitted.
  • the receiver 210 parses combined prediction information indicating whether to combine and predict intra prediction and inter prediction with respect to the current block from the bitstream.
  • the decoder 220 determines whether to perform joint prediction on the current block based on the joint prediction information. In addition, when performing joint prediction, the decoder 220 obtains a first prediction value by performing inter prediction on the current block, and obtains a second prediction value by performing intra prediction on the current block. Also, the decoder 220 determines a weight for inter prediction and a weight for intra prediction based on at least one of a distance between a reference picture and a current picture, a size of a current block, and characteristics of inter prediction and intra prediction. In addition, the decoder 220 performs joint prediction based on a weight for inter prediction, a weight for intra prediction, a first prediction value, and a second prediction value.
  • FIG. 3 is a flowchart of an image encoding method according to an embodiment of the present disclosure.
  • the image encoding method may be performed by the image encoding apparatus 400.
  • the image encoding apparatus 400 may perform an operation 310 to obtain a first prediction value by performing inter prediction on the current block.
  • the image encoding apparatus 400 may perform an operation of obtaining a second prediction value by performing intra prediction on the current block (320).
  • the image encoding apparatus 400 may determine the weight of the inter prediction and the weight of the intra prediction based on at least one of the distance between the reference picture and the current picture, the size of the current block, and the characteristics of inter prediction and intra prediction. 330 may be performed.
  • the image encoding apparatus 400 may perform a step 340 of performing joint prediction based on a weight for inter prediction, a weight for intra prediction, a first prediction value, and a second prediction value.
  • the image encoding apparatus 400 may perform an operation 350 for determining prediction prediction information about whether to perform joint prediction on the current block.
  • the image encoding apparatus 400 may perform a step 360 of transmitting a bitstream including at least one of joint prediction information and weight information using weights.
  • Determining the weight 330 may include determining a weight based on a sample value, a first prediction value, and a second prediction value of the original pixel in the current block. That is, the image encoding apparatus 400 may compare the first prediction value and the second prediction value for the current block with the sample value of the original pixel. Also, the image encoding apparatus 400 may increase a weight of a prediction value close to a sample value of an original pixel among the first prediction value and the second prediction value. In addition, joint prediction may be performed based on the first prediction value and the second prediction value.
  • determining the weight 330 includes calculating a weight based on an expectation of the ratio of the sample value of the original pixel and the first prediction value and an expectation of the ratio of the sample value of the original pixel and the second prediction value. can do. This may be as in relation (4).
  • w1 (i, j) f (E ⁇ x (i, j) / x1 (i, j) ⁇ , E ⁇ x (i, j) / x2 (i, j) ⁇ ) ... (4)
  • w1 is a weight for intra prediction.
  • i is the X coordinate of the pixel.
  • j is the Y coordinate of the pixel.
  • f () is a predetermined function.
  • E () means expectation.
  • x is the sample value of the original pixel.
  • x1 is a second prediction value obtained by performing intra prediction.
  • x2 is a first prediction value obtained by performing inter prediction.
  • the weight w2 for inter prediction may be the same as in relation (5).
  • E (x (i, j) / x1 (i, j)) means the expected value of x (i, j) / x1 (i, j).
  • the current block may include a plurality of pixels.
  • the image encoding apparatus 400 may obtain an expected value with respect to a ratio of original sample values x for a plurality of pixels and sample values (ie, second prediction values) reconstructed by intra prediction for the plurality of pixels. .
  • the image encoding apparatus 400 may obtain an expected value with respect to a ratio of original sample values x for a plurality of pixels and sample values reconstructed by inter prediction for the plurality of pixels (that is, a first prediction value).
  • Each expectation can be obtained by the following relation (6).
  • x_n (i, j) means a sample value of the original pixel of the nth block in the last N blocks having the same size as the current block.
  • i means the coordinate value of the x-axis.
  • j means the coordinate value of the y-axis. Therefore, x_n (i, j) means the sample value of the original pixel at the (i, j) position in the n-th block.
  • x1_n (i, j) means a second prediction value obtained by reconstructing x_n (i, j) by intra prediction.
  • x2_n (i, j) means a first prediction value obtained by reconstructing x_n (i, j) by inter prediction.
  • f () means a predetermined function.
  • f (X, Y) may be X ⁇ 2 / (X ⁇ 2 + Y ⁇ 2). Therefore, relation (4) may be equal to relation (7) below.
  • the image encoding apparatus 400 may perform joint prediction 340. In addition, the image encoding apparatus 400 may determine whether to perform the joint prediction in the image decoding apparatus 200 by comparing the joint prediction result, the inter prediction result, and the intra prediction result. For example, the image encoding apparatus 400 may determine 350 whether to perform joint prediction based on bit efficiency. The image encoding apparatus 400 may compare the bits used when performing joint prediction and the number of bits used when performing intra prediction or inter prediction. The image encoding apparatus 400 may determine 350 the joint prediction information based on the comparison result. For example, when the number of bits used by the joint prediction for the same image is small, the image encoding apparatus 400 may set the joint prediction information to '1'. The image decoding apparatus 200 may perform joint prediction based on the joint prediction information.
  • the image encoding apparatus 400 may compare the difference between the reconstructed image and the original image. Also, when performing intra prediction or inter prediction, the image encoding apparatus 400 may compare the difference between the reconstructed image and the original image. In addition, the image encoding apparatus 400 may determine the joint prediction information 350 based on the comparison result.
  • the image decoding apparatus 200 may receive joint prediction information. In addition, the image decoding apparatus 200 may perform one of joint prediction, inter prediction, and intra prediction on the current block based on the joint prediction information.
  • the image encoding apparatus 400 may determine whether to perform joint prediction as joint prediction information.
  • the joint prediction information may be a flag. For example, when the joint prediction information is '1', this may indicate that the joint prediction is performed. In addition, when the joint prediction information is '0', this may indicate that joint prediction is not performed.
  • the image encoding apparatus 400 may obtain weight information by using a weight for inter prediction or a weight for intra prediction. Once the weights for the inter predictions are determined, the weights for the intra predictions can be determined according to relation (5).
  • the weight information may include weights for all pixels in the current block. Alternatively, the weight information may include a weight for each region after separating the current block into a plurality of regions. In addition, the weight information may include different weights for each block included in one image. In addition, the weight information may include different weights for each slice included in one image. In addition, the weight information may include different weights for each image.
  • the image encoding apparatus 400 may obtain weight information by using weights for inter prediction and weights for intra prediction. For example, the image encoding apparatus 400 may determine a reference weight based on the weight of the determined inter prediction or the weight of the determined intra prediction. Also, the image encoding apparatus 400 may include the reference weight as the weight information in the bitstream and transmit the reference weight to the image decoding apparatus 200. The image decoding apparatus 200 may determine a weight for each pixel based on at least one of a reference weight, a distance between a reference picture and a current picture, a size of a current block, and characteristics of inter prediction and intra prediction.
  • the image encoding apparatus 400 may determine a reference weight for inter prediction as 0.4 (reference weight).
  • the image encoding apparatus 400 may transmit the reference weight as weight information to the image decoding apparatus.
  • the image decoding apparatus 200 may set the reference weight for inter prediction to 0.4 and the reference weight for intra prediction to 0.6 based on the reference weight.
  • the image decoding apparatus 200 may increase the weight for inter prediction by 0.1 and decrease the weight for intra prediction by 0.1.
  • the image decoding apparatus 200 corrects the weight based on the size of the current block and the characteristics of the inter prediction and the intra prediction has been described above, a detailed description thereof will be omitted.
  • the image encoding apparatus 400 may transmit 360 a bitstream including at least one of joint prediction information and weight information.
  • the image encoding apparatus 400 may transmit 360 including only the joint prediction information in the bitstream.
  • the image encoding apparatus 400 may include only the joint prediction information in the bitstream and transmit the combined prediction information to the image decoding apparatus 200.
  • the image decoding apparatus 200 may determine to perform joint prediction by parsing the joint prediction information.
  • the image decoding apparatus 200 does not receive the weight information, but sets a predetermined basic weight, and based on at least one of the distance between the reference picture and the current picture, the size of the current block, and the characteristics of inter prediction and intra prediction.
  • the weight for the pixel can be determined. Since the method of setting the weight has been described above, a detailed description thereof will be omitted.
  • the image encoding apparatus 400 may transmit 360 by including only the weight information in the bitstream.
  • the image decoding apparatus 200 may determine to perform joint prediction.
  • weights for inter prediction and intra prediction for the current block may be obtained based on the weight information.
  • the image encoding apparatus 400 may entropy code at least one of the joint prediction information and the weight information at a lower rank than a result of intra prediction and inter prediction.
  • the image encoding apparatus 400 may introspectively code information related to joint prediction in a lower rank than information related to inter prediction and intra prediction.
  • the image encoding apparatus 400 may include information related to joint prediction in a bitstream using more bits than information related to inter prediction and intra prediction.
  • priority may be given to inter prediction and intra prediction.
  • the image encoding apparatus 400 and the image decoding apparatus 200 according to the present disclosure may be compatible with existing codecs.
  • a program for implementing the image decoding method described with reference to FIG. 1 and the image encoding method described with reference to FIG. 3 may be recorded on a computer-readable recording medium.
  • FIG. 4 is a block diagram of an image encoding apparatus according to an embodiment of the present disclosure.
  • the image encoding apparatus 400 includes an encoder 410 and a transmitter 420.
  • a description overlapping with the image encoding method described with reference to FIG. 3 will be omitted.
  • the encoder 410 may obtain the first prediction value by performing inter prediction on the current block. In addition, the encoder 410 may perform intra prediction on the current block to obtain a second prediction value. In addition, the encoder 410 may determine the weight of the inter prediction and the weight of the intra prediction based on at least one of the distance between the reference picture and the current picture, the size of the current block, and the characteristics of inter prediction and intra prediction. The encoder 410 may perform joint prediction based on a weight for inter prediction, a weight for intra prediction, a first prediction value, and a second prediction value. In addition, the encoder 410 may determine combine prediction information on whether to perform joint prediction on the current block.
  • the transmitter 420 may transmit a bitstream including at least one of joint prediction information and weight information using weights.
  • FIG. 5 is a flowchart of a video encoding method according to an embodiment of the present disclosure.
  • FIG. 5 is another embodiment of the video encoding method described with reference to FIG. 3.
  • the image encoding apparatus 400 may determine whether to perform an intra mode (510).
  • the image encoding apparatus 400 may determine whether to perform the intra mode in order to sequentially perform the intra mode and the inter mode (510). Therefore, if the intra mode and the inter mode can be processed in parallel, it may not be determined 510 whether to perform the intra mode.
  • the image encoding apparatus 400 may determine whether to perform joint prediction (520). When performing joint prediction, the image encoding apparatus 400 may perform joint intra-inter prediction (530). Performing 530 the joint intra-inter prediction may include steps 310 to 350 of FIG. 3. If the joint prediction is not performed, the image encoding apparatus 400 may perform intra prediction (540). Also, the image encoding apparatus 400 may obtain at least one of joint prediction information or weight information by performing joint intra-inter prediction or intra prediction.
  • the image encoding apparatus 400 may perform entropy coding on the result of joint intra-inter prediction or intra prediction (535). Since the image encoding apparatus 400 determines to perform the intra mode, the image encoding apparatus 400 may perform entropy coding on the intra block (535). For example, the image encoding apparatus 400 may perform entropy coding on at least one of joint prediction information and weight information. Performing entropy coding 535 may be included in step 360 of FIG. 3. Entropy coding for an intra block and entropy coding for an inter block may have different quantization levels or post-processing filters of transform coefficients.
  • the image encoding apparatus 400 may determine whether to perform joint prediction (525).
  • the image encoding apparatus 400 may perform joint intra-inter prediction (550).
  • Performing the joint intra-inter prediction 550 may include steps 310 to 350 of FIG. 3.
  • Performing joint intra-inter prediction (530) and performing joint intra-inter prediction (550) perform different entropy coding. For example, performing joint intra-inter prediction (530) performs entropy coding for the intra block (535). However, performing joint intra-inter prediction (550) performs entropy coding on the inter block (555).
  • the image encoding apparatus 400 may perform inter prediction (560). Also, the image encoding apparatus 400 may obtain at least one of joint prediction information or weight information by performing joint intra-inter prediction or inter prediction.
  • the image encoding apparatus 400 may perform entropy coding on the result of joint intra-inter prediction or inter prediction (555). Since the image encoding apparatus 400 determines to perform the inter mode, the image encoding apparatus 400 may perform entropy coding on the inter block (555). For example, the image encoding apparatus 400 may perform entropy coding on at least one of joint prediction information and weight information. Performing entropy coding 555 may be included in step 360 of FIG. 3. Entropy coding for an intra block and entropy coding for an inter block may have different quantization levels or post-processing filters of transform coefficients. In addition, as described above, when performing entropy coding, information related to joint prediction may have a lower priority than information related to unbound prediction.
  • the image encoding apparatus 400 may select the most effective encoding method based on the joint intra-inter prediction 530, 550, the intra prediction 540, and the inter prediction 560. Also, the image encoding apparatus 400 may select the most effective encoding method in consideration of entropy coding 535 for an intra block and entropy coding 555 for an inter block. In addition, the selected result may be included in the bitstream and transmitted to the image decoding apparatus 400.
  • the current block may include any one of a coding unit, a prediction unit, and a transformation unit.
  • the current block may include a prediction unit used in inter prediction and a prediction unit used in intra prediction.
  • the image encoding apparatus 400 may perform encoding on various prediction units. Also, the image encoding apparatus 400 may select the most efficient prediction unit among various prediction units.
  • the image encoding apparatus 400 may independently determine a prediction unit used in inter prediction from a prediction unit used in intra prediction. For example, the image encoding apparatus 400 may split a prediction unit used in inter prediction from a coding unit most efficiently for inter prediction. The image encoding apparatus 400 may not consider the prediction unit used in the intra prediction when determining the prediction unit used in the inter prediction.
  • the steps of performing joint intra-inter prediction are performed twice.
  • the image encoding apparatus 400 may use the result of performing the joint intra-inter prediction without performing the joint intra-inter prediction (550) (530).
  • the joint intra-inter prediction 530 and 550 include intra prediction or inter prediction
  • the image encoding apparatus 400 performs inter prediction based on the result of the joint intra-inter prediction 530 and 550. 540 or intra prediction performance 530 may be obtained.
  • at least one of determining (510) whether to perform intra mode and determining (520 and 525) whether to perform joint prediction may not be performed.
  • the image encoding apparatus 400 may simultaneously perform joint intra-inter prediction, intra prediction, and inter prediction.
  • FIG. 6 is a flowchart of an image decoding method according to an embodiment of the present disclosure.
  • the image decoding apparatus 200 may parse 610 an intra / inter type from the received bitstream. Also, the image decoding apparatus 200 may determine whether the image is in intra mode based on the intra / inter type (620). When the intra mode is determined, the image decoding apparatus 200 may parse the combined prediction information 630. Parsing the combined prediction information 630 may correspond to step 110 of FIG. 1. Also, the image decoding apparatus 200 may determine whether to perform joint prediction based on the joint prediction information (635). Determining whether or not to perform joint prediction 635 may correspond to step 120 of FIG. 1.
  • the image decoding apparatus 200 may perform a plurality of inter predictions.
  • the first inter prediction 640 to the L th inter prediction may be performed. Since a plurality of inter predictions have been described with reference to FIG. 1, detailed descriptions thereof will be omitted.
  • the image decoding apparatus 200 may perform a plurality of intra predictions. For example, first luma intra prediction 642 to N-th luma intra prediction may be performed.
  • first chroma intra prediction 644 to K th chroma intra prediction may be performed. Performing inter prediction and performing intra prediction may correspond to step 130 of FIG. 1. Since a plurality of intra predictions has been described in detail with reference to FIG. 1, detailed descriptions thereof will be omitted.
  • the image decoding apparatus 200 may perform joint prediction on a luma channel.
  • the image decoding apparatus 200 may perform one of inter prediction or intra prediction on a chroma channel. That is, the image decoding apparatus 200 may perform joint prediction only on the luma channel and perform one of the same inter prediction or intra prediction on the chroma channel.
  • the image decoding apparatus 200 may determine whether to perform joint prediction on the chroma channel based on the chroma joint prediction information parsed from the bitstream. Also, the image decoding apparatus 200 may not perform joint prediction on a chroma channel based on chroma prediction information.
  • the transmission efficiency of the bitstream may be increased.
  • the image decoding apparatus 200 may set different weights for the luma channel and the chroma channel. In this case, the image decoding apparatus 200 may provide a reconstructed image of high quality with respect to the luma channel and the chroma channel. In contrast, the image decoding apparatus 200 may receive a set of weights from the image encoding apparatus 400 and use the weights of the chroma channel and the luma channel. The image decoding apparatus 200 may receive weight information, and the weight information may include a flag regarding whether to apply different weights to the luma channel and the chroma channel.
  • the image decoding apparatus 200 may perform joint prediction based on a plurality of intra prediction and inter prediction (646). Performing 646 a joint prediction may include step 140 and step 150 of FIG. 1.
  • the image decoding apparatus 200 may perform intra prediction.
  • the image decoding apparatus 200 may perform the first luma intra prediction 650 and the first chroma intra prediction 655.
  • the image decoding apparatus 200 may parse the combined prediction information 660. Parsing the combined prediction information 660 may correspond to step 110 of FIG. 1. In addition, the image decoding apparatus 200 may determine whether to perform joint prediction based on the joint prediction information (665). Determining whether or not to perform joint prediction 665 may correspond to step 120 of FIG. 1.
  • the image decoding apparatus 200 may perform a plurality of intra prediction.
  • the first luma intra prediction 670 to the N th luma intra prediction may be performed.
  • the first chroma intra prediction 672 to the K th chroma intra prediction may be performed. Since a plurality of intra predictions has been described in detail with reference to FIG. 1, detailed descriptions thereof will be omitted.
  • the image decoding apparatus 200 may perform a plurality of inter predictions.
  • the first inter prediction 674 to the L th inter prediction may be performed. Since a plurality of inter predictions have been described with reference to FIG. 1, detailed descriptions thereof will be omitted.
  • Performing inter prediction and performing intra prediction may correspond to step 130 of FIG. 1.
  • the image decoding apparatus 200 may perform joint prediction based on a plurality of intra prediction and inter prediction (676). Performing joint prediction 676 may include step 140 and step 150 of FIG. 1.
  • the image decoding apparatus 200 may perform inter prediction.
  • the image decoding apparatus 200 may perform the first inter prediction 680 and the first chroma intra prediction 655.
  • the current block may include a prediction unit used in inter prediction and a prediction unit used in intra prediction.
  • the image decoding apparatus 200 may determine a prediction unit based on the bitstream.
  • the image decoding apparatus 200 may determine a prediction unit used in inter prediction independently of the prediction unit used in intra prediction.
  • the image decoding apparatus 200 may parse information about a prediction unit used in inter prediction and information about a prediction unit used in intra prediction from the bitstream. The image decoding apparatus 200 may not consider the prediction unit used in the intra prediction when determining the prediction unit used in the inter prediction.
  • both inter prediction and intra prediction may be performed.
  • the image decoding apparatus 200 may use a prediction unit used for inter prediction when inter prediction and use a prediction unit used for intra prediction when intra prediction.
  • the image decoding apparatus 200 may use a separate prediction unit for joint prediction.
  • FIG. 7 is a flowchart illustrating joint prediction according to an embodiment of the present disclosure.
  • the combined prediction value may be calculated as in relation (1).
  • the image decoding apparatus 200 may perform intra prediction based on the information m1 regarding intra prediction (710).
  • the information m1 regarding intra prediction may include information about a prediction direction.
  • the image decoding apparatus 200 may perform intra prediction (710) to obtain a second prediction value x1.
  • the image decoding apparatus 200 may perform inter prediction 720 based on the information m 2 related to inter prediction.
  • the information about the inter prediction may be a motion vector.
  • the image decoding apparatus 200 may obtain the first prediction value x2 by performing inter prediction 720.
  • the image decoding apparatus 200 may perform a weighted sum 730 based on a weight w2 for inter prediction, a weight w1 for intra prediction, a first prediction value, and a second prediction value.
  • the result of the weighted sum 740 may be the same as in relation (1).
  • the weight may be determined according to at least one of a position of a pixel included in the current block and a temporal distance between the current picture including the current block and the reference picture including the reference block. Therefore, if the relation (1) is described in more detail, it can be equal to the relation (8).
  • x (i, j) w (i, j) a (t) x1 (i, j) + (1-w (i, j)) b (t) x2 (i, j) ... (8)
  • i is the X coordinate of the pixel.
  • j is the Y coordinate of the pixel.
  • x is the joint prediction value.
  • x1 is a second prediction value obtained by performing intra prediction.
  • x2 is a first prediction value obtained by performing inter prediction.
  • w is a weight for the intra prediction value.
  • w is a function that takes i and j as variables. Therefore, the value of w may vary depending on the position of the pixel.
  • a and b are functions related to the temporal distance between the current picture and the reference picture.
  • A is one of the weights for intra prediction. It may have a (t) polynomial.
  • a (t) can be given as a quadratic function such as c * t ⁇ 2 + d * t + e.
  • a (t) may be a monotonically increasing function.
  • a (t) may have a value of 0 or more and 1 or less.
  • b (t) may be 1-a (t).
  • a (t) ⁇ a1 (t1) + a2 (t2) + ... + aN (tN) ⁇ / ⁇ a1 (t1) + a2 (t2) + ... + aN (tN) +1 ⁇ .. (9)
  • FIG. 8 is a diagram of a method of encoding a mode available in prediction according to an embodiment of the present disclosure.
  • the image encoding apparatus 400 may use variable length encoding and fixed length encoding to reduce the amount of data to be transmitted to the image decoding apparatus 200.
  • the image encoding apparatus 400 may use statistical characteristics of the image and the intra prediction mode to express 35 intra prediction modes with fewer bits. In general, when a natural image is divided into blocks of a certain size, one block and its neighboring blocks have similar image characteristics. Therefore, the intra prediction mode for the current block is also likely to have the same or similar mode as the neighboring block.
  • the image encoding apparatus 400 may encode the mode of the current block based on the intra prediction modes of the left block and the upper block based on the current block.
  • the image encoding apparatus 400 may perform variable length encoding. For example, the image encoding apparatus 400 may allocate an intra prediction mode of a left block to A0 according to Most Probable Mode (MPM). In addition, the image encoding apparatus 400 may allocate the intra prediction mode of the upper block to A1. In addition, the image encoding apparatus 400 may allocate one of the planar mode, the DC mode, and the vertical mode to A2. A0 to A2 may have different numbers of bits by variable length coding. The image encoding apparatus 400 may encode A0 mode as '10'. The image encoding apparatus 400 may encode the A1 mode as '110'. The image encoding apparatus 400 may encode the A2 mode as '111'.
  • MPM Most Probable Mode
  • the intra prediction mode for the current block may be similar to the prediction mode of the neighboring block. That is, when performing intra prediction on the current block, the probability of generating the same prediction mode as that of the neighboring block is high. Therefore, the image encoding apparatus 400 may increase the transmission efficiency of the bitstream by allocating a small number of bits to the prediction mode.
  • the image encoding apparatus 400 may perform fixed length encoding on the remaining modes not allocated to the variable length encoding mode. For example, the image encoding apparatus 400 may encode the B0 mode as '00 ... 00 '. Likewise, the BN-1 mode may be encoded as '01 ... 11 '. The image decoding apparatus 200 may identify whether the variable bit encoding is used or the fixed encoding encoding is performed by checking the first bit of the encoded bit string. For example, the first bit of A0 ⁇ A2 mode is '1' and the first bit of B0 ⁇ BN-1 mode is '0'. The image decoding apparatus 200 may recognize that variable length coding is used when the first bit is '1'.
  • the image decoding apparatus 200 may receive information about available modes from the bitstream. For example, when the information on the available mode is given as 'interval 4', the image decoding apparatus 200 uses the planar mode, the DC mode, 2, 6, 10, 14, 18, 22, 26, 30, 34. You can choose from the available modes. In this case, the planar mode, the DC mode, and the '2' mode may be encoded using variable length coding. In addition, the remaining 6, 10, 14, 18, 22, 26, 30 and 34 modes (eight modes) can be encoded using fixed length coding. In this case, the image encoding apparatus 400 may perform fixed length encoding with only 3 bits for 8 modes. If no available mode is selected, 5 bits are required since fixed-length encoding must be performed for 32 modes. Therefore, if the available mode is selected, encoding can be performed using fewer bits. In addition, since the image encoding apparatus 400 transmits fewer bits to the image decoding apparatus 200, the efficiency is improved.
  • FIG. 9 is a diagram for a method of lowering the accuracy of a motion vector in prediction according to an embodiment of the present disclosure.
  • an image may be up-scaling.
  • the black dots are the original pixels, and the white dots are the pixels that are interpolated by upscaling. Interpolated pixels are called subpixels.
  • the image decoding apparatus 200 may parse information about the precision of a motion vector from the bitstream. Also, the image decoding apparatus 200 may determine the precision of the motion vector of the inter prediction with respect to the current block based on the information about the precision of the motion vector. Can be set to one of -pel.
  • pel means a pixel and is a movement unit of a motion vector.
  • a black dot means a restored pixel. Since moving between original pixels moves by one pixel, it can be represented by integer-pel (1-pel).
  • the image decoding apparatus 200 may set the precision of the motion vector to 2-pel based on the information about the precision of the motion vector.
  • a motion vector may be set for pixels that are 2-pel apart from the start pixel 910 of the search.
  • the image decoding apparatus 200 may set a motion vector to face one of the pixels 912, 916, and 914 from the start pixel 910.
  • the image decoding apparatus 200 does not search for a motion vector that is more precise than 2-pel.
  • the image decoding apparatus 200 may select a motion vector 920 from the pixel 910 to the pixel 916.
  • the image decoding apparatus 200 may select the motion vector 920 based on information parsed from the bitstream.
  • the setting of the motion vector according to another embodiment of the present disclosure is disclosed in FIG. 9B.
  • the image decoding apparatus 200 may set the precision of the motion vector to an integer-pel based on the information about the precision of the motion vector.
  • the image decoding apparatus 200 may further perform the following search. For a pixel at an integer-pel spacing from the start pixel 930 of the search, a motion vector can be set.
  • the image decoding apparatus 200 may include the pixels 931, the pixels 932, the pixels 933, the pixels 934, the pixels 935, the pixels 936, the pixels 937, and the like from the start pixel 930.
  • the motion vector can be set to face either of the pixels 938.
  • the image decoding apparatus 200 may set a motion vector from the starting pixel 930 to one of the pixels 931, the pixels 933, the pixels 935, and the pixels 937 according to a search method.
  • the image decoding apparatus 200 may select the motion vector 940 based on the bitstream.
  • the image decoding apparatus 200 may select a motion vector 940 directed from the pixel 930 to the pixel 933.
  • the setting of the motion vector according to another embodiment of the present disclosure is disclosed in FIG. 9C.
  • the image decoding apparatus 200 may set the precision of the motion vector to half-pel based on the information about the precision of the motion vector.
  • the image decoding apparatus 200 may further search as follows. For pixels that are half-pel apart from the start pixel 950 of the search, a motion vector can be set. Also, the image decoding apparatus 200 may select the motion vector 960 based on the bitstream. The image decoding apparatus 200 may select a motion vector 960 directed from the pixel 950 to the pixel 951.
  • the setting of the motion vector according to another embodiment of the present disclosure is disclosed in FIG. 9D.
  • the image decoding apparatus 200 may set the precision of the motion vector to quarter-pel based on the information about the precision of the motion vector.
  • the image decoding apparatus 200 may further search as follows. For pixels that are quarter-pel apart from the start pixel 970 of the search, a motion vector can be set. Also, the image decoding apparatus 200 may select the motion vector 980 based on the bitstream. The image decoding apparatus 200 may select a motion vector 980 directed from the pixel 970 to the pixel 971.
  • FIG. 10 illustrates a concept of coding units, according to an embodiment of the present disclosure.
  • a size of a coding unit may be expressed by a width x height, and may include 32x32, 16x16, and 8x8 from a coding unit having a size of 64x64.
  • Coding units of size 64x64 may be partitioned into partitions of size 64x64, 64x32, 32x64, and 32x32, coding units of size 32x32 are partitions of size 32x32, 32x16, 16x32, and 16x16, and coding units of size 16x16 are 16x16.
  • Coding units of size 8x8 may be divided into partitions of size 8x8, 8x4, 4x8, and 4x4, into partitions of 16x8, 8x16, and 8x8.
  • the coding unit may have a size larger than 64x64.
  • the coding unit may have a size of 128x128, 256x256, or the like. If the coding unit increases in proportion to 64x64, the partition size increases in the same proportion.
  • the resolution is set to 1920x1080, the maximum size of the coding unit is 64, and the maximum depth is 2.
  • the resolution is set to 1920x1080, the maximum size of the coding unit is 64, and the maximum depth is 3.
  • the resolution is set to 352x288, the maximum size of the coding unit is 16, and the maximum depth is 1.
  • the maximum depth illustrated in FIG. 10 represents the total number of divisions from the maximum coding unit to the minimum coding unit.
  • the maximum size of the coding size is relatively large not only to improve the coding efficiency but also to accurately shape the image characteristics. Accordingly, the video data 1010 and 1020 having higher resolution than the video data 1030 may be selected to have a maximum size of 64. It may also be chosen larger than this.
  • the coding unit 1015 of the video data 1010 is divided twice from the largest coding unit having a long axis size of 64, and the depth is deepened by two layers, so that the long axis size is 32, 16. Up to coding units may be included.
  • the coding unit 1035 of the video data 1030 is divided once from coding units having a long axis size of 16, and the depth is deepened by one layer so that the long axis size is 8 Up to coding units may be included.
  • the coding unit 1025 of the video data 1020 is divided three times from the largest coding unit having a long axis size of 64, and the depth is three layers deep, so that the long axis size is 32, 16. , Up to 8 coding units may be included. As the depth increases, the expressive power of the detailed information may be improved.
  • FIG. 11 is a block diagram of an image encoder 1100 based on coding units, according to an embodiment of the present disclosure.
  • the image encoder 1100 includes operations performed by the encoder 410 of the image encoder 400 of FIG. 4 to encode image data. That is, the intra predictor 1110 performs intra prediction on the coding unit of the intra mode among the current frames 1105, and the motion estimator 1120 and the motion compensator 1125 perform the current frame 1105 of the inter mode. And the inter frame estimation and the motion compensation using the reference frame 1195.
  • the joint prediction unit 1130 may perform joint prediction based on the results of the intra prediction and the inter prediction. Since the joint prediction performed by the joint predictor 1130 has been described in detail with reference to FIGS. 3 to 5, a detailed description thereof will be omitted.
  • Data output from the intra predictor 1110, the motion estimator 1120, and the motion compensator 1125 may be combined prediction through the joint predictor 1130.
  • the data output from the intra predictor 1110, the motion estimator 1120, the motion compensator 1125, and the joint predictor 1130 are quantized through the transform unit 1130 and the quantization unit 1140. Is output.
  • the quantized transform coefficients are restored to the data in the spatial domain through the inverse quantizer 1160 and the inverse transformer 1170, and the recovered data in the spatial domain are passed through the deblocking unit 1180 and the loop filtering unit 1190. Processed and output to the reference frame (1195).
  • the quantized transform coefficients may be output to the bitstream 1155 via the entropy encoder 1150.
  • an intra predictor 1110, a motion estimator 1120, a motion compensator 1125, and a transform unit which are components of the image encoder 1100, may be used.
  • 1130, the quantizer 1140, the entropy encoder 1150, the inverse quantizer 1160, the inverse transform unit 1170, the deblocking unit 1180, and the loop filtering unit 1190 are all maximum for each largest coding unit. In consideration of the depth, a task based on each coding unit among the coding units having a tree structure should be performed.
  • the intra predictor 1110, the motion estimator 1120, and the motion compensator 1125 are partitions of each coding unit among the coding units having a tree structure in consideration of the maximum size and the maximum depth of the current maximum coding unit.
  • a prediction mode, and the transformer 1130 should determine the size of a transform unit in each coding unit among the coding units having a tree structure.
  • the image encoder 1100 classifies the pixels according to the edge type (or band type) for each of the maximum coding units of the reference frame 1195 to determine the edge direction (or start band position), and reconstruct the pixel belonging to each category. Their average error value can be determined.
  • Each offset merging information, offset type, and offset values may be encoded and signaled for each largest coding unit.
  • FIG. 12 is a block diagram of an image decoder 1200 based on coding units, according to an embodiment of the present disclosure.
  • the bitstream 1205 is parsed through the parsing unit 1210, and the encoded image data to be decoded and information about encoding necessary for decoding are parsed.
  • the encoded image data is output as inverse quantized data through an entropy decoding unit 1220 and an inverse quantization unit 1230, and image data of a spatial domain is restored through an inverse transformation unit 1240.
  • the intra prediction unit 1250 performs intra prediction on the coding unit of the intra mode, and the motion compensator 1260 uses the reference frame 1285 together to apply to the coding unit of the inter mode. Perform motion compensation for the
  • Data in the spatial domain that has passed through the intra predictor 1250 and the motion compensator 1260 may be used for joint prediction in the joint predictor 1270.
  • data in the spatial domain, which has passed through the intra predictor 1250 and the motion compensator 1260 are unconditionally passed through the joint predictor, but are not limited thereto.
  • Joint prediction may not be performed based on joint prediction information received by the image encoding apparatus 400.
  • the data of the spatial region passing through the intra predictor 1250 and the motion compensator 1260 may be output to the deblocking unit 1275. Since the joint prediction has already been described in detail with reference to FIGS. 1, 2, and 6, a detailed description thereof will be omitted.
  • Data in the spatial domain that has passed through the joint prediction unit 1270 may be post-processed through the deblocking unit 1270 and the loop filtering unit 1280 and output to the reconstructed frame 1295.
  • the post-processed data through the deblocking unit 1270 and the loop filtering unit 1280 may be output as the reference frame 1285.
  • step-by-step operations after the parser 1210 of the image decoder 1200 may be performed.
  • the parser 1210, the entropy decoder 1220, the inverse quantizer 1230, and the inverse transform unit 1240 which are components of the image decoder 1200, may be used.
  • the intra prediction unit 1250, the motion compensator 1260, the deblocking unit 1270, and the loop filtering unit 1280 should all perform operations based on coding units having a tree structure for each maximum coding unit. do.
  • the intra predictor 1250 and the motion compensator 1260 determine partitions and a prediction mode for each coding unit having a tree structure, and the inverse transform unit 1240 should determine the size of the transform unit for each coding unit. .
  • the image decoder 1200 may extract offset parameters of maximum coding units from the bitstream. Based on the offset merge information among the offset parameters of the current maximum coding unit, the current offset parameter may be restored using the offset parameters of the neighboring maximum coding unit. For example, the current offset parameter may be restored in the same manner as the offset parameter of the neighboring largest coding unit.
  • the offset type and offset values among the offset parameters of the current maximum coding unit may be adjusted by an offset value corresponding to a category according to an edge type or a band type for each reconstructed pixel for each maximum coding unit of the reconstructed frame 1295.
  • FIG. 13 is a diagram of deeper coding units according to depths, and partitions, according to an embodiment of the present disclosure.
  • the image encoding apparatus 400 and the image decoding apparatus 200 use hierarchical coding units to consider image characteristics.
  • the maximum height, width, and maximum depth of the coding unit may be adaptively determined according to the characteristics of the image, and may be variously set according to a user's request. According to the maximum size of the preset coding unit, the size of the coding unit for each depth may be determined.
  • the hierarchical structure 1300 of a coding unit illustrates a case in which a maximum height and a width of a coding unit are 64 and a maximum depth is three.
  • the maximum depth indicates the total number of divisions from the maximum coding unit to the minimum coding unit. Since the depth deepens along the vertical axis of the hierarchical structure 1300 of the coding unit according to an embodiment, the height and the width of the coding unit for each depth are respectively divided. Also, along the horizontal axis of the hierarchical structure 1300 of the coding unit, a prediction unit and a partition on which the prediction coding of each deeper coding unit is based are illustrated.
  • the coding unit 1310 has a depth of 0 as the largest coding unit of the hierarchical structure 1300 of the coding unit, and the size, ie, the height and width, of the coding unit is 64x64.
  • a depth deeper along the vertical axis includes a coding unit 1320 having a depth of 32x32, a coding unit 1330 having a depth of 16x16, and a coding unit 1340 having a depth of 8x8.
  • a coding unit 1340 having a depth of 8 having a size of 8 ⁇ 8 is a minimum coding unit.
  • Prediction units and partitions of the coding unit are arranged along the horizontal axis for each depth. That is, if the coding unit 1310 having a size of 64x64 having a depth of 0 is a prediction unit, the prediction unit includes a partition 1310 having a size of 64x64, partitions 1312 having a size of 64x32, and a size included in the coding unit 1310 having a size of 64x64. 32x64 partitions 1314, and 32x32 partitions 1316.
  • the prediction unit of the coding unit 1320 having a size of 32x32 having a depth of 1 includes a partition 1320 having a size of 32x32, partitions 1322 having a size of 32x16, and a partition having a size of 16x32 included in the coding unit 1320 having a size of 32x32. 1324, partitions 1326 of size 16x16.
  • the prediction unit of the coding unit 1330 of size 16x16 having a depth of 2 includes a partition 1330 of size 16x16, partitions 1332 of size 16x8 and a partition of size 8x16 included in the coding unit 1330 of size 16x16. 1334, partitions 1336 of size 8x8.
  • the prediction unit of the coding unit 1340 having a size of 8x8 having a depth of 3 includes a partition 1340 having a size of 8x8, partitions 1342 having a size of 8x4, and a partition having a size of 4x8 included in the coding unit 1340 having a size of 8x8. 1344, partitions 1346 of size 4x4.
  • the encoder 410 of the image encoding apparatus 400 performs encoding on each coding unit of each depth included in the maximum coding unit 1310. It must be done.
  • the number of deeper coding units according to depths for including data having the same range and size increases as the depth increases.
  • four data units of depth 2 may be required for data included in one coding unit of depth 1. Therefore, in order to compare the encoding results of the same data for each depth, the encoding unit may be encoded using one coding unit of one depth 1 and four coding units of four depths 2.
  • two data units of depth 2 may be required for data included in one coding unit of depth 1. Therefore, in order to compare the encoding result of the same data for each depth, the encoding unit may be encoded using one coding unit of one depth 1 and two coding units of two depths 2.
  • encoding may be performed for each prediction unit of a coding unit according to depths along a horizontal axis of the hierarchical structure 1300 of the coding unit, and a representative coding error, which is the smallest coding error at a corresponding depth, may be selected. .
  • a depth deeper along the vertical axis of the hierarchical structure 1300 of the coding unit encoding may be performed for each depth, and the minimum coding error may be searched by comparing the representative coding error for each depth.
  • the depth and partition in which the minimum coding error occurs in the maximum coding unit 1310 may be selected as the depth and partition mode of the maximum coding unit 1310.
  • FIG. 14 illustrates a relationship between a coding unit and transformation units, according to an embodiment of the present disclosure.
  • the image encoding apparatus 400 encodes or decodes an image in coding units having a size smaller than or equal to the maximum coding unit for each maximum coding unit.
  • the size of a transformation unit for transformation in the encoding process may be selected based on a data unit that is not larger than each coding unit.
  • the 32x32 sized transform unit 1420 may be used. The conversion can be performed.
  • the data of the 64x64 coding unit 1410 is transformed into 32x32, 16x16, 8x8, and 4x4 transform units of 64x64 size or less, and then encoded, and the transform unit having the least error with the original is selected. Can be.
  • the image decoding apparatus 200 may determine at least one transform unit partitioned from the coding unit by using information about the partition type of the transform unit parsed from the bitstream.
  • the image decoding apparatus 200 may hierarchically divide a transform unit in the same manner as the above-described coding unit.
  • the coding unit may include a plurality of transformation units.
  • the transformation unit may have a square shape.
  • the length of one side of the transformation unit may be the greatest common divisor of the length of the height of the coding unit and the length of the width of the coding unit. For example, when the coding unit has a size of 24 ⁇ 16, the greatest common divisor of 24 and 16 is 8. Therefore, the transformation unit may have a square shape having a size of 8 ⁇ 8.
  • a coding unit having a size of 24x16 may include six transformation units having a size of 8x8. Conventionally, since a square transformation unit is used, when the transformation unit is square, an additional basis may not be required.
  • the present invention is not limited thereto, and the image decoding apparatus 200 may determine the transformation unit included in the coding unit as an arbitrary rectangular shape. In this case, the image decoding apparatus 200 may have a basis corresponding to a rectangular shape.
  • the image decoding apparatus 200 may hierarchically divide a transformation unit of a depth including at least one of a current depth and a lower depth, from the coding unit, based on the information about the division type of the transformation unit. For example, when the coding unit has a size of 24x16, the image decoding apparatus 200 may divide the coding unit into six transformation units having a size of 8x8. Also, the image decoding apparatus 200 may split at least one transform unit among 6 transform units into 4 ⁇ 4 transform units.
  • the image decoding apparatus 200 may parse encoding information indicating whether a transform coefficient for a coding unit exists from the bitstream. In addition, when the encoding information indicates that the transform coefficient exists, the image decoding apparatus 200 may parse sub-coding information indicating whether the transform coefficient exists for each of the transform units included in the coding unit from the bitstream. .
  • the image decoding apparatus 200 may not parse the sub encoding information.
  • the image decoding apparatus 200 may parse the sub encoding information.
  • the transmitter 420 of the image encoding apparatus 400 is divided information, and information about a partition mode 1500, information about a prediction mode 1510, and a transform unit size are determined for each coding unit of each depth.
  • Information about 1520 can be encoded and transmitted.
  • the information 1500 about the partition mode is a data unit for predictive encoding of the current coding unit, and represents information about a partition type in which the prediction unit of the current coding unit is divided.
  • the current coding unit CU_0 of size 2Nx2N may be any one of a partition 1502 of size 2Nx2N, a partition 1504 of size 2NxN, a partition 1506 of size Nx2N, and a partition 1508 of size NxN. It can be divided and used.
  • the information 1500 about the partition mode of the current coding unit represents one of a partition 1502 of size 2Nx2N, a partition 1504 of size 2NxN, a partition 1506 of size Nx2N, and a partition 1508 of size NxN. It is set to.
  • the partition type is not limited thereto and may include an asymmetric partition, an arbitrary partition, a geometric partition, and the like.
  • the current coding unit CU_0 of size 4Nx4N is a partition of size 4NxN, partition of size 4Nx2N, partition of size 4Nx3N, partition of size 4Nx4N, partition of size 3Nx4N, partition of size 2Nx4N, partition of size 1Nx4N, size 2Nx2N
  • the partition may be divided into any one type and used.
  • the current coding unit CU_0 of size 3Nx3N may be divided into one of the following types: partition 3NxN, partition 3Nx2N, partition 3Nx3N, partition 2Nx3N, partition 1Nx3N, and partition 2Nx2N. have.
  • partition 3NxN partition 3Nx2N
  • partition 3Nx3N partition 2Nx3N
  • partition 1Nx3N partition 2Nx2N.
  • Information 1510 about the prediction mode indicates a prediction mode of each partition. For example, through the information 1510 about the prediction mode, the partition indicated by the information 1500 about the partition mode is selected from among the intra mode 1512, the inter mode 1514, the skip mode 1516, and the combined mode 1518. Whether or not predictive encoding is performed may be set.
  • the information 1520 about the size of the transformation unit indicates which transformation unit to transform the current coding unit based on.
  • the transform unit may be one of a first intra transform unit size 1522, a second intra transform unit size 1524, a first inter transform unit size 1526, and a second inter transform unit size 1528. have.
  • the receiver 210 of the image decoding apparatus 200 may include information about a partition mode 1500, information about a prediction mode 1510, information about a transform unit size, and the like, for each coding unit according to depths. 1520 can be extracted and used for decoding.
  • 16 is a diagram of deeper coding units according to depths, according to an embodiment of the present disclosure.
  • Segmentation information may be used to indicate a change in depth.
  • the split information indicates whether a coding unit of a current depth is split into coding units of a lower depth.
  • the prediction unit 1610 for predictive encoding of the coding unit 1600 having depth 0 and 2N_0x2N_0 size includes a partition mode 1612 having a size of 2N_0x2N_0, a partition mode 1614 having a size of 2N_0xN_0, a partition mode 1616 having a size of N_0x2N_0, and a N_0xN_0 May include a partition mode 1618 of size.
  • partition mode 1612, 1614, 1616, and 1618 in which the prediction unit is divided by a symmetrical ratio are illustrated, as described above, the partition mode is not limited thereto, and asymmetric partitions, arbitrary partitions, geometric partitions, and the like. It may include.
  • prediction coding For each partition mode, prediction coding must be performed repeatedly for one 2N_0x2N_0 partition, two 2N_0xN_0 partitions, two N_0x2N_0 partitions, and four N_0xN_0 partitions.
  • prediction encoding For partitions of size 2N_0x2N_0, size N_0x2N_0, size 2N_0xN_0, and size N_0xN_0, predictive encoding may be performed in intra mode, inter mode, and combined mode.
  • the skip mode may be performed only for prediction encoding on partitions having a size of 2N_0x2N_0.
  • the depth 0 is changed to 1 and split (1620), and iteratively encodes the coding units 1630 of the depth 2 and partition mode of the size N_0xN_0.
  • the depth 1 is changed to the depth 2 and split (1650), and the coding unit 1660 of the depth 2 and the size N_2xN_2 is repeated.
  • the encoding may be performed to search for a minimum encoding error.
  • depth-based coding units may be set until depth d-1, and split information may be set up to depth d-2. That is, when encoding is performed from the depth d-2 to the depth d-1 and the encoding is performed to the depth d-1, the prediction encoding of the coding unit 1680 of the depth d-1 and the size 2N_ (d-1) x2N_ (d-1)
  • a partition mode 1696 of N_ (d-1) x2N_ (d-1) and a partition mode 1698 of size N_ (d-1) xN_ (d-1) may be included.
  • partition mode one partition 2N_ (d-1) x2N_ (d-1), two partitions 2N_ (d-1) xN_ (d-1), two sizes N_ (d-1) x2N_
  • a partition mode in which a minimum encoding error occurs may be searched.
  • the maximum depth is d, so the coding unit CU_ (d-1) of the depth d-1 is no longer present.
  • the depth of the current maximum coding unit 1600 may be determined as the depth d-1, and the partition mode may be determined as N_ (d-1) xN_ (d-1) without going through a division process into lower depths.
  • split information is not set for the coding unit 1652 having the depth d-1.
  • the data unit 1699 may be referred to as a 'minimum unit' for the current maximum coding unit.
  • the minimum unit may be a square data unit having a size obtained by dividing the minimum coding unit, which is the lowest depth, into four divisions.
  • the image encoding apparatus 400 compares depth-of-depth encoding errors of the coding units 1600, selects a coding unit size at which the smallest coding error occurs, and selects a depth of coding units.
  • the partition mode and the prediction mode may be set as an encoding mode.
  • the depth with the smallest error may be selected by comparing the minimum coding errors for all depths of depths 0, 1, ..., d-1, d.
  • the depth, the partition mode of the prediction unit, and the prediction mode may be encoded and transmitted as split information.
  • the coding unit needs to be split from the depth 0 to the selected depth, only the split information at the selected depth is set to '0', and the split information for each depth except for the selected depth should be set to '1'.
  • the image decoding apparatus 200 may extract information about a depth and a prediction unit of the coding unit 1600 and use the same to decode the coding unit 1612.
  • the image decoding apparatus 200 may identify a depth having split information of '0' as a selected depth by using split information for each depth, and use the split information for the corresponding depth to decode the split depth.
  • 17, 18, and 19 illustrate a relationship between a coding unit, a prediction unit, and a transformation unit, according to an embodiment of the present disclosure.
  • the coding units 1710 are deeper coding units determined by the image encoding apparatus 400, according to an exemplary embodiment, with respect to the maximum coding unit.
  • the prediction unit 1760 is partitions of prediction units of each deeper coding unit among the coding units 1710, and the transform unit 1770 is transform units of each deeper coding unit.
  • the depth-based coding units 1710 have a depth of 0
  • the coding units 1712 and 1754 have a depth of 1
  • the coding units 1714, 1716, 1718, 1728, 1750, and 1752 have depths.
  • 2, coding units 1720, 1722, 1724, 1726, 1730, 1732, and 1748 have a depth of 3
  • coding units 1740, 1742, 1744, and 1746 have a depth of 4.
  • partitions 1714, 1716, 1722, 1732, 1748, 1750, 1752, and 1754 of the prediction units 1760 are divided by coding units. That is, partitions 1714, 1722, 1750, and 1754 are partition modes of 2NxN, partitions 1716, 1748, and 1752 are partition modes of Nx2N, and partitions 1732 are partition modes of NxN.
  • the prediction units and partitions of the coding units 1710 according to depths are smaller than or equal to each coding unit.
  • the image data of some of the transformation units 1770 may be transformed or inversely transformed into data units having a smaller size than that of the coding unit.
  • the transformation units 1714, 1716, 1722, 1732, 1748, 1750, 1752, and 1754 are data units having different sizes or shapes when compared to corresponding prediction units and partitions among the prediction units 1760. That is, the image decoding apparatus 200 according to an embodiment and the image encoding apparatus 400 according to an embodiment may be intra prediction / motion estimation / motion compensation operations and transform / inverse transform operations for the same coding unit. Each can be performed on a separate data unit.
  • coding is performed recursively for each coding unit having a hierarchical structure for each largest coding unit to determine an optimal coding unit.
  • coding units having a recursive tree structure may be configured.
  • the encoding information may include split information about the coding unit, partition mode information, prediction mode information, and transformation unit size information. Table 2 below shows an example that can be set in the video decoding apparatus 200 and the video encoding apparatus 400 according to an embodiment.
  • Segmentation information 0 (coding for coding units of size 2Nx2N of current depth d) Split information 1 Prediction mode Partition type Transformation unit size Iterative coding for each coding unit of lower depth d + 1 Intra interskip (2Nx2N only) Symmetric partition type Asymmetric Partition Type Conversion unit split information 0 Conversion unit split information 1 2Nx2N2NxNNx2NNxN 2NxnU2NxnDnLx2NnRx2N, etc. 2Nx2N NxN (symmetric partition type) N / 2xN / 2, etc. (asymmetric partition type)
  • the transmitter 420 of the image encoding apparatus 400 outputs encoding information about coding units having a tree structure
  • the receiver 210 of the image decoding apparatus 200 according to an embodiment Encoding information regarding coding units having a tree structure may be extracted from the received bitstream.
  • the split information indicates whether the current coding unit is split into coding units of a lower depth. If the split information of the current depth d is 0, partition mode information, prediction mode, and transform unit size information may be defined for the coding units of the current depth because the current coding unit is no longer split from the current coding unit to the lower coding unit. Can be. If it is to be further split by the split information, encoding should be performed independently for each coding unit of the divided four lower depths.
  • the prediction mode may be represented by one of an intra mode, an inter mode, and a skip mode.
  • Intra mode and inter mode can be defined in all partition modes, and skip mode can only be defined in partition mode 2Nx2N.
  • the partition mode information indicates symmetric partition modes 2Nx2N, 2NxN, Nx2N, and NxN, in which the height or width of the prediction unit is divided by symmetrical ratios, and asymmetric partition modes 2NxnU, 2NxnD, nLx2N, nRx2N, divided by asymmetrical ratios.
  • the asymmetric partition modes 2NxnU and 2NxnD are divided into heights of 1: 3 and 3: 1, respectively, and the asymmetric partition modes nLx2N and nRx2N are divided into 1: 3 and 3: 1 widths, respectively.
  • the conversion unit size may be set to two kinds of sizes in the intra mode and two kinds of sizes in the inter mode. That is, if the transformation unit split information is 0, the size of the transformation unit is set to the size 2Nx2N of the current coding unit. If the transform unit split information is 1, a transform unit having a size obtained by dividing the current coding unit may be set. In addition, if the partition mode for the current coding unit having a size of 2Nx2N is a symmetric partition mode, the size of the transform unit may be set to NxN, and N / 2xN / 2 if it is an asymmetric partition mode.
  • Encoding information of coding units having a tree structure may be allocated to at least one of a coding unit, a prediction unit, and a minimum unit of a depth.
  • the coding unit of the depth may include at least one prediction unit and at least one minimum unit having the same encoding information.
  • the encoding information held by each adjacent data unit is checked, it may be determined whether the data is included in the coding unit having the same depth.
  • the coding unit of the corresponding depth may be identified using the encoding information held by the data unit, the distribution of depths within the maximum coding unit may be inferred.
  • the encoding information of the data unit in the depth-specific coding unit adjacent to the current coding unit may be directly referenced and used.
  • the prediction coding when the prediction coding is performed by referring to the neighboring coding unit, the data adjacent to the current coding unit in the coding unit according to depths is encoded by using the encoding information of the adjacent coding units according to depths.
  • the neighboring coding unit may be referred to by searching.
  • FIG. 20 illustrates a relationship between a coding unit, a prediction unit, and a transformation unit, according to encoding mode information of Table 2.
  • FIG. 20 illustrates a relationship between a coding unit, a prediction unit, and a transformation unit, according to encoding mode information of Table 2.
  • the maximum coding unit 2000 includes coding units 2002, 2004, 2006, 2012, 2014, 2016, and 2018 of depth. Since one coding unit 2018 is a coding unit of depth, split information may be set to zero.
  • the partition mode information of the coding unit 2018 having a size of 2Nx2N includes partition modes 2Nx2N (2022), 2NxN (2024), Nx2N (2026), NxN (2028), 2NxnU (2032), 2NxnD (2034), and nLx2N (2036). And nRx2N 2038.
  • the transform unit split information (TU size flag) is a type of transform index, and a size of a transform unit corresponding to the transform index may be changed according to a prediction unit type or a partition mode of the coding unit.
  • the partition mode information is set to one of the symmetric partition modes 2Nx2N (2022), 2NxN (2024), Nx2N (2026), and NxN (2028)
  • the conversion unit partition information is 0, the conversion unit of size 2Nx2N ( 2042 is set, and if the transform unit split information is 1, a transform unit 2044 of size NxN may be set.
  • partition mode information is set to one of asymmetric partition modes 2NxnU (2032), 2NxnD (2034), nLx2N (2036), and nRx2N (2038)
  • the conversion unit partition information (TU size flag) is 0, a conversion unit of size 2Nx2N ( 2052 is set, and if the transform unit split information is 1, a transform unit 2054 of size N / 2 ⁇ N / 2 may be set.
  • the conversion unit splitting information (TU size flag) described above with reference to FIG. 19 is a flag having a value of 0 or 1, but the conversion unit splitting information according to an embodiment is not limited to a 1-bit flag and is set to 0 according to a setting. , 1, 2, 3., etc., and may be divided hierarchically.
  • the transformation unit partition information may be used as an embodiment of the transformation index.
  • the size of the transformation unit actually used may be expressed.
  • the image encoding apparatus 400 may encode maximum transform unit size information, minimum transform unit size information, and maximum transform unit split information.
  • the encoded maximum transform unit size information, minimum transform unit size information, and maximum transform unit split information may be inserted into the SPS.
  • the image decoding apparatus 200 may use the maximum transform unit size information, the minimum transform unit size information, and the maximum transform unit split information to use for video decoding.
  • the maximum transform unit split information is defined as 'MaxTransformSizeIndex'
  • the minimum transform unit size is 'MinTransformSize'
  • the transform unit split information is 0,
  • the minimum transform unit possible in the current coding unit is defined as 'RootTuSize'.
  • the size 'CurrMinTuSize' can be defined as in relation (11) below.
  • 'RootTuSize' which is a transform unit size when the transform unit split information is 0, may indicate a maximum transform unit size that can be adopted in the system. That is, according to relation (1), 'RootTuSize / (2 ⁇ MaxTransformSizeIndex)' is a transformation obtained by dividing 'RootTuSize', which is the size of the transformation unit when the transformation unit division information is 0, by the number of times corresponding to the maximum transformation unit division information. Since the unit size is 'MinTransformSize' is the minimum transform unit size, a larger value among them may be the minimum transform unit size 'CurrMinTuSize' possible in the current coding unit.
  • the maximum transform unit size RootTuSize may vary depending on a prediction mode.
  • RootTuSize may be determined according to relation (12) below.
  • 'MaxTransformSize' represents the maximum transform unit size
  • 'PUSize' represents the current prediction unit size.
  • RootTuSize min (MaxTransformSize, PUSize) ......... (12)
  • 'RootTuSize' which is a transform unit size when the transform unit split information is 0, may be set to a smaller value among the maximum transform unit size and the current prediction unit size.
  • 'RootTuSize' may be determined according to Equation (13) below.
  • 'PartitionSize' represents the size of the current partition unit.
  • RootTuSize min (MaxTransformSize, PartitionSize) ........... (13)
  • the conversion unit size 'RootTuSize' when the conversion unit split information is 0 may be set to a smaller value among the maximum conversion unit size and the current partition unit size.
  • the current maximum conversion unit size 'RootTuSize' according to an embodiment that changes according to the prediction mode of the partition unit is only an embodiment, and a factor determining the current maximum conversion unit size is not limited thereto.
  • image data of a spatial region is encoded for each coding unit of a tree structure, and an image decoding technique based on coding units of a tree structure
  • decoding is performed for each largest coding unit, and image data of a spatial region may be reconstructed to reconstruct a picture and a video that is a picture sequence.
  • the reconstructed video can be played back by a playback device, stored in a storage medium, or transmitted over a network.
  • an offset parameter may be signaled for each picture or every slice or every maximum coding unit, every coding unit according to a tree structure, every prediction unit of a coding unit, or every transformation unit of a coding unit. For example, by adjusting the reconstruction sample values of the maximum coding unit by using the offset value reconstructed based on the offset parameter received for each maximum coding unit, the maximum coding unit in which the error with the original block is minimized may be restored.
  • the above-described embodiments of the present disclosure may be written as a program executable on a computer, and may be implemented in a general-purpose digital computer operating the program using a computer-readable recording medium.
  • the computer-readable recording medium may include a storage medium such as a magnetic storage medium (eg, a ROM, a floppy disk, a hard disk, etc.) and an optical reading medium (eg, a CD-ROM, a DVD, etc.).
  • the hardware may also include a processor.
  • the processor may be a general purpose single- or multi-chip microprocessor (eg, ARM), special purpose microprocessor (eg, digital signal processor (DSP)), microcontroller, programmable gate array, etc. .
  • the processor may be called a central processing unit (CPU).
  • processors eg, ARM and DSP.
  • the hardware may also include memory.
  • the memory may be any electronic component capable of storing electronic information.
  • the memory includes random access memory (RAM), read-only memory (ROM), magnetic disk storage media, optical storage media, flash memory devices in RAM, on-board memory included in the processor, EPROM memory, EEPROM memory May be implemented as, registers, and others, combinations thereof.
  • Data and programs may be stored in memory.
  • the program may be executable by the processor to implement the methods disclosed herein. Execution of the program may include the use of data stored in memory.
  • a processor executes instructions, various portions of the instructions may be loaded onto the processor, and various pieces of data may be loaded onto the processor.

Abstract

본 개시는, 참조 픽처와 현재 픽처의 거리, 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나를 고려하여 인트라 예측 및 인터 예측에 대한 가중치를 획득하여 결합 예측을 하는 방법 및 장치에 관해 개시한다. 본 개시에 따른 영상 복호화 방법은 현재 블록에 대하여 인트라 예측 및 인터 예측을 결합하여 예측할지 여부를 나타내는 결합 예측 정보를 비트스트림으로부터 파싱하고, 결합 예측 정보에 기초하여, 현재 블록에 대해 결합 예측을 수행할지 여부를 결정하고, 결합 예측을 수행하는 경우, 현재 블록에 대하여 인터 예측을 수행하여 제 1 예측값을 획득하고, 현재 블록에 대하여 인트라 예측을 수행하여 제 2 예측값을 획득하고, 참조 픽처와 현재 픽처의 거리, 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나에 기초하여 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 결정하고, 인터 예측에 대한 가중치, 인트라 예측에 대한 가중치, 제 1 예측값 및 제 2 예측값에 기초하여 결합 예측을 수행하는 단계를 포함한다.

Description

비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
본 개시는 인트라 예측 결과와 인터 예측 결과를 결합하는 정지 영상 또는 동영상 부호화 및 복호화에 관한 것이다.
고해상도 또는 고화질 비디오 컨텐트를 재생, 저장할 수 있는 하드웨어의 개발 및 보급에 따라, 고해상도 또는 고화질 비디오 컨텐트를 효과적으로 부호화하거나 복호화하는 비디오 코덱의 필요성이 증대하고 있다.
기존 영상 복호화/부호화 비디오 코덱은 인트라 예측 및 인터 예측 중 하나를 이용하여 현재블록을 예측했다. 인트라 예측은 공간적인 참조만을 허용하는 예측 기술이며, 인터 예측은 이전 시간에 부호화된 영상을 참조하여 데이터의 중복을 제거하는 압축 방법이다. 영상 복호화/부호화 비디오 코덱은 공간적인 참조 또는 시간적인 참조 중 하나만을 이용하였으므로 영상의 공간적인 특성 및 시간적인 특성을 모두 반영하지 못하는 문제점이 있었다.
본 개시는, 결합 예측에서 참조 픽처와 현재 픽처의 거리, 상기 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나를 고려하여 인트라 예측 및 인터 예측에 대한 가중치를 획득하는 방법 및 장치에 관해 개시한다. 또한 결합 예측을 자유로운 구조의 영상 코덱에 적용하기 위한 기술을 개시한다.
본 개시의 실시예에 따른 비디오를 복호화 하는 방법은 현재 블록에 대하여 인트라 예측 및 인터 예측을 결합하여 예측할지 여부를 나타내는 결합 예측 정보(combine prediction information)를 비트스트림으로부터 파싱하는 단계; 결합 예측 정보에 기초하여, 현재 블록에 대해 결합 예측을 수행할지 여부를 결정하는 단계; 결합 예측을 수행하는 경우, 현재 블록에 대하여 인터 예측을 수행하여 제 1 예측값을 획득하고, 현재 블록에 대하여 인트라 예측을 수행하여 제 2 예측값을 획득하는 단계; 참조 픽처와 현재 픽처의 거리, 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나에 기초하여 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 결정하는 단계; 및 인터 예측에 대한 가중치, 인트라 예측에 대한 가중치, 제 1 예측값 및 제 2 예측값에 기초하여 결합 예측을 수행하는 단계를 포함할 수 있다.
또한, 본 개시의 실시예에 따른 비디오를 복호화 하는 방법은 비트스트림으로부터 이용 가능한 모드에 관한 정보를 파싱하는 단계; 이용 가능한 모드에 관한 정보에 기초하여 인트라 예측에 포함되는 예측 방향과 관련된 복수의 모드들 중 이용가능한 모드들을 선택하는 단계; 및 이용가능한 모드들 각각에 대한 가중치를 결정하는 단계를 더 포함할 수 있다.
또한, 본 개시의 실시예에 따른 비디오를 복호화 하는 방법은 비트스트림으로부터 이용 가능한 모드에 관한 정보를 파싱하는 단계; 이용 가능한 모드에 관한 정보에 기초하여 인터 예측에 포함되는 현재 블록이 참조하는 복수의 참조 블록들에 대응하는 복수의 모드들 중 이용가능한 모드들을 선택하는 단계; 및 이용가능한 모드들 각각에 대한 가중치를 결정하는 단계를 더 포함할 수 있다.
또한, 결합 예측을 수행하는 단계는, (인터 예측에 대한 가중치 X 제 1 예측값) + (인트라 예측에 대한 가중치 X 제 2 예측값) 을 계산하는 단계를 포함할 수 있다.
또한, 결합 예측을 수행하는 단계는, 루마(luminance) 채널에 대해서 결합 예측을 수행하는 단계; 및 크로마(chrominance) 채널에 대해서는 인터 예측 또는 인트라 예측 중 하나를 수행하는 단계를 를 포함할 수 있다.
또한, 본 개시의 실시예에 따른 비디오를 복호화 하는 방법은 비트스트림으로부터 움직임 벡터의 정밀도에 관한 정보를 파싱하는 단계; 및 움직임 벡터의 정밀도에 관한 정보에 기초하여, 현재 블록에 대한 인터 예측의 움직임 벡터의 정밀도를 하프-pel (half-pel), 정수-pel(integer-pel) 및 2-pel 중 하나로 설정하는 단계를 더 포함할 수 있다.
또한, 가중치를 결정하는 단계는, 비트스트림으로부터 현재 블록에 대한 가중치 정보를 파싱하는 단계; 및 가중치 정보에 기초하여 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 결정하는 단계를 포함할 수 있다.
또한, 현재 블록은 인터 예측에서 사용되는 예측 단위 및 인트라 예측에서 사용되는 예측 단위를 포함하고, 인터 예측에서 사용되는 예측 단위는 인트라 예측에서 사용되는 예측 단위와 독립적으로 결정될 수 있다.
또한, 가중치를 결정하는 단계는, 인터 예측에 대한 초기 가중치인 기준 가중치를 결정하는 단계; 인터 예측의 참조 픽처와 현재 블록을 포함하는 현재 픽처의 기준 거리를 결정하는 단계; 인터 예측의 참조 픽처와 현재 블록을 포함하는 현재 픽처의 거리와 기준 거리의 차를 결정하는 단계; 기준 가중치 및 거리의 차에 기초하여 인터 예측에 대한 가중치를 결정하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 영상을 복호화 하는 방법을 구현하기 위한 프로그램은 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다.
또한, 본 개시의 일 실시예에 따른 영상 복호화 장치는 현재 블록에 대하여 인트라 예측 및 인터 예측을 결합하여 예측할지 여부를 나타내는 결합 예측 정보(combine prediction information)를 비트스트림으로부터 파싱하는 수신부; 및 결합 예측 정보에 기초하여, 현재 블록에 대해 결합 예측을 수행할지 여부를 결정하고, 결합 예측을 수행하는 경우, 현재 블록에 대하여 인터 예측을 수행하여 제 1 예측값을 획득하고, 현재 블록에 대하여 인트라 예측을 수행하여 제 2 예측값을 획득하고, 참조 픽처와 현재 픽처의 거리, 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나에 기초하여 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 결정하고, 인터 예측에 대한 가중치, 인트라 예측에 대한 가중치, 제 1 예측값 및 제 2 예측값에 기초하여 결합 예측을 수행하는 복호화부를 포함할 수 있다.
또한, 본 개시의 일 실시예에 따른 영상 부호화 방법은 현재 블록에 대하여 인터 예측을 수행하여 제 1 예측값을 획득하는 단계; 현재 블록에 대하여 인트라 예측을 수행하여 제 2 예측값을 획득하는 단계; 참조 픽처와 현재 픽처의 거리, 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나에 기초하여 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 결정하는 단계; 인터 예측에 대한 가중치, 인트라 예측에 대한 가중치, 제 1 예측값 및 제 2 예측값에 기초하여 결합 예측을 수행하는 단계; 현재 블록에 대해 결합 예측을 수행할지 여부에 대한 결합 예측 정보(combine prediction information) 를 결정하는 단계; 및 결합 예측 정보 및 가중치를 이용한 가중치 정보 중 적어도 하나를 포함하는 비트스트림을 전송하는 단계를 포함할 수 있다.
또한, 결합 예측 정보 및 가중치 정보 중 적어도 하나를 인트라 예측 및 인터 예측의 결과보다 낮은 순위로 엔트로피 코딩하는 단계를 더 포함할 수 있다.
또한, 가중치를 결정하는 단계는, 현재 블록 내의 원본 픽셀의 샘플값, 제 1 예측값 및 제 2 예측값에 기초하여 가중치를 결정하는 단계를 포함할 수 있다.
또한, 가중치를 결정하는 단계는, 원본 픽셀의 샘플값과 제 1 예측값의 비율의 기대치 및 원본 픽셀의 샘플값과 제 2 예측값의 비율의 기대치에 기초하여 가중치를 계산하는 단계를 포함할 수 있다.
또한 본 개시의 일 실시예에 따른 영상 부호화 장치는 현재 블록에 대하여 인터 예측을 수행하여 제 1 예측값을 획득하고, 현재 블록에 대하여 인트라 예측을 수행하여 제 2 예측값을 획득하고, 참조 픽처와 현재 픽처의 거리, 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나에 기초하여 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 결정하고, 인터 예측에 대한 가중치, 인트라 예측에 대한 가중치, 제 1 예측값 및 제 2 예측값에 기초하여 결합 예측을 수행하고, 현재 블록에 대해 결합 예측을 수행할지 여부에 대한 결합 예측 정보(combine prediction information)를 결정하는 부호화부; 및 결합 예측 정보 및 가중치를 이용한 가중치 정보 중 적어도 하나를 포함하는 비트스트림을 전송하는 전송부를 포함할 수 있다.
도 1 은 본 개시의 일 실시예에 따른 영상 복호화 방법의 흐름도를 도시한다.
도 2 는 본 개시의 일 실시예에 따른 영상 복호화 장치의 블록도를 도시한다.
도 3 은 본 개시의 일 실시예에 따른 영상 부호화 방법의 흐름도를 도시한다.
도 4 는 본 개시의 일 실시예에 따른 영상 부호화 장치의 블록도를 도시한다.
도 5 는 본 개시의 일 실시예에 따른 영상 부호화 방법의 흐름도를 도시한다.
도 6 은 본 개시의 일 실시예에 따른 영상 복호화 방법의 흐름도를 도시한다.
도 7 은 본 개시의 일 실시예에 따른 결합 예측을 나타내는 흐름도 이다.
도 8 은 본 개시의 일 실시예에 따른 예측에서 이용가능한 모드를 부호화 하는 방법에 관한 도면이다.
도 9 는 본 개시의 일 실시예에 따른 예측에서 움직임 벡터의 정확도를 낮추는 방법에 관한 도면이다.
도 10 은 본 개시의 일 실시예에 따른 부호화 단위의 개념을 도시한다.
도 11 은 본 개시의 일 실시예에 따른 부호화 단위에 기초한 영상 부호화부의 블록도를 도시한다.
도 12 는 본 개시의 일 실시예에 따른 부호화 단위에 기초한 영상 복호화부의 블록도를 도시한다.
도 13 은 본 개시의 일 실시예에 따른 심도별 부호화 단위 및 파티션을 도시한다.
도 14 는 본 개시의 일 실시예에 따른, 부호화 단위 및 변환 단위의 관계를 도시한다.
도 15 는 본 개시의 일 실시예에 따라, 심도별 부호화 정보들을 도시한다.
도 16 은 본 개시의 일 실시예에 따른 심도별 부호화 단위를 도시한다.
도 17은 본 개시의 일 실시예에 따른, 부호화 단위, 예측 단위 및 변환 단위의 관계를 도시한다.
도 18은 본 개시의 일 실시예에 따른, 부호화 단위, 예측 단위 및 변환 단위의 관계를 도시한다.
도 19은 본 개시의 일 실시예에 따른, 부호화 단위, 예측 단위 및 변환 단위의 관계를 도시한다.
도 20 은 표 2의 부호화 모드 정보에 따른 부호화 단위, 예측 단위 및 변환 단위의 관계를 도시한다.
이하 도 1 내지 도 9 를 참조하여 본 발명의 일 실시예에 따른 영상 부호화 장치 및 영상 복호화 장치, 비디오 부호화 방법 및 비디오 복호화 방법에 대해 설명한다.
도 1 은 본 개시의 일 실시예에 따른 영상 복호화 방법의 흐름도를 도시한다.
일 실시예에 따른 영상 복호화 방법은 영상 복호화 장치(200)에 의하여 수행될 수 있다. 영상 복호화 장치(200)는 현재 블록에 대하여 인트라 예측 및 인터 예측을 결합하여 예측할지 여부를 나타내는 결합 예측 정보(combine prediction information)를 비트스트림으로부터 파싱하는 단계(110)를 수행할 수 있다. 영상 복호화 장치(200)는 결합 예측 정보에 기초하여, 현재 블록에 대해 결합 예측을 수행할지 여부를 결정하는 단계(120)를 수행할 수 있다. 또한, 영상 복호화 장치(200)는 결합 예측을 수행하는 경우, 현재 블록에 대하여 인터 예측을 수행하여 제 1 예측값을 획득하고, 현재 블록에 대하여 인트라 예측을 수행하여 제 2 예측값을 획득하는 단계(130)를 수행할 수 있다. 또한, 영상 복호화 장치(200)는 참조 픽처와 현재 픽처의 거리, 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나에 기초하여 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 결정하는 단계(140)를 수행할 수 있다. 또한, 영상 복호화 장치(200)는 인터 예측에 대한 가중치, 인트라 예측에 대한 가중치, 제 1 예측값 및 제 2 예측값에 기초하여 결합 예측을 수행하는 단계(150)를 수행할 수 있다.
현재 블록은 영상의 부호화 또는 복호화의 기본 블록일 수 있다. 또한 현재 블록은 예측을 위한 블록일 수 있다. 또한 현재 블록은 변환을 위한 블록일 수 있다. 예를 들어 현재 블록은 부호화 단위(coding unit), 예측 단위(prediction unit) 또는 변환 단위(transformation unit) 일 수 있다. 부호화 단위, 예측 단위 및 변환 단위에 대해서는 도 10 내지 도 20 에서 보다 자세히 설명한다.
또한 인트라 예측(또는 화면 내 예측)은 공간적인 참조만을 허용하는 예측 기술로, 부호화할 블록의 주변에 있는 샘플들을 참조하여 현재 블록을 예측하는 방법을 말한다.
또한, 인터 예측(또는 화면 간 예측)은, 이전 시간에 부호화된 영상을 참조하여 데이터의 중복을 제거하는 압축 방법이다. 일반적으로 영상은 공간적인 상관도 보다 시간적으로 높은 상관도를 가지기 때문에, 이전 시간에 부호화 된 영상을 참조함으로써 높은 유사성을 갖는 예측 신호를 생성할 수 있음을 이용한 것이다.
결합 예측은 인트라 예측과 인터 예측을 결합하는 예측이다. 예를 들어 영상 복호화 장치(200)는 인터 예측에 의하여 복원된 샘플값인 제 1 예측값 및 인트라 예측에 의하여 복원된 샘플값인 제 2 예측값을 획득하고, 제 1 예측값 및 제 2 예측값 각각에 소정의 가중치를 곱하고, 가중치가 적용된 제 1 예측값 및 제 2 예측값을 더하여 샘플값을 예측할 수 있다. 이를 식으로 표현하면 아래 관계식 (1) 과 같다.
결합 예측값 = ( 인터 예측에 대한 가중치 * 제 1 예측값) + (인트라 예측에 대한 가중치 * 제 2 예측값) ... (1)
인터 예측은 화면간의 상관도를 이용한다. 따라서 현재 블록을 포함하는 현재 픽처와 현재 블록이 참조하는 블록을 포함하는 참조 픽처의 거리가 멀어지면, 예측의 정확도가 떨어질 수 있다. 따라서 이러한 경우, 영상 복호화 장치(200)는 동일 픽처 내의 정보를 이용하는 인트라 예측에 큰 가중치를 두고 예측하여 보다 높은 정확도로 샘플값을 예측할 수 있다.
또한 인트라 예측은 화면 내의 이미 복원된 블록의 정보를 이용하여 현재 블록 내의 샘플값을 예측한다. 또한 이미 복원된 블록은 현재 블록의 좌측 또는 상측에 위치하므로, 현재 블록 내에서 우하측에 있는 샘플값일수록 인트라 예측에 의한 샘플값 예측의 정확도는 떨어질 수 있다. 따라서 이러한 경우, 영상 복호화 장치(200)는 인터 예측에 보다 높은 가중치를 두고 예측하여 보다 높은 정확도로 우하측 샘플값을 예측할 수 있다.
결합 예측 정보는 인트라 예측 및 인터 예측을 결합하여 예측할지 여부를 나타낸다. 결합 예측 정보는 플래그(flag)일 수 있다. 예를 들어 결합 예측 정보가 '1' 인경우 영상 복호화 장치(200)는 결합 예측을 수행할 수 있다. 또한 결합 예측 정보가 '0' 인 경우 영상 복호화 장치(200)는 결합 예측을 수행하지 않을 수 있다. 대신, 영상 복호화 장치(200)는 소정의 정보에 기초하여 인트라 예측 또는 인터 예측을 수행할 수 있다.
본 개시의 일 실시예에 따른 영상 복호화 장치(200)는 현재 부호화 단위가 더 낮은 심도로 나눠지는지 여부를 나타내는 분할 정보를 비트스트림으로부터 파싱할 수 있다. 영상 복호화 장치(200)는 분할 정보에 기초하여 현재 부호화 단위를 더 작은 부호화 단위로 나눌지 결정할 수 있다. 분할 정보가 현재 부호화 단위를 더 이상 분할하지 않음을 나타내는 경우, 영상 복호화 장치(200)는 결합 예측 정보를 비트스트림으로부터 파싱할 수 있다. 또한 영상 복호화 장치(200)는 결합 예측 정보에 기초하여 결합 예측을 수행할지 여부를 결정할 수 있다.
또한 본 개시의 다른 실시예에 따른 영상 복호화 장치(200)는 현재 부호화 단위에 대하여 스킵할지 여부를 나타내는 스킵 정보를 비트스트림으로부터 파싱할 수 있다. 스킵 정보는 머지(merge)를 위한 인덱스 정보 외에는 추가적인 신택스 요소가 시그널링되지 않을지 여부를 나타낸다. 스킵 정보가 현재 부호화 단위는 스킵되지 않음을 나타내는 경우, 영상 복호화 장치(200)는 결합 예측 정보를 비트스트림으로부터 파싱할 수 있다. 또한 영상 복호화 장치(200)는 결합 예측 정보에 기초하여 결합 예측을 수행할지 여부를 결정할 수 있다. 또한 스킵 정보가 현재 부호화 단위는 스킵됨을 나타내는 경우, 영상 복호화 장치(200)는 결합 예측 정보를 파싱할 수 있다.
영상 복호화 장치(200)는 참조 픽처와 현재 픽처의 거리, 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나에 기초하여 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 결정할 수 있다.
영상 복호화 장치(200)는 인터 예측에 대한 초기 가중치인 기준 가중치를 결정할 수 있다. 영상 복호화 장치(200)는 인터 예측의 참조 픽처와 현재 블록을 포함하는 현재 픽처의 기준 거리를 결정할 수 있다. 또한, 영상 복호화 장치(200)는 인터 예측의 참조 픽처와 현재 블록을 포함하는 현재 픽처의 거리와 기준 거리의 차를 결정할 수 있다. 또한, 영상 복호화 장치(200)는 기준 가중치 및 거리의 차에 기초하여 인터 예측에 대한 가중치를 결정할 수 있다.
참조 픽처와 현재 픽처의 거리는 Picture Order Count(POC)의 차이로 나타낼 수 있다. POC는 동일한 CVS(Coded Video Sequence) 내에 존재하는 픽처들의 상대적인 출력 순서를 나타낸다. 참조 픽처의 POC와 현재 픽처의 POC 사이의 차이가 클수록 참조 픽처와 현재 픽처의 거리가 멀다. 또한 영상 복호화 장치(200)는 인터 예측의 참조 픽처와 현재 블록을 포함하는 현재 픽처의 거리가 멀어질 수록, 인터 예측에 대한 가중치를 줄이는 함수를 적용할 수 있다. 함수는 관계식 (2)와 같을 수 있다.
인터 예측에 대한 가중치 = 기준 가중치 + (기준 거리 - 참조 픽처와 현재 픽처의 거리)*k ... (2)
여기서 k는 거리의 변화에 따른 가중치의 변화량이다. k는 양의 실수를 가질 수 있다. 영상 복호화 장치(200)는 함수에 기초하여 참조 픽처와 현재 픽처의 거리가 멀수록 인터 예측에 관한 가중치를 낮출 수 있다. 반대로 영상 복호화 장치(200)는 참조 픽처와 현재 픽처의 거리가 가까울수록 인터 예측에 관한 가중치를 높일 수 있다.
영상 복호화 장치(200)는 기준 가중치를 결정할 수 있다. 기준 가중치는 결합 예측에 사용되는 가중치의 초기값일 수 있다. 기준 가중치는 인트라 예측에 대한 기준 가중치 및 인터 예측에 대한 기준 가중치를 포함할 수 있다. 기준 가중치는 비트스트림에 포함될 수 있다. 영상 복호화 장치(200)는 인트라 예측에 대한 기준 가중치를 파싱한 경우, '1' 에서 인트라 예측에 대한 기준 가중치를 빼서 인터 예측에 대한 기준 가중치를 구할 수 있다. 또한 기준 가중치는 비트스트림에 포함되지 않고, 영상 복호화 장치(200) 및 영상 부호화 장치(400)에 미리 설정된 소정의 값일 수 있다.
또한 영상 복호화 장치(200)는 기준 거리를 결정할 수 있다. 기준 거리는 참조 픽처와 현재 픽처의 기준이 되는 거리이다. 현재 픽처와 참조 픽처의 거리가 기준 거리와 동일한 경우, 인트라 예측에 대한 가중치는 인트라 예측에 대한 기준 가중치와 동일할 수 있다. 또한, 현재 픽처와 참조 픽처의 거리가 기준 거리와 동일한 경우, 인터 예측에 대한 가중치는 인터 예측에 대한 기준 가중치와 동일할 수 있다. 기준 거리는 비트 스트림에 포함될 수 있다. 또한 기준 거리는 영상 복호화 장치(200) 및 영상 부호화 장치(400)에 미리 설정된 소정의 값일 수 있다.
예를 들어 영상 복호화 장치(200)는 초기 인터 예측에 대한 가중치 및 초기 인트라 예측에 대한 기준 가중치를 각각 0.5 로 설정할 수 있다. 또한 영상 복호화 장치(200)는 참조 픽처와 현재 픽처의 거리가 기준 거리에서 소정의 거리만큼 가까울 수록 인터 예측에 대한 가중치를 0.1 씩 높일 수 있다. 반대로 영상 복호화 장치(200)는 인트라 예측에 대한 가중치를 0.1 씩 낮출 수 있다.
또한 영상 복호화 장치(200)는 현재 블록의 크기에 기초하여 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 결정할 수 있다. 예를 들어 현대 블록의 크기가 소정의 크기보다 큰 경우, 현재 블록 내에서 우하측으로 갈수록 인트라 예측의 정확도가 떨어질 수 있다. 따라서, 영상 복호화 장치(200)는 현재 블록의 크기가 클수록 인터 예측에 관한 가중치를 크게 할 수 있다. 따라서, 영상 복호화 장치(200)는 결합 예측에서 인터 예측의 영향력을 높일 수 있다.
예를 들어 영상 복호화 장치(200)는 초기 인터 예측에 대한 가중치 및 초기 인트라 예측에 대한 기준 가중치를 각각 0.5 로 설정할 수 있다. 또한 영상 복호화 장치(200)는 현재 블록의 크기가 소정의 크기보다 커지면 인터 예측에 관한 가중치를 0.1 씩 크게 할 수 있다.
또한, 영상 복호화 장치(200)는 인터 예측과 인트라 예측의 특성에 기초하여, 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 결정할 수 있다. 상술한 바와 같이 인터 예측의 경우, 현재 블록을 포함하는 현재 픽처와 현재 블록이 참조하는 블록을 포함하는 참조 픽쳐의 거리가 멀어지면, 예측의 정확도가 떨어질 수 있다. 또한 인트라 예측의 경우, 현재 블록 내에서 우하측에 있는 샘플값일수록 인트라 예측에 의한 샘플값 예측의 정확도는 떨어질 수 있다. 따라서, 영상 복호화 장치(200)는 현재 블록 내에서 결합 예측을 할 경우, 우하측 픽셀로 갈 수록 인터 예측에 대한 가중치를 높이고 인트라 예측에 대한 가중치를 낮출 수 있다. 반대로, 영상 복호화 장치(200)는 현재 블록 내에서 결합 예측을 할 경우, 좌상측 픽셀로 갈 수록 인터 예측에 대한 가중치를 낮추고 인트라 예측에 대한 가중치를 높일 수 있다.
예를 들어 영상 복호화 장치(200)는 초기 인터 예측에 대한 가중치 및 초기 인트라 예측에 대한 기준 가중치를 각각 0.5 로 설정할 수 있다. 또한 영상 복호화 장치(200)는 현재 블록를 예측할 경우, 우하측 픽셀 갈 수록 인터 예측에 관한 가중치를 점점 크게 할 수 있다.
위에서는 기준 가중치를 0.5로 하였으나 이에 한정되는 것은 아니다. 또한, 영상 복호화 장치(200)는 기준 가중치를 인트라 예측 또는 인터 예측에 대한 가중치로 결정할 수 있다.
또한, 영상 복호화 장치(200)는 비트스트림으로부터 현재 블록에 대한 가중치 정보를 파싱할 수 있다. 가중치 정보는 기준 가중치, 현재 블록에 대한 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 포함할 수 있다. 예를 들어 가중치 정보는 현재블록 내의 모든 픽셀에 대한 가중치를 포함할 수 있다. 또는 가중치 정보는 현재블록을 복수의 영역으로 분리한 후, 각 영역에 대한 가중치를 포함할 수 있다. 또한 인터 예측에 대한 가중치와 인트라 예측에 대한 가중치의 합은 1 이므로, 영상 복호화 장치(200)는 인터 예측에 대한 가중치 또는 인트라 예측에 대한 가중치 중 하나만 획득할 수 있다.
가중치 정보에 포함된 가중치들은 행렬(matrix)로 나타날 수 있다. 예를 들어 가중치 정보는 현재 블록 내의 좌표에 따른 가중치의 값들을 행렬로 표현한 정보일 수 있다. 또한 가중치 정보는 현재 픽처 및 참조 픽처의 거리에 따른 가중치의 값을 행렬로 표현한 정보일 수 있다.
또한 가중치 정보는 함수로 표현될 수 있다. 예를 들어 가중치 정보는 현재 픽처 및 참조 픽처의 거리에 따른 가중치의 크기를 나타낸 함수일 수 있다. 또한, 가중치 정보는 현재 블록 내의 좌표에 따른 가중치의 크기를 나타낸 함수일 수 있다.
또한 가중치 정보는 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 획득하기 위한 정보를 포함할 수 있다. 영상 복호화 장치(200)는 가중치 정보에 기초하여 가중치를 결정할 수 있다. 예를 들어, 가중치 정보는 기준 가중치를 포함할 수 있다. 영상 복호화 장치(200)는 기준 가중치, 참조 픽처와 현재 픽처의 거리, 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나에 기초하여 각 픽셀에 대한 가중치를 결정할 수 있다. 또한 가중치 정보는 블록 또는 슬라이스(slice) 별로 수신할 수 있다.
인트라 예측 및 인터 예측에는 복수의 모드가 있을 수 있다. 예를 들어 인트라 예측은 planar 모드, DC 모드 및 방향과 관련된 복수의 모드를 포함할 수 있다. 또한 인터 예측일 경우 영상 부호화 장치(200)는 단방향 움직임 예측 후보를 생성할 수 있으며, 양방향 움직 예측 후보를 생성할 수 있다. 또한 인터 예측일 경우 영상 부호화 장치(200)는 현재 블록의 참조 블록이 좌측, 상측 또는 현재 픽처보다 먼저 복원된 픽처에 있을 수 있다.
또한 영상 복호화 장치(200)는 인트라 예측에 포함되는 예측 방향과 관련된 복수의 모드들(예를 들어 planar 모드, DC 모드 및 방향과 관련된 복수의 모드(intra_Angular)) 중 이용가능한 모드들 각각에 대한 가중치를 결정할 수 있다. 또한 영상 복호화 장치(200)는 인터 예측에 포함되는 현재 블록이 참조하는 복수의 참조 블록들과 관련된 복수의 모드들 중 이용가능한 모드들 각각에 대한 가중치를 결정할 수 있다. 또한 영상 복호화 장치(200)는 인터 예측에 포함되는 단방향 예측 후보 또는 양방향 예측 후보와 관련된 복수의 모드들 중 이용가능한 모드들 각각에 대한 가중치를 결정할 수 있다.
영상 복호화 장치(200)는 비트스트림에 기초하여 이용가능한 모드들을 선택할 수 있다. 예를 들어 영상 복호화 장치(200)는 비트스트림으로부터 이용 가능한 모드에 관한 정보를 파싱할 수 있다. 또한, 영상 복호화 장치(200)는 이용 가능한 모드에 관한 정보에 기초하여 인트라 예측에 포함되는 예측 방향과 관련된 복수의 모드들 중 이용가능한 모드들을 선택할 수 있다. 또한, 영상 복호화 장치(200)는 이용 가능한 모드들 각각에 대한 가중치를 결정할 수 있다.
또한 영상 복호화 장치(200)는 이용 가능한 모드에 관한 정보에 기초하여 복수의 인터 예측에 포함되는 모드들 중 이용가능한 모드들을 선택할 수 있다. 예를 들어, 영상 복호화 장치(200)는 현재 블록이 참조하는 복수의 참조 블록들에 대응하는 복수의 모드들 중 이용가능한 모드들을 선택할 수 있다. 또한 영상 복호화 장치(200)는 인터 예측에 포함되는 단방향 예측 후보 또는 양방향 예측 후보와 관련된 복수의 모드들 중 이용가능한 모드들을 선택할 수 있다. 또한, 영상 복호화 장치(200)는 이용 가능한 모드들 각각에 대한 가중치를 결정할 수 있다.
인트라 예측은 planar 모드, DC 모드 및 방향과 관련된 복수의 모드를 가질 수 있다. 방향과 관련된 복수의 모드는 33가지가 있을 수 있다. 또한 planar 모드에 대한 인덱스는 '0' 이 될 수 있고 DC 모드에 대한 인덱스는 '1'이 될 수 있다. 또한 방향과 관련된 복수의 모드에 대한 인덱스는 각각 '2' 내지 '34' 가 될 수 있다. 영상 복호화 장치(200)는 비트스트림으로부터 이용가능한 모드에 관한 정보를 수신할 수 있다.
본 개시의 일 실시예에 따르면, 이용가능한 모드에 관한 정보는 간격으로 주어질 수 있다. 이용가능한 모드에 관한 정보가 '간격 2'로 주어진 경우, 영상 복호화 장치(200)는 Planar 모드('0'), DC모드('1'), 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34를 이용가능한 모드로 선택할 수 있다. 또한 이용가능한 모드에 관한 정보가 '간격 4'로 주어진 경우, 영상 복호화 장치(200)는 Planar모드, DC 모드, 2, 6, 10, 14, 18, 22, 26, 30, 34를 이용가능한 모드로 선택할 수 있다. 또한 이용가능한 모드에 관한 정보가 '간격 8'로 주어진 경우, 영상 복호화 장치(200)는 Planar, DC, 2, 10, 18, 26, 34 를 이용가능한 모드로 선택할 수 있다.
또한, 본 개시의 다른 실시예에 따르면, 이용가능한 모드에 관한 정보는 모드의 개수로 주어질 수 있다. 또한 영상 복호화 장치(200)는 표 1 에 기재된 나열에서 앞쪽부터 순차적으로 이용가능한 모드로 선택할 수 있다. 표 1 에 기재된 나열은 자주 사용되는 모드로부터 자주 사용되지 않는 모드의 순서일 수 있다. 표 1 에 기재된 나열에서 괄호안에 있는 모드는 동일 순위에 있으므로 영상 복호화 장치(200)는 임의로 모드를 선택할 수 있다. 또는 영상 복호화 장치(200)는 비트스트림으로부터 추가적인 정보를 수신하여 동일 순위에 있는 모드 중 일부를 선택할 수 있다.
표 1
(Planar, DC), (10, 26), (34, 2), 18, (6, 14, 22, 30), (4, 8, 12, 16, 20, 24, 28, 32), (3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33)
예를 들어, 이용가능한 모드에 관한 정보가 '10' 으로 주어진 경우, 영상 복호화 장치(200)는 10개의 모드를 이용가능한 모드로 선택할 수 있다. 즉 영상 복호화 장치(200)는 Planar, DC, 10, 26, 34, 2, 18, 6, 14, 22 를 이용가능한 모드로 선택할 수 있다. 여기서 (6, 14, 22, 30)는 동일 순위에 있으므로, 영상 복호화 장치(200)는 임의로 모드 '30'을 제외할 수 있다. 또는 영상 복호화 장치(200)는 비트스트림으로부터 추가 정보를 파싱하여, '14'를 제외할 수 있다. 이 경우 영상 복호화 장치(200)는 Planar, DC, 10, 26, 34, 2, 18, 6, 22, 30 를 이용가능한 모드로 선택할 수 있다.
또한 영상 복호화 장치(200)는 선택된 이용 가능한 모드들 각각에 대하여 가중치를 결정할 수 있다. 또한 영상 복호화 장치(200)는 결정된 가중치에 기초하여, 결합 예측을 수행할 수 있다.
위와 같이 영상 복호화 장치(200) 및 영상 부보화 장치(400)가 이용가능한 모드를 제한하는 경우 비트스트림으로 전송할 정보가 줄어드므로, 전송 효율이 높아진다. 이와 관련해서는 도 8에서 추가적으로 설명한다.
또한 영상 복호화 장치(200)는 관계식 (3)에 따라 결합 예측을 수행할 수 있다.
결합 예측값 = {(a1 * X1) + (a2 * X2) +... +(aN * XN)} + {(b1 * Y1) + (b2 * Y2) +... +(bM * YM)} ... (3)
여기서, N은 인터 예측의 이용가능한 모드의 개수를 나타낸다. M은 인트라 예측의 이용가능한 모드의 개수를 나타낸다. aN은 인터 예측 모드에 따른 가중치들을 나타낸다. XN은 인터 예측 모드에 따른 예측값들을 나타낸다. bM은 인트라 예측 모드에 따른 가중치들을 나타낸다. YM은 인트라 예측 모드에 따른 예측값들을 나타낸다.
영상 복호화 장치(200)는 인터 예측에 대한 가중치, 인트라 예측에 대한 가중치, 인터 예측을 수행하여 획득한 제 1 예측값 및 인트라 예측을 수행하여 획득한 제 2 예측값에 기초하여 결합 예측을 수행할 수 있다. 예를 들어, 결합 예측은 위에서 설명한 관계식 (1) 내지 관계식 (3)에 기초하여 수행 될 수 있다.
도 2 는 본 개시의 일 실시예에 따른 영상 복호화 장치의 블록도를 도시한다.
일 실시예에 따른 영상 복호화 장치(200)는 수신부(210) 및 복호화부(220)를 포함한다. 영상 복호화 장치(200)에 대한 설명 중 도 1 에서 설명한 영상 복호화 방법과 중복되는 설명은 생략한다.
수신부(210)는 현재 블록에 대하여 인트라 예측 및 인터 예측을 결합하여 예측할지 여부를 나타내는 결합 예측 정보(combine prediction information)를 비트스트림으로부터 파싱한다.
또한 복호화부(220)는 결합 예측 정보에 기초하여, 현재 블록에 대해 결합 예측을 수행할지 여부를 결정한다. 또한 복호화부(220)는 결합 예측을 수행하는 경우, 현재 블록에 대하여 인터 예측을 수행하여 제 1 예측값을 획득하고, 현재 블록에 대하여 인트라 예측을 수행하여 제 2 예측값을 획득한다. 또한 복호화부(220)는 참조 픽처와 현재 픽처의 거리, 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나에 기초하여 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 결정한다. 또한 복호화부(220)는 인터 예측에 대한 가중치, 인트라 예측에 대한 가중치, 제 1 예측값 및 제 2 예측값에 기초하여 결합 예측을 수행한다.
도 3 은 본 개시의 일 실시예에 따른 영상 부호화 방법의 흐름도를 도시한다.
영상 부호화 방법은 영상 부호화 장치(400)에 의하여 수행될 수 있다. 영상 부호화 장치(400)는 현재 블록에 대하여 인터 예측을 수행하여 제 1 예측값을 획득하는 단계(310)를 수행할 수 있다. 또한 영상 부호화 장치(400)는 현재 블록에 대하여 인트라 예측을 수행하여 제 2 예측값을 획득하는 단계(320)를 수행할 수 있다. 또한 영상 부호화 장치(400)는 참조 픽처와 현재 픽처의 거리, 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나에 기초하여 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 결정하는 단계(330)를 수행할 수 있다. 또한, 영상 부호화 장치(400)는 인터 예측에 대한 가중치, 인트라 예측에 대한 가중치, 제 1 예측값 및 제 2 예측값에 기초하여 결합 예측을 수행하는 단계(340)를 수행할 수 있다. 또한, 영상 부호화 장치(400)는 현재 블록에 대해 결합 예측을 수행할지 여부에 대한 결합 예측 정보(combine prediction information) 를 결정하는 단계(350)를 수행할 수 있다. 또한 영상 부호화 장치(400)는 결합 예측 정보 및 가중치를 이용한 가중치 정보 중 적어도 하나를 포함하는 비트스트림을 전송하는 단계(360)를 수행할 수 있다.
가중치를 결정하는 단계(330)는 현재 블록 내의 원본 픽셀의 샘플값, 제 1 예측값 및 제 2 예측값에 기초하여 가중치를 결정하는 단계를 포함할 수 있다. 즉, 영상 부호화 장치(400)는 현재 블록에 대한 제 1 예측값 및 제 2 예측값과 원본 픽셀의 샘플값을 비교할 수 있다. 또한 영상 부호화 장치(400)는 제 1 예측값 및 제 2 예측값 중 원본 픽셀의 샘플값에 가까운 예측값에 가중치를 크게할 수 있다. 또한 제 1 예측값 및 제 2 예측값에 기초하여 결합 예측을 수행할 수 있다.
예를 들어 가중치를 결정하는 단계(330)는 원본 픽셀의 샘플값과 제 1 예측값의 비율의 기대치 및 상기 원본 픽셀의 샘플값과 제 2 예측값의 비율의 기대치에 기초하여 가중치를 계산하는 단계를 포함할 수 있다. 이는 관계식 (4)과 같을 수 있다.
w1(i,j)= f(E{x(i,j)/x1(i,j)}, E{x(i,j)/x2(i,j)})... (4)
여기서 w1은 인트라 예측에 대한 가중치 이다. i는 픽셀의 X 좌표다. j는 픽셀의 Y 좌표다. f()는 소정의 함수이다. E()는 기대치를 의미한다. x 는 원본 픽셀의 샘플값이다. x1은 인트라 예측을 수행하여 획득한 제 2 예측값이다. x2는 인터 예측을 수행하여 획득한 제 1 예측값이다. 또한 인터 예측에 대한 가중치 w2 는 관계식 (5)와 같을 수 있다.
w2(i,j)= 1 - w1(i,j) ... (5)
예를 들어 E(x(i,j)/x1(i,j))는 x(i,j)/x1(i,j)의 기대치를 의미한다. 현재 블록은 복수의 픽셀을 포함할 수 있다. 영상 부호화 장치(400)는 복수의 픽셀에 대한 원본 샘플값들(x)과 복수의 픽셀에 대한 인트라 예측에 의하여 복원된 샘플값들(즉, 제 2 예측값)의 비율에 대하여 기대치를 구할 수 있다. 또한, 영상 부호화 장치(400)는 복수의 픽셀에 대한 원본 샘플값들(x)과 복수의 픽셀에 대한 인터 예측에 의하여 복원된 샘플값들(즉, 제 1 예측값)의 비율에 대하여 기대치를 구할 수 있다. 각각의 기대치는 아래 관계식 (6)에 의하여 획득될 수 있다.
Figure PCTKR2015011873-appb-I000001
... (6)
여기에서 x_n(i,j)는 현재 블록과 동일한 크기를 갖는 최근 N개 블록에서 n번째 블록의 원본 픽셀의 샘플 값을 의미한다. 또한, i는 x축의 좌표값을 의미한다. 또한, j는 y축의 좌표값을 의미한다. 따라서 x_n(i,j)는 n 번째 블록 내의 (i,j)위치에서의 원본 픽셀의 샘플값을 의미한다. x1_n(i,j)는, x_n(i,j)을 인트라 예측에 의하여 복원한 제 2 예측값을 의미한다. x2_n(i,j)는 x_n(i,j) 을 인터 예측에 의하여 복원한 제 1 예측값을 의미한다.
또한 관계식 (4) 에서 f()는 소정의 함수를 의미한다. 예를 들어 f(X,Y)는 X^2/(X^2 + Y^2)일 수 있다. 따라서 관계식 (4) 는 아래 관계식(7)과 같을 수 있다.
w1(i,j)
= E^2{x(i,j)/x1(i,j)}/(E^2{x(i,j)/x1(i,j)}+ E^2{x(i,j)/x2(i,j)}) ...(7)
영상 부호화 장치(400)는 결합 예측을 수행(340)할 수 있다. 또한 영상 부호화 장치(400)는 결합 예측 결과, 인터 예측 결과 및 인트라 예측 결과를 비교하여 영상 복호화 장치(200)에서 결합 예측을 수행할지 여부를 결정(350)할 수 있다. 예를 들어, 영상 부호화 장치(400)는 비트 효율에 기초하여 결합 예측을 수행할지 여부를 결정(350)할 수 있다. 영상 부호화 장치(400)는 결합 예측을 수행할 경우 사용되는 비트 및 인트라 예측 또는 인터 예측을 수행할 경우 사용되는 비트수를 비교할 수 있다. 영상 부호화 장치(400)는 비교 결과에 기초하여 결합 예측 정보를 결정(350)할 수 있다. 예를 들어 동일한 영상에 대하여 결합 예측이 사용하는 비트수가 적은 경우, 영상 부호화 장치(400)는 결합 예측 정보를 '1'로 설정할 수 있다. 영상 복호화 장치(200)는 결합 예측 정보에 기초하여 결합 예측을 수행할 수 있다.
또한, 영상 부호화 장치(400)는 결합 예측을 수행할 경우 복원된 영상과 원본 영상의 차이를 비교할 수 있다. 또한 영상 부호화 장치(400)는 인트라 예측 또는 인터 예측을 수행할 경우 복원된 영상과 원본 영상의 차이를 비교할 수 있다. 또한 영상 부호화 장치(400)는 비교결과에 기초하여 결합 예측 정보 결정(350)할 수 있다. 영상 복호화 장치(200)는 결합 예측 정보를 수신할 수 있다. 또한 영상 복호화 장치(200)는 결합 예측 정보에 기초하여 현재 블록에 대하여 결합 예측, 인터 예측 및 인트라 예측 중 하나를 수행할 수 있다.
영상 부호화 장치(400)는 결합 예측을 수행할지 여부를 결합 예측 정보로 결정할 수 있다. 결합 예측 정보는 플래그(flag)일 수 있다. 예를 들어 결합 예측 정보가 '1'인 경우, 결합 예측을 수행함을 나타낼 수 있다. 또한 결합 예측 정보가 '0'인 경우 결합 예측이 수행되지 않음을 나타낼 수 있다.
영상 부호화 장치(400)는 인터 예측에 대한 가중치 또는 인트라 예측에 대한 가중치를 이용하여 가중치 정보를 획득할 수 있다. 인터 예측에 대한 가중치가 정해지면 관계식 (5)에 따라 인트라 예측에 대한 가중치가 정해질 수 있다. 가중치 정보는 현재블록 내의 모든 픽셀에 대한 가중치를 포함할 수 있다. 또는 가중치 정보는 현재블록을 복수의 영역으로 분리한 후, 각 영역에 대한 가중치를 포함할 수 있다. 또한 가중치 정보는 하나의 영상에 포함된 블록 별로 상이한 가중치를 포함할 수 있다. 또한 가중치 정보는 하나의 영상에 포함된 슬라이스 별로 상이한 가중치를 포함할 수 있다. 또한 가중치 정보는 영상 별로 상이한 가중치를 포함할 수 있다.
또한 영상 부호화 장치(400)는 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 이용하여 가중치 정보를 획득할 수 있다. 예를 들어 영상 부호화 장치(400)는 결정된 인터 예측에 대한 가중치 또는 결정된 인트라 예측에 대한 가중치에 기초하여, 기준 가중치 결정할 수 있다. 또한 영상 부호화 장치(400)는 기준 가중치를 가중치 정보로서 비트스트림에 포함하여 영상 복호화 장치(200)에 전송할 수 있다. 영상 복호화 장치(200)는 기준 가중치, 참조 픽처와 현재 픽처의 거리, 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나에 기초하여 각 픽셀에 대한 가중치를 결정할 수 있다.
예를 들어 영상 부호화 장치(400)는 인터 예측에 대한 기준 가중치를 0.4(기준 가중치)로 결정할 수 있다. 영상 부호화 장치(400)는 영상 복호화 장치에 기준 가중치를 가중치 정보로서 전송할 수 있다. 또한 영상 복호화 장치(200)는 기준 가중치에 기초하여 인터 예측에 대한 기준 가중치를 0.4로 설정하고 인트라 예측에 대한 기준 가중치를 0.6으로 설정할 수 있다. 또한 영상 복호화 장치(200)는 참조 픽처와 현재 픽처의 거리가 기준 거리에서 소정의 거리만큼 가까울 수록 인터 예측에 대한 가중치를 0.1 씩 높이고, 인트라 예측에 대한 가중치를 0.1씩 낮출 수 있다.
현재 블록의 크기 및 인터 예측과 인트라 예측의 특성에 기초하여 영상 복호화 장치(200)가 가중치를 수정함은 위에서 이미 설명하였으므로 자세한 설명은 생략한다.
영상 부호화 장치(400)는 결합 예측 정보 및 가중치 정보 중 적어도 하나를 포함하는 비트스트림을 전송(360)할 수 있다. 영상 부호화 장치(400)는 결합 예측 정보만을 비트스트림에 포함하여 전송(360)할 수 있다. 예를 들어 영상 부호화 장치(400)는 결합 예측 정보만을 비트스트림에 포함하여 영상 복호화 장치(200)로 전송할 수 있다. 영상 복호화 장치(200)는 결합 예측 정보를 파싱하여 결합 예측을 할 것을 결정할 수 있다. 또한 영상 복호화 장치(200)는 가중치 정보를 수신하지 않았으나, 소정의 기본 가중치를 설정하고, 참조 픽처와 현재 픽처의 거리, 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나에 기초하여 각 픽셀에 대한 가중치를 결정할 수 있다. 가중치를 설정하는 방법에 대해서는 위에서 설명하였으므로 자세한 설명은 생략한다.
또한 영상 부호화 장치(400)는 가중치 정보만을 비트스트림에 포함하여 전송(360)할 수 있다. 영상 복호화 장치(200)는 가중치 정보를 수신한 경우, 결합 예측을 수행할 것을 결정할 수 있다. 또한 가중치 정보에 기초하여 현재 블록에 대한 인터 예측 및 인트라 예측에 대한 가중치를 획득할 수 있다.
영상 부호화 장치(400)는 결합 예측 정보 및 상기 가중치 정보 중 적어도 하나를 인트라 예측 및 인터 예측의 결과보다 낮은 순위로 엔트로피 코딩할 수 있다. 예를 들어 영상 부호화 장치(400)는 인터 예측 및 인트라 예측에 관련된 정보 보다 결합 예측에 관련된 정보를 낮은 순위로 인트로피 코딩할 수 있다. 또한 영상 부호화 장치(400)는 결합 예측에 관련된 정보를 인터 예측 및 인트라 예측에 관련된 정보 보다 많은 비트를 사용하여 비트스트림에 포함할 수 있다. 결합 예측에 관련된 정보를 낮은 순위로 인트로피 코딩하는 경우, 인터 예측 및 인트라 예측에 우선 순위를 줄 수 있다. 또한 결합 예측에 관련된 정보를 낮은 순위로 인트로피 코딩하는 경우, 본 개시에 따른 영상 부호화 장치(400) 및 영상 복호화 장치(200)는 기존의 코덱과 호환성을 가질 수 있다.
도 1 에서 설명한 영상 복호화 방법 및 도 3 에서 설명한 영상 부호화 방법을 구현하기 위한 프로그램은 컴퓨터로 판독가능한 기록매체에 기록될 수 있다.
도 4 는 본 개시의 일 실시예에 따른 영상 부호화 장치의 블록도를 도시한다.
일 실시예에 따른 영상 부호화 장치(400)는 부호화부(410) 및 전송부(420)를 포함한다. 영상 부호화 장치(400)에 대한 설명 중 도 3 에서 설명한 영상 부호화 방법과 중복되는 설명은 생략한다.
부호화부(410)는 현재 블록에 대하여 인터 예측을 수행하여 제 1 예측값을 획득할 수 있다. 또한 부호화부(410)는 현재 블록에 대하여 인트라 예측을 수행하여 제 2 예측값을 획득할 수 있다. 또한 부호화부(410)는 참조 픽처와 현재 픽처의 거리, 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나에 기초하여 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 결정할 수 있다. 부호화부(410)는 인터 예측에 대한 가중치, 인트라 예측에 대한 가중치, 제 1 예측값 및 제 2 예측값에 기초하여 결합 예측을 수행할 수 있다. 또한, 부호화부(410)는 현재 블록에 대해 결합 예측을 수행할지 여부에 대한 결합 예측 정보(combine prediction information)를 결정할 수 있다.
또한 전송부(420)는 결합 예측 정보 및 가중치를 이용한 가중치 정보 중 적어도 하나를 포함하는 비트스트림을 전송할 수 있다.
도 5 는 본 개시의 일 실시예에 따른 영상 부호화 방법의 흐름도를 도시한다.
도 5 는 도 3 에서 설명한 영상 부호화 방법의 다른 실시예이다. 영상 부호화 장치(400)는 인트라 모드를 수행할지 여부를 결정(510)할 수 있다. 영상 부호화 장치(400)는 인트라 모드 및 인터 모드를 순차적으로 수행하기 위하여, 인트라 모드를 수행할지 여부를 결정(510)할 수 있다. 따라서, 인트라 모드 및 인터 모드를 병렬적으로 처리할 수 있다면, 인트라 모드를 수행할지 여부를 결정(510)하지 않을 수 있다.
영상 부호화 장치(400)가 인트라 모드 수행을 결정한 경우, 결합 예측을 수행할지 여부를 결정(520)할 수 있다. 결합 예측을 수행하는 경우, 영상 부호화 장치(400)는 결합 인트라-인터 예측을 수행(530)할 수 있다. 결합 인트라-인터 예측을 수행(530)하는 단계는, 도 3의 단계(310) 내지 단계(350)를 포함할 수 있다. 결합 예측을 수행하지 않는 경우, 영상 부호화 장치(400)는 인트라 예측을 수행(540)할 수 있다. 또한 영상 부호화 장치(400)는 결합 인트라-인터 예측 또는 인트라 예측을 수행하여 결합 예측 정보 또는 가중치 정보 중 적어도 하나를 획득할 수 있다.
영상 부호화 장치(400)는 결합 인트라-인터 예측 또는 인트라 예측의 결과에 대하여 엔트로피 코딩을 수행(535)할 수 있다. 영상 부호화 장치(400)는 인트라 모드 수행을 결정하였으므로, 영상 부호화 장치(400)는 인트라 블록에 대한 엔트로피 코딩을 수행(535)할 수 있다. 예를 들어 영상 부호화 장치(400)는 결합 예측 정보 또는 가중치 정보 중 적어도 하나에 대하여 엔트로피 코딩을 수행할 수 있다. 엔트로피 코딩을 수행(535)하는 단계는, 도 3 의 단계(360)에 포함될 수 있다. 인트라 블록에 대한 엔트로피 코딩과 인터 블록에 대한 엔트로피 코딩은 변환계수의 양자화 수준 또는 후처리 필터가 서로 다를 수 있다.
영상 부호화 장치(400)가 인트라 모드를 수행하지 않을 것으로 결정한 경우, 영상 부호화 장치(400)는 결합 예측을 수행할지 여부를 결정(525)할 수 있다. 결합 예측을 수행하는 경우, 영상 부호화 장치(400)는 결합 인트라-인터 예측을 수행(550)할 수 있다. 결합 인트라-인터 예측을 수행(550)하는 단계는, 도 3의 단계(310) 내지 단계(350)를 포함할 수 있다. 결합 인트라-인터 예측을 수행(530)하는 단계와 결합 인트라-인터 예측을 수행(550)하는 단계는 서로 다른 엔트로피 코딩을 수행한다. 예를 들어 결합 인트라-인터 예측을 수행(530)하는 단계는 인트라 블록에 대한 엔트로피 코딩을 수행(535)한다. 하지만 결합 인트라-인터 예측을 수행(550)하는 단계는 인터 블록에 대한 엔트로피 코딩을 수행(555)한다.
결합 예측을 수행하지 않는 경우, 영상 부호화 장치(400)는 인터 예측을 수행(560)할 수 있다. 또한 영상 부호화 장치(400)는 결합 인트라-인터 예측 또는 인터 예측을 수행하여 결합 예측 정보 또는 가중치 정보 중 적어도 하나를 획득할 수 있다.
영상 부호화 장치(400)는 결합 인트라-인터 예측 또는 인터 예측의 결과에 대하여 엔트로피 코딩을 수행(555)할 수 있다. 영상 부호화 장치(400)는 인터 모드 수행을 결정하였으므로, 영상 부호화 장치(400)는 인터 블록에 대한 엔트로피 코딩을 수행(555)할 수 있다. 예를 들어 영상 부호화 장치(400)는 결합 예측 정보 또는 가중치 정보 중 적어도 하나에 대하여 엔트로피 코딩을 수행할 수 있다. 엔트로피 코딩을 수행(555)하는 단계는, 도 3 의 단계(360)에 포함될 수 있다. 인트라 블록에 대한 엔트로피 코딩과 인터 블록에 대한 엔트로피 코딩은 변환계수의 양자화 수준 또는 후처리 필터가 서로 다를 수 있다. 또한 이미 설명한 바와 같이 엔트로피 코딩을 할 때 결합 예측과 관련된 정보는 비결합 예측과 관련된 정보에 비해 낮은 우선순위를 가질 수 있다.
또한 영상 부호화 장치(400)는 결합 인트라-인터 예측 수행(530, 550), 인트라 예측 수행(540) 및 인터 예측 수행(560)에 기초하여 가장 효과적인 부호화 방법을 선택할 수 있다. 또한 영상 부호화 장치(400)는 인트라 블록에 대한 엔트로피 코딩 수행(535) 및 인터 블록에 대한 엔트로피 코딩 수행(555)을 고려하여 가장 효과적인 부호화 방법을 선택할 수 있다. 또한 선택된 결과를 비트스트림에 포함하여 영상 복호화 장치(400)로 전송할 수 있다.
도 1 에서 설명한 바와 같이 현재 블록은 부호화 단위, 예측 단위 및 변환 단위 중 어느 하나를 포함할 수 있다. 또한, 현재 블록은 인터 예측에서 사용되는 예측 단위 및 인트라 예측에서 사용되는 예측 단위를 포함할 수 있다. 영상 부호화 장치(400)는 다양한 예측 단위에 대하여 부호화를 수행해 볼 수 있다. 또한 영상 부호화 장치(400)는 다양한 예측 단위 중 가장 효율적인 예측 단위를 선택할 수 있다. 영상 부호화 장치(400)는 인터 예측에서 사용되는 예측 단위를 인트라 예측에서 사용되는 예측 단위와 독립적으로 결정할 수 있다. 예를 들어, 영상 부호화 장치(400)는 인터 예측에 가장 효율적으로, 부호화 단위로부터 인터 예측에서 사용되는 예측 단위를 분할 할 수 있다. 영상 부호화 장치(400)는 인터 예측에서 사용되는 예측 단위를 결정할 때 인트라 예측에서 사용되는 예측 단위를 고려하지 않을 수 있다.
도 5 의 흐름도는 본 개시의 일 개시일 뿐 이에 한정되는 것은 아니다. 예를 들어 도 5 에서는 결합 인트라-인터 예측을 수행(530, 550)하는 단계를 두번 수행한다. 이러한 중복을 피하기 위하여 영상 부호화 장치(400)는 결합 인트라-인터 예측을 수행(550)하지 않고, 결합 인트라-인터 예측을 수행(530)한 결과를 이용할 수 있다. 또한, 결합 인트라-인터 예측 수행(530, 550)에는 인트라 예측 또는 인터 예측이 포함되므로, 영상 부호화 장치(400)는 결합 인트라-인터 예측 수행(530, 550)의 결과에 기초하여 인터 예측 수행(540) 또는 인트라 예측 수행(530) 결과를 획득할 수 있다. 또한, 상술한 바와 같이 병렬처리가 가능하다면 인트라 모드를 수행할지 여부를 결정(510)하는 단계 및 결합 예측을 수행할지 여부를 결정(520 및 525)하는 단계들 중 적어도 하나는 수행되지 않을 수 있다. 예를 들어 영상 부호화 장치(400)는 결합 인트라-인터 예측, 인트라 예측 및 인터 예측을 동시에 수행할 수 있다.
도 6 은 본 개시의 일 실시예에 따른 영상 복호화 방법의 흐름도를 도시한다.
영상 복호화 장치(200)는 수신한 비트스트림으로부터 인트라/인터 타입을 파싱(610)할 수 있다. 또한 영상 복호화 장치(200)는 인트라/인터 타입에 기초하여 인트라 모드인지 여부를 결정(620)할 수 있다. 인트라 모드로 결정된 경우, 영상 복호화 장치(200)는 결합 예측 정보를 파싱(630)할 수 있다. 결합 예측 정보를 파싱(630)하는 단계는 도 1 의 단계(110)에 대응될 수 있다. 또한 영상 복호화 장치(200)는 결합 예측 정보에 기초하여 결합 예측을 수행할지 여부를 결정(635)할 수 있다. 결합 예측을 수행할지 여부를 결정(635)하는 단계는 도 1 의 단계(120)에 대응될 수 있다.
또한 결합 예측을 수행하는 경우, 영상 복호화 장치(200)는 복수의 인터 예측을 수행할 수 있다. 예를 들어 제 1 인터 예측(640) 내지 제 L 인터 예측을 수행할 수 있다. 복수의 인터 예측에 대해서는 도 1 과 함께 설명하였으므로 자세한 설명은 생략한다. 또한 영상 복호화 장치(200)는 복수의 인트라 예측을 수행할 수 있다. 예를 들어 제 1 루마 인트라 예측(642) 내지 제 N 루마 인트라 예측을 수행할 수 있다. 또한 제 1 크로마 인트라 예측(644) 내지 제 K 크로마 인트라 예측을 수행할 수 있다. 인터 예측을 수행하는 단계 및 인트라 예측을 수행하는 단계는 도 1 의 단계(130)에 대응될 수 있다. 복수의 인트라 예측에 대해서는 도 1 과 함께 자세히 설명하였으므로 자세한 설명은 생략한다.
또한 결합 예측을 수행하는 경우, 영상 복호화 장치(200)는 루마(luminance) 채널에 대해서 결합 예측을 수행할 수 있다. 또한, 영상 복호화 장치(200)는 크로마(chrominance) 채널에 대해서는 인터 예측 또는 인트라 예측 중 하나를 수행할 수 있다. 즉 영상 복호화 장치(200)는 루마 채널에 대해서만 결합 예측을 수행하고, 크로마 채널에 대해서는 기존과 같은 인터 예측 또는 인트라 예측 중 하나를 수행할 수 있다. 예를 들어 영상 복호화 장치(200)는 비트스트림으로부터 파싱한 크로마 결합 예측 정보에 기초하여 크로마 채널에 대하여 결합 예측을 수행할지 여부를 결정할 수 있다. 또한, 영상 복호화 장치(200)는 크로마 예측 정보에 기초하여 크로마 채널에 대해서는 결합 예측을 수행하지 않을 수 있다.
루마 채널에 대해서만 결합 예측을 수행하는 경우 영상 복호화 장치(200)는 루마 채널에 대한 가중치만을 영상 부호화 장치(400)로부터 수신하므로, 비트스트림의 전송 효율이 높아질 수 있다.
또한, 결합 예측을 수행하는 경우, 영상 복호화 장치(200)는 루마 채널 및 크로마 채널에 대하여 서로 다른 가중치를 설정할 수 있다. 이 경우 영상 복호화 장치(200)는 루마 채널 및 크로마 채널에 대하여 높은 화질의 복원 영상을 제공할 수 있다. 반대로 영상 복호화 장치(200)는 영상 부호화 장치(400)로부터 한 세트의 가중치를 수신한 후 이를 크로마 채널 및 루마 채널의 가중치로 사용할 수 있다. 영상 복호화 장치(200)는 가중치 정보를 수신할 수 있으며, 가중치 정보는 루마 채널 및 크로마 채널에 대하여 서로 다른 가중치를 적용할지 여부에 관한 플래그를 포함할 수 있다.
또한 영상 복호화 장치(200)는 복수의 인트라 예측 및 인터 예측에 기초하여 결합 예측을 수행(646)할 수 있다. 결합 예측을 수행(646)하는 단계는 도 1 의 단계(140) 및 단계(150)를 포함할 수 있다.
또한 결합 예측을 수행하지 않는 경우, 영상 복호화 장치(200)는 인트라 예측을 수행할 수 있다. 예를 들어 영상 복호화 장치(200)는 제 1 루마 인트라 예측(650) 및 제 1 크로마 인트라 예측(655)을 수행할 수 있다.
인터 모드로 결정된 경우, 영상 복호화 장치(200)는 결합 예측 정보를 파싱(660)할 수 있다. 결합 예측 정보를 파싱(660)하는 단계는 도 1 의 단계(110)에 대응될 수 있다. 또한 영상 복호화 장치(200)는 결합 예측 정보에 기초하여 결합 예측을 수행할지 여부를 결정(665)할 수 있다. 결합 예측을 수행할지 여부를 결정(665)하는 단계는 도 1 의 단계(120)에 대응될 수 있다.
또한 결합 예측을 수행하는 경우, 영상 복호화 장치(200)는 복수의 인트라 예측을 수행할 수 있다. 예를 들어 제 1 루마 인트라 예측(670) 내지 제 N 루마 인트라 예측을 수행할 수 있다. 또한 제 1 크로마 인트라 예측(672) 내지 제 K 크로마 인트라 예측을 수행할 수 있다. 복수의 인트라 예측에 대해서는 도 1 과 함께 자세히 설명하였으므로 자세한 설명은 생략한다. 또한, 영상 복호화 장치(200)는 복수의 인터 예측을 수행할 수 있다. 예를 들어 제 1 인터 예측(674) 내지 제 L 인터 예측을 수행할 수 있다. 복수의 인터 예측에 대해서는 도 1 과 함께 설명하였으므로 자세한 설명은 생략한다. 인터 예측을 수행하는 단계 및 인트라 예측을 수행하는 단계는 도 1 의 단계(130)에 대응될 수 있다.
또한 영상 복호화 장치(200)는 복수의 인트라 예측 및 인터 예측에 기초하여 결합 예측을 수행(676)할 수 있다. 결합 예측을 수행(676)하는 단계는 도 1 의 단계(140) 및 단계(150)를 포함할 수 있다.
또한 결합 예측을 수행하지 않는 경우, 영상 복호화 장치(200)는 인터 예측을 수행할 수 있다. 예를 들어 영상 복호화 장치(200)는 제 1 인터 예측(680) 및 제 1 크로마 인트라 예측(655)을 수행할 수 있다.
현재 블록은 인터 예측에서 사용되는 예측 단위 및 인트라 예측에서 사용되는 예측 단위를 포함할 수 있다. 영상 복호화 장치(200)는 비트스트림에 기초하여 예측 단위를 결정할 수 있다. 영상 복호화 장치(200)는 인터 예측에서 사용되는 예측 단위를 인트라 예측에서 사용되는 예측 단위와 독립적으로 결정할 수 있다. 예를 들어, 영상 복호화 장치(200)는 비트스트림으로부터 인터 예측에서 사용되는 예측 단위에 대한 정보 및 인트라 예측에서 사용되는 예측 단위에 대한 정보를 각각 파싱할 수 있다. 영상 복호화 장치(200)는 인터 예측에서 사용되는 예측 단위를 결정할 때 인트라 예측에서 사용되는 예측 단위를 고려하지 않을 수 있다.
또한, 결합 예측을 수행할 경우, 인터 예측 및 인트라 예측을 모두 수행할 수 있다. 이때 영상 복호화 장치(200)는 인터 예측 시에는 인터 예측에서 사용되는 예측 단위를 사용하고 인트라 예측 시에는 인트라 예측에 사용되는 예측 단위를 사용할 수 있다. 또한 영상 복호화 장치(200)는 결합 예측을 위한 별도의 예측 단위를 사용할 수 있다.
도 7 은 본 개시의 일 실시예에 따른 결합 예측을 나타내는 흐름도 이다.
도 1 에서 설명한 바와 같이 결합 예측값은 관계식 (1)과 같이 계산될 수 있다. 예를 들어 영상 복호화 장치(200)는 인트라 예측에 관한 정보(m1)에 기초하여 인트라 예측을 수행(710)할 수 있다. 인트라 예측에 관한 정보(m1)는 예측 방향에 관한 정보가 있을 수 있다. 또한 영상 복호화 장치(200)는 인트라 예측을 수행(710)하여 제 2 예측값(x1)을 획득할 수 있다.
또한, 영상 복호화 장치(200)는 인터 예측에 관한 정보(m2)에 기초하여 인터 예측을 수행(720)할 수 있다. 인터 예측에 관한 정보는 움직임 벡터가 될 수 있다. 또한 영상 복호화 장치(200)는 인터 예측을 수행(720)하여 제 1 예측값(x2)을 획득할 수 있다. 또한 영상 복호화 장치(200)는 인터 예측에 대한 가중치(w2), 인트라 예측에 대한 가중치(w1), 제 1 예측값 및 제 2 예측값에 기초하여 가중합(730)을 할 수 있다. 가중합의 결과(740)는 관계식 (1)과 동일할 수 있다.
가중치는 현재 블록에 포함되는 픽셀의 위치 및 현재 블록을 포함하는 현재 픽처와 참조 블록을 포함하는 참조 픽처의 시간적 거리 중 적어도 하나에 따라 결정될 수 있다. 따라서 관계식 (1)을 보다 자세히 기술하면 관계식(8) 과 같아 질 수 있다.
x(i,j)= w(i,j)a(t)x1(i,j) + (1-w(i,j))b(t)x2(i,j) ... (8)
여기서 i는 픽셀의 X 좌표다. j는 픽셀의 Y 좌표다. x 는 결합 예측값이다. x1은 인트라 예측을 수행하여 획득한 제 2 예측값이다. x2는 인터 예측을 수행하여 획득한 제 1 예측값이다. w는 인트라 예측값에 대한 가중치 이다. w는 i 및 j를 변수로하는 함수이다. 따라서 w 는 픽셀의 위치에 따라 값이 달라질 수 있다. 또한 a 및 b는 현재 픽처와 참조 픽처의 시간적 거리에 관한 함수이다. 또한 a는 인트라 예측에 관한 가중치 중 하나이다. a(t) 다항식(polynomial)을 가질 수 있다. 예를 들어 a(t) 는 c*t^2+ d*t + e와 같이 2차 함수로 주어질 수 있다. 또한, 위에서 설명한 바와 같이 참조 픽처와 현재 픽처의 거리가 멀수록(t가 커질 수록) 인트라 예측에 관한 가중치는 높아질 수 있다. 즉, a(t) 는 단조 증가함수 일 수 있다. 또한 a(t)는 0이상 1 이하의 값을 가질 수 있다. b(t)는 1 - a(t) 일 수 있다.
참조 픽처가 N개인 경우 영상 부호화 장치(400) 또는 영상 복호화 장치(200) 또는 영상 부호화 장치(400)는 ak(tk) (단, k= 1, 2, ..., N)를 계산할 수 있다. 또한 영상 복호화 장치(200) 또는 영상 부호화 장치(400)는 ak(tk)를 이용하여 관계식 (8)의 a(t)를 계산할 수 있다. 예를 a(t)는 관계식 (9)가 될 수 있다.
a(t) = {a1(t1)+a2(t2)+...+aN(tN)}/{a1(t1)+a2(t2)+...+aN(tN)+1} ... (9)
또한 관계식 (8)의 b(t)는 관계식 (10)이 될 수 있다.
b(t)= 1/{a1(t1)+a2(t2)+...+aN(tN)+1} ... (10)
도 8 은 본 개시의 일 실시예에 따른 예측에서 이용가능한 모드를 부호화 하는 방법에 관한 도면이다.
영상 부호화 장치(400)는 영상 복호화 장치(200)로 전달할 데이터의 양을 줄이기 위하여 가변 길이 부호화 및 고정 길이 부호화를 이용할 수 있다. 또한 영상 부호화 장치(400)는 35가지에 달하는 인트라 예측 모드들을 보다 적은 비트로 표현하기 위하여 영상과 인트라 예측 모드의 통계적 특성을 이용할 수 있다. 일반적으로 자연 영상을 일정한 크기의 블록으로 나누었을 때 하나의 블록과 그 주변 블록은 비슷한 영상특성을 가지게 된다. 따라서, 현재 블록에 대한 인트라 예측모드 또한, 주변 블록과 같거나 혹은 비슷한 모드를 가질 확률이 높다. 영상 부호화 장치(400)는 이러한 특성을 고려하여 현재 블록을 기준으로 왼쪽 블록과 위쪽 블록의 인트라 예측 모드를 기반으로 현재 블록의 모드를 부호화 할 수 있다.
도 8 을 참조하면, 영상 부호화 장치(400)는 가변길이 부호화를 수행할 수 있다. 예를 들어 영상 부호화 장치(400)는 MPM(Most Probable Mode)에 따라, A0에 왼쪽 블록의 인트라 예측 모드를 할당할 수 있다. 또한, 영상 부호화 장치(400)는 A1에 위쪽 블록의 인트라 예측 모드를 할당할 수 있다. 또한 영상 부호화 장치(400)는 A2에 planar 모드, DC 모드 및 vertical 모드 중 하나를 할당할 수 있다. 가변 길이 부호화에 의하여 A0 내지 A2 는 서로 다른 비트수를 가질 수 있다. 영상 부호화 장치(400)는 A0모드를 '10' 로 부호화할 수 있다. 영상 부호화 장치(400)는 A1 모드를'110' 로 부호화할 수 있다. 영상 부호화 장치(400)는 A2 모드를 '111' 로 부호화할 수 있다.
상술한 바와 같이 현재 블록에 대한 인트라 예측 모드는 주변 블록의 예측모드와 유사할 수 있다. 즉, 현재 블록에 대한 인트라 예측을 수행할 때, 주변 블록의 예측 모드와 동일한 예측 모드가 발생할 확률이 높다. 따라서, 영상 부호화 장치(400)는 이러한 예측 모드에 적은 비트수를 할당하여 비트스트림의 전송효율을 높일 수 있다.
또한, 영상 부호화 장치(400)는 가변 길이 부호화 모드로 할당되지 않은 나머지 모드에 대하여 고정 길이 부호화를 수행할 수 있다. 예를 들어 영상 부호화 장치(400)는 B0모드를 '00...00'로 부호화할 수 있다. 마찬가지로 BN-1모드를 '01...11'로 부호화할 수 있다. 영상 복호화 장치(200)는 부호화된 비트 스트링(bit string)의 첫 비트를 확인하여 가변 길이 부호화를 이용했는지 고정 부호화 부호화를 수행했는지 구별할 수 있다. 예를 들어 A0~A2 모드의 첫 비트는 '1' 이며 B0~ BN-1모드의 첫 비트는 '0'이다. 영상 복호화 장치(200)는 첫 비트가 '1' 인경우 가변 길이 부호화를 이용했음을 알 수 있다.
또한, 이미 설명한 바와 같이 영상 복호화 장치(200)는 비트스트림으로부터 이용가능한 모드에 관한 정보를 수신할 수 있다. 예를 들어 이용가능한 모드에 관한 정보가 '간격 4'로 주어진 경우, 영상 복호화 장치(200)는 Planar모드, DC 모드, 2, 6, 10, 14, 18, 22, 26, 30, 34를 이용가능한 모드로 선택할 수 있다. 이때 Planar모드, DC 모드 및 '2'모드는 가변길이 부호화를 이용하여 부호화 될 수 있다. 또한 나머지 6, 10, 14, 18, 22, 26, 30 및 34 모드(8가지 모드)는 고정 길이 부호화를 이용하여 부호화 될 수 있다. 이 경우 영상 부호화 장치(400)는 8가지의 모드에 대하여 3 비트만으로 고정길이 부호화를 수행할 수 있다. 이용가능한 모드를 선택하지 않을 경우 32개의 모드에 대하여 고정길이 부호화를 수행해야 하므로 5비트가 필요하다. 따라서 이용가능한 모드를 선택하면 보다 적은 비트를 이용하여 부호화를 수행할 수 있다. 또한 영상 부호화 장치(400)는 적은 비트를 영상 복호화 장치(200)에 전송하므로 효율이 좋아진다.
도 9 는 본 개시의 일 실시예에 따른 예측에서 움직임 벡터의 정확도를 낮추는 방법에 관한 도면이다.
영상의 크기가 커지는 경우 데이터 처리 속도를 높이기 위하여 움직임 벡터의 정확도를 낮출 필요가 있을 수 있다. 또한, 영상 부호화 장치(400)가 영상 복호화 장치(200)로 보내는 데이터의 크기를 줄이기 위해서도 움직임 벡터의 정확도를 낮출 필요가 있을 수 있다.
도 9 의 (a)를 참조하면, 영상은 업스케일링(up-scaling)이 될 수 있다. 검은색 점은 원본 픽셀이며, 하얀색 점은 업스케일링에 의하여 보간(interpolation)된 픽셀이다. 보간된 픽셀들을 부화소라고 한다. 영상 복호화 장치(200)는 비트스트림으로부터 움직임 벡터의 정밀도에 관한 정보를 파싱할 수 있다. 또한 영상 복호화 장치(200)는 움직임 벡터의 정밀도에 관한 정보에 기초하여, 현재 블록에 대한 인터 예측의 움직임 벡터의 정밀도를 하프-pel(half-pel), 정수-pel(integer-pel) 및 2-pel 중 하나로 설정할 수 있다.
여기서 pel은 화소를 의미하며, 움직임 벡터의 이동 단위이다. 예를 들어 도 9 의 (a)에서 검은색 점은 원복 픽셀을 의미한다. 원본 픽셀간에 이동하는 것은 하나의 화소씩 이동하는 것이므로, integer-pel(1-pel) 로 나타낼 수 있다.
본 개시의 일 실시예에 따른 영상 복호화 장치(200)는 움직임 벡터의 정밀도에 관한 정보에 기초하여 움직임 벡터의 정밀도를 2-pel로 설정할 수 있다. 이 경우 탐색의 시작 픽셀(910)으로부터 2-pel 간격에 있는 픽셀에 대해서, 움직임 벡터가 설정될 수 있다. 또한, 영상 복호화 장치(200)는 시작 픽셀(910)으로부터 픽셀(912), 픽셀(916) 및 픽셀(914) 중 어느 하나로 향하도록 움직임 벡터를 설정할 수 있다. 또한, 영상 복호화 장치(200)는 2-pel보다 정밀한 움직임 벡터를 탐색하지 않는다. 도 9 의 (a)에서 영상 복호화 장치(200)는 픽셀(910)로부터 픽셀(916)로 향하는 움직임 벡터(920)를 선택할 수 있다. 영상 복호화 장치(200)는 비트스트림으로부터 파싱된 정보에 기초하여 움직임 벡터(920)를 선택할 수 있다.
본 개시의 다른 실시예에 따른 움직임 벡터의 설정이 도 9의 (b)에 개시된다. 영상 복호화 장치(200)는 움직임 벡터의 정밀도에 관한 정보에 기초하여 움직임 벡터의 정밀도를 정수-pel(integer-pel)로 설정할 수 있다. 이 경우 도 9 의 (a)와 같은 움직임벡터를 선택한 후 영상 복호화 장치(200)는 이하와 같은 탐색을 더 수행할 수 있다. 탐색의 시작 픽셀(930)으로부터 정수-pel 간격에 있는 픽셀에 대해서, 움직임 벡터가 설정될 수 있다. 또한, 영상 복호화 장치(200)는 시작 픽셀(930)으로부터 픽셀(931), 픽셀(932), 픽셀(933), 픽셀(934), 픽셀(935), 픽셀(936), 픽셀(937) 및 픽셀(938) 중 어느 하나로 향하도록 움직임 벡터를 설정할 수 있다. 또한 영상 복호화 장치(200)는 탐색 방법에 따라 시작 픽셀(930)으로부터 픽셀(931), 픽셀(933), 픽셀(935) 및 픽셀(937) 중 어느 하나로 향하도록 움직임 벡터를 설정할 수 있다. 영상 복호화 장치(200)는 비트스트림에 기초하여 움직임 벡터(940)를 선택할 수 있다. 영상 복호화 장치(200)는 픽셀(930) 로부터 픽셀(933)로 향하는 움직임 벡터(940)를 선택할 수 있다.
본 개시의 다른 실시예에 따른 움직임 벡터의 설정이 도 9의 (c)에 개시된다. 영상 복호화 장치(200)는 움직임 벡터의 정밀도에 관한 정보에 기초하여 움직임 벡터의 정밀도를 하프-pel(half-pel)로 설정할 수 있다. 이 경우 도 9 의 (b)와 같은 움직임벡터를 선택한 후 영상 복호화 장치(200)는 이하와 같은 탐색을 더 수행할 수 있다. 탐색의 시작 픽셀(950) 로부터 하프-pel 간격에 있는 픽셀에 대해서, 움직임 벡터가 설정될 수 있다. 또한, 영상 복호화 장치(200)는 비트스트림에 기초하여 움직임 벡터(960)를 선택할 수 있다. 영상 복호화 장치(200)는 픽셀(950)로부터 픽셀(951)로 향하는 움직임 벡터(960)를 선택할 수 있다.
본 개시의 다른 실시예에 따른 움직임 벡터의 설정이 도 9의 (d)에 개시된다. 영상 복호화 장치(200)는 움직임 벡터의 정밀도에 관한 정보에 기초하여 움직임 벡터의 정밀도를 쿼터-pel(quarter-pel)로 설정할 수 있다. 이 경우 도 9 의 (c)와 같은 움직임벡터를 선택한 후 영상 복호화 장치(200)는 이하와 같은 탐색을 더 수행할 수 있다. 탐색의 시작 픽셀(970)로부터 쿼터-pel 간격에 있는 픽셀에 대해서, 움직임 벡터가 설정될 수 있다. 또한, 영상 복호화 장치(200)는 비트스트림에 기초하여 움직임 벡터(980)를 선택할 수 있다. 영상 복호화 장치(200)는 픽셀(970)로부터 픽셀(971)로 향하는 움직임 벡터(980)를 선택할 수 있다.
도 10 은 본 개시의 일 실시예에 따른 부호화 단위의 개념을 도시한다.
부호화 단위의 예는, 부호화 단위의 크기는 너비x높이로 표현되며, 크기 64x64인 부호화 단위부터, 32x32, 16x16, 8x8를 포함할 수 있다. 크기 64x64의 부호화 단위는 크기 64x64, 64x32, 32x64, 32x32의 파티션들로 분할될 수 있고, 크기 32x32의 부호화 단위는 크기 32x32, 32x16, 16x32, 16x16의 파티션들로, 크기 16x16의 부호화 단위는 크기 16x16, 16x8, 8x16, 8x8의 파티션들로, 크기 8x8의 부호화 단위는 크기 8x8, 8x4, 4x8, 4x4의 파티션들로 분할될 수 있다. 또한 도 10 에서는 도시하지 않았으나, 부호화 단위는 64x64보다 큰 크기를 가질 수 있다. 예를 들어 부호화 단위는 128x128, 256x256 등의 크기를 가질 수 있다. 부호화 단위가 64x64에 비례해서 증가하면 파티션의 크기도 같은 비율로 증가한다.
비디오 데이터(1010)에 대해서는, 해상도는 1920x1080, 부호화 단위의 최대 크기는 64, 최대 심도가 2로 설정되어 있다. 비디오 데이터(1020)에 대해서는, 해상도는 1920x1080, 부호화 단위의 최대 크기는 64, 최대 심도가 3로 설정되어 있다. 비디오 데이터(1030)에 대해서는, 해상도는 352x288, 부호화 단위의 최대 크기는 16, 최대 심도가 1로 설정되어 있다. 도 10에 도시된 최대 심도는, 최대 부호화 단위로부터 최소 부호화 단위까지의 총 분할 횟수를 나타낸다.
해상도가 높거나 데이터량이 많은 경우 부호화 효율의 향상뿐만 아니라 영상 특성을 정확히 반형하기 위해 부호화 사이즈의 최대 크기가 상대적으로 큰 것이 바람직하다. 따라서, 비디오 데이터(1030)에 비해, 해상도가 높은 비디오 데이터(1010, 1020)는 부호화 사이즈의 최대 크기가 64로 선택될 수 있다. 또한 이보다 크게 선택될 수도 있다.
비디오 데이터(1010)의 최대 심도는 2이므로, 비디오 데이터(1010)의 부호화 단위(1015)는 장축 크기가 64인 최대 부호화 단위로부터, 2회 분할하며 심도가 두 계층 깊어져서 장축 크기가 32, 16인 부호화 단위들까지 포함할 수 있다. 반면, 비디오 데이터(1030)의 최대 심도는 1이므로, 비디오 데이터(1030)의 부호화 단위(1035)는 장축 크기가 16인 부호화 단위들로부터, 1회 분할하며 심도가 한 계층 깊어져서 장축 크기가 8인 부호화 단위들까지 포함할 수 있다.
비디오 데이터(1020)의 최대 심도는 3이므로, 비디오 데이터(1020)의 부호화 단위(1025)는 장축 크기가 64인 최대 부호화 단위로부터, 3회 분할하며 심도가 세 계층 깊어져서 장축 크기가 32, 16, 8인 부호화 단위들까지 포함할 수 있다. 심도가 깊어질수록 세부 정보의 표현능력이 향상될 수 있다.
도 11 은 본 개시의 일 실시예에 따른 부호화 단위에 기초한 영상 부호화부(1100)의 블록도를 도시한다.
일 실시예에 따른 영상 부호화부(1100)는, 도 4 의 영상 부호화 장치(400)의 부호화부(410)에서 영상 데이터를 부호화하는데 거치는 작업들을 포함한다. 즉, 인트라 예측부(1110)는 현재 프레임(1105) 중 인트라 모드의 부호화 단위에 대해 인트라 예측을 수행하고, 움직임 추정부(1120) 및 움직임 보상부(1125)는 인터 모드의 현재 프레임(1105) 및 참조 프레임(1195)을 이용하여 인터 추정 및 움직임 보상을 수행한다. 또한 결합 예측부(1130)에서는 인트라 예측 및 인터 예측 수행 결과에 기초하여 결합 예측을 수행할 수 있다. 결합 예측부(1130)에서 수행하는 결합 예측에 대해서는 도 3 내지 도 5에서 자세히 설명하였으므로 여기서는 자세한 설명을 생략한다.
인트라 예측부(1110), 움직임 추정부(1120) 및 움직임 보상부(1125)로부터 출력된 데이터는 결합 예측부(1130)를 거쳐 결합예측이 될 수 있다. 또한 인트라 예측부(1110), 움직임 추정부(1120), 움직임 보상부(1125) 및 결합 예측부(1130)로부터 출력된 데이터는 변환부(1130) 및 양자화부(1140)를 거쳐 양자화된 변환 계수로 출력된다. 양자화된 변환 계수는 역양자화부(1160), 역변환부(1170)를 통해 공간 영역의 데이터로 복원되고, 복원된 공간 영역의 데이터는 디블로킹부(1180) 및 루프 필터링부(1190)를 거쳐 후처리되어 참조 프레임(1195)으로 출력된다. 양자화된 변환 계수는 엔트로피 부호화부(1150)를 거쳐 비트스트림(1155)으로 출력될 수 있다.
일 실시예에 따른 영상 부호화 장치(400)에 적용되기 위해서는, 영상 부호화부(1100)의 구성 요소들인 인트라 예측부(1110), 움직임 추정부(1120), 움직임 보상부(1125), 변환부(1130), 양자화부(1140), 엔트로피 부호화부(1150), 역양자화부(1160), 역변환부(1170), 디블로킹부(1180) 및 루프 필터링부(1190)가 모두, 최대 부호화 단위마다 최대 심도를 고려하여 트리 구조에 따른 부호화 단위들 중 각각의 부호화 단위에 기반한 작업을 수행하여야 한다.
특히, 인트라 예측부(1110), 움직임 추정부(1120) 및 움직임 보상부(1125)는 현재 최대 부호화 단위의 최대 크기 및 최대 심도를 고려하여 트리 구조에 따른 부호화 단위들 중 각각의 부호화 단위의 파티션 및 예측 모드를 결정하며, 변환부(1130)는 트리 구조에 따른 부호화 단위들 중 각각의 부호화 단위 내의 변환 단위의 크기를 결정하여야 한다.
영상 부호화부(1100)는 참조 프레임(1195)의 최대 부호화 단위들마다 에지 타입(또는 밴드 타입)에 따라 픽셀들을 분류하여, 에지 방향(또는 시작 밴드 위치)를 결정하고, 카테고리들마다 속하는 복원픽셀들의 평균오차값을 결정할 수 있다. 최대 부호화 단위마다, 각각의 오프셋 병합 정보, 오프셋 타입 및 오프셋값들을 부호화되어 시그널링될 수 있다.
도 12 는 본 개시의 일 실시예에 따른 부호화 단위에 기초한 영상 복호화부(1200)의 블록도를 도시한다.
비트스트림(1205)이 파싱부(1210)를 거쳐 복호화 대상인 부호화된 영상 데이터 및 복호화를 위해 필요한 부호화에 관한 정보가 파싱된다. 부호화된 영상 데이터는 엔트로피 복호화부(1220) 및 역양자화부(1230)를 거쳐 역양자화된 데이터로 출력되고, 역변환부(1240)를 거쳐 공간 영역의 영상 데이터가 복원된다.
공간 영역의 영상 데이터에 대해서, 인트라 예측부(1250)는 인트라 모드의 부호화 단위에 대해 인트라 예측을 수행하고, 움직임 보상부(1260)는 참조 프레임(1285)을 함께 이용하여 인터 모드의 부호화 단위에 대해 움직임 보상을 수행한다.
인트라 예측부(1250) 및 움직임 보상부(1260)를 거친 공간 영역의 데이터는 는 결합 예측부(1270)에서 결합 예측에 사용될 수 있다. 도 12 에서는 인트라 예측부(1250) 및 움직임 보상부(1260)를 거친 공간 영역의 데이터가 결합 예측 부를 무조건 거치도록 도시되어 있으나, 이에 한정되는 것은 아니다. 영상 부호화 장치(400)에서 수신한 결합 예측 정보에 기초하여 결합 예측이 수행되지 않을 수 있다. 이 때 인트라 예측부(1250) 및 움직임 보상부(1260)를 거친 공간 영역의 데이터는 디블로킹부(1275)로 출력될 수 있다. 결합 예측에 대해서는 도 1, 도 2 및 도 6에서 이미 자세히 설명하였으므로 자세한 설명은 생략한다.
결합 예측부(1270)를 거친 공간 영역의 데이터는 디블로킹부(1270) 및 루프 필터링부(1280)를 거쳐 후처리되어 복원 프레임(1295)으로 출력될 수 있다. 또한, 디블로킹부(1270) 및 루프 필터링부(1280)를 거쳐 후처리된 데이터는 참조 프레임(1285)으로서 출력될 수 있다.
영상 복호화 장치(200)의 복호화부(220)에서 영상 데이터를 복호화하기 위해, 일 실시예에 따른 영상 복호화부(1200)의 파싱부(1210) 이후의 단계별 작업들이 수행될 수 있다.
일 실시예에 따른 영상 복호화 장치(200)에 적용되기 위해서는, 영상 복호화부(1200)의 구성 요소들인 파싱부(1210), 엔트로피 복호화부(1220), 역양자화부(1230), 역변환부(1240), 인트라 예측부(1250), 움직임 보상부(1260), 디블로킹부(1270) 및 루프 필터링부(1280)가 모두, 최대 부호화 단위마다 트리 구조에 따른 부호화 단위들에 기반하여 작업을 수행하여야 한다.
특히, 인트라 예측부(1250), 움직임 보상부(1260)는 트리 구조에 따른 부호화 단위들 각각마다 파티션 및 예측 모드를 결정하며, 역변환부(1240)는 부호화 단위마다 변환 단위의 크기를 결정하여야 한다.
영상 복호화부(1200)는 비트스트림으로부터 최대 부호화 단위들의 오프셋 파라미터를 추출할 수 있다. 현재 최대 부호화 단위의 오프셋 파라미터 중에서 오프셋 병합 정보에 기초하여, 이웃하는 최대 부호화 단위의 오프셋 파라미터를 이용하여 현재 오프셋 파라미터를 복원할 수 있다. 예를 들어 이웃하는 최대 부호화 단위의 오프셋 파라미터와 동일하게 현재 오프셋 파라미터를 복원할 수 있다. 현재 최대 부호화 단위의 오프셋 파라미터 중에서 오프셋 타입 및 오프셋값들을 이용하여, 복원 프레임(1295)의 최대 부호화 단위마다 복원픽셀들마다 에지 타입 또는 밴드 타입에 따라 카테고리에 대응되는 오프셋값만큼 조정할 수 있다.
도 13는 본 개시의 일 실시예에 따른 심도별 부호화 단위 및 파티션을 도시한다.
일 실시예에 따른 영상 부호화 장치(400) 및 일 실시예에 따른 영상 복호화 장치(200)는 영상 특성을 고려하기 위해 계층적인 부호화 단위를 사용한다. 부호화 단위의 최대 높이 및 너비, 최대 심도는 영상의 특성에 따라 적응적으로 결정될 수도 있으며, 사용자의 요구에 따라 다양하게 설정될 수도 있다. 미리 설정된 부호화 단위의 최대 크기에 따라, 심도별 부호화 단위의 크기가 결정될 수 있다.
일 실시예에 따른 부호화 단위의 계층 구조(1300)는 부호화 단위의 최대 높이 및 너비가 64이며, 최대 심도가 3인 경우를 도시하고 있다. 이 때, 최대 심도는 최대 부호화 단위로부터 최소 부호화 단위까지의 총 분할 횟수를 나타낸다. 일 실시예에 따른 부호화 단위의 계층 구조(1300)의 세로축을 따라서 심도가 깊어지므로 심도별 부호화 단위의 높이 및 너비가 각각 분할한다. 또한, 부호화 단위의 계층 구조(1300)의 가로축을 따라, 각각의 심도별 부호화 단위의 예측 부호화의 기반이 되는 예측 단위 및 파티션이 도시되어 있다.
즉, 부호화 단위(1310)는 부호화 단위의 계층 구조(1300) 중 최대 부호화 단위로서 심도가 0이며, 부호화 단위의 크기, 즉 높이 및 너비가 64x64이다. 세로축을 따라 심도가 깊어지며, 크기 32x32인 심도 1의 부호화 단위(1320), 크기 16x16인 심도 2의 부호화 단위(1330), 크기 8x8인 심도 3의 부호화 단위(1340)가 존재한다. 크기 8x8인 심도 3의 부호화 단위(1340)는 최소 부호화 단위이다.
각각의 심도별로 가로축을 따라, 부호화 단위의 예측 단위 및 파티션들이 배열된다. 즉, 심도 0의 크기 64x64의 부호화 단위(1310)가 예측 단위라면, 예측 단위는 크기 64x64의 부호화 단위(1310)에 포함되는 크기 64x64의 파티션(1310), 크기 64x32의 파티션들(1312), 크기 32x64의 파티션들(1314), 크기 32x32의 파티션들(1316)로 분할될 수 있다.
마찬가지로, 심도 1의 크기 32x32의 부호화 단위(1320)의 예측 단위는, 크기 32x32의 부호화 단위(1320)에 포함되는 크기 32x32의 파티션(1320), 크기 32x16의 파티션들(1322), 크기 16x32의 파티션들(1324), 크기 16x16의 파티션들(1326)로 분할될 수 있다.
마찬가지로, 심도 2의 크기 16x16의 부호화 단위(1330)의 예측 단위는, 크기 16x16의 부호화 단위(1330)에 포함되는 크기 16x16의 파티션(1330), 크기 16x8의 파티션들(1332), 크기 8x16의 파티션들(1334), 크기 8x8의 파티션들(1336)로 분할될 수 있다.
마찬가지로, 심도 3의 크기 8x8의 부호화 단위(1340)의 예측 단위는, 크기 8x8의 부호화 단위(1340)에 포함되는 크기 8x8의 파티션(1340), 크기 8x4의 파티션들(1342), 크기 4x8의 파티션들(1344), 크기 4x4의 파티션들(1346)로 분할될 수 있다.
일 실시예에 따른 영상 부호화 장치(400)의 부호화부(410)는, 최대 부호화 단위(1310)의 심도를 결정하기 위해, 최대 부호화 단위(1310)에 포함되는 각각의 심도의 부호화 단위마다 부호화를 수행하여야 한다.
동일한 범위 및 크기의 데이터를 포함하기 위한 심도별 부호화 단위의 개수는, 심도가 깊어질수록 심도별 부호화 단위의 개수도 증가한다. 본 개시의 일 실시예에 따르면, 심도 1의 부호화 단위 한 개가 포함하는 데이터에 대해서, 심도 2의 부호화 단위는 네 개가 필요할 수 있다. 따라서, 동일한 데이터의 부호화 결과를 심도별로 비교하기 위해서, 한 개의 심도 1의 부호화 단위 및 네 개의 심도 2의 부호화 단위를 이용하여 각각 부호화될 수 있다.
본 개시의 다른 실시예에 따르면, 심도 1의 부호화 단위 한 개가 포함하는 데이터에 대해서, 심도 2의 부호화 단위는 두 개가 필요할 수 있다. 따라서, 동일한 데이터의 부호화 결과를 심도별로 비교하기 위해서, 한 개의 심도 1의 부호화 단위 및 두 개의 심도 2의 부호화 단위를 이용하여 각각 부호화될 수 있다.
각각의 심도별 부호화를 위해서는, 부호화 단위의 계층 구조(1300)의 가로축을 따라, 심도별 부호화 단위의 예측 단위들마다 부호화를 수행하여, 해당 심도에서 가장 작은 부호화 오차인 대표 부호화 오차가 선택될 수다. 또한, 부호화 단위의 계층 구조(1300)의 세로축을 따라 심도가 깊어지며, 각각의 심도마다 부호화를 수행하여, 심도별 대표 부호화 오차를 비교하여 최소 부호화 오차가 검색될 수 있다. 최대 부호화 단위(1310) 중 최소 부호화 오차가 발생하는 심도 및 파티션이 최대 부호화 단위(1310)의 심도 및 파티션 모드로 선택될 수 있다.
도 14 는 본 개시의 일 실시예에 따른, 부호화 단위 및 변환 단위의 관계를 도시한다.
일 실시예에 따른 영상 부호화 장치(400) 또는 일 실시예에 따른 영상 복호화 장치(200)는, 최대 부호화 단위마다 최대 부호화 단위보다 작거나 같은 크기의 부호화 단위로 영상을 부호화하거나 복호화한다. 부호화 과정 중 변환을 위한 변환 단위의 크기는 각각의 부호화 단위보다 크지 않은 데이터 단위를 기반으로 선택될 수 있다.
예를 들어, 일 실시예에 따른 영상 부호화 장치(400) 또는 일 실시예에 따른 영상 복호화 장치(200)에서, 현재 부호화 단위(1410)가 64x64 크기일 때, 32x32 크기의 변환 단위(1420)를 이용하여 변환이 수행될 수 있다.
또한, 64x64 크기의 부호화 단위(1410)의 데이터를 64x64 크기 이하의 32x32, 16x16, 8x8, 4x4 크기의 변환 단위들로 각각 변환을 수행하여 부호화한 후, 원본과의 오차가 가장 적은 변환 단위가 선택될 수 있다.
영상 복호화 장치(200)는 비트스트림으로부터 파싱된 변환 단위의 분할 형태에 대한 정보를 이용하여 부호화 단위로부터 분할된 적어도 하나의 변환단위를 결정할 수 있다. 영상 복호화 장치(200)는 위에서 설명한 부호화 단위와 동일한 방식으로 변환 단위를 계층적으로 분할할 수 있다. 부호화 단위는 복수의 변환 단위를 포함할 수 있다.
변환 단위는 정사각형 모양을 가질 수 있다. 변환 단위의 한 변의 길이는 부호화 단위의 높이의 길이 및 부호화 단위의 폭의 길이의 최대공약수일 수 있다. 예를 들어, 부호화 단위가 24x16의 크기를 가지는 경우 24 와 16의 최대공약수는 8이다. 따라서 변환단위는 8x8의 크기를 가지는 정사각형 모양을 가질 수 있다. 또한, 24x16 크기의 부호화 단위에는 8x8 크기의 변환단위가 6개 포함될 수 있다. 종래에는 정사각형 모양의 변환단위를 사용하였으므로, 변환단위를 정사각형으로 할 경우, 추가적인 기저(basis)가 필요하지 않을 수 있다.
다만 이에 한정되는 것은 아니며, 영상 복호화 장치(200)는 부호화 단위에 포함된 변환 단위를 임의의 직사각형 모양으로 결정할 수 있다. 이 경우, 영상 복호화 장치(200)는 직사각형 모양에 대응하는 기저(basis)를 가지고 있을 수 있다.
또한, 영상 복호화 장치(200)는 변환 단위의 분할 형태에 대한 정보에 기초하여, 부호화 단위로부터 현재 심도와 하위 심도 중 적어도 하나를 포함하는 심도의 변환 단위를 계층적으로 분할할 수 있다. 예를 들어 부호화 단위가 24x16의 크기를 가지는 경우, 영상 복호화 장치(200)는 부호화 단위를 6 개의 8x8 의 크기를 가지는 변환단위들로 나눌 수 있다. 또한 영상 복호화 장치(200)는 6 개의 변환 단위들 중 적어도 하나의 변환 단위를 4x4 의 변환단위들로 분할 할 수 있다.
또한, 영상 복호화 장치(200)는 비트스트림으로부터 부호화 단위에 대한 변환 계수가 존재하는지 여부를 나타내는 부호화 정보를 파싱할 수 있다. 또한, 부호화 정보가 변환 계수가 존재함을 나타내는 경우, 영상 복호화 장치(200)는 부호화 단위에 포함된 변환 단위 각각에 대하여 변환 계수가 존재하는지 여부를 나타내는 서브 부호화 정보를 비트스트림으로부터 파싱할 수 있다.
예를 들어, 부호화 정보가 부호화 단위에 대한 변환 계수가 존재하지 않음을 나타내는 경우, 영상 복호화 장치(200)는 서브 부호화 정보를 파싱하지 않을 수 있다. 또한, 부호화 정보가 부호화 단위에 대한 변환 계수가 존재함을 나타내는 경우, 영상 복호화 장치(200)는 서브 부호화 정보를 파싱할 수 있다.
도 15 는 본 개시의 일 실시예에 따라, 부호화 정보들을 도시한다.
일 실시예에 따른 영상 부호화 장치(400)의 전송부(420)는 분할정보로서, 각각의 심도의 부호화 단위마다 파티션 모드에 관한 정보(1500), 예측 모드에 관한 정보(1510), 변환 단위 크기에 대한 정보(1520)를 부호화하여 전송할 수 있다.
파티션 모드에 대한 정보(1500)는, 현재 부호화 단위의 예측 부호화를 위한 데이터 단위로서, 현재 부호화 단위의 예측 단위가 분할된 파티션의 형태에 대한 정보를 나타낸다. 예를 들어, 크기 2Nx2N의 현재 부호화 단위 CU_0는, 크기 2Nx2N의 파티션(1502), 크기 2NxN의 파티션(1504), 크기 Nx2N의 파티션(1506), 크기 NxN의 파티션(1508) 중 어느 하나의 타입으로 분할되어 이용될 수 있다. 이 경우 현재 부호화 단위의 파티션 모드에 관한 정보(1500)는 크기 2Nx2N의 파티션(1502), 크기 2NxN의 파티션(1504), 크기 Nx2N의 파티션(1506) 및 크기 NxN의 파티션(1508) 중 하나를 나타내도록 설정된다.
다만, 파티션 타입은 이에 한정되지 않고 비대칭적 파티션, 임의적 형태의 파티션, 기하학적 형태의 파티션 등을 포함할 수 있다. 예를 들어, 크기 4Nx4N의 현재 부호화 단위 CU_0는, 크기 4NxN의 파티션, 크기 4Nx2N의 파티션, 크기 4Nx3N의 파티션, 크기 4Nx4N의 파티션, 크기 3Nx4N의 파티션, 크기 2Nx4N의 파티션, 크기 1Nx4N의 파티션, 크기 2Nx2N의 파티션 중 어느 하나의 타입으로 분할되어 이용될 수 있다. 또한 크기 3Nx3N의 현재 부호화 단위 CU_0는, 크기 3NxN의 파티션, 크기 3Nx2N의 파티션, 크기 3Nx3N의 파티션, 크기 2Nx3N의 파티션, 크기 1Nx3N의 파티션, 크기 2Nx2N의 파티션 중 어느 하나의 타입으로 분할되어 이용될 수 있다. 또한, 위에서는 현재 부호화 단위가 정사각형인 경우에 대해서 설명하였으나, 현재 부호화 단위는 임의의 직사각형 모양일 수 있다.
예측 모드에 관한 정보(1510)는, 각각의 파티션의 예측 모드를 나타낸다. 예를 들어 예측 모드에 관한 정보(1510)를 통해, 파티션 모드에 관한 정보(1500)가 가리키는 파티션이 인트라 모드(1512), 인터 모드(1514), 스킵 모드(1516) 및 결합 모드(1518) 중 하나로 예측 부호화가 수행되는지 여부가 설정될 수 있다.
또한, 변환 단위 크기에 관한 정보(1520)는 현재 부호화 단위를 어떠한 변환 단위를 기반으로 변환을 수행할지 여부를 나타낸다. 예를 들어, 변환 단위는 제 1 인트라 변환 단위 크기(1522), 제 2 인트라 변환 단위 크기(1524), 제 1 인터 변환 단위 크기(1526), 제 2 인터 변환 단위 크기(1528) 중 하나일 수 있다.
일 실시예에 따른 영상 복호화 장치(200)의 수신부(210)는, 각각의 심도별 부호화 단위마다 파티션 모드에 관한 정보(1500), 예측 모드에 관한 정보(1510), 변환 단위 크기에 대한 정보(1520)를 추출하여 복호화에 이용할 수 있다.
도 16 은 본 개시의 일 실시예에 따른 심도별 부호화 단위를 도시한다.
심도의 변화를 나타내기 위해 분할 정보가 이용될 수 있다. 분할 정보는 현재 심도의 부호화 단위가 하위 심도의 부호화 단위로 분할될지 여부를 나타낸다.
심도 0 및 2N_0x2N_0 크기의 부호화 단위(1600)의 예측 부호화를 위한 예측 단위(1610)는 2N_0x2N_0 크기의 파티션 모드(1612), 2N_0xN_0 크기의 파티션 모드(1614), N_0x2N_0 크기의 파티션 모드(1616), N_0xN_0 크기의 파티션 모드(1618)를 포함할 수 있다. 예측 단위가 대칭적 비율로 분할된 파티션들(1612, 1614, 1616, 1618)만이 예시되어 있지만, 전술한 바와 같이 파티션 모드는 이에 한정되지 않고 비대칭적 파티션, 임의적 형태의 파티션, 기하학적 형태의 파티션 등을 포함할 수 있다.
파티션 모드마다, 한 개의 2N_0x2N_0 크기의 파티션, 두 개의 2N_0xN_0 크기의 파티션, 두 개의 N_0x2N_0 크기의 파티션, 네 개의 N_0xN_0 크기의 파티션마다 반복적으로 예측 부호화가 수행되어야 한다. 크기 2N_0x2N_0, 크기 N_0x2N_0 및 크기 2N_0xN_0 및 크기 N_0xN_0의 파티션에 대해서는, 인트라 모드, 인터 모드 및 결합 모드로 예측 부호화가 수행될 수 있다. 스킵 모드는 크기 2N_0x2N_0의 파티션에 예측 부호화가 대해서만 수행될 수 있다.
크기 2N_0x2N_0, 2N_0xN_0 및 N_0x2N_0의 파티션 모드(1612, 1614, 1616) 중 하나에 의한 부호화 오차가 가장 작다면, 더 이상 하위 심도로 분할할 필요 없다.
크기 N_0xN_0의 파티션 모드(1618)에 의한 부호화 오차가 가장 작다면, 심도 0를 1로 변경하며 분할하고(1620), 심도 2 및 크기 N_0xN_0의 파티션 모드의 부호화 단위들(1630)에 대해 반복적으로 부호화를 수행하여 최소 부호화 오차를 검색해 나갈 수 있다.
심도 1 및 크기 2N_1x2N_1 (=N_0xN_0)의 부호화 단위(1630)의 예측 부호화를 위한 예측 단위(1640)는, 크기 2N_1x2N_1의 파티션 모드(1642), 크기 2N_1xN_1의 파티션 모드(1644), 크기 N_1x2N_1의 파티션 모드(1646), 크기 N_1xN_1의 파티션 모드(1648)를 포함할 수 있다.
또한, 크기 N_1xN_1 크기의 파티션 모드(1648)에 의한 부호화 오차가 가장 작다면, 심도 1을 심도 2로 변경하며 분할하고(1650), 심도 2 및 크기 N_2xN_2의 부호화 단위들(1660)에 대해 반복적으로 부호화를 수행하여 최소 부호화 오차를 검색해 나갈 수 있다.
최대 심도가 d인 경우, 심도별 부호화 단위는 심도 d-1일 때까지 설정되고, 분할 정보는 심도 d-2까지 설정될 수 있다. 즉, 심도 d-2로부터 분할(1670)되어 심도 d-1까지 부호화가 수행될 경우, 심도 d-1 및 크기 2N_(d-1)x2N_(d-1)의 부호화 단위(1680)의 예측 부호화를 위한 예측 단위(1690)는, 크기 2N_(d-1)x2N_(d-1)의 파티션 모드(1692), 크기 2N_(d-1)xN_(d-1)의 파티션 모드(1694), 크기 N_(d-1)x2N_(d-1)의 파티션 모드(1696), 크기 N_(d-1)xN_(d-1)의 파티션 모드(1698)를 포함할 수 있다.
파티션 모드 가운데, 한 개의 크기 2N_(d-1)x2N_(d-1)의 파티션, 두 개의 크기 2N_(d-1)xN_(d-1)의 파티션, 두 개의 크기 N_(d-1)x2N_(d-1)의 파티션, 네 개의 크기 N_(d-1)xN_(d-1)의 파티션마다 반복적으로 예측 부호화를 통한 부호화가 수행되어, 최소 부호화 오차가 발생하는 파티션 모드가 검색될 수 있다.
크기 N_(d-1)xN_(d-1)의 파티션 모드(1698)에 의한 부호화 오차가 가장 작더라도, 최대 심도가 d이므로, 심도 d-1의 부호화 단위 CU_(d-1)는 더 이상 하위 심도로의 분할 과정을 거치지 않으며, 현재 최대 부호화 단위(1600)에 대한 심도가 심도 d-1로 결정되고, 파티션 모드는 N_(d-1)xN_(d-1)로 결정될 수 있다. 또한 최대 심도가 d이므로, 심도 d-1의 부호화 단위(1652)에 대해 분할 정보는 설정되지 않는다.
데이터 단위(1699)는, 현재 최대 부호화 단위에 대한 '최소 단위'라 지칭될 수 있다. 일 실시예에 따른 최소 단위는, 최하위 심도인 최소 부호화 단위가 4분할된 크기의 정사각형의 데이터 단위일 수 있다. 이러한 반복적 부호화 과정을 통해, 일 실시예에 따른 영상 부호화 장치(400)는 부호화 단위(1600)의 심도별 부호화 오차를 비교하여 가장 작은 부호화 오차가 발생하는 부호화 단위 크기를 선택하여, 부호화 단위의 심도를 결정하고, 해당 파티션 모드 및 예측 모드가 부호화 모드로 설정될 수 있다.
이런 식으로 심도 0, 1, ..., d-1, d의 모든 심도별 최소 부호화 오차를 비교하여 오차가 가장 작은 심도가 선택될 수 있다. 심도, 및 예측 단위의 파티션 모드 및 예측 모드는 분할정보로써 부호화되어 전송될 수 있다. 또한, 심도 0으로부터 선택된 심도에 이르기까지 부호화 단위가 분할되어야 하므로, 선택된 심도에서의 분할 정보만이 '0'으로 설정되고, 선택된 심도를 제외한 심도별 분할 정보는 '1'로 설정되어야 한다.
다양한 실시예에 따른 영상 복호화 장치(200)는 부호화 단위(1600)에 대한 심도 및 예측 단위에 관한 정보를 추출하여 부호화 단위(1612)를 복호화하는데 이용할 수 있다. 다양한 실시예에 따른 영상 복호화 장치(200)는 심도별 분할 정보를 이용하여 분할 정보가 '0'인 심도를 선택된 심도로 파악하고, 해당 심도에 대한 분할정보를 이용하여 복호화에 이용할 수 있다.
도 17, 도 18 및 도 19 는 본 개시의 일 실시예에 따른, 부호화 단위, 예측 단위 및 변환 단위의 관계를 도시한다.
부호화 단위(1710)는, 최대 부호화 단위에 대해 일 실시예에 따른 영상 부호화 장치(400)가 결정한 심도별 부호화 단위들이다. 예측 단위(1760)는 부호화 단위(1710) 중 각각의 심도별 부호화 단위의 예측 단위들의 파티션들이며, 변환 단위(1770)는 각각의 심도별 부호화 단위의 변환 단위들이다.
심도별 부호화 단위들(1710)은 최대 부호화 단위의 심도가 0이라고 하면, 부호화 단위들(1712, 1754)은 심도가 1, 부호화 단위들(1714, 1716, 1718, 1728, 1750, 1752)은 심도가 2, 부호화 단위들(1720, 1722, 1724, 1726, 1730, 1732, 1748)은 심도가 3, 부호화 단위들(1740, 1742, 1744, 1746)은 심도가 4이다.
예측 단위들(1760) 중 일부 파티션(1714, 1716, 1722, 1732, 1748, 1750, 1752, 1754)는 부호화 단위가 분할된 형태이다. 즉, 파티션(1714, 1722, 1750, 1754)은 2NxN의 파티션 모드며, 파티션(1716, 1748, 1752)은 Nx2N의 파티션 모드, 파티션(1732)은 NxN의 파티션 모드다. 심도별 부호화 단위들(1710)의 예측 단위 및 파티션들은 각각의 부호화 단위보다 작거나 같다.
변환 단위들(1770) 중 일부(1752)의 영상 데이터에 대해서는 부호화 단위에 비해 작은 크기의 데이터 단위로 변환 또는 역변환이 수행된다. 또한, 변환 단위(1714, 1716, 1722, 1732, 1748, 1750, 1752, 1754)는 예측 단위들(1760) 중 해당 예측 단위 및 파티션와 비교해보면, 서로 다른 크기 또는 형태의 데이터 단위이다. 즉, 일 실시예에 따른 영상 복호화 장치(200) 및 일 실시예에 따른 영상 부호화 장치(400)는 동일한 부호화 단위에 대한 인트라 예측/움직임 추정/움직임 보상 작업, 및 변환/역변환 작업이라 할지라도, 각각 별개의 데이터 단위를 기반으로 수행할 수 있다.
이에 따라, 최대 부호화 단위마다, 영역별로 계층적인 구조의 부호화 단위들마다 재귀적으로 부호화가 수행되어 최적 부호화 단위가 결정됨으로써, 재귀적 트리 구조에 따른 부호화 단위들이 구성될 수 있다. 부호화 정보는 부호화 단위에 대한 분할 정보, 파티션 모드 정보, 예측 모드 정보, 변환 단위 크기 정보를 포함할 수 있다. 이하 표 2는, 일 실시예에 따른 영상 복호화 장치(200) 및 일 실시예에 따른 영상 부호화 장치(400)에서 설정할 수 있는 일례를 나타낸다.
표 2
분할 정보 0 (현재 심도 d의 크기 2Nx2N의 부호화 단위에 대한 부호화) 분할 정보 1
예측 모드 파티션 타입 변환 단위 크기 하위 심도 d+1의 부호화 단위들마다 반복적 부호화
인트라 인터스킵 (2Nx2N만) 대칭형 파티션 타입 비대칭형 파티션 타입 변환 단위 분할 정보 0 변환 단위 분할 정보 1
2Nx2N2NxNNx2NNxN 2NxnU2NxnDnLx2NnRx2N등 2Nx2N NxN (대칭형 파티션 타입) N/2xN/2 등 (비대칭형 파티션 타입)
일 실시예에 따른 영상 부호화 장치(400)의 전송부(420)는 트리 구조에 따른 부호화 단위들에 대한 부호화 정보를 출력하고, 일 실시예에 따른 영상 복호화 장치(200)의 수신부(210)는 수신된 비트스트림으로부터 트리 구조에 따른 부호화 단위들에 대한 부호화 정보를 추출할 수 있다.
분할 정보는 현재 부호화 단위가 하위 심도의 부호화 단위들로 분할되는지 여부를 나타낸다. 현재 심도 d의 분할 정보가 0이라면, 현재 부호화 단위가 현재 부호화 단위에서 하위 부호화 단위로 더 이상 분할되지 않으므로, 현재 심도의 부호화 단위들에 대해서 파티션 모드 정보, 예측 모드, 변환 단위 크기 정보가 정의될 수 있다. 분할 정보에 따라 한 단계 더 분할되어야 하는 경우에는, 분할된 4개의 하위 심도의 부호화 단위마다 독립적으로 부호화가 수행되어야 한다.
예측 모드는, 인트라 모드, 인터 모드 및 스킵 모드 중 하나로 나타낼 수 있다. 인트라 모드 및 인터 모드는 모든 파티션 모드에서 정의될 수 있으며, 스킵 모드는 파티션 모드 2Nx2N에서만 정의될 수 있다.
파티션 모드 정보는, 예측 단위의 높이 또는 너비가 대칭적 비율로 분할된 대칭적 파티션 모드 2Nx2N, 2NxN, Nx2N 및 NxN 과, 비대칭적 비율로 분할된 비대칭적 파티션 모드 2NxnU, 2NxnD, nLx2N, nRx2N를 나타낼 수 있다. 비대칭적 파티션 모드 2NxnU 및 2NxnD는 각각 높이가 1:3 및 3:1로 분할된 형태이며, 비대칭적 파티션 모드 nLx2N 및 nRx2N은 각각 너비가 1:3 및 3:1로 분할된 형태를 나타낸다.
변환 단위 크기는 인트라 모드에서 두 종류의 크기, 인터 모드에서 두 종류의 크기로 설정될 수 있다. 즉, 변환 단위 분할 정보가 0 이라면, 변환 단위의 크기가 현재 부호화 단위의 크기 2Nx2N로 설정된다. 변환 단위 분할 정보가 1이라면, 현재 부호화 단위가 분할된 크기의 변환 단위가 설정될 수 있다. 또한 크기 2Nx2N인 현재 부호화 단위에 대한 파티션 모드가 대칭형 파티션 모드이라면 변환 단위의 크기는 NxN, 비대칭형 파티션 모드이라면 N/2xN/2로 설정될 수 있다.
일 실시예에 따른 트리 구조에 따른 부호화 단위들의 부호화 정보는, 심도의 부호화 단위, 예측 단위 및 최소 단위 중 적어도 하나에 대해 할당될 수 있다. 심도의 부호화 단위는 동일한 부호화 정보를 보유하고 있는 예측 단위 및 최소 단위를 하나 이상 포함할 수 있다.
따라서, 인접한 데이터 단위들끼리 각각 보유하고 있는 부호화 정보들을 확인하면, 동일한 심도의 부호화 단위에 포함되는지 여부가 확인될 수 있다. 또한, 데이터 단위가 보유하고 있는 부호화 정보를 이용하면 해당 심도의 부호화 단위를 확인할 수 있으므로, 최대 부호화 단위 내의 심도들의 분포가 유추될 수 있다.
따라서 이 경우 현재 부호화 단위가 주변 데이터 단위를 참조하여 예측하기 경우, 현재 부호화 단위에 인접하는 심도별 부호화 단위 내의 데이터 단위의 부호화 정보가 직접 참조되어 이용될 수 있다.
또 다른 실시예로, 현재 부호화 단위가 주변 부호화 단위를 참조하여 예측 부호화가 수행되는 경우, 인접하는 심도별 부호화 단위의 부호화 정보를 이용하여, 심도별 부호화 단위 내에서 현재 부호화 단위에 인접하는 데이터가 검색됨으로써 주변 부호화 단위가 참조될 수도 있다.
도 20 은 표 2의 부호화 모드 정보에 따른 부호화 단위, 예측 단위 및 변환 단위의 관계를 도시한다.
최대 부호화 단위(2000)는 심도의 부호화 단위들(2002, 2004, 2006, 2012, 2014, 2016, 2018)을 포함한다. 이 중 하나의 부호화 단위(2018)는 심도의 부호화 단위이므로 분할 정보가 0으로 설정될 수 있다. 크기 2Nx2N의 부호화 단위(2018)의 파티션 모드 정보는, 파티션 모드 2Nx2N(2022), 2NxN(2024), Nx2N(2026), NxN(2028), 2NxnU(2032), 2NxnD(2034), nLx2N(2036) 및 nRx2N(2038) 중 하나로 설정될 수 있다.
변환 단위 분할 정보(TU size flag)는 변환 인덱스의 일종으로서, 변환 인덱스에 대응하는 변환 단위의 크기는 부호화 단위의 예측 단위 타입 또는 파티션 모드에 따라 변경될 수 있다.
예를 들어, 파티션 모드 정보가 대칭형 파티션 모드 2Nx2N(2022), 2NxN(2024), Nx2N(2026) 및 NxN(2028) 중 하나로 설정되어 있는 경우, 변환 단위 분할 정보가 0이면 크기 2Nx2N의 변환 단위(2042)가 설정되고, 변환 단위 분할 정보가 1이면 크기 NxN의 변환 단위(2044)가 설정될 수 있다.
파티션 모드 정보가 비대칭형 파티션 모드 2NxnU(2032), 2NxnD(2034), nLx2N(2036) 및 nRx2N(2038) 중 하나로 설정된 경우, 변환 단위 분할 정보(TU size flag)가 0이면 크기 2Nx2N의 변환 단위(2052)가 설정되고, 변환 단위 분할 정보가 1이면 크기 N/2xN/2의 변환 단위(2054)가 설정될 수 있다.
도 19를 참조하여 전술된 변환 단위 분할 정보(TU size flag)는 0 또는 1의 값을 갖는 플래그이지만, 일 실시예에 따른 변환 단위 분할 정보가 1비트의 플래그로 한정되는 것은 아니며 설정에 따라 0, 1, 2, 3.. 등으로 증가하며 변환 단위가 계층적으로 분할될 수도 있다. 변환 단위 분할 정보는 변환 인덱스의 한 실시예로써 이용될 수 있다.
이 경우, 일 실시예에 따른 변환 단위 분할 정보를 변환 단위의 최대 크기, 변환 단위의 최소 크기와 함께 이용하면, 실제로 이용된 변환 단위의 크기가 표현될 수 있다. 일 실시예에 따른 영상 부호화 장치(400)는, 최대 변환 단위 크기 정보, 최소 변환 단위 크기 정보 및 최대 변환 단위 분할 정보를 부호화할 수 있다. 부호화된 최대 변환 단위 크기 정보, 최소 변환 단위 크기 정보 및 최대 변환 단위 분할 정보는 SPS에 삽입될 수 있다. 일 실시예에 따른 영상 복호화 장치(200)는 최대 변환 단위 크기 정보, 최소 변환 단위 크기 정보 및 최대 변환 단위 분할 정보를 이용하여, 비디오 복호화에 이용할 수 있다.
예를 들어, (a) 현재 부호화 단위가 크기 64x64이고, 최대 변환 단위 크기는 32x32이라면, (a-1) 변환 단위 분할 정보가 0일 때 변환 단위의 크기가 32x32, (a-2) 변환 단위 분할 정보가 1일 때 변환 단위의 크기가 16x16, (a-3) 변환 단위 분할 정보가 2일 때 변환 단위의 크기가 8x8로 설정될 수 있다.
다른 예로, (b) 현재 부호화 단위가 크기 32x32이고, 최소 변환 단위 크기는 32x32이라면, (b-1) 변환 단위 분할 정보가 0일 때 변환 단위의 크기가 32x32로 설정될 수 있으며, 변환 단위의 크기가 32x32보다 작을 수는 없으므로 더 이상의 변환 단위 분할 정보가 설정될 수 없다.
또 다른 예로, (c) 현재 부호화 단위가 크기 64x64이고, 최대 변환 단위 분할 정보가 1이라면, 변환 단위 분할 정보는 0 또는 1일 수 있으며, 다른 변환 단위 분할 정보가 설정될 수 없다.
따라서, 최대 변환 단위 분할 정보를 'MaxTransformSizeIndex', 최소 변환 단위 크기를 'MinTransformSize', 변환 단위 분할 정보가 0인 경우의 변환 단위 크기를 'RootTuSize'라고 정의할 때, 현재 부호화 단위에서 가능한 최소 변환 단위 크기 'CurrMinTuSize'는 아래 관계식 (11) 과 같이 정의될 수 있다.
CurrMinTuSize =
max(MinTransformSize, RootTuSize/(2^MaxTransformSizeIndex)) ... (11)
현재 부호화 단위에서 가능한 최소 변환 단위 크기 'CurrMinTuSize'와 비교하여, 변환 단위 분할 정보가 0인 경우의 변환 단위 크기인 'RootTuSize'는 시스템상 채택 가능한 최대 변환 단위 크기를 나타낼 수 있다. 즉, 관계식 (1)에 따르면, 'RootTuSize/(2^MaxTransformSizeIndex)'는, 변환 단위 분할 정보가 0인 경우의 변환 단위 크기인 'RootTuSize'를 최대 변환 단위 분할 정보에 상응하는 횟수만큼 분할한 변환 단위 크기이며, 'MinTransformSize'는 최소 변환 단위 크기이므로, 이들 중 큰 값이 현재 부호화 단위에서 가능한 최소 변환 단위 크기 'CurrMinTuSize'일 수 있다.
일 실시예에 따른 최대 변환 단위 크기 RootTuSize는 예측 모드에 따라 달라질 수도 있다.
예를 들어, 현재 예측 모드가 인터 모드라면 RootTuSize는 아래 관계식 (12)에 따라 결정될 수 있다. 관계식 (12)에서 'MaxTransformSize'는 최대 변환 단위 크기, 'PUSize'는 현재 예측 단위 크기를 나타낸다.
RootTuSize = min(MaxTransformSize, PUSize) ......... (12)
즉, 현재 예측 모드가 인터 모드라면, 변환 단위 분할 정보가 0인 경우의 변환 단위 크기인 'RootTuSize'는 최대 변환 단위 크기 및 현재 예측 단위 크기 중 작은 값으로 설정될 수 있다.
현재 파티션 단위의 예측 모드가 인트라 모드라면 'RootTuSize'는 아래 관계식 (13)에 따라 결정될 수 있다. 'PartitionSize'는 현재 파티션 단위의 크기를 나타낸다.
RootTuSize = min(MaxTransformSize, PartitionSize) ...........(13)
즉, 현재 예측 모드가 인트라 모드라면, 변환 단위 분할 정보가 0인 경우의 변환 단위 크기인 'RootTuSize'는 최대 변환 단위 크기 및 현재 파티션 단위 크기 중 작은 값으로 설정될 수 있다.
다만, 파티션 단위의 예측 모드에 따라 변동하는 일 실시예에 따른 현재 최대 변환 단위 크기 'RootTuSize'는 일 실시예일 뿐이며, 현재 최대 변환 단위 크기를 결정하는 요인이 이에 한정되는 것은 아님을 유의하여야 한다.
도 5 내지 20를 참조하여 전술된 트리 구조의 부호화 단위들에 기초한 영상 부호화 기법에 따라, 트리 구조의 부호화 단위들마다 공간영역의 영상 데이터가 부호화되며, 트리 구조의 부호화 단위들에 기초한 영상 복호화 기법에 따라 최대 부호화 단위마다 복호화가 수행되면서 공간 영역의 영상 데이터가 복원되어, 픽처 및 픽처 시퀀스인 비디오가 복원될 수 있다. 복원된 비디오는 재생 장치에 의해 재생되거나, 저장 매체에 저장되거나, 네트워크를 통해 전송될 수 있다.
또한, 픽처마다 또는 슬라이스마다 또는 최대부호화 단위마다, 또는 트리 구조에 따른 부호화단위마다, 또는 부호화 단위의 예측단위마다, 또는 부호화 단위의 변환단위마다, 오프셋 파라미터가 시그널링될 수 있다. 일례로, 최대부호화단위마다 수신된 오프셋 파라미터에 기초하여 복원된 오프셋값을 이용하여 최대부호화단위의 복원샘플값들을 조정함으로써, 원본블록과의 오차가 최소화되는 최대부호화단위가 복원될 수 있다.
한편, 상술한 본 개시의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
본 명세서에서 "~부" 중 적어도 일부는 하드웨어로 구현될 수 있다. 또한 하드웨어는 프로세서를 포함할 수 있다. 프로세서는 범용 단일- 또는 다중-칩 마이크로프로세서 (예를 들어, ARM), 특수 목적 마이크로 프로세서 (예를 들어, 디지털 신호 프로세서 (DSP)), 마이크로제어기, 프로그램가능 게이트 어레이 (array), 등일 수도 있다. 프로세서는 중앙 처리 장치 (CPU) 로 불릴 수도 있다. "~부" 중 적어도 일부는 프로세서들의 조합 (예를 들어, ARM 과 DSP) 이 이용될 수도 있다.
하드웨어는 메모리를 또한 포함할 수도 있다. 메모리는 전자 정보를 저장 가능한 임의의 전자 컴포넌트일 수도 있다. 메모리는 임의 액세스 메모리 (RAM), 판독 전용 메모리 (ROM), 자기 디스크 저장 매체, 광학 저장 매체, RAM 내의 플래쉬 메모리 디바이스, 프로세서에 포함된 온-보드 (on-board) 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 및 기타, 그들의 조합들로서 구현될 수도 있다.
데이터 및 프로그램은 메모리에 저장될 수도 있다. 프로그램은 본원에 개시된 방법들을 구현하도록 프로세서에 의하여 실행 가능할 수도 있다. 프로그램의 실행은 메모리에 저장된 데이터의 이용을 포함할 수도 있다. 프로세서가 명령들을 실행할 때, 명령들의 다양한 부분들이 프로세서 상에 로드 (load) 될 수도 있고, 데이터의 다양한 조각들이 프로세서 상에 로드될 수도 있다.
이제까지 본 개시에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자는 본 개시가 본 개시의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 개시의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 개시에 포함된 것으로 해석되어야 할 것이다.

Claims (16)

  1. 현재 블록에 대하여 인트라 예측 및 인터 예측을 결합하여 예측할지 여부를 나타내는 결합 예측 정보를 비트스트림으로부터 파싱하는 단계;
    상기 결합 예측 정보에 기초하여, 현재 블록에 대해 결합 예측을 수행할지 여부를 결정하는 단계;
    상기 결합 예측을 수행하는 경우, 상기 현재 블록에 대하여 인터 예측을 수행하여 제 1 예측값을 획득하고, 상기 현재 블록에 대하여 인트라 예측을 수행하여 제 2 예측값을 획득하는 단계;
    참조 픽처와 현재 픽처의 거리, 상기 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나에 기초하여 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 결정하는 단계; 및
    상기 인터 예측에 대한 가중치, 상기 인트라 예측에 대한 가중치, 상기 제 1 예측값 및 상기 제 2 예측값에 기초하여 결합 예측을 수행하는 단계를 포함하는 영상 복호화 방법.
  2. 제 1 항에 있어서,
    상기 비트스트림으로부터 이용 가능한 모드에 관한 정보를 파싱하는 단계;
    상기 이용 가능한 모드에 관한 정보에 기초하여 상기 인트라 예측에 포함되는 예측 방향과 관련된 복수의 모드들 중 이용가능한 모드들을 선택하는 단계; 및
    상기 이용가능한 모드들 각각에 대한 가중치를 결정하는 단계를 더 포함하는 영상 복호화 방법.
  3. 제 1 항에 있어서,
    상기 비트스트림으로부터 이용 가능한 모드에 관한 정보를 파싱하는 단계;
    상기 이용 가능한 모드에 관한 정보에 기초하여 상기 인터 예측에 포함되는 상기 현재 블록이 참조하는 복수의 참조 블록들에 대응하는 복수의 모드들 중 이용가능한 모드들을 선택하는 단계; 및
    상기 이용가능한 모드들 각각에 대한 가중치를 결정하는 단계를 더 포함하는 영상 복호화 방법.
  4. 제 1 항에 있어서,
    상기 결합 예측을 수행하는 단계는,
    (상기 인터 예측에 대한 가중치 X 상기 제 1 예측값) + (상기 인트라 예측에 대한 가중치 X 상기 제 2 예측값) 을 계산하는 단계를 포함하는 영상 복호화 방법.
  5. 제 1 항에 있어서,
    상기 결합 예측을 수행하는 단계는,
    루마(luminance) 채널에 대해서 상기 결합 예측을 수행하는 단계; 및
    크로마(chrominance) 채널에 대해서는 상기 인터 예측 또는 상기 인트라 예측 중 하나를 수행하는 단계를 를 포함하는 영상 복호화 방법.
  6. 제 1 항에 있어서,
    상기 비트스트림으로부터 움직임 벡터의 정밀도에 관한 정보를 파싱하는 단계; 및
    상기 움직임 벡터의 정밀도에 관한 정보에 기초하여, 상기 현재 블록에 대한 인터 예측의 움직임 벡터의 정밀도를 하프-pel (half-pel), 정수-pel(integer-pel) 및 2-pel 중 하나로 설정하는 단계를 더 포함하는 영상 복호화 방법.
  7. 제 1 항에 있어서,
    상기 가중치를 결정하는 단계는,
    상기 비트스트림으로부터 현재 블록에 대한 가중치 정보를 파싱하는 단계; 및
    상기 가중치 정보에 기초하여 상기 인터 예측에 대한 가중치 및 상기 인트라 예측에 대한 가중치를 결정하는 단계를 포함하는 영상 복호화 방법.
  8. 제 1 항에 있어서,
    상기 현재 블록은 인터 예측에서 사용되는 예측 단위 및 인트라 예측에서 사용되는 예측 단위를 포함하고,
    상기 인터 예측에서 사용되는 예측 단위는 상기 인트라 예측에서 사용되는 예측 단위와 독립적으로 결정되는 영상 복호화 방법.
  9. 제 1 항에 있어서,
    상기 가중치를 결정하는 단계는,
    상기 인터 예측에 대한 초기 가중치인 기준 가중치를 결정하는 단계;
    상기 인터 예측의 참조 픽처와 현재 블록을 포함하는 현재 픽처의 기준 거리를 결정하는 단계;
    상기 인터 예측의 참조 픽처와 현재 블록을 포함하는 현재 픽처의 거리와 상기 기준 거리의 차를 결정하는 단계;
    상기 기준 가중치 및 상기 거리의 차에 기초하여 상기 인터 예측에 대한 가중치를 결정하는 단계를 포함하는 영상 복호화 방법.
  10. 제 1 항 내지 제 9 항 중 어느 한 항의 영상 복호화 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
  11. 현재 블록에 대하여 인트라 예측 및 인터 예측을 결합하여 예측할지 여부를 나타내는 결합 예측 정보(combine prediction information)를 비트스트림으로부터 파싱하는 수신부; 및
    상기 결합 예측 정보에 기초하여, 현재 블록에 대해 결합 예측을 수행할지 여부를 결정하고, 상기 결합 예측을 수행하는 경우, 상기 현재 블록에 대하여 인터 예측을 수행하여 제 1 예측값을 획득하고, 상기 현재 블록에 대하여 인트라 예측을 수행하여 제 2 예측값을 획득하고, 참조 픽처와 현재 픽처의 거리, 상기 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나에 기초하여 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 결정하고, 상기 인터 예측에 대한 가중치, 상기 인트라 예측에 대한 가중치, 상기 제 1 예측값 및 상기 제 2 예측값에 기초하여 결합 예측을 수행하는 복호화부를 포함하는 영상 복호화 장치.
  12. 현재 블록에 대하여 인터 예측을 수행하여 제 1 예측값을 획득하는 단계;
    상기 현재 블록에 대하여 인트라 예측을 수행하여 제 2 예측값을 획득하는 단계;
    참조 픽처와 현재 픽처의 거리, 상기 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나에 기초하여 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 결정하는 단계;
    상기 인터 예측에 대한 가중치, 상기 인트라 예측에 대한 가중치, 상기 제 1 예측값 및 상기 제 2 예측값에 기초하여 결합 예측을 수행하는 단계;
    상기 현재 블록에 대해 결합 예측을 수행할지 여부에 대한 결합 예측 정보(combine prediction information) 를 결정하는 단계; 및
    상기 결합 예측 정보 및 상기 가중치를 이용한 가중치 정보 중 적어도 하나를 포함하는 비트스트림을 전송하는 단계를 포함하는 영상 부호화 방법.
  13. 제 12 항에 있어서,
    상기 결합 예측 정보 및 상기 가중치 정보 중 적어도 하나를 상기 인트라 예측과 상기 인터 예측의 결과보다 낮은 순위로 엔트로피 코딩하는 단계를 더 포함하는 영상 부호화 방법.
  14. 제 12 항에 있어서,
    상기 가중치를 결정하는 단계는,
    상기 현재 블록 내의 원본 픽셀의 샘플값, 상기 제 1 예측값 및 상기 제 2 예측값에 기초하여 가중치를 결정하는 단계를 포함하는 영상 부호화 방법.
  15. 제 14 항에 있어서,
    상기 가중치를 결정하는 단계는,
    상기 원본 픽셀의 샘플값과 상기 제 1 예측값의 비율의 기대치 및 상기 원본 픽셀의 샘플값과 상기 제 2 예측값의 비율의 기대치에 기초하여 가중치를 계산하는 단계를 포함하는 영상 부호화 방법.
  16. 현재 블록에 대하여 인터 예측을 수행하여 제 1 예측값을 획득하고, 상기 현재 블록에 대하여 인트라 예측을 수행하여 제 2 예측값을 획득하고, 참조 픽처와 현재 픽처의 거리, 현재 블록의 크기 및 인터 예측과 인트라 예측의 특성 중 적어도 하나에 기초하여 인터 예측에 대한 가중치 및 인트라 예측에 대한 가중치를 결정하고, 상기 인터 예측에 대한 가중치, 상기 인트라 예측에 대한 가중치, 상기 제 1 예측값 및 상기 제 2 예측값에 기초하여 결합 예측을 수행하고, 상기 현재 블록에 대해 결합 예측을 수행할지 여부에 대한 결합 예측 정보(combine prediction information)를 결정하는 부호화부; 및
    상기 결합 예측 정보 및 상기 가중치를 이용한 가중치 정보 중 적어도 하나를 포함하는 비트스트림을 전송하는 전송부를 포함하는 영상 부호화 장치.
PCT/KR2015/011873 2014-11-06 2015-11-06 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 WO2016072775A1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP15857835.1A EP3217663A4 (en) 2014-11-06 2015-11-06 Video encoding method and apparatus, and video decoding method and apparatus
CN201580070271.7A CN107113425A (zh) 2014-11-06 2015-11-06 视频编码方法和设备以及视频解码方法和设备
KR1020177011969A KR20170084055A (ko) 2014-11-06 2015-11-06 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US15/525,193 US10666940B2 (en) 2014-11-06 2015-11-06 Video encoding method and apparatus, and video decoding method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462075987P 2014-11-06 2014-11-06
US62/075,987 2014-11-06

Publications (1)

Publication Number Publication Date
WO2016072775A1 true WO2016072775A1 (ko) 2016-05-12

Family

ID=55909416

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/011873 WO2016072775A1 (ko) 2014-11-06 2015-11-06 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치

Country Status (5)

Country Link
US (1) US10666940B2 (ko)
EP (1) EP3217663A4 (ko)
KR (1) KR20170084055A (ko)
CN (1) CN107113425A (ko)
WO (1) WO2016072775A1 (ko)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018127188A1 (en) * 2017-01-06 2018-07-12 Mediatek Inc. Multi-hypotheses merge mode
WO2018132150A1 (en) * 2017-01-13 2018-07-19 Google Llc Compound prediction for video coding
CN109479141A (zh) * 2016-07-12 2019-03-15 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质
WO2019098464A1 (ko) * 2017-11-14 2019-05-23 삼성전자 주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
CN111034194A (zh) * 2017-08-08 2020-04-17 联发科技股份有限公司 画面内合并预测
EP3625963A4 (en) * 2017-06-07 2020-11-18 MediaTek Inc. INTRA-INTER PREDICTION MODE METHOD AND APPARATUS FOR VIDEO CODING
US20210352280A1 (en) * 2018-09-21 2021-11-11 Electronics And Telecommunications Research Institute Method and apparatus for encoding/decoding image, and recording medium for storing bitstream
EP3975571A1 (en) * 2016-07-05 2022-03-30 KT Corporation Method and apparatus for processing video signal
US11350109B2 (en) 2017-06-23 2022-05-31 Qualcomm Incorporated Combination of inter-prediction and intra-prediction in video coding
RU2802175C2 (ru) * 2019-03-21 2023-08-22 Бейджин Байтдэнс Нетворк Текнолоджи Ко., Лтд. Усовершенствованная обработка весовых коэффициентов при использовании комбинированного режима с внутрикадровым и межкадровым прогнозированием
US11876993B2 (en) 2019-03-21 2024-01-16 Beijing Bytedance Network Technology Co., Ltd Signaling of combined intra-inter prediction
US11909961B2 (en) 2017-11-22 2024-02-20 Intellectual Discovery Co., Ltd. Image encoding/decoding method and apparatus, and recording medium for storing bitstream that involves performing intra prediction using constructed reference sample
EP4300961A3 (en) * 2017-01-16 2024-02-21 Industry Academy Cooperation Foundation Of Sejong University Image signal encoding/decoding method and device
US11924412B2 (en) 2017-10-18 2024-03-05 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium having bitstream stored therein

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102647887B1 (ko) 2014-10-31 2024-03-14 삼성전자주식회사 움직임 벡터 부복호화 방법 및 장치
CA2997097C (en) 2015-08-28 2022-06-07 Kt Corporation Method and device for processing video signal
KR20180041211A (ko) * 2015-09-10 2018-04-23 엘지전자 주식회사 인터-인트라 병합 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US11032550B2 (en) * 2016-02-25 2021-06-08 Mediatek Inc. Method and apparatus of video coding
CN117061746A (zh) 2016-04-29 2023-11-14 世宗大学校产学协力团 用于对图像信号进行编码/解码的方法和设备
EP3509301B1 (en) * 2016-08-31 2023-08-09 KT Corporation Method and device for processing video signal
US20190253624A1 (en) * 2017-07-17 2019-08-15 Ki Baek Kim Image data encoding/decoding method and apparatus
WO2018066980A1 (ko) 2016-10-04 2018-04-12 김기백 영상 데이터 부호화/복호화 방법 및 장치
US11140387B2 (en) * 2016-12-07 2021-10-05 Kt Corporation Method and apparatus for processing video signal
CN110178371A (zh) * 2017-01-16 2019-08-27 世宗大学校产学协力团 影像编码/解码方法及装置
US10362332B2 (en) * 2017-03-14 2019-07-23 Google Llc Multi-level compound prediction
EP3737093A4 (en) * 2017-11-28 2022-02-09 Electronics and Telecommunications Research Institute METHOD AND DEVICE FOR CODING/DECODING IMAGES AND RECORDING MEDIA STORED WITH A BITSTREAM
CN107995489A (zh) * 2017-12-20 2018-05-04 北京大学深圳研究生院 一种用于p帧或b帧的帧内帧间组合预测方法
CN110087070B (zh) * 2018-01-26 2021-04-02 翔升(上海)电子技术有限公司 数据的压缩方法、装置、设备和介质
CN112075078B (zh) * 2018-02-28 2024-03-15 弗劳恩霍夫应用研究促进协会 合成式预测及限制性合并
WO2019221512A1 (ko) * 2018-05-16 2019-11-21 엘지전자 주식회사 Obmc에 기반한 영상 코딩 방법 및 그 장치
US11477474B2 (en) * 2018-06-08 2022-10-18 Mediatek Inc. Methods and apparatus for multi-hypothesis mode reference and constraints
MX2020013451A (es) 2018-06-26 2021-02-26 Interdigital Vc Holdings Inc Intraprediccion de referencia multiple usando pesos variables.
US11051010B2 (en) * 2018-07-18 2021-06-29 Mediatek Inc. Merge candidates with multiple hypothesis
EP3824631A4 (en) 2018-07-18 2022-07-06 HFI Innovation Inc. METHOD AND APPARATUS FOR MOTION COMPENSATION BANDWIDTH REDUCTION FOR VIDEO CODING SYSTEM USING MULTIHYPOTHEC
BR112021000651A2 (pt) 2018-07-30 2021-04-13 Samsung Electronics Co., Ltd. Método de decodificação de imagem, aparelho de decodificação de imagem, método de codificação de imagem, e meio de gravação legível por computador
EP3818715B1 (en) * 2018-09-03 2024-04-03 Huawei Technologies Co., Ltd. Method and apparatus for intra prediction
CN112840645B (zh) * 2018-10-10 2023-12-12 寰发股份有限公司 视频编码系统中组合多个预测子用于块预测的方法及装置
US20200120339A1 (en) * 2018-10-11 2020-04-16 Mediatek Inc. Intra Prediction For Multi-Hypothesis
WO2020084473A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Multi- iteration motion vector refinement
WO2020084509A1 (en) 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Harmonized local illumination compensation and modified inter coding tools
WO2020084507A1 (en) 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Harmonized local illumination compensation and modified inter prediction coding
CN115695785B (zh) * 2018-10-27 2023-06-06 华为技术有限公司 图像预测方法及装置
CN111131822B (zh) 2018-10-31 2023-08-01 北京字节跳动网络技术有限公司 具有从邻域导出的运动信息的重叠块运动补偿
CA3117933C (en) * 2018-11-08 2023-05-23 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Image signal encoding/decoding method and apparatus therefor
JP7146086B2 (ja) * 2018-11-12 2022-10-03 北京字節跳動網絡技術有限公司 インター予測のためのバンド幅制御方法
US10848763B2 (en) * 2018-11-14 2020-11-24 Tencent America LLC Method and apparatus for improved context design for prediction mode and coded block flag (CBF)
US11652984B2 (en) * 2018-11-16 2023-05-16 Qualcomm Incorporated Position-dependent intra-inter prediction combination in video coding
US20200162737A1 (en) 2018-11-16 2020-05-21 Qualcomm Incorporated Position-dependent intra-inter prediction combination in video coding
KR20210089149A (ko) * 2018-11-16 2021-07-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인터 및 인트라 통합 예측 모드 가중치
WO2020103852A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Difference calculation based on patial position
CN113170097B (zh) * 2018-11-20 2024-04-09 北京字节跳动网络技术有限公司 视频编解码模式的编解码和解码
CN113170198B (zh) 2018-11-22 2022-12-09 北京字节跳动网络技术有限公司 子块时域运动矢量预测
CN111294590A (zh) * 2018-12-06 2020-06-16 华为技术有限公司 用于多假设编码的加权预测方法及装置
GB2579824B (en) * 2018-12-14 2022-05-18 British Broadcasting Corp Video encoding and video decoding
JP2020098986A (ja) * 2018-12-17 2020-06-25 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム
JP2022514836A (ja) 2018-12-21 2022-02-16 サムスン エレクトロニクス カンパニー リミテッド 三角予測モードを利用する映像符号化装置及び映像復号装置、及びそれによる映像符号化方法及び映像復号方法
CN111372086B (zh) * 2018-12-26 2021-08-03 华为技术有限公司 视频图像解码方法及装置
GB2580326A (en) 2018-12-28 2020-07-22 British Broadcasting Corp Video encoding and video decoding
CN110225346A (zh) * 2018-12-28 2019-09-10 杭州海康威视数字技术股份有限公司 一种编解码方法及其设备
US11792393B2 (en) 2018-12-28 2023-10-17 Intellectual Discovery Co., Ltd. Inter prediction encoding and decoding method using combination of prediction blocks, and computer-readable storage medium bitstream to be decoded thereby
CN111010578B (zh) * 2018-12-28 2022-06-24 北京达佳互联信息技术有限公司 一种帧内帧间联合预测的方法、装置以及存储介质
CN113498609B (zh) * 2018-12-31 2023-06-20 北京达佳互联信息技术有限公司 用于视频编解码的依赖图片分辨率的配置
WO2020141984A2 (en) 2018-12-31 2020-07-09 Huawei Technologies Co., Ltd. Method and apparatus of mode- and size-dependent block-level restrictions for position dependent prediction combination
WO2020141766A1 (ko) * 2019-01-01 2020-07-09 엘지전자 주식회사 머지 데이터에 대한 정보를 코딩하는 방법 및 장치
WO2020143838A1 (en) * 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Harmonization between overlapped block motion compensation and other tools
CN113302918A (zh) * 2019-01-15 2021-08-24 北京字节跳动网络技术有限公司 视频编解码中的加权预测
CN113316933A (zh) 2019-01-17 2021-08-27 北京字节跳动网络技术有限公司 使用运动预测进行去方块滤波
CN113383548A (zh) * 2019-02-03 2021-09-10 北京字节跳动网络技术有限公司 Mv精度和mv差编解码之间的相互作用
EP3915259A4 (en) 2019-03-06 2022-03-30 Beijing Bytedance Network Technology Co., Ltd. USE OF A CONVERTED UNIVERSITY PREDICTION CANDIDATE
WO2020182187A1 (en) * 2019-03-12 2020-09-17 Beijing Bytedance Network Technology Co., Ltd. Adaptive weight in multi-hypothesis prediction in video coding
AU2020250609B2 (en) 2019-04-01 2023-09-07 Beijing Bytedance Network Technology Co., Ltd. Using interpolation filters for history based motion vector prediction
CN114270824A (zh) * 2019-06-19 2022-04-01 Lg 电子株式会社 用于基于帧间预测编译图像的方法和装置
EP3935844A4 (en) * 2019-06-21 2022-05-04 Huawei Technologies Co., Ltd. DERIVATION OF CHROMA SAMPLE WEIGHT FOR GEOMETRIC PARTITION MODE
CN113875251B (zh) * 2019-06-21 2023-11-28 华为技术有限公司 用于几何分割模式的自适应滤波器强度指示
JP2022544260A (ja) 2019-08-13 2022-10-17 北京字節跳動網絡技術有限公司 サブブロックに基づくインター予測における動き精度
JP7359942B2 (ja) 2019-08-20 2023-10-11 北京字節跳動網絡技術有限公司 映像処理における代替の補間フィルタの選択的使用
CN110519600B (zh) * 2019-08-21 2022-06-07 浙江大华技术股份有限公司 帧内帧间联合预测方法、装置、编解码器及存储装置
US20220385888A1 (en) * 2019-09-20 2022-12-01 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium storing bitstream
WO2021052507A1 (en) * 2019-09-22 2021-03-25 Beijing Bytedance Network Technology Co., Ltd. Sub-picture coding and decoding of video
WO2021061018A1 (en) * 2019-09-24 2021-04-01 Huawei Technologies Co., Ltd. Method and apparatus of combined intra-inter prediction
WO2020251422A2 (en) * 2019-10-07 2020-12-17 Huawei Technologies Co., Ltd. Method and apparatus of adaptive adjustment of weighting prediction parameter precision for harmonizing non-rectangular merge mode and weighted prediction
EP4029251A4 (en) * 2019-10-08 2022-11-16 Huawei Technologies Co., Ltd. METHOD AND APPARATUS FOR ADAPTIVE ADJUSTMENT OF PRECISION OF WEIGHTING PREDICTION PARAMETERS
JP2023011955A (ja) * 2019-12-03 2023-01-25 シャープ株式会社 動画像符号化装置、動画像復号装置
WO2021114100A1 (zh) * 2019-12-10 2021-06-17 中国科学院深圳先进技术研究院 帧内预测方法、视频编码、解码方法及相关设备
CN113099240B (zh) * 2019-12-23 2022-05-31 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
US11317094B2 (en) * 2019-12-24 2022-04-26 Tencent America LLC Method and apparatus for video coding using geometric partitioning mode
CN111741297B (zh) * 2020-06-12 2024-02-20 浙江大华技术股份有限公司 帧间预测方法、视频编码方法及其相关装置
CN113873249B (zh) * 2020-06-30 2023-02-28 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN114982228A (zh) * 2020-10-16 2022-08-30 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质
WO2022177375A1 (ko) * 2021-02-18 2022-08-25 현대자동차주식회사 인트라 예측 신호와 인터 예측 신호의 가중 합을 이용하여 예측 블록을 생성하는 방법 및 이를 이용한 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020042935A (ko) * 2000-12-01 2002-06-08 조정남 영상 압축 시스템에서 매크로블록 압축모드 선택 방법
KR20070047522A (ko) * 2005-11-02 2007-05-07 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
KR20080066706A (ko) * 2005-09-27 2008-07-16 콸콤 인코포레이티드 채널 스위치 프레임
KR101050828B1 (ko) * 2003-08-26 2011-07-21 톰슨 라이센싱 하이브리드 인트라-인터 코딩된 블록을 디코딩하기 위한 방법 및 장치
US20120230405A1 (en) * 2009-10-28 2012-09-13 Media Tek Singapore Pte. Ltd. Video coding methods and video encoders and decoders with localized weighted prediction

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8085846B2 (en) 2004-08-24 2011-12-27 Thomson Licensing Method and apparatus for decoding hybrid intra-inter coded blocks
KR100781525B1 (ko) * 2006-04-06 2007-12-03 삼성전자주식회사 가중 평균합을 이용하여 fgs 계층을 인코딩 및디코딩하는 방법 및 장치
CA2655970A1 (en) 2006-07-07 2008-01-10 Telefonaktiebolaget L M Ericsson (Publ) Video data management
KR101119970B1 (ko) * 2007-02-05 2012-02-22 삼성전자주식회사 적응적인 양자화 스텝을 이용한 영상의 부호화, 복호화방법 및 장치
CN102123277B (zh) 2007-05-08 2012-11-14 孟智平 一种基于流格式的指定区域图像传输及显示方法
CN101877785A (zh) 2009-04-29 2010-11-03 祝志怡 一种基于混合预测的视频编码方法
US8665964B2 (en) 2009-06-30 2014-03-04 Qualcomm Incorporated Video coding based on first order prediction and pre-defined second order prediction mode
KR20110071047A (ko) * 2009-12-20 2011-06-28 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치
US9906786B2 (en) * 2012-09-07 2018-02-27 Qualcomm Incorporated Weighted prediction mode for scalable video coding
US9609343B1 (en) * 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020042935A (ko) * 2000-12-01 2002-06-08 조정남 영상 압축 시스템에서 매크로블록 압축모드 선택 방법
KR101050828B1 (ko) * 2003-08-26 2011-07-21 톰슨 라이센싱 하이브리드 인트라-인터 코딩된 블록을 디코딩하기 위한 방법 및 장치
KR20080066706A (ko) * 2005-09-27 2008-07-16 콸콤 인코포레이티드 채널 스위치 프레임
KR20070047522A (ko) * 2005-11-02 2007-05-07 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US20120230405A1 (en) * 2009-10-28 2012-09-13 Media Tek Singapore Pte. Ltd. Video coding methods and video encoders and decoders with localized weighted prediction

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3217663A4 *

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3975571A1 (en) * 2016-07-05 2022-03-30 KT Corporation Method and apparatus for processing video signal
US11743481B2 (en) 2016-07-05 2023-08-29 Kt Corporation Method and apparatus for processing video signal
US11394988B2 (en) 2016-07-05 2022-07-19 Kt Corporation Method and apparatus for processing video signal
CN109479141A (zh) * 2016-07-12 2019-03-15 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质
CN109479141B (zh) * 2016-07-12 2023-07-14 韩国电子通信研究院 图像编码/解码方法和用于所述方法的记录介质
CN110169061B (zh) * 2017-01-06 2022-05-10 联发科技股份有限公司 编解码电子装置与方法
US10715827B2 (en) 2017-01-06 2020-07-14 Mediatek Inc. Multi-hypotheses merge mode
CN110169061A (zh) * 2017-01-06 2019-08-23 联发科技股份有限公司 多重假设的合并模式
WO2018127188A1 (en) * 2017-01-06 2018-07-12 Mediatek Inc. Multi-hypotheses merge mode
CN110169059B (zh) * 2017-01-13 2023-08-22 谷歌有限责任公司 视频代码化的复合预测
US10827196B2 (en) 2017-01-13 2020-11-03 Google Llc Compound prediction for video coding
WO2018132150A1 (en) * 2017-01-13 2018-07-19 Google Llc Compound prediction for video coding
US11343528B2 (en) 2017-01-13 2022-05-24 Google Llc Compound prediction for video coding
CN110169059A (zh) * 2017-01-13 2019-08-23 谷歌有限责任公司 视频代码化的复合预测
EP4300961A3 (en) * 2017-01-16 2024-02-21 Industry Academy Cooperation Foundation Of Sejong University Image signal encoding/decoding method and device
EP3625963A4 (en) * 2017-06-07 2020-11-18 MediaTek Inc. INTRA-INTER PREDICTION MODE METHOD AND APPARATUS FOR VIDEO CODING
US11070815B2 (en) 2017-06-07 2021-07-20 Mediatek Inc. Method and apparatus of intra-inter prediction mode for video coding
US11350109B2 (en) 2017-06-23 2022-05-31 Qualcomm Incorporated Combination of inter-prediction and intra-prediction in video coding
US11172203B2 (en) 2017-08-08 2021-11-09 Mediatek Inc. Intra merge prediction
CN111034194A (zh) * 2017-08-08 2020-04-17 联发科技股份有限公司 画面内合并预测
US11924412B2 (en) 2017-10-18 2024-03-05 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium having bitstream stored therein
WO2019098464A1 (ko) * 2017-11-14 2019-05-23 삼성전자 주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
US11909961B2 (en) 2017-11-22 2024-02-20 Intellectual Discovery Co., Ltd. Image encoding/decoding method and apparatus, and recording medium for storing bitstream that involves performing intra prediction using constructed reference sample
US11695926B2 (en) * 2018-09-21 2023-07-04 Electronics And Telecommunications Research Institute Method and apparatus for encoding/decoding image, and recording medium for storing bitstream
US20210352280A1 (en) * 2018-09-21 2021-11-11 Electronics And Telecommunications Research Institute Method and apparatus for encoding/decoding image, and recording medium for storing bitstream
RU2802175C2 (ru) * 2019-03-21 2023-08-22 Бейджин Байтдэнс Нетворк Текнолоджи Ко., Лтд. Усовершенствованная обработка весовых коэффициентов при использовании комбинированного режима с внутрикадровым и межкадровым прогнозированием
US11876993B2 (en) 2019-03-21 2024-01-16 Beijing Bytedance Network Technology Co., Ltd Signaling of combined intra-inter prediction
RU2809701C1 (ru) * 2020-06-30 2023-12-14 Ханчжоу Хиквижн Диджитал Текнолоджи Ко., Лтд. Способ, оборудование и устройство для кодирования и декодирования

Also Published As

Publication number Publication date
CN107113425A (zh) 2017-08-29
US10666940B2 (en) 2020-05-26
US20180288410A1 (en) 2018-10-04
KR20170084055A (ko) 2017-07-19
EP3217663A1 (en) 2017-09-13
EP3217663A4 (en) 2018-02-14

Similar Documents

Publication Publication Date Title
WO2016072775A1 (ko) 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2016200100A1 (ko) 적응적 가중치 예측을 위한 신택스 시그널링을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
WO2013005963A2 (ko) 콜로케이티드 영상을 이용한 인터 예측을 수반하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2018070790A1 (ko) 영상의 부호화/복호화 방법 및 장치
WO2013002555A2 (ko) 산술부호화를 수반한 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2011087320A2 (ko) 예측 부호화를 위해 가변적인 파티션을 이용하는 비디오 부호화 방법 및 장치, 예측 부호화를 위해 가변적인 파티션을 이용하는 비디오 복호화 방법 및 장치
WO2013005962A2 (ko) 단일화된 참조가능성 확인 과정을 통해 인트라 예측을 수반하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2018236031A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2013115572A1 (ko) 계층적 데이터 단위의 양자화 파라메터 예측을 포함하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2014007524A1 (ko) 비디오의 엔트로피 부호화 방법 및 장치, 비디오의 엔트로피 복호화 방법 및 장치
WO2011049396A2 (en) Method and apparatus for encoding video and method and apparatus for decoding video, based on hierarchical structure of coding unit
WO2018236028A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2013066051A1 (ko) 변환 계수 레벨의 엔트로피 부호화 및 복호화를 위한 컨텍스트 모델 결정 방법 및 장치
WO2011016702A2 (ko) 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
WO2013002589A2 (ko) 휘도 성분 영상을 이용한 색차 성분 영상의 예측 방법 및 예측 장치
WO2011126309A2 (ko) 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2011129620A2 (ko) 트리 구조에 따른 부호화 단위에 기초한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법 및 그 장치
WO2011087292A2 (en) Method and apparatus for encoding video and method and apparatus for decoding video by considering skip and split order
WO2011019253A2 (en) Method and apparatus for encoding video in consideration of scanning order of coding units having hierarchical structure, and method and apparatus for decoding video in consideration of scanning order of coding units having hierarchical structure
WO2011019213A2 (ko) 적응적인 루프 필터링을 이용한 비디오의 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2013002557A2 (ko) 움직임 정보의 부호화 방법 및 장치, 그 복호화 방법 및 장치
WO2011087297A2 (en) Method and apparatus for encoding video by using deblocking filtering, and method and apparatus for decoding video by using deblocking filtering
WO2012093891A2 (ko) 계층적 구조의 데이터 단위를 이용한 비디오의 부호화 방법 및 장치, 그 복호화 방법 및 장치
WO2012124961A2 (ko) 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
WO2016129872A1 (ko) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15857835

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20177011969

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15525193

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2015857835

Country of ref document: EP