WO2011096770A2 - 영상 부호화/복호화 장치 및 방법 - Google Patents

영상 부호화/복호화 장치 및 방법 Download PDF

Info

Publication number
WO2011096770A2
WO2011096770A2 PCT/KR2011/000786 KR2011000786W WO2011096770A2 WO 2011096770 A2 WO2011096770 A2 WO 2011096770A2 KR 2011000786 W KR2011000786 W KR 2011000786W WO 2011096770 A2 WO2011096770 A2 WO 2011096770A2
Authority
WO
WIPO (PCT)
Prior art keywords
block
prediction
unit
motion
prediction unit
Prior art date
Application number
PCT/KR2011/000786
Other languages
English (en)
French (fr)
Other versions
WO2011096770A3 (ko
Inventor
이충구
김민성
박준성
Original Assignee
(주)휴맥스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020100055209A external-priority patent/KR20110135471A/ko
Priority claimed from KR1020100071848A external-priority patent/KR20120010367A/ko
Application filed by (주)휴맥스 filed Critical (주)휴맥스
Priority to US13/576,607 priority Critical patent/US20120300850A1/en
Publication of WO2011096770A2 publication Critical patent/WO2011096770A2/ko
Priority to KR1020110082386A priority patent/KR20120090740A/ko
Publication of WO2011096770A3 publication Critical patent/WO2011096770A3/ko
Priority to US14/528,490 priority patent/US20150055705A1/en
Priority to US14/528,465 priority patent/US20150049818A1/en
Priority to US14/528,536 priority patent/US20150055701A1/en
Priority to US14/528,379 priority patent/US20150055711A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/117Filters, e.g. for pre-processing or post-processing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Definitions

  • the present invention relates to encoding and decoding of an image, and more particularly, to an image encoding / decoding apparatus and method applicable to an image having a high resolution of HD or higher.
  • an image compression method performs encoding by dividing one picture into a plurality of blocks having a predetermined size.
  • inter prediction and intra prediction techniques that remove redundancy of pictures are used to increase compression efficiency.
  • An image encoding method using inter prediction is a method of compressing an image by removing temporal redundancy among pictures, and a motion compensation prediction encoding method is a typical method.
  • the motion compensation predictive encoding generates a motion vector (MV) by searching a region similar to the block currently encoded in at least one reference picture located before and / or after the currently encoded picture, and generates the motion vector.
  • MV motion vector
  • DCT Discrete Cosine Transform
  • a macroblock used for motion compensation prediction is a block having various sizes such as 16 ⁇ 16, 8 ⁇ 16, and 8 ⁇ 8 pixels, and a block having a size of 8 ⁇ 8 or 4 ⁇ 4 pixels is used for transform and quantization. Used.
  • the motion compensation prediction encoding method when the prediction motion vector does not accurately predict the motion of the current block to be encoded, the residual values of the prediction block and the current block become large, thereby reducing the coding efficiency. Accordingly, there is a need for a motion vector estimation method that can generate a motion vector more accurately to reduce the residual values of the prediction block and the current block.
  • Intra-picture prediction is a method of compressing an image by removing spatial redundancy by using pixel correlation between blocks in a picture, and generating a prediction value of the current block from encoded pixels adjacent to the current block to be encoded. After that, the generated prediction value and the residual value of the pixel of the current block are compressed.
  • the size of a block used for intra prediction is 4x4, 8x8 or 16x16 pixels.
  • the weight prediction method can be broadly classified into an explicit mode and an implicit mode.
  • the implicit mode is a method in which the decoder calculates the weight by the temporal distance between the current picture and the reference pictures without separately encoding the weights used for the prediction of the current block, and the explicit mode uses the weighted prediction parameter. It is a method of calculating a slice unit and transmitting it to the decoder.
  • weight prediction method as described above is performed in units of slices, weight prediction with high accuracy cannot be performed and multi-pass coding has to be performed.
  • a motion vector is generated by dividing one picture into a plurality of blocks having a predetermined size, and motion compensation is performed using the generated motion vector. Individual motion parameters for each prediction block obtained by performing motion compensation are transmitted to the decoder.
  • motion compensated inter picture prediction requires evaluating pixel values of the reference picture at non-integer positions. Pixel values at non-integer positions are referred to as sub-pixel values and the process of determining these values is called interpolation.
  • the calculation of the sub-pixel values is done by applying filter coefficients to the pixels around the integer pixels of the reference picture. For example, it is predicted using a 6-tap interpolation filter with filter coefficients ((1, -5, 20, 20, -5, 1) / 32) for P picture for H.264 / AVC.
  • filter coefficients ((1, -5, 20, 20, -5, 1) / 32) for P picture for H.264 / AVC.
  • a first object of the present invention is to provide an image encoding method and a decoding method using weight prediction which can improve the accuracy of weight prediction and can be applied to a high resolution image.
  • Another object of the present invention is to provide an image encoding apparatus and a decoding apparatus using weight prediction that executes the image encoding method and the image decoding method.
  • a third object of the present invention is to provide an image encoding method and an encoding apparatus using block merging that can be applied to a high resolution image having a resolution of HD or higher definition.
  • a fourth object of the present invention is to provide an image decoding method and a decoding apparatus using block merging that can be applied to a high resolution image having a HD (High Definition) or higher resolution.
  • a fifth object of the present invention is to provide an image encoding method and an encoding apparatus for improving encoding accuracy in a high resolution image having a resolution of HD or higher definition.
  • a sixth object of the present invention is to provide an image decoding method and decoding apparatus for improving the decoding precision in a high resolution image having a resolution of HD (High Definition) or higher.
  • a method of encoding an image using weight prediction including generating a motion vector for an input coding unit and based on the generated motion vector. Generating a prediction signal by performing motion compensation, generating a weight parameter in units of prediction units, generating a prediction block by applying the weight parameter to the prediction signal, and receiving the received coding unit and the Generating a residual value based on the prediction block.
  • the coding unit may include an extended macro block having a size of 32 ⁇ 32 pixels or more.
  • an image decoding method using weight prediction for achieving the first object of the present invention, entropy-encoding a received bit stream to extract a quantized residual value, a motion vector, a weight parameter And restoring the residual value by inverse quantization and inverse transformation of the quantized residual value, generating a prediction signal by performing motion compensation using the motion vector, and applying the weight parameter to the prediction signal.
  • the prediction block may include an extended macro block having a size of 32 ⁇ 32 pixels or more.
  • a method of encoding an image including: performing motion compensation inter prediction on a prediction unit, and after partitioning the prediction unit, Performing a block merging, in which samples belonging to a mergeable block set including neighboring samples are merged with the current block, the same motion parameter is allocated to the merged block and transmitted to the decoder.
  • the mergeable block set may include at least one of a block generated by asymmetric partitioning and a block generated by geometrical partitioning.
  • the method of decoding an image according to an aspect of the present invention for achieving the fourth object of the present invention comprises the steps of entropy decoding the received bit stream to dequantize and inverse transform the residual value to restore the residual value, and prediction Generating a prediction unit by performing motion compensation using unit information and motion parameters, and reconstructing an image by adding the residual value to the prediction unit, wherein the mergeable block is possible after partitioning the prediction unit.
  • the block merged with the current block has the same motion parameter.
  • the mergeable block set may include at least one of a block generated by asymmetric partitioning and a block generated by geometrical partitioning.
  • the header information decoded through entropy decoding may include prediction unit information, motion compensation, and motion parameters for prediction.
  • the motion parameter may include a motion parameter transmitted for each block merged by the block merging.
  • an apparatus for decoding an image according to another aspect of the present invention for achieving the fourth object of the present invention includes an inverse quantization for entropy decoding a received bit stream to inversely quantize a residual value and inverse transform to restore the residual value.
  • the mergeable block set may include at least one of a block generated by asymmetric partitioning and a block generated by geometrical partitioning.
  • a method of encoding an image including generating a prediction unit for inter prediction on an input image, and a motion compensation screen for the prediction unit. And performing inter prediction, wherein performing the motion compensated inter prediction for the prediction unit comprises: a filter used for the motion compensated inter prediction, which is more precise than a picture unit, wherein the precise unit is a slice And selecting at least one of a unit, a prediction unit unit, and a partition unit to calculate a sub-pixel value.
  • the performing of the motion compensation inter prediction for the prediction unit may include performing block merge to merge samples belonging to a mergeable block set including neighboring samples of the current block after partitioning the prediction unit with the current block.
  • the mergeable block set may include at least one of a block generated by asymmetric partitioning and a block generated by geometrical partitioning.
  • the method of decoding an image according to an aspect of the present invention for achieving the sixth object of the present invention comprises the steps of entropy decoding the received bit stream to dequantize and inverse transform the residual value to restore the residual value, and prediction Generating a prediction unit using unit information and a motion parameter, and selecting a unit that is more precise than a picture unit, wherein the precise unit includes at least one of a slice unit, a prediction unit unit, and a partition unit; Performing inter prediction on the prediction unit using filter information, wherein the filter information includes at least one of a filter index and a filter coefficient, and applying the residual value to the prediction unit on which the inter prediction is performed.
  • the method may include restoring an image.
  • the blocks merged with the current block among the blocks belonging to the mergeable block set may have the same filter information.
  • the filter information may be filter information of a filter used for motion compensation inter prediction.
  • the mergeable block set may include at least one of a block generated by asymmetric partitioning and a block generated by geometrical partitioning.
  • the header information decoded through entropy decoding may include prediction unit information, motion parameter and filter information for motion compensation and prediction.
  • the apparatus for decoding an image according to another aspect of the present invention for achieving the sixth object of the present invention inverse quantization and inverse transformation for entropy decoding the received bit stream to dequantize the residual value and inverse transform to restore the residual value
  • a motion compensator for generating a prediction unit using the prediction unit information and the motion parameter, and an adder for reconstructing an image by adding the residual value to the prediction unit, wherein the motion compensator is more precise than the picture unit.
  • the precise unit includes at least one of a slice unit, a prediction unit unit, and a partition unit, wherein the filter information is selected and encoded, wherein the filter information includes at least one of a filter index and a filter coefficient. Inter-prediction is performed on the prediction unit.
  • the blocks merged with the current block among the blocks belonging to the mergeable block set may have the same filter information.
  • the filter information may be filter information of a filter used for motion compensation inter prediction.
  • the mergeable block set may include at least one of a block generated by asymmetric partitioning and a block generated by geometrical partitioning.
  • the header information decoded through entropy decoding may include prediction unit information, motion parameter and filter information for motion compensation and prediction.
  • the image encoding / decoding apparatus and method using the weight prediction as described above by encoding the image by predicting the weight in units of extended macroblocks, the quality of the encoded image compared to the weight prediction encoding method performed in the existing slice unit
  • the coding efficiency of an image having a high resolution of HD or Ultra HD (Ultra High Definition) or higher can be improved by performing weighted prediction coding in units of extended macro blocks having a size of 32 ⁇ 32 or 64 ⁇ 64 pixels or more. You can.
  • the partition unit when used as the transmission unit of the filter information-the filter index or the filter coefficient of the interpolation filter used for the motion compensation inter prediction, the entire block merged using the block merge is used as the transmission unit of the filter information.
  • the coding efficiency of an image having a high resolution of HD or Ultra HD (Ultra High Definition) or higher can be improved.
  • an interpolation filter used for motion compensation inter prediction in a high resolution image having a high definition (HD) or higher resolution is more precise than a picture unit, for example, a slice unit, a prediction unit unit, or a partition unit (
  • the partition unit may include an extended macroblock, a macroblock, or a block), thereby improving coding accuracy.
  • the block merging technique is extended to asymmetric partitioning and / or geometrical partitioning to reduce the amount of transmission of side information such as motion parameters.
  • the coding efficiency of an image having a high resolution of HD or Ultra HD (Ultra High Definition) or higher can be improved.
  • FIG. 1 is a conceptual diagram illustrating a recursive coding unit structure according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a configuration of an image encoding apparatus using weight prediction according to an embodiment of the present invention.
  • FIG. 3 is a flowchart illustrating an image encoding method using weight prediction, according to an embodiment of the present invention.
  • FIG. 4 is a block diagram illustrating a configuration of an image decoding apparatus using weight prediction according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating an image decoding method using weight prediction according to an embodiment of the present invention.
  • FIG. 6 is a conceptual diagram illustrating a process of selecting and using a filter in a slice unit according to an embodiment of the present invention.
  • FIG. 7 is a conceptual diagram illustrating a process of selecting and using a filter in a partition unit according to another embodiment of the present invention.
  • FIG. 8 is a conceptual diagram illustrating a process of selecting and using a filter in units of asymmetric partitioning according to another embodiment of the present invention.
  • FIG. 9 illustrates an embodiment of performing geometric partition partitioning having a shape other than square for the prediction unit PU.
  • FIG. 10 is a conceptual view illustrating a process of selecting and using a filter in a geometric partition unit having a shape other than square according to another embodiment of the present invention.
  • FIG. 11 is a conceptual view illustrating a process of selecting and using a filter in a geometric partition unit having a shape other than square according to another embodiment of the present invention.
  • FIG. 12 is a conceptual diagram illustrating a coding method using block merging according to an embodiment of the present invention.
  • 13 to 15 are conceptual views illustrating an encoding method using block merging in case of asymmetric partitioning according to another embodiment of the present invention.
  • 16 to 17 are conceptual views illustrating an encoding method using block merging in the case of geometrical partitioning according to another embodiment of the present invention.
  • 18 to 19 are conceptual views illustrating an encoding method using block merging in the case of geometric partitioning according to another embodiment of the present invention.
  • 20 is a flowchart illustrating a method of encoding an image using block merging according to an embodiment of the present invention.
  • 21 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.
  • FIG. 22 is a conceptual view illustrating a process of selecting and using a filter in partition units using block merging according to another embodiment of the present invention.
  • 22 and 23 are conceptual views illustrating a process of selecting and using a filter in partition units using block merging in case of asymmetric partitioning according to another embodiment of the present invention.
  • FIG. 25 is a conceptual view illustrating a process of selecting and using a filter in partition units using block merging in the case of geometric partitioning according to another embodiment of the present invention.
  • 26 and 27 are conceptual views illustrating a process of selecting and using a filter in partition units using block merging in the case of geometric partitioning according to another embodiment of the present invention.
  • FIG. 28 is a flowchart illustrating an image encoding method for selecting and encoding a filter in units of slices or partitions, according to an embodiment of the present invention.
  • 29 is a block diagram illustrating a configuration of an image encoding apparatus for selecting and encoding a filter in units of slices or partitions, according to an embodiment of the present invention.
  • FIG. 30 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.
  • FIG. 31 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • inter-picture / in-picture prediction, transform, quantization, and entropy encoding are performed using an extended macroblock size of 32x32 pixel size or more to apply to a high resolution having a high definition (HD) or higher resolution.
  • Encoding and decoding may be performed, or encoding and decoding may be performed using a recursive coding unit (CU) structure to be described below.
  • CU recursive coding unit
  • FIG. 1 is a conceptual diagram illustrating a recursive coding unit structure according to an embodiment of the present invention.
  • each coding unit CU has a square shape, and each coding unit CU may have a variable size of 2N ⁇ 2N (unit pixel) size.
  • Inter prediction, intra prediction, transform, quantization, and entropy encoding may be performed in units of coding units (CUs).
  • the coding unit (CU) may comprise a maximum coding unit (LCU), a minimum coding unit (SCU), the size of the maximum coding unit (LCU), the minimum coding unit (SCU) is a power of two having a size of 8 or more. Can be represented by a value.
  • Coding unit may have a circular tree structure.
  • the recursive structure can be represented through a series of flags. For example, when a flag value of a coding unit CUk having a layer level or a layer depth k is 0, the coding for the coding unit CUk is a current layer level. for a level or layer depth, and if the flag value is 1, the coding unit CUk with the current layer level or layer depth k is 4 independent.
  • the coding unit CUk + 1 is divided into a coding unit CUk + 1, and the divided coding unit CUk + 1 has a hierarchical level or layer depth k + 1 and a size Nk + 1 X Nk + 1. .
  • the coding unit CUk + 1 may be represented as a sub coding unit of the coding unit CUk.
  • the coding unit CUk + 1 is cyclically cycled until the hierarchical level or hierarchical depth of the coding unit CUk + 1 reaches the maximum allowable hierarchical level or hierarchical depth. (recursive) can be processed. If the hierarchical level or hierarchical depth of the coding unit CUk + 1 is the same as the maximum allowable hierarchical level or hierarchical depth, the case where 5 is illustrated in FIG. The above division is not allowed.
  • the size of the largest coding unit (LCU) and the size of the minimum coding unit (SCU) may be included in a sequence parameter set (SPS).
  • the sequence parameter set (SPS) may comprise the maximum allowable layer level or layer depth of the maximum coding unit (LCU). For example, in the case of FIG. 1, when the maximum allowable layer level or layer depth is 5, and the size of one side of the maximum coding unit (LCU) is 128 (unit pixel), 128 X 128 ( LCU), 64 X 64, 32 X 32, 16 X 16 and 8 X 8 (SCU) are available in five different coding unit sizes. That is, the size of the allowable coding unit may be determined given the size of the largest coding unit (LCU) and the maximum allowable layer level or layer depth.
  • the large coding unit may display the image region of interest with fewer symbols than if using several small blocks.
  • the codec can be easily optimized for various contents, applications and devices by supporting a maximum coding unit (LCU) having any of various sizes as compared to using fixed size macroblocks. That is, by appropriately selecting the maximum coding unit (LCU) size and the maximum hierarchical level or maximum hierarchical depth, the hierarchical block structure can be further optimized for the target application.
  • LCU maximum coding unit
  • a multilevel hierarchical structure can be defined as a maximum coding unit (LCU) size, a maximum hierarchical level ( It can be represented very simply using level (or maximum layer depth) and a series of flags.
  • LCU maximum coding unit
  • the maximum value of the hierarchical level may have a random value and may have a larger value than that allowed in the existing H.264 / AVC coding scheme.
  • Size independent syntax representation can be used to specify all syntax elements in a manner consistent with the size of the coding unit (CU) independent of.
  • the splitting process for the coding unit (CU) can be specified circularly, and other syntax elements for the leaf coding unit-the last coding unit at the layer level-are independent of the coding unit size. Can be defined to be the same size.
  • Such a representation is very effective in reducing parsing complexity, and the clarity of the representation can be improved when a large hierarchical level or hierarchical depth is allowed.
  • inter-screen prediction or intra-screen prediction may be performed on the end nodes of the coding unit hierarchical tree without further splitting. It is used as a prediction unit (PU) which is a unit.
  • PU prediction unit
  • the prediction unit PU means a basic unit for inter prediction or intra prediction, and may be a conventional macro block unit or a sub-macro block unit, and an extended macro block unit of 32 ⁇ 32 pixels or more May be
  • an extended macro block refers to a block having a size of 32 ⁇ 32 pixels or 64 ⁇ 64 pixels or more.
  • FIG. 2 is a block diagram illustrating a configuration of an image encoding apparatus using weight prediction according to an embodiment of the present invention.
  • the image encoding apparatus 100 may include a motion predictor 101, a motion compensator 103, a weight parameter generator 105, a first multiplier 107, The first adder 109, the second adder 111, the transform unit 113, the quantizer 115, the inverse quantizer 117, the inverse transform unit 119, the third adder 121, and the buffer 123. And an entropy encoder 125.
  • the motion prediction unit 101 generates an motion vector by performing inter-prediction based on a plurality of reference pictures stored in the buffer 123 after reconstruction of the input current coding unit.
  • the input coding unit may have a size of 16 ⁇ 16 pixels or less, or may be an extended macro block having a size of 32 ⁇ 32 pixels or more.
  • a corresponding number of motion vectors may be generated, and the generated motion vectors are provided to the motion compensator 103 and the entropy encoder 125.
  • the motion compensator 103 applies the at least one motion vector provided from the motion predictor 101 to the reference prediction unit of the corresponding reference picture stored in the buffer 123 to generate a prediction signal on which motion compensation is performed. For example, when bi-predictive is performed using two reference pictures, two prediction signals Y0 and Y1 may be generated.
  • the weight parameter generator 105 generates a weight parameter with respect to the input coding unit by referring to the corresponding reference prediction unit of the reference picture stored in the buffer 121.
  • the weighting parameter may include a weighting factor W and an offset D and may be determined based on a change in the luminance component of the input coding unit and the reference prediction unit.
  • the weight coefficient W generated by the weight parameter generator 105 is provided to the first multiplier 107, and the offset D is provided to the first adder 109.
  • the first multiplier 107 multiplies the prediction signal from which the motion compensation provided from the motion compensator 103 is performed by the weight coefficient provided from the weight parameter generator 105 and is provided to the first adder. For example, two motion compensators 103 generate two prediction signals Y0 and Y1 using two reference pictures, and two weights corresponding to each reference picture from the weight parameter generator 105. In the case of providing the coefficients W0 and W1, the output of the first multiplier 107 is W0Y0 + W1Y1.
  • the first adder 109 adds the offset value provided from the weight parameter generator 105 to the output of the first multiplier 107, generates a prediction block, and provides the predicted block to the second adder 111.
  • the generated prediction macro block is W0Y0 + W1Y1 + D.
  • the second adder 111 subtracts the input current coding unit signal and the prediction block provided from the first adder 109, calculates a residual value, and provides the residual value to the transformer 113.
  • the transform unit 113 performs a DCT (Discrete Cosine Transform) transform on the residual value provided from the second adder 111, and the quantization unit 115 quantizes the DCT transformed data and then quantizes the quantized data.
  • the data is provided to the entropy encoder 125 and the inverse quantizer 117.
  • the conversion unit 113 may perform conversion to a 32 ⁇ 32 or 64 ⁇ 64 pixel size that is an extended macroblock size.
  • the inverse quantization unit 117 inverse quantizes the quantized data
  • the inverse transform unit 119 inversely transforms the inverse quantized data and provides the buffer 123.
  • the third adder 121 adds the residual value, which is the inverse transformed data provided from the inverse transform unit 119, and the prediction block provided from the first adder 109, and then provides it to the buffer 123.
  • the buffer 123 may store a plurality of reconstructed pictures, and the plurality of reconstructed pictures may be used as reference pictures for motion prediction and weight parameter generation.
  • the entropy encoder 125 generates a bit stream by entropy encoding the quantized DCT coefficients and header information such as a motion vector and a weight parameter.
  • FIG. 3 is a flowchart illustrating an image encoding method using weight prediction, according to an embodiment of the present invention.
  • a motion vector may be performed by performing inter-prediction based on the input current coding unit and a plurality of reference pictures stored in a buffer after reconstruction is completed.
  • Vector a prediction signal by generating motion compensation using the generated motion vector
  • the input coding unit may have a size of 16 ⁇ 16 pixels or less, or may be an extended macro block having a size of 32 ⁇ 32 pixels or more.
  • a corresponding number of motion vectors may be generated.
  • the encoding apparatus generates a weight parameter including a weight coefficient and an offset based on the change in the luminance component of the input coding unit and the reference prediction unit (or reference macro block) (step 205).
  • the encoding apparatus generates a prediction block based on the prediction signal generated in step 203 and the weight parameter generated in step 205 (step 207).
  • the prediction block may be calculated by multiplying the prediction signal by a weighting factor and adding an offset.
  • the encoding apparatus After the prediction block is generated as described above, the encoding apparatus obtains a difference between the input coding unit and the prediction block and generates a residual (step 209).
  • the encoding apparatus transforms and quantizes the generated residual value (step 211), and entropy encodes header information such as quantized DCT coefficients, a motion vector, and a weight parameter to generate a bit stream (step 213).
  • the image is encoded by predicting the weight in units of prediction units (or macroblocks).
  • the quality of the encoded image may be improved as compared with the weighted prediction encoding method performed in slice units.
  • weighted prediction coding is performed in units of extended macroblocks having sizes of 32 ⁇ 32 or 64 ⁇ 64 pixels or more, encoding efficiency of an image having a high resolution may be improved.
  • FIG. 4 is a block diagram illustrating a configuration of an image decoding apparatus using weight prediction according to an embodiment of the present invention, and illustrates a configuration of a decoding apparatus decoding a video encoded by the encoding apparatus illustrated in FIG. 2.
  • the decoding apparatus 300 includes an entropy decoding unit 301, an inverse quantization unit 303, an inverse transform unit 305, a motion compensator 307, and a weight parameter set.
  • a study 309, a buffer 311, a second multiplier 313, a fourth adder 315, and a fifth adder 317 may be included.
  • the entropy decoding unit 301 entropy decodes the bit stream provided from the encoding apparatus and provides a residual value, a weight parameter, a motion vector, and the like, of a macro block to be currently reconstructed.
  • the inverse quantization unit 303 inversely quantizes the residual value provided by the entropy decoding unit 301, and the inverse transformer 305 inversely transforms the inverse quantized data.
  • the motion compensator 307 applies the motion vector provided from the entropy decoder 301 to the reference prediction unit of the reference picture stored in the buffer 311 to generate a prediction signal on which motion compensation is performed, and generates the generated prediction signal. 2 multiplier (307).
  • the weight parameter provider 309 receives the weight parameter from the entropy decoder 301, provides the weight coefficient to the second multiplier 313, and provides the offset to the fourth adder 315.
  • the buffer 311 is provided with the restored image provided from the fifth adder 317.
  • the reconstructed image provided to the buffer 311 is used as a reference picture for performing motion compensation.
  • the second multiplier 313 multiplies the prediction signal provided from the motion compensator 307 by the weight coefficient provided from the weight parameter providing unit 309 and provides the multiplier 315 to the fourth adder 315.
  • the signal provided from the two multiplier 313 and the offset provided from the weight parameter providing unit 309 are added, and a prediction block is generated and provided to the fifth adder 317.
  • the fifth adder 317 reconstructs the current block by adding the residual value provided from the inverse transformer 305 and the prediction block provided from the fourth adder 315.
  • FIG. 5 is a flowchart illustrating an image decoding method using weight prediction according to an embodiment of the present invention.
  • a decoding apparatus receives a bit stream from an encoding apparatus (step 401), performs entropy decoding on the provided bit stream, and a residual value, a weight parameter, and a quantized current decoding unit.
  • a motion vector or the like is extracted (step 403).
  • the decoding apparatus inversely quantizes and inversely transforms the entropy-decoded residual value to restore the residual value (step 405).
  • the decoding apparatus generates a prediction signal by performing motion compensation by applying the entropy decoded motion vector to the reference prediction unit of the reference picture stored in the buffer after reconstruction is completed (step 407).
  • the decoding apparatus multiplies the prediction signal generated through the motion compensation by a weighting factor, adds an offset to generate a prediction block (step 409), and adds the generated prediction block and the residual value reconstructed in step 405 to restore the current block. (Step 411).
  • Information related to prediction is transmitted to a decoder for each prediction unit, which is a basic unit of inter prediction.
  • Partitioning for inter-screen prediction or intra-screen prediction may be performed by asymmetric partitioning, by geometrical partitioning with an arbitrary shape other than square, or by edge direction. It may be made in a partition scheme according to.
  • a motion vector is generated by dividing one picture into a plurality of blocks having a predetermined size, and motion compensation is performed using the generated motion vector. Since motion vectors can have non-integer values, motion compensated inter picture prediction uses an interpolation filter to calculate sub-pixel values of the reference picture at non-integer positions. That is, the calculation of the sub-pixel value is done by applying filter coefficients to the pixels around the integer pixels of the reference picture. Using higher order filters results in better motion prediction performance, but increases the amount of transmission of the filter coefficients of the interpolation filter to be transmitted to the decoder.
  • the interpolation filter is more precise than the picture unit based on the experimental result that the optimal interpolation filter in one picture may be different depending on the area within the picture.
  • encoding / decoding is performed by selecting and using a slice unit, a prediction unit unit, or a partition unit (the partition unit may include an extended macro block, a macro block, or a block).
  • sub-pixel value interpolation may be applied to both luma and chroma components of an image.
  • interpolation of the sub-pixel values of the luminance component is described for simplicity.
  • an interpolation filter used for motion compensated inter picture prediction is more precise than a picture unit, for example, a slice unit, a prediction unit unit, or a partition unit (where the partition unit is an extended macro).
  • a method of encoding / decoding by selecting and using a block, a macroblock, or a block) may be described in detail.
  • FIG. 6 is a conceptual diagram illustrating a process of selecting and using a filter in a slice unit according to an embodiment of the present invention.
  • the current picture Pt for time t is an optimal one among candidate filters belonging to the candidate filter set CFSt at time t, for example, three filters F1, F2, and F3. Select to use.
  • the plurality of filters may be distinguished from each other by a filter index.
  • the filter index is an identifier for distinguishing selected filters.
  • the filter index may be included in the filter information for the selected filter and transmitted to the decoder.
  • the filter may be, for example, an interpolation filter used in motion compensation inter prediction.
  • an optimal one of the candidate filters belonging to the candidate filter set CFSt at time t in slice units within the current picture Pt for time t for example, three filters F1, F2, and F3 You can select and use. That is, an optimal filter may be selected for each slice of the current picture Pt, and thus, the selected optimal filter may include slice # 0, slice # 1, slice # 2, ..., slice # of the current picture Pt. N) can be different filters. For example, for slice number 0 (slice # 0) of the current picture Pt, the F1 filter is selected from candidate filters belonging to the candidate filter set CFSt, and slice number 1 (slice # of the current picture Pt) is selected.
  • the F2 filter may be selected from candidate filters belonging to the candidate filter set CFSt.
  • the selected optimal filter may be the same filter for each slice of the current picture Pt. For example, for slice number 0 of the current picture Pt, the F1 filter is selected from the candidate filters belonging to the candidate filter set CFSt, and for the slice number 1 of the current picture Pt, the candidate filter set CFSt is also selected.
  • the F1 filter may be selected from candidate filters belonging to.
  • the optimal filter selection for each slice of the current picture Pt may select a filter among filters belonging to a candidate filter set (CFS) according to a rate-distortion optimization criterion.
  • CFS candidate filter set
  • FIG. 7 is a conceptual diagram illustrating a process of selecting and using a filter in a partition unit according to another embodiment of the present invention.
  • the partition may include an extended macro block (EMB), a macro block (MB), or a block.
  • EMB extended macro block
  • MB macro block
  • the extended macro block size means more than 32 X 32 pixels, and may include, for example, 32 X 32 pixels, 64 X 64 pixels, or 128 X 128 pixels.
  • the macro block size can be, for example, 16 X 16 pixels.
  • FIG. 7 illustrates a relationship between partitions and filter indices, for example, when a partition is composed of 64 ⁇ 64 pixels, 32 ⁇ 32 pixels, and 16 ⁇ 16 pixels.
  • the left 64 X 64 partition of FIG. 7 shows a case where the 64 X 64 partition is an extended macro block of 64 X 64 pixel size, and the center figure of FIG. 7 divides the 64 X 64 partition into four 32 X 32 pixel size partitions.
  • the partition having a size of 32 X 32 pixels is an extended macro block having a size of 32 X 32 pixels.
  • the 64 X 64 partition is divided into four 32 X 32 pixel partitions, and the lower left 32 X 32 partition is divided into four 16 X 16 partitions. This indicates the case where the partition of the 32 x 32 pixel size macro block and the 16 x 16 pixel partition is a 16 x 16 pixel macroblock.
  • the left 64 X 64 partition of FIG. 7 is a case in which a 64 X 64 partition is selected as one 64 X 64 block through rate-distortion optimization, and one filter index Ix is selected as the decoder for the 64 X 64 partition. Is sent.
  • one filter index is transmitted to the decoder for each of the four 32 X 32 partitions.
  • different filter indices may be selected through rate-distortion optimization as shown in the center of FIG. 7 (Ix0, Ix1, Ix2, Ix3). For some equal or all identical filter indices may be selected through rate-distortion optimization for.
  • one filter index is transmitted to the decoder for each of the three 32 X 32 partitions, and one filter index is transmitted to the decoder for each of the four 32 X 32 partitions.
  • Up to seven filter indices may be used.
  • different filter indices may be selected through rate-distortion optimization as shown in the center of FIG. 7 (Ix0, Ix1, Ix6), and the rate for the three 32 X 32 partitions. Distortion optimization may select some or all identical filter indices.
  • FIG. 8 is a conceptual diagram illustrating a process of selecting and using a filter in units of asymmetric partitioning according to another embodiment of the present invention.
  • the size of the prediction unit (PU) for inter prediction or intra prediction is MXM (M is a natural number, the unit is pixel), asymmetric partition division is performed in the horizontal direction of the coding unit or asymmetric partition division is performed in the vertical direction. can do.
  • M is a natural number, the unit is pixel
  • asymmetric partition division is performed in the horizontal direction of the coding unit or asymmetric partition division is performed in the vertical direction. can do.
  • FIG. 8 a case where the size of the prediction unit PU is 64 ⁇ 64 is illustrated.
  • the asymmetric partitioning in the horizontal direction is divided into partitions P11a having a size of 64 X 16 pixels and P21a having a size of 64 X 48 pixels, or partitions P12a having a size of 64 X 48 pixels and a size of 64 X 16 pixels. It can divide into P22a. You can also split the partition asymmetrically in the vertical direction into partitions P13a with size 16 X 64 pixels and P23a with size 48 X 64 pixels, or P24a with size 48 X 64 pixels and P24a with size 16 X 64 pixels. Can be.
  • One filter index is transmitted to the decoder for each of the 64 X 16 partition, the 64 X 48 partition, the 16 X 64 partition, and the 48 X 64 partition of FIG. 8.
  • different filter indices may be selected through rate-distortion optimization for each of the 64 X 16 partitions, the 64 X 48 partitions, the 16 X 64 partitions, and the 48 X 64 partitions within the 64 X 64 partitions. It may be chosen.
  • FIG. 9 illustrates an embodiment of performing geometric partition partitioning having a shape other than square for the prediction unit PU.
  • the boundary line L of the geometric partition for the prediction unit PU may be defined as follows. By dividing the center O of the prediction unit PU into four quadrants using the X and Y axes and drawing a waterline from the center O of the prediction unit PU to the boundary line L, the center of the prediction unit PU All boundary lines in any direction can be specified by the vertical distance ⁇ from) to the boundary line L and the rotation angle ⁇ from the X axis to the waterline in the counterclockwise direction.
  • FIG. 10 is a conceptual view illustrating a process of selecting and using a filter in a geometric partition unit having a shape other than square according to another embodiment of the present invention.
  • the upper left block of the quadrant 2 is divided into partitions P11b and the remaining 1, 3, and 4 quadrants. It is possible to divide the formed ' ⁇ ' block into partition P21b.
  • the lower left block of the third quadrant may be partitioned into partition P12b, and the blocks consisting of the remaining one, two, and four quadrants may be partitioned into partition P22b.
  • the upper right block of the first quadrant may be partitioned into partition P13b, and the block consisting of the remaining two, three, and four quadrants may be partitioned into partition P23b.
  • the lower right block of the quadrant 4 may be partitioned into partition P14b, and the blocks consisting of the remaining 1, 2, and 3 quadrants may be partitioned into partition P24b.
  • the partition By partitioning the partition into a '-' shape as above, if there are moving objects in the edge block, that is, the upper left, lower left, upper right and lower right blocks, the partition is divided into four blocks more effectively. Encoding can be done. Among the four partitions, a corresponding partition may be selected and used according to which edge block a moving object is located.
  • one filter index may be transmitted to the decoder for each geometric partition.
  • different filter indices may be selected through rate-distortion optimization for each of the geometric partitions, or all the same filter indices may be selected.
  • FIG. 11 is a conceptual view illustrating a process of selecting and using a filter in a geometric partition unit having a shape other than square according to another embodiment of the present invention.
  • a prediction unit PU for inter-screen prediction or intra-screen prediction is divided into two different irregular areas (modes 0 and 1) or divided into rectangular areas of different sizes (modes 2 and 3). ) can do.
  • the parameter 'pos' is used to indicate the position of the partition boundary.
  • 'pos' represents the distance in the horizontal direction from the diagonal of the prediction unit PU to the partition boundary.
  • 'pos' represents the vertical bisector or horizontal of the prediction unit PU. The horizontal distance from the bisector to the partition boundary.
  • mode information may be transmitted to the decoder.
  • a mode having a minimum RD cost in terms of RD may be used for inter prediction.
  • one filter index may be transmitted to the decoder for each geometric partition.
  • different filter indices may be selected through rate-distortion optimization for each of the geometric partitions, or all the same filter indices may be selected.
  • the size of the block after partitioning as described above may vary.
  • the shape of the block after partitioning as described above is asymmetrical, such as a rectangular shape as shown in Figs. It can have a variety of geometric shapes, such as a ruler, a triangle, and so on.
  • a unit for transmitting the filter information of the interpolation filter-the filter index or the filter coefficient- is not a unit of picture in order to increase the coding efficiency by increasing the prediction performance when predicting motion compensation. It can be adaptively adjusted in a more precise unit-a slice unit, a prediction unit unit or an (extended) macroblock unit, or a partition unit.
  • FIG. 12 is a conceptual diagram illustrating a coding method using block merging according to an embodiment of the present invention.
  • the current block X is merged with a previously encoded Ao block and Bo block, and blocks Ao, Bo, and X apply the same motion parameter to the decoder.
  • the motion parameter may include, for example, a motion vector, a motion vector difference value, and the like.
  • a merging flag indicating whether block merging is applied may be transmitted to the decoder.
  • a set of all prediction blocks is called a temporary block, and a set of blocks that are allowed to merge with a specific block is defined as a merge block.
  • the temporary block includes blocks coded up to the current block.
  • the criterion of the mergeable blocks is for example two blocks of the top peripheral samples and the left peripheral samples of the current block, or the top peripheral blocks and the left peripheral blocks of the current block. This can be set in advance. Alternatively, the criterion of the mergeable blocks may be preset to two or more blocks, for example, all of the top peripheral blocks and all of the left peripheral blocks of the current block.
  • the criteria of the mergeable blocks may be predetermined according to an appointment between the encoder and the decoder. For example, as the default value, the upper and left neighboring samples of the current block are set as described above, and information indicating a criterion of separately mergeable blocks is not transmitted to the decoder. It may be. Alternatively, information indicating a criterion of mergeable blocks may be sent to the decoder.
  • the set of mergeable blocks may have, for example, at most two elements (the two sample positions, ie the left peripheral sample position and the top peripheral sample position).
  • the set of mergeable blocks is not necessarily limited to having only two candidate sample positions or two candidate blocks, and may have two or more candidate sample positions or candidate blocks.
  • a mergeable block has two candidate blocks will be described with reference to FIG. 12.
  • FIG. 12 illustrates a case in which a picture is divided into prediction blocks by quadtree-based division.
  • the two largest blocks P1 and P2 at the top of FIG. 12 are macro blocks and are the largest prediction blocks.
  • the remaining blocks of FIG. 12 are obtained by subdivision of the corresponding macroblock.
  • the current block is marked with an 'X'. 12 to 19 represent areas encoded before the current block X, and may be the above-mentioned 'temporary block'.
  • the mergeable block may be generated as follows.
  • the left peripheral sample position of the current block and the top peripheral sample position of the current block become candidate block positions for block merging. If the set of mergeable blocks is not empty, a merge flag is sent to the decoder indicating that the current block is merged with the mergeable block. Otherwise, if the merge flag is '0' (false), the motion parameters are transmitted to the decoder without block merging with any one of the temporary blocks as there is no mergeable block. do.
  • the merge flag is '1' (true)
  • the following operation is performed. If the mergeable block set includes only one block, one block included in this mergeable block set is used for block merging. If the mergeable block set includes two blocks and the motion parameters of these two blocks are the same, the motion parameters of the two blocks belonging to this mergeable block are also used for the current block. For example, when merge_left_flag is '1' (true), the left peripheral sample position among the top-left sample positions for the current block X may be selected among the mergeable block sets, and merge_left_flag is '0' (false). The upper peripheral sample position, which is the remaining of the upper-left sample positions for the current block X, may be selected among the mergeable block set. The motion parameters for the blocks selected as above are also used for the current block.
  • blocks (“Ao” and “Bo” blocks) including direct (upper or left) peripheral samples among upper-left sample positions may be included in a mergeable block set.
  • the current block X is merged with block Ao or block Bo. If merge_flag is 0 (false), then the current block X is not merged with either block Ao or block Bo. If the block Ao and the block Bo have the same motion parameters, it is not necessary to distinguish between the two blocks Ao and the block Bo, since the same result is obtained by merging with either of the two blocks of the block Ao and the block Bo. Therefore, merge_left_flag does not need to be sent in this case. Otherwise, if block Ao and block Bo have different motion parameters, the current block X is merged with the block Bo if merge_left_flag is 1, and the current block X is merged with the block Ao if merge_left_flag is 0.
  • 13 to 15 are conceptual views illustrating an encoding method using block merging in case of asymmetric partitioning according to another embodiment of the present invention.
  • 13 to 15 illustrate three examples of block merging when the geometric partition division of FIG. 8 is used in inter prediction, and is not limited to the case illustrated in FIGS. 13 to 15.
  • the block merging according to another embodiment of the present invention may be applied to a combination of various partition partitioning cases.
  • blocks including the top or left peripheral samples among the top-left sample positions of the current block X may be included in the mergeable block set.
  • the current block X is merged with block Ala or block Bla. If merge_flag is 0 (false), the current block X is not merged with either block A1a or block B1a.
  • a block B1a including left neighboring samples of the top-left sample position for the current block X of the mergeable block set may be selected to merge with the current block X and
  • merge_left_flag is '0' (false)
  • a block A1a including the top peripheral samples remaining among the top-left sample positions for the current block X in the mergeable block set may be selected to merge with the current block X.
  • the current block X is merged with block A1b or block B1b belonging to a mergeable block set. If merge_flag is 0 (false), the current block X is not merged with either block A1b or block B1b. If merge_left_flag is '1' (true), block B1b may be selected among the mergeable block sets to merge with the current block X, and if merge_left_flag is '0' (false), block A1b merges with the current block X Can be chosen to.
  • the current block X is merged with block A1c or block B1c belonging to a mergeable block set. If merge_flag is 0 (false), the current block X is not merged with either block A1c or block B1c. If merge_left_flag is '1' (true), block B1c may be selected from the mergeable block set to merge with the current block X, and if merge_left_flag is '0' (false), block A1c merges with the current block X Can be chosen to.
  • 16 to 17 are conceptual views illustrating an encoding method using block merging in the case of geometrical partitioning according to another embodiment of the present invention.
  • 16 to 17 illustrate two examples of block merging when the geometric partition division of FIG. 10 is used in inter prediction, and is not limited to the case illustrated in FIGS. 16 to 17.
  • the block merging according to another embodiment of the present invention may be applied to a combination of various partition partitioning cases.
  • blocks ('A2a' and 'B2a' blocks) including upper or left peripheral samples among the upper-left sample positions of the current block X may be included in the mergeable block set.
  • the current block X is merged with block A2a or block B2a. If merge_flag is 0 (false), the current block X is not merged with either block A2a or block B2a.
  • block B2a including left neighboring samples of the top-left sample position for the current block X of the mergeable block set may be selected to merge with the current block X and
  • merge_left_flag is '0' (false)
  • a block A2a including the top peripheral samples remaining among the top-left sample positions for the current block X in the mergeable block set may be selected to merge with the current block X.
  • a current block X is merged with block A2b or block B2b belonging to a mergeable block set. If merge_flag is 0 (false), the current block X is not merged with either block A2b or block B2b. If merge_left_flag is '1' (true), block B2b may be selected from the mergeable block set to merge with the current block X, and if merge_left_flag is '0' (false), block A2b merges with the current block X Can be chosen to.
  • 18 to 19 are conceptual views illustrating an encoding method using block merging in the case of geometric partitioning according to another embodiment of the present invention.
  • 18 to 19 illustrate two examples of block merging in the case of using the geometric partition division of FIGS. 9 and 11 for inter prediction, and are not limited to the cases illustrated in FIGS. 6A to 6B.
  • the block merging according to another embodiment of the present invention may also be applied to a combination of various geometric partition partitioning cases illustrated in FIGS. 9 and 11.
  • blocks (“A3a” and “B3a” blocks) including upper or left peripheral samples among the upper-left sample positions of the current block X may be included in the mergeable block set.
  • the current block X is merged with block A3a or block B3a. If merge_flag is 0 (false), the current block X is not merged with either block A3a or block B3a.
  • a block B3a including left neighboring samples of the top-left sample position for the current block X of the mergeable block set may be selected to merge with the current block X and
  • merge_left_flag is '0' (false)
  • a block A3a including the top peripheral samples remaining among the top-left sample positions for the current block X in the mergeable block set may be selected to merge with the current block X.
  • a current block X is merged with block A3b or block B3b belonging to a mergeable block set. If merge_flag is 0 (false), the current block X is not merged with either block A3b or block B3b. If merge_left_flag is 1 (true), block B3b may be selected from the mergeable block set to merge with the current block X, and if merge_left_flag is '0' (false), to block A3b to merge with the current block X Can be selected.
  • 20 is a flowchart illustrating a method of encoding an image using block merging according to an embodiment of the present invention.
  • a prediction unit for inter-screen prediction or intra-picture prediction with respect to the input image is partitioned using the aforementioned various partition partitioning methods. For each partitioned block, a region similar to that of the partitioned block currently encoded is searched for in at least one reference picture (encoded is stored in the frame buffer 651) before and / or after the currently encoded picture.
  • a motion vector is generated in block units, and a prediction block (or a predicted prediction unit) is generated by performing motion compensation using the generated motion vector and the picture (step 903a).
  • the encoding apparatus performs the aforementioned block merging on the partitioned prediction unit PU to generate a motion parameter for each merged block (step 905a).
  • the block-specific motion parameters merged by performing the above-described block merging are transmitted to the decoder.
  • the encoding apparatus obtains a difference between the current prediction unit and the predicted prediction unit and generates a residual (step 907a).
  • the encoding apparatus transforms and quantizes the generated residual value (step 909a), and entropy encodes header information such as quantized DCT coefficients and a motion parameter to generate a bit stream (step 911a).
  • the motion parameter is transmitted by transmitting the motion parameter only once for the entire merged block using the block merging without transmitting the motion parameter for each prediction block.
  • the coding efficiency of an image having a high resolution of HD or Ultra High Definition (HD) or higher can be improved by reducing the amount of transmissions.
  • FIG. 21 is a flowchart illustrating a video decoding method according to an embodiment of the present invention.
  • a decoding apparatus first receives a bit stream from an encoding apparatus (step 1110a).
  • Data decoded through entropy decoding includes a residual indicating a difference between the current prediction unit and the predicted prediction unit.
  • the header information decoded through entropy decoding may include additional information such as prediction unit information, motion compensation, and motion parameters for prediction.
  • the prediction unit information may include prediction unit size information.
  • the motion parameter may include a motion parameter transmitted for each block merged by block merging methods according to embodiments of the present invention.
  • the prediction unit (PU) information may include the size of the largest coding unit (LCU), the size of the minimum coding unit (SCU), the maximum allowable layer level or layer depth, and flag information. .
  • the decoding control unit receives the information on the size of the prediction unit (PU) applied by the encoding apparatus from the encoding apparatus and performs motion compensation decoding or inverse transform or inverse quantization, which will be described later, according to the size of the prediction unit (PU) applied by the encoding apparatus. Can be performed.
  • the decoding apparatus inverse quantizes and inversely transforms the entropy decoded residual value (step 1105a).
  • the inverse transform process may be performed in units of prediction unit sizes (eg, 32x32 or 64x64 pixels).
  • the decoding apparatus generates the predicted prediction unit by performing inter-screen prediction or intra-picture prediction using prediction unit size information, motion parameters for motion compensation and prediction, and a previously reconstructed picture (step 1107a).
  • the decoding apparatus performs inter-prediction or intra-prediction using the prediction unit size information and the motion parameter transmitted for each block merged by the block merging methods according to the embodiments of the present invention.
  • the decoder reconstructs the image by adding the inversely quantized and inversely transformed residual value and the prediction unit predicted through the inter prediction or intra picture prediction (step 1109a).
  • FIG. 22 is a conceptual view illustrating a process of selecting and using a filter in partition units using block merging according to another embodiment of the present invention.
  • the current block X is merged with a previously encoded Ao block and Bo block so that blocks Ao, Bo, and X have the same motion parameter and / or filter.
  • the information is applied and sent to the decoder.
  • the motion parameter may include, for example, a motion vector, a motion vector difference value, a residual value, and the like.
  • the filter information may include a filter index and / or a filter coefficient.
  • a merging flag indicating whether block merging is applied may be transmitted to the decoder.
  • a set of all prediction blocks is called a temporary block, and a set of blocks that are allowed to merge with a specific block is defined as a mergeable block.
  • the temporary block includes blocks coded up to the current block.
  • the criterion of the mergeable blocks is for example two blocks of the top peripheral samples and the left peripheral samples of the current block, or the top peripheral blocks and the left peripheral blocks of the current block. This can be set in advance. Alternatively, the criterion of the mergeable blocks may be preset to two or more blocks, for example, all of the top peripheral blocks and all of the left peripheral blocks of the current block.
  • the criteria of the mergeable blocks may be predetermined according to an appointment between the encoder and the decoder. For example, as the default value, the upper and left neighboring samples of the current block are set as described above, and information indicating a criterion of separately mergeable blocks is not transmitted to the decoder. It may be. Alternatively, information indicating a criterion of mergeable blocks may be sent to the decoder.
  • the set of mergeable blocks may have, for example, at most two elements (the two sample positions, ie the left peripheral sample position and the top peripheral sample position).
  • the set of mergeable blocks is not necessarily limited to having only two candidate sample positions or two candidate blocks, and may have two or more candidate sample positions or candidate blocks.
  • a mergeable block set has two candidate blocks will be described with reference to FIG. 22.
  • FIG. 22 illustrates a case where a picture is divided into prediction blocks by quadtree-based division.
  • the two largest blocks P1 and P2 at the top of FIG. 22 are macro blocks and are the largest prediction blocks.
  • the remaining blocks of FIG. 22 are obtained by subdivision of the corresponding macroblock.
  • the current block is marked with an 'X'.
  • areas indicated by a dotted line represent blocks encoded before the current block X, and may be the above-mentioned 'temporary block'.
  • the mergeable block may be generated as follows.
  • the left peripheral sample position of the current block and the top peripheral sample position of the current block become candidate block positions for block merging. If the set of mergeable blocks is not empty, a merge flag is sent to the decoder indicating that the current block is merged with the mergeable block. Otherwise, if the merge flag is '0' (false), the motion parameters are transmitted to the decoder without block merging with any one of the temporary blocks as there is no mergeable block. do.
  • the merge flag is '1' (true)
  • the following operation is performed. If the mergeable block set includes only one block, one block included in this mergeable block set is used for block merging. If the mergeable block set includes two blocks and the motion parameters of these two blocks are the same, the motion parameters of the two blocks belonging to this mergeable block are also used for the current block. For example, when merge_left_flag is '1' (true), the left peripheral sample position among the top-left sample positions for the current block X may be selected among the mergeable block sets, and merge_left_flag is '0' (false). The upper peripheral sample position, which is the remaining of the upper-left sample positions for the current block X, may be selected among the mergeable block set. The motion parameters for the blocks selected as above are also used for the current block.
  • blocks (“Ao” and “Bo” blocks) including direct (top or left) peripheral samples of the top-left sample position may be included in the mergeable block set.
  • the current block X is merged with block Ao or block Bo. If merge_flag is 0 (false), then the current block X is not merged with either block Ao or block Bo. If block Ao and block Bo have the same motion parameter and / or filter information, there is no need to distinguish the two blocks Ao and Bo since the same result is obtained when merging with either of block Ao and block Bo. . Therefore, merge_left_flag does not need to be sent in this case.
  • 23 and 24 are conceptual views illustrating a process of selecting and using a filter in partition units using block merging in case of asymmetric partitioning according to another embodiment of the present invention.
  • FIGS. 23 and 24 illustrate two examples of block merging when the asymmetric partition division of FIG. 8 is used for inter prediction, and is not limited only to the cases illustrated in FIGS. 23 and 24. It is a matter of course that the block merging according to another embodiment of the present invention may be applied to a combination of the various partition partitioning cases shown.
  • a current block X is merged with block A1b or block B1b belonging to a mergeable block set. If merge_flag is 0 (false), the current block X is not merged with either block A1b or block B1b. If merge_left_flag is '1' (true), block B1b may be selected among the mergeable block sets to merge with the current block X, and if merge_left_flag is '0' (false), block A1b merges with the current block X Can be chosen to.
  • the current block X is merged with block A1c or block B1c belonging to a mergeable block set. If merge_flag is 0 (false), the current block X is not merged with either block A1c or block B1c. If merge_left_flag is '1' (true), block B1c may be selected from the mergeable block set to merge with the current block X, and if merge_left_flag is '0' (false), block A1c merges with the current block X Can be chosen to.
  • the same filter may be selected for block merged asymmetric partitions, and the same filter information may be transmitted to the decoder.
  • the same filter index Ix2 may be transmitted to the decoder for the merged asymmetric partitions A1b and B1b.
  • the same filter index Ix2 may be transmitted to the decoder for the merged asymmetric partitions A1c and B1c.
  • FIG. 25 is a conceptual view illustrating a process of selecting and using a filter in partition units using block merging in the case of geometric partitioning according to another embodiment of the present invention.
  • FIG. 25 illustrates a block merging in the case of using the geometric partition partition of FIG. 10 in inter prediction, and is not limited to the case shown in FIG. 25.
  • the combination of the cases of various partition partitions shown in FIG. Of course, block merge according to another embodiment of the present invention can also be applied to.
  • blocks ('A2a' and 'B2a' blocks) including upper or left peripheral samples among the upper-left sample positions of the current block X may be included in the mergeable block set.
  • the current block X is merged with block A2a or block B2a. If merge_flag is 0 (false), the current block X is not merged with either block A2a or block B2a.
  • a block B2a including left neighboring samples of the top-left sample position for the current block X of the mergeable block set may be selected to merge with the current block X and
  • merge_left_flag is '0' (false)
  • a block A2a including the top peripheral samples remaining among the top-left sample positions for the current block X in the mergeable block set may be selected to merge with the current block X.
  • the same filter may be selected for block merged geometric partitions, and the same filter information may be transmitted to the decoder.
  • the same filter index Ix1 may be transmitted to the decoder for the merged geometric partitions A2a and B2a.
  • 26 and 27 are conceptual views illustrating a process of selecting and using a filter in partition units using block merging in the case of geometric partitioning according to another embodiment of the present invention.
  • FIGS. 26 and 27 illustrate block merging in the case of using the geometric partition division of FIGS. 9 and 11 for inter prediction, and are not limited to the cases illustrated in FIGS. 26 and 27.
  • the block merging according to another embodiment of the present invention may also be applied to a combination of various geometric partition partitioning cases illustrated in FIGS. 9 and 11.
  • blocks ('A3a' and 'B3a' blocks) including upper or left peripheral samples among the upper-left sample positions of the current block X may be included in the mergeable block set.
  • the current block X is merged with block A3a or block B3a. If merge_flag is 0 (false), the current block X is not merged with either block A3a or block B3a.
  • a block B3a including left neighboring samples of the top-left sample position for the current block X of the mergeable block set may be selected to merge with the current block X and
  • merge_left_flag is '0' (false)
  • a block A3a including the top peripheral samples remaining among the top-left sample positions for the current block X in the mergeable block set may be selected to merge with the current block X.
  • a current block X is merged with block A3b or block B3b belonging to a mergeable block set. If merge_flag is 0 (false), the current block X is not merged with either block A3b or block B3b. If merge_left_flag is '1' (true), block B3b may be selected from the mergeable block set to merge with the current block X, and if merge_left_flag is '0' (false), block A3b merges with the current block X Can be chosen to.
  • the same filter may be selected for the block merged geometric partitions, and the same filter information may be transmitted to the decoder.
  • the same filter index Ix2 may be transmitted to the decoder for the merged geometric partitions A3a and B3a.
  • the same filter index Ix1 may be transmitted to the decoder for the merged geometric partitions A3b and B3b.
  • FIG. 28 is a flowchart illustrating an image encoding method for selecting and encoding a filter in units of slices or partitions, according to an embodiment of the present invention.
  • a prediction unit for inter-screen prediction or intra-picture prediction with respect to the input image is partitioned by using the aforementioned various partition partitioning methods. For each partitioned block, a region similar to that of the partitioned block currently encoded is searched for in at least one reference picture (encoded in the frame buffer 651), which is located before and / or after the currently encoded picture. A motion vector is generated on a block basis, and a prediction block (or a predicted prediction unit) is generated by performing motion compensation using the generated motion vector and the picture (step 903b).
  • the encoding apparatus uses the interpolation filter used for the motion compensated inter picture prediction to be more precise than a picture unit, for example, a slice unit, a prediction unit unit, or a partition unit (the partition unit is an extended macro block, a macro block. Or a block) to select sub-pixel values (step 905b).
  • the encoding apparatus may further filter the filter information of the interpolation filter used for the motion compensation inter prediction, such as the filter index or the filter coefficient, to a more precise unit than the picture unit, for example, a slice unit or a prediction unit unit.
  • sub-pixel values are calculated and encoded by selecting on a partition-by-partition basis.
  • the encoding apparatus uses a partition unit as a transmission unit of filter information-a filter index or a filter coefficient of an interpolation filter
  • the encoding apparatus uses the entire merged block as a transmission unit of motion parameters and / or filter information using the aforementioned block merging.
  • the encoding apparatus uses an extended macroblock by adaptively selecting motion vector precision or pixel precision among 1/2 pel, 1 / 4-pel, and 1/8 pel for the extended macroblock.
  • the coding efficiency can be increased.
  • 6-tap interpolation with filter coefficients ((1, -5, 20, 20, -5, 1) / 32) for P pictures when applying 1/2 pel motion vector precision or pixel precision Filters can be used to generate 1/2 pel pixel precision signals.
  • 1/4 pel motion vector precision or pixel precision a value of 1/2 pel pixel precision signal may be generated, and then a 1/4 pel pixel precision signal may be generated by applying an average filter.
  • 1/8 pel motion vector precision or pixel precision is applied, a value of 1/4 pel pixel precision signal may be generated, and then 1/8 pel pixel precision signal may be generated by applying an average filter.
  • the encoding apparatus obtains a difference between the current prediction unit and the predicted prediction unit, generates, transforms and quantizes a residual value (step 907b), and then includes header information such as quantized DCT coefficients, motion parameters, and filter information. (Or syntax elements) are entropy encoded to generate a bit stream (step 909b).
  • Entropy coding reduces the number of bits needed for the representation of syntax elements.
  • entropy coding is a lossless operation that aims to minimize the number of bits needed to represent transmitted or stored symbols using the distributional nature of the syntax elements that some symbols occur more often than others.
  • the filter information is transmitted only once for the entire merged block by using block merging instead of transmitting the filter information for each prediction block, thereby reducing the amount of transmission of the filter information.
  • encoding efficiency of an image having a high resolution of HD or Ultra HD (Ultra High Definition) or higher can be improved.
  • 29 is a view illustrating a configuration of an image encoding apparatus using block merging according to an embodiment of the present invention, and an image encoding apparatus for selecting and encoding a filter on a slice, prediction unit, or partition basis according to another embodiment of the present invention. Is a block diagram for this.
  • the apparatus for encoding an image includes an encoder 630, and the encoder 630 includes an inter prediction unit 632, an intra prediction unit 635, a subtractor 637, a transformer 639, and quantization.
  • the unit 641 may include an entropy encoder 643, an inverse quantizer 645, an inverse transform unit 647, an adder 649, and a frame buffer 651.
  • the inter prediction predictor 632 includes a motion predictor 631 and a motion compensator 633.
  • the encoder 630 performs encoding on the input image.
  • the input image may be used for inter prediction in the inter prediction unit 632 or intra prediction in the intra prediction unit 635 in units of prediction units (PUs).
  • PUs prediction units
  • the size of the prediction unit applied to the inter prediction or intra prediction may be determined according to the temporal frequency characteristics of the stored frame (or picture) after storing the input image in a buffer (not shown) provided in the encoder.
  • the prediction unit determiner 610 analyzes the temporal frequency characteristics of the n-th frame (or picture) and the n-th frame (or picture), and the first threshold value in which the analyzed time frequency characteristic value is preset.
  • the size of the prediction unit is determined to be 64x64 pixels, and if the analyzed time frequency characteristic value is greater than or equal to the preset first threshold value and less than the second threshold value, the size of the prediction unit is determined to be 32x32 pixels, and the analyzed time frequency When the characteristic value is greater than or equal to a second preset threshold, the size of the prediction unit may be determined to be 16x16 pixels or less.
  • the first threshold value may represent a time frequency characteristic value when the amount of change between frames (or pictures) is smaller than the second threshold value.
  • the size of the prediction unit applied to the inter prediction or intra prediction may be determined according to the spatial frequency characteristics of the stored frame (or picture) after storing the input image in a buffer (not shown) provided in the encoder. For example, when the image flatness or uniformity of the input frame (or picture) is high, the size of the prediction unit is set to be larger than 32x32 pixels, and when the image flatness or uniformity of the frame (or picture) is low (that is, If the spatial frequency is high), the size of the prediction unit can be set small to 16x16 pixels or less.
  • the operation of determining the size of the prediction unit is performed by a coding controller (not shown) by receiving the input image or by a separate prediction unit determination unit (not shown) by receiving the input image.
  • the size of the prediction unit may have a size of 16x16 pixels or less, a 32x32 pixel size, and a 64x64 pixel size.
  • prediction unit information including the prediction unit size determined for inter-screen prediction or intra-screen prediction is provided to the entropy encoder 643, and is provided to the encoder 630 in units of prediction units having the determined size.
  • the prediction block information may include macroblock size information or extended macroblock size information.
  • the extended macroblock size may be 32x32 pixels or more, and may include, for example, 32x32 pixels, 64x64 pixels, or 128x128 pixels.
  • prediction unit information is an end coding unit to be used for inter prediction or intra prediction instead of the size information of the macro block.
  • the size information of the LCU that is, the size information of the prediction unit may be included, and further, the prediction unit information may further include the size of the largest coding unit (LCU), the size of the minimum coding unit (SCU), and the maximum allowable hierarchical level. ), Or may further include layer depth and flag information.
  • the encoder 630 performs encoding on the prediction unit having the determined size.
  • the inter prediction unit 632 divides the provided prediction unit to be encoded using a partition partitioning method such as asymmetric partitioning, geometric partitioning, and the like, and estimates motion in units of the partitioned block to generate a motion vector. do.
  • a partition partitioning method such as asymmetric partitioning, geometric partitioning, and the like
  • the motion predictor 631 divides the provided current prediction unit by using the aforementioned various partition partitioning methods, and includes at least one reference picture (frame buffer) located before and / or after a picture currently encoded for each partitioned block.
  • step 651 encoding is completed and stored), a region similar to a partitioned block currently encoded is generated and a motion vector is generated in units of blocks.
  • the size of the block used for the motion estimation may vary, and when the asymmetric partition and the geometric partition partition according to the embodiments of the present invention are applied, the shape of the block is not only a conventional square shape. 6 to 11, it may have a geometric shape such as an asymmetrical shape such as a rectangle, a shape, a triangle shape, or the like.
  • the motion compensator 633 generates a prediction block (or predicted prediction unit) obtained by performing motion compensation using the motion vector generated from the motion predictor 631 and the reference picture.
  • the inter prediction unit 632 performs the above-described block merging to obtain a motion parameter for each merged block.
  • the block-specific motion parameters merged by performing the above-described block merging are transmitted to the decoder.
  • inter-screen prediction unit 632 may use the interpolation filter used for the motion-compensated inter-screen prediction as described above in more precise units than a picture unit, for example, a slice unit or a partition unit (the partition unit is an extended macro. Block, macroblock, or block) to select sub-pixel values.
  • the inter prediction unit 632 transmits the motion parameter and / or the filter information to the entire merged block using the aforementioned block merging. Use as a unit.
  • the inter prediction unit 632 adaptively selects motion vector precision or pixel precision from 1/2 pel, 1 / 4-pel, and 1/8 pel for the extended macroblock.
  • the coding efficiency can be improved.
  • 6-tap interpolation with filter coefficients ((1, -5, 20, 20, -5, 1) / 32) for P pictures when applying 1/2 pel motion vector precision or pixel precision Filters can be used to generate 1/2 pel pixel precision signals.
  • 1/4 pel motion vector precision or pixel precision a value of 1/2 pel pixel precision signal may be generated, and then a 1/4 pel pixel precision signal may be generated by applying an average filter.
  • 1/8 pel motion vector precision or pixel precision is applied, a value of 1/4 pel pixel precision signal may be generated, and then 1/8 pel pixel precision signal may be generated by applying an average filter.
  • the intra predictor 635 performs intra prediction encoding using pixel correlation between blocks.
  • the intra predictor 635 performs intra prediction to obtain a prediction block of the current prediction unit by predicting a pixel value from an already encoded pixel value of a block in a current frame (or picture).
  • the subtractor 637 generates a residual value by subtracting the prediction block (or the predicted prediction unit) and the current block (or the current prediction unit) provided by the motion compensator 633, and the transformer 639 and the quantizer 641. ) Transforms and residuals the residual cosine transform (DCT).
  • the transform unit 639 may perform the transformation based on the prediction unit size information, and may perform the transformation, for example, to a 32x32 or 64x64 pixel size.
  • the transform unit 639 may perform transform in a separate transform unit (TU) unit independently of the prediction unit size information provided from the prediction unit determiner 610.
  • the transform unit (TU) size may range from a minimum of 4 by 4 pixels to a maximum of 64 by 64 pixels.
  • the maximum size of the transform unit (TU) may have a 64x64 pixel size or more, for example 128 ⁇ 128 pixel size.
  • the transform unit size information may be included in the transform unit information and transmitted to the decoder.
  • the entropy encoder 643 entropy encodes header information such as quantized DCT coefficients, motion vectors, determined prediction unit information, partition information, filter information, and transform unit information to generate a bit stream.
  • the inverse quantizer 645 and the inverse transformer 647 inverse quantizes and inverse transforms the quantized data through the quantizer 641.
  • the adder 649 adds the inverse transformed data and the predictive prediction unit provided by the motion compensator 633 to reconstruct the image and provide the image to the frame buffer 651, and the frame buffer 651 stores the reconstructed image.
  • FIG. 30 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.
  • a decoding apparatus first receives a bit stream from an encoding apparatus (step 1101b).
  • Data decoded through entropy decoding includes a residual indicating a difference between the current prediction unit and the predicted prediction unit.
  • the header information decoded through entropy decoding may include additional information such as prediction unit information, motion parameters and / or filter information (filter index or filter coefficient) for motion compensation and prediction.
  • the prediction unit information may include prediction unit size information.
  • the motion parameter and / or filter information may include motion parameter and / or filter information transmitted for each block merged by block merging methods according to embodiments of the present invention.
  • the prediction unit (PU) information may include the size of the largest coding unit (LCU), the size of the minimum coding unit (SCU), the maximum allowable layer level or layer depth, and flag information. .
  • the decoding control unit receives the information on the size of the prediction unit (PU) applied by the encoding apparatus from the encoding apparatus and performs motion compensation decoding or inverse transform or inverse quantization, which will be described later, according to the size of the prediction unit (PU) applied by the encoding apparatus. Can be performed.
  • the decoding apparatus inverse quantizes and inversely transforms the entropy decoded residual value (step 1105b).
  • the inverse transform process may be performed in units of prediction unit sizes (eg, 32x32 or 64x64 pixels or 16x16 pixels).
  • the decoding apparatus generates an predicted prediction unit by performing inter-screen prediction or intra-picture prediction using prediction unit size information, motion parameters for motion compensation and prediction, filter information, and a previously reconstructed picture (step 1107b).
  • the decoding apparatus performs inter-screen prediction or intra-screen prediction using prediction unit size information, motion parameter and / or filter information transmitted for each block merged by the block merging methods according to embodiments of the present invention.
  • the decoder adaptively selects motion vector precision or pixel precision from 1/2 pel, 1 / 4-pel, and 1/8 pel, and selects the selected pixel precision information for the extended macroblock encoded.
  • motion compensation is performed for the extended macro block by adaptively selecting among 1/2 pel, 1 / 4-pel and 1/8 pel.
  • the decoder reconstructs the image by adding an inverse quantized and inverse transformed residual value and a prediction unit predicted through the inter prediction or intra picture prediction (step 1109b).
  • FIG. 31 is a block diagram illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
  • a decoding apparatus includes an entropy decoder 731, an inverse quantizer 733, an inverse transformer 735, a motion compensator 737, and an intra predictor 739. And a frame buffer 741 and an adder 743.
  • the entropy decoder 731 receives the compressed bit stream and performs entropy decoding to generate quantized coefficients.
  • the inverse quantization unit 733 and the inverse transform unit 735 restore the residual values by performing inverse quantization and inverse transformation on the quantized coefficients.
  • the header information decoded by the entropy decoder 731 may include prediction unit size information, and the prediction unit size may include, for example, an extended macroblock size of 16x16 pixels or 32x32 pixels, 64x64 pixels, or 128x128 pixels. Can be.
  • the decoded header information may include motion parameter and / or filter information (filter index or filter coefficient) for motion compensation and prediction.
  • the motion parameter may include a motion parameter transmitted for each block merged by block merging methods according to embodiments of the present invention.
  • the filter information may include filter information transmitted for each block merged by block merging methods according to embodiments of the present invention.
  • the motion compensator 737 uses the motion parameter and / or filter information for the prediction unit having the same size as that of the prediction unit encoded using the header information decoded from the bit stream by the entropy decoder 731. Motion compensation is performed to generate predicted prediction units.
  • the motion compensator 737 generates a predicted prediction unit by performing motion compensation using motion parameter and / or filter information transmitted for each block merged by the block merging methods according to the embodiments of the present invention.
  • the motion compensation unit 737 adaptively selects a motion vector precision or a pixel precision among 1/2 pel, 1 / 4-pel, and 1/8 pel, and encodes an extended macroblock encoded. Based on the selected pixel precision information, motion compensation is performed on the extended macroblock by adaptively selecting among 1/2 pel, 1 / 4-pel, and 1/8 pel.
  • the intra predictor 739 performs intra prediction encoding using pixel correlation between blocks.
  • the intra prediction unit 739 performs intra prediction to obtain a prediction block of the current prediction unit by predicting a pixel value from an already encoded pixel value of a block in a current frame (or picture).
  • the adder 743 reconstructs the image by adding the residual value provided by the inverse transform unit 735 and the predicted prediction unit provided by the motion compensator 737 to provide the frame buffer 741, and the frame buffer 741 Save the restored image. That is, the decoder performs a decoding operation by adding the compressed prediction error (residual value provided by the inverse transform unit) to the prediction unit.

Abstract

입력된 코딩 유닛에 대한 움직임 벡터를 생성한 후, 생성된 움직임 벡터에 기초하여 움직임 보상을 수행하여 예측 신호를 생성하고, 예측 유닛 단위로 가중치 파라미터를 생성한 후, 예측 신호에 가중치 파라미터를 적용하여 예측 마크로 블록을 생성하고, 수신된 코딩 유닛 및 예측 블록에 기초하여 잔여값을 생성한다. 병합된 블록에 대해서는 동일한 움직임 파라미터를 할당하여 복호화기로 전송한다. 영상의 부호화/복호화 방법은 움직임 보상 화면간 예측에 사용되는 보간 필터를 픽춰 단위 보다 정밀한 단위-상기 정밀한 단위는 슬라이스(slice) 단위 및 파티션 단위 중 적어도 하나를 포함함-별로 선택하여 서브-픽셀값을 산출한다. 부호화된 영상의 품질을 향상시킬 수 있고, HD(High Definition)급 이상의 해상도를 가지는 고해상도를 가지는 영상의 부호화 효율을 향상시킬 수 있다.

Description

영상 부호화/복호화 장치 및 방법
본 발명은 영상의 부호화 및 복호화에 관한 것으로, 더욱 상세하게는 HD(High Definition)급 이상의 높은 해상도를 가지는 영상에 적용할 수 있는 영상 부호화/복호화 장치 및 방법에 관한 것이다.
일반적으로 영상 압축 방법에서는 하나의 픽처(picture)를 소정 크기를 가지는 복수의 블록(block)으로 구분하여 부호화를 수행한다. 또한, 압축 효율을 높이기 위해 픽쳐들의 중복도를 제거하는 화면간 예측(inter prediction) 및 화면내 예측(intra prediction) 기술을 이용한다.
화면간 예측을 이용해 영상을 부호화하는 방법은 픽처들 사이의 시간적인 중복성(spatial redundancy)을 제거하여 영상을 압축하는 방법으로서 대표적으로 움직임 보상 예측 부호화 방법이 있다.
움직임 보상 예측 부호화는 현재 부호화되는 픽처의 앞 및/또는 뒤에 위치하는 적어도 하나의 참조 픽처에서 현재 부호화되는 블록과 유사한 영역을 검색하여 움직임 벡터(MV: Motion Vector)를 생성하고, 생성된 움직임 벡터를 이용하여 움직임 보상을 수행하여 얻어지는 예측 블록과 현재 블록의 잔여값(residue)을 DCT(Discrete Cosine Transform)변환하고 양자화한 후 엔트로피 부호화하여 전송한다.
일반적으로 움직임 보상 예측에 사용되는 매크로 블록은 16×16, 8×16, 8×8 픽셀 등의 다양한 크기를 가지는 블록이 사용되고, 변환 및 양자화에는 8×8 또는 4×4 픽셀 크기를 가지는 블록이 사용된다.
움직임 보상 예측 부호화 방법은 예측 움직임 벡터가 부호화할 현재 블록의 움직임을 정확하게 예측하지 못하는 경우에는 예측 블록과 현재 블록의 잔여값이 커지게 되어 부호화 효율이 감소된다. 따라서, 움직임 벡터를 보다 정확하게 생성하여 예측 블록과 현재 블록의 잔여값을 작게 만들 수 있는 움직임 벡터 추정 방법이 요구된다.
화면내 예측은 하나의 픽쳐 내에서 블록간의 화소 상관도를 이용하여 공간적 중복성(spatial redundancy)을 제거하여 영상을 압축하는 방법으로, 부호화할 현재 블록과 인접한 부호화된 화소들로부터 현재 블록의 예측값을 생성한 후 생성된 예측값과 현재 블록의 화소의 잔여값을 압축하는 방식이다.
일반적으로 화면내 예측에 사용되는 블록의 크기는 4×4, 8×8 또는 16×16 픽셀이다.
또한, H.264/AVC에서는 상술한 바와 같은 움직임 보상을 이용하여 영상을 압축할 때 영상의 밝기를 예측하지 못하여 페이드 인(fade in) 또는 페이드 아웃(fade out)과 같이 밝기가 시간적으로 변화하는 영상을 부호화하는 경우 영상의 품질이 크게 열화되는 단점을 보완하기 위해 가중치 예측(Weighted prediction) 방법을 제공하고 있다.
가중치 예측 방법은 크게 명시적 모드(explicit mode)와 묵시적 모드(implicit mode)로 구분할 수 있다. 묵시적 모드는 현재 블록의 예측에 이용되는 가중치를 별도로 부호화하지 않고 현재 픽처와 참조 픽처들 사이의 시간적 거리에 의해 복호화기가 가중치를 계산하는 방법이고, 명시적 모드는 가중치 예측 파라미터(weighted prediction parameter)를 슬라이스 단위로 연산하여 복호화기에 전송하는 방법이다.
그러나, 상술한 바와 같은 가중치 예측 방법은 슬라이스 단위로 수행되기 때문에 정확도가 높은 가중치 예측을 수행할 수 없고, 멀티-패스 부호화를 수행해야 하는 단점이 있다.
따라서, 가중치 예측의 정확도를 향상시키면서 HD(High Definition)급 이상의 해상도를 가지는 고해상도 영상의 부호화에 적용할 수 있는 부호화 방법이 요구된다.
한편, 움직임 보상 화면간 예측의 경우, 하나의 픽춰를 소정 크기를 가지는 복수의 블록(block)으로 구분하여 움직임 벡터(MV)를 생성하고, 생성된 움직임 벡터를 이용하여 움직임 보상을 수행한다. 움직임 보상을 수행하여 얻어지는 각각의 예측 블록에 대한 개별적인 움직임 파라미터는 디코더로 전송된다.
움직임 벡터들은 비-정수 값들을 가질 수 있기 때문에, 움직임 보상 화면간 예측은 비-정수 위치들에서 참조 픽춰의 화소값들을 평가하는 것을 필요로 한다. 비-정수 위치에서의 화소값은 서브-픽셀 값으로 지칭되고 이러한 값을 결정하는 과정을 보간(interpolation)이라고 한다. 서브-픽셀값의 계산은 참조 픽춰의 정수 픽셀의 주위 픽셀들에 대해 필터 계수를 적용하여 필터링함으로써 행해진다. 예를 들어, H.264/AVC의 경우 P 픽춰의 경우 필터 계수들((1, -5, 20, 20, -5, 1)/32)을 지닌 6-탭 보간 필터를 사용하여 예측된다. 일반적으로 더 높은 차수의 필터들을 사용할 경우 더 나은 움직임 예측 성능을 가져오지만, 그 만큼 디코더로 전송할 보간 필터의 필터 계수의 전송량이 증가하게 되는 단점이 있다.
HD(High Definition)급 이상의 해상도를 가지는 고해상도 영상의 경우 하나의 픽처당 블록의 개수가 증가하게 되므로 각각의 예측 블록 마다 움직임 파라미터를 디코더로 전송할 경우 전송되는 움직임 파라미터의 양이 매우 많아지게 되어 코딩 효율 측면에서 바람직하지 못하므로 코딩 효율을 높이기 위한 방법이 요구된다.
본 발명의 제1 목적은 가중치 예측의 정확도를 향상시킬 수 있고, 고해상도의 영상에 적용할 수 있는 가중치 예측을 이용한 영상 부호화 방법 및 복호화 방법을 제공하는 것이다.
또한, 본 발명의 제2 목적은 상기 영상 부호화 방법 및 상기 영상 복호화 방법을 실행하는 가중치 예측을 이용한 영상 부호화 장치 및 복호화 장치을 제공하는 것이다.
본 발명의 제3 목적은 HD(High Definition)급 이상의 해상도를 가지는 고해상도 영상에 적용할 수 있는 블록 병합을 이용한 영상 부호화 방법 및 부호화 장치를 제공하는 것이다.
본 발명의 제4 목적은 HD(High Definition)급 이상의 해상도를 가지는 고해상도 영상에 적용할 수 있는 블록 병합을 이용한 영상 복호화 방법 및 복호화 장치를 제공하는 것이다.
본 발명의 제5 목적은 HD(High Definition)급 이상의 해상도를 가지는 고해상도 영상에서의 부호화 정밀도를 향상시키기 위한 영상 부호화 방법 및 부호화 장치를 제공하는 것이다.
본 발명의 제6 목적은 HD(High Definition)급 이상의 해상도를 가지는 고해상도 영상에서의 복호화 정밀도를 향상시키기 위한 영상 복호화 방법 및 복호화 장치를 제공하는 것이다.
상술한 본 발명의 제1 목적을 달성하기 위한 본 발명의 일 측면에 따른 가중치 예측을 이용한 영상 부호화 방법은, 입력된 코딩 유닛에 대한 움직임 벡터를 생성하는 단계와, 생성된 상기 움직임 벡터에 기초하여 움직임 보상을 수행하여 예측 신호를 생성하는 단계와, 예측 유닛 단위로 가중치 파라미터를 생성하는 단계와, 상기 예측 신호에 상기 가중치 파라미터를 적용하여 예측 블록을 생성하는 단계와, 상기 수신된 코딩 유닛 및 상기 예측 블록에 기초하여 잔여값을 생성하는 단계를 포함한다. 상기 코딩 유닛은 32×32 픽셀 이상의 크기를 가지는 확장 마크로 블록을 포함할 수 있다.
또한, 본 발명의 제1 목적을 달성하기 위한 본 발명의 일 측면에 따른 가중치 예측을 이용한 영상 복호화 방법은, 수신된 비트 스트림을 엔트로피 부호화하여 양자화된 잔여값, 움직임 벡터, 가중치 파라미터를 추출하는 단계와, 상기 양자화된 잔여값을 역양자화 및 역변환하여 잔여값을 복원하는 단계와, 상기 움직임 벡터를 이용하여 움직임 보상을 수행하여 예측 신호를 생성하는 단계와, 상기 예측 신호에 상기 가중치 파라미터를 적용하여 예측 블록을 생성하는 단계와, 상기 잔여값 및 상기 예측 블록에 기초하여 현재 블록을 복원하는 단계를 포함한다. 상기 예측 블록은 32×32 픽셀 이상의 크기를 가지는 확장 마크로 블록을 포함할 수 있다.
상술한 본 발명의 제3 목적을 달성하기 위한 본 발명의 일 측면에 따른 영상의 부호화 방법은 예측 유닛에 대한 움직임 보상 화면간 예측을 수행하는 단계와, 상기 예측 유닛에 대한 파티션 분할후 현재 블록의 주변 샘플들을 포함하는 병합 가능 블록 집합에 속하는 샘플들을 상기 현재 블록과 병합하는 블록 병합을 수행하는 단계를 포함하되, 상기 병합된 블록에 대해서는 동일한 움직임 파라미터를 할당하여 복호화기로 전송한다. 상기 병합 가능 블록 집합은 비대칭(asymmetric) 파티션닝(partitioning)에 의해 생성된 블록 및 기하학적(geometrical) 파티션닝(partitioning)에 의해 생성된 블록 중 적어도 하나를 포함할 수 있다.
또한, 본 발명의 제4 목적을 달성하기 위한 본 발명의 일 측면에 따른 영상의 복호화 방법은, 수신된 비트 스트림을 엔트로피 복호화하여 잔여값을 역양자화 및 역변환하여 잔여값을 복원하는 단계와, 예측 유닛 정보 및 움직임 파라미터를 이용하여 움직임 보상을 수행하여 예측 유닛을 생성하는 단계와, 상기 예측 유닛에 상기 잔여값을 더하여 영상을 복원하는 단계를 포함하되, 상기 예측 유닛에 대한 파티션 분할후 병합 가능 블록 집합에 속하는 블록들 중 현재 블록과 병합된 블록에 대해서는 동일한 움직임 파라미터를 가진다. 상기 병합 가능 블록 집합은 비대칭(asymmetric) 파티션닝(partitioning)에 의해 생성된 블록 및 기하학적(geometrical) 파티션닝(partitioning)에 의해 생성된 블록 중 적어도 하나를 포함할 수 있다. 상기 엔트로피 복호화를 통해 복호화된 헤더 정보에는 예측 유닛 정보, 움직임 보상 및 예측을 위한 움직임 파라미터를 포함할 수 있다. 상기 움직임 파라미터는 상기 블록 병합에 의해 병합된 블록별로 전송된 움직임 파라미터를 포함할 수 있다.
또한, 본 발명의 제4 목적을 달성하기 위한 본 발명의 또 다른 측면에 따른 영상의 복호화 장치는, 수신된 비트 스트림을 엔트로피 복호화하여 잔여값을 역양자화하고 역변환하여 잔여값을 복원하는 역양자화 및 역변환부와, 예측 유닛 정보 및 움직임 파라미터를 이용하여 움직임 보상을 수행하여 예측 유닛을 생성하는 움직임 보상부와, 상기 예측 유닛에 상기 잔여값을 더하여 영상을 복원하는 가산부를 포함하되, 상기 예측 유닛에 대한 파티션 분할후 병합 가능 블록 집합에 속하는 블록들 중 현재 블록과 병합된 블록에 대해서는 동일한 움직임 파라미터를 가진다. 상기 병합 가능 블록 집합은 비대칭(asymmetric) 파티션닝(partitioning)에 의해 생성된 블록 및 기하학적(geometrical) 파티션닝(partitioning)에 의해 생성된 블록 중 적어도 하나를 포함할 수 있다.
또한, 본 발명의 제5 목적을 달성하기 위한 본 발명의 일 측면에 따른 영상의 부호화 방법은, 입력 영상에 대해 화면간 예측을 위한 예측 유닛을 생성하는 단계와, 상기 예측 유닛에 대한 움직임 보상 화면간 예측을 수행하는 단계를 포함하되, 상기 예측 유닛에 대한 움직임 보상 화면간 예측을 수행하는 단계는 상기 움직임 보상 화면간 예측에 사용되는 필터를 픽춰 단위 보다 정밀한 단위-상기 정밀한 단위는 슬라이스(slice) 단위, 예측 유닛 단위 및 파티션 단위 중 적어도 하나를 포함함-별로 선택하여 서브-픽셀값을 산출하는 단계를 포함한다. 상기 예측 유닛에 대한 움직임 보상 화면간 예측을 수행하는 단계는 상기 예측 유닛에 대한 파티션 분할후 현재 블록의 주변 샘플들을 포함하는 병합 가능 블록 집합에 속하는 샘플들을 상기 현재 블록과 병합하는 블록 병합을 수행하는 단계와, 상기 움직임 보상 화면간 예측에 사용되는 필터의 필터 정보-상기 필터 정보는 필터 인덱스 및 필터 계수 중 적어도 하나를 포함함-를 상기 정밀한 단위별로 선택하여 서브-픽셀값을 산출하는 단계를 포함할 수 있다. 상기 병합된 블록에 대해서는 동일한 필터 정보를 할당하여 복호화기로 전송할 수 있다. 상기 병합 가능 블록 집합은 비대칭(asymmetric) 파티션닝(partitioning)에 의해 생성된 블록 및 기하학적(geometrical) 파티션닝(partitioning)에 의해 생성된 블록 중 적어도 하나를 포함할 수 있다.
또한, 본 발명의 제6 목적을 달성하기 위한 본 발명의 일 측면에 따른 영상의 복호화 방법은, 수신된 비트 스트림을 엔트로피 복호화하여 잔여값을 역양자화 및 역변환하여 잔여값을 복원하는 단계와, 예측 유닛 정보 및 움직임 파라미터를 이용하여 예측 유닛을 생성하는 단계와, 픽춰 단위 보다 정밀한 단위-상기 정밀한 단위는 슬라이스(slice) 단위, 예측 유닛 단위 및 파티션 단위 중 적어도 하나를 포함함-별로 선택하여 부호화된 필터 정보-상기 필터 정보는 필터 인덱스 및 필터 계수 중 적어도 하나를 포함함-를 이용하여 상기 예측 유닛에 대해 화면간 예측을 수행하는 단계와, 상기 화면간 예측이 수행된 예측 유닛에 상기 잔여값을 더하여 영상을 복원하는 단계를 포함한다. 상기 예측 유닛에 대한 파티션 분할후 병합 가능 블록 집합에 속하는 블록들 중 현재 블록과 병합된 블록에 대해서는 동일한 필터 정보를 가질 수 있다. 상기 필터 정보는 움직임 보상 화면간 예측에 사용되는 필터의 필터 정보일 수 있다. 상기 병합 가능 블록 집합은 비대칭(asymmetric) 파티션닝(partitioning)에 의해 생성된 블록 및 기하학적(geometrical) 파티션닝(partitioning)에 의해 생성된 블록 중 적어도 하나를 포함할 수 있다. 상기 엔트로피 복호화를 통해 복호화된 헤더 정보에는 예측 유닛 정보, 움직임 보상 및 예측을 위한 움직임 파라미터 및 필터 정보를 포함할 수 있다.
또한, 본 발명의 제6 목적을 달성하기 위한 본 발명의 다른 측면에 따른 영상의 복호화 장치는, 수신된 비트 스트림을 엔트로피 복호화하여 잔여값을 역양자화하고 역변환하여 잔여값을 복원하는 역양자화 및 역변환부와, 예측 유닛 정보 및 움직임 파라미터를 이용하여 예측 유닛을 생성하는 움직임 보상부와, 예측 유닛에 상기 잔여값을 더하여 영상을 복원하는 가산부를 포함하되, 상기 움직임 보상부는 픽춰 단위 보다 정밀한 단위-상기 정밀한 단위는 슬라이스(slice) 단위, 예측 유닛 단위 및 파티션 단위 중 적어도 하나를 포함함-별로 선택하여 부호화된 필터 정보-상기 필터 정보는 필터 인덱스 및 필터 계수 중 적어도 하나를 포함함-를 이용하여 상기 예측 유닛에 대해 화면간 예측을 수행한다. 상기 예측 유닛에 대한 파티션 분할후 병합 가능 블록 집합에 속하는 블록들 중 현재 블록과 병합된 블록에 대해서는 동일한 필터 정보를 가질 수 있다. 상기 필터 정보는 움직임 보상 화면간 예측에 사용되는 필터의 필터 정보가 될 수 있다. 상기 병합 가능 블록 집합은 비대칭(asymmetric) 파티션닝(partitioning)에 의해 생성된 블록 및 기하학적(geometrical) 파티션닝(partitioning)에 의해 생성된 블록 중 적어도 하나를 포함할 수 있다. 상기 엔트로피 복호화를 통해 복호화된 헤더 정보에는 예측 유닛 정보, 움직임 보상 및 예측을 위한 움직임 파라미터 및 필터 정보를 포함할 수 있다.
상술한 바와 같은 가중치 예측을 이용한 영상 부호화/복호화 장치 및 방법에 따르면, 확장 마크로 블록 단위로 가중치를 예측하여 영상을 부호화함으로써, 기존의 슬라이스 단위로 수행되는 가중치 예측 부호화 방법에 비해 부호화된 영상의 품질을 향상시킬 수 있고, 32×32 또는 64×64 픽셀 이상의 크기를 가지는 확장 마크로 블록 단위로 가중치 예측 부호화를 수행함으로써 HD급 또는 울트라 HD(Ultra High Definition)급 이상의 고해상도를 가지는 영상의 부호화 효율을 향상시킬 수 있다.
또한, 움직임 보상 화면간 예측에 사용되는 보간 필터의 필터 정보-필터 인덱스 또는 필터 계수-의 전송 단위로 파티션 단위를 사용할 경우 블록 병합을 이용하여 병합된 블록 전체를 필터 정보의 전송 단위로 사용함으로써 디코더로 전송할 부가 정보의 양을 줄임으로써 HD급 또는 울트라 HD(Ultra High Definition)급 이상의 고해상도를 가지는 영상의 부호화 효율을 향상시킬 수 있다.
또한, 각각의 예측 블록에 대해 움직임 파라미터를 전송하지 않고 블록 병합을 이용하여 병합된 블록 전체에 대해 한번만 움직임 파라미터를 전송하여 움직임 파라미터와 같은 부가 정보(side information)의 전송량을 줄임으로써 HD급 또는 울트라 HD(Ultra High Definition)급 이상의 고해상도를 가지는 영상의 부호화 효율을 향상시킬 수 있다.
또한, HD(High Definition)급 이상의 해상도를 가지는 고해상도 영상에서의 움직임 보상 화면간 예측에 사용되는 보간 필터를 픽춰 단위 보다 더 정밀한 단위-예를 들어 슬라이스(slice) 단위 또는 예측 유닛 단위 또는 파티션 단위(상기 파티션 단위는 확장 매크로 블록, 매크로 블록, 또는 블록을 포함할 수 있음)-별로 선택함으로써 부호화 정밀도를 향상시킬 수 있다.
또한, 블록 병합(Block merging) 기법을 비대칭(asymmetric) 파티션닝(partitioning) 및/또는 기하학적(geometrical) 파티션닝(partitioning)으로 확장 적용하여 움직임 파라미터와 같은 부가 정보(side information)의 전송량을 줄임으로써 HD급 또는 울트라 HD(Ultra High Definition)급 이상의 고해상도를 가지는 영상의 부호화 효율을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 순환적 코딩 유닛 구조를 나타낸 개념도이다.
도 2는 본 발명의 일 실시예에 따른 가중치 예측을 이용한 영상 부호화 장치의 구성을 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 가중치 예측을 이용한 영상 부호화 방법을 나타내는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 가중치 예측을 이용한 영상 복호화 장치의 구성을 나타내는 블록도이다.
도 5는 본 발명의 일 실시예에 따른 가중치 예측을 이용한 영상 복호화 방법을 나타내는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 필터를 슬라이스 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 7은 본 발명의 다른 실시예에 따른 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 8은 본 발명의 다른 실시예에 따른 필터를 비대칭적 파티션(asymmetric partitioning) 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 9는 예측 유닛(PU)에 대해 정사각형이외의 모양을 가지는 기하학적 파티션(geometric partition) 분할을 하는 경우의 일실시예를 나타낸 것이다.
도 10은 본 발명의 다른 실시예에 따른 필터를 정사각형이외의 모양을 가지는 기하학적 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 11은 본 발명의 또 다른 실시예에 따른 필터를 정사각형이외의 모양을 가지는 기하학적 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 12는 본 발명의 일실시예에 따른 블록 병합(block merging)을 이용한 부호화 방법을 설명하기 위한 개념도이다.
도 13 내지 도 15는 본 발명의 다른 실시예에 따른 비대칭적 파티션 분할(asymmetric partitioning)의 경우 블록 병합(block merging)을 이용한 부호화 방법을 설명하기 위한 개념도이다.
도 16 내지 도 17은 본 발명의 다른 실시예에 따른 기하학적 파티션 분할(geometrical partitioning)의 경우 블록 병합(block merging)을 이용한 부호화 방법을 설명하기 위한 개념도이다.
도 18 내지 도 19는 본 발명의 또 다른 실시예에 따른 기하학적 파티션 분할(geometrical partitioning)의 경우 블록 병합(block merging)을 이용한 부호화 방법을 설명하기 위한 개념도이다.
도 20은 본 발명의 일 실시예에 따른 블록 병합을 이용한 영상 부호화 방법을 나타내는 흐름도이다.
도 21은 본 발명의 일 실시예에 따른 영상 복호화 방법을 나타내는 흐름도이다.
도 22는 본 발명의 다른 실시예에 따른 블록 병합(block merging)을 이용하여 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 22 및 도 23은 본 발명의 다른 실시예에 따른 비대칭적 파티션 분할(asymmetric partitioning)의 경우 블록 병합(block merging)을 이용하여 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 25는 본 발명의 다른 실시예에 따른 기하학적 파티션 분할(geometrical partitioning)의 경우 블록 병합(block merging)을 이용하여 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 26 및 도 27은 본 발명의 다른 실시예에 따른 기하학적 파티션 분할(geometrical partitioning)의 경우 블록 병합(block merging)을 이용하여 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 28은 본 발명의 일 실시예에 따른 슬라이스 또는 파티션 단위로 필터를 선택하여 부호화하기 위한 영상 부호화 방법을 나타내는 흐름도이다.
도 29는 본 발명의 일 실시예에 따른 슬라이스 또는 파티션 단위로 필터를 선택하여 부호화하기 위한 영상 부호화 장치의 구성을 나타내는 블록도이다.
도 30은 본 발명의 일 실시예에 따른 영상 복호화 방법을 나타내는 흐름도이다.
도 31은 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 나타내는 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 발명의 일실시예에서는 HD(High Definition)급 이상의 해상도를 가지는 고해상도에 적용하기 위하여 32x32 픽셀 크기 이상의 확장 매크로블록(Extended Macroblock) 크기를 이용하여 화면간/화면내 예측, 변환, 양자화, 엔트로피 부호화등의 부호화와 복호화를 수행할 수도 있고, 하기 설명하는 순환적(recursive) 코딩 유닛(Coding Unit; CU) 구조를 사용하여 부호화 및 복호화를 수행할 수도 있다.
도 1은 본 발명의 일 실시예에 따른 순환적 코딩 유닛 구조를 나타낸 개념도이다.
도 1을 참조하면, 각 코딩 유닛(CU)은 정사각형 모양을 가지며, 각 코딩 유닛(CU)은 2N X 2N(단위 pixel) 크기의 가변적인 크기를 가질 수 있다. 화면간 예측, 화면내 예측, 변환, 양자화 및 엔트로피 부호화는 코딩 유닛(CU) 단위로 이루어질 수 있다. 코딩 유닛(CU)은 최대 코딩 유닛(LCU), 최소 코딩 유닛(SCU)를 포함할 수 있으며, 최대 코딩 유닛(LCU), 최소 코딩 유닛(SCU)의 크기는 8이상의 크기를 가지는 2의 거듭제곱 값으로 나타낼 수 있다.
본 발명의 일 실시예에 따른 코딩 유닛(CU)은 순환적인 트리 구조를 가질 수 있다. 도 1은 최대 코딩 유닛(LCU)인 CU0의 한변의 크기(2N0)가 128(N0=64)이고, 최대 계층 레벨(level) 또는 계층 깊이(depth)가 5인 경우를 나타낸다. 순환적인 구조는 일련의 플래그(flag)를 통하여 표현될 수 있다. 예를들어, 계층 레벨(level) 또는 계층 깊이(depth)가 k인 코딩 유닛(CUk)의 플래그(flag)값이 0인 경우, 코딩 유닛(CUk)에 대한 코딩(coding)은 현재의 계층 레벨(level) 또는 계층 깊이(depth)에 대해 이루어지며, 플래그(flag)값이 1인 경우, 현재의 계층 레벨(level) 또는 계층 깊이(depth)가 k인 코딩 유닛(CUk)은 4개의 독립적인 코딩 유닛(CUk+1)으로 분할되며, 분할된 코딩 유닛(CUk+1)은 계층 레벨(level) 또는 계층 깊이(depth)가 k+1이 되며, 크기는 Nk+1 X Nk+1가 된다. 이 경우 코딩 유닛(CUk+1)은 코딩 유닛(CUk)의 서브 코딩 유닛으로 나타낼 수 있다. 코딩 유닛(CUk+1)의 계층 레벨(level) 또는 계층 깊이(depth)가 최대 허용 가능한 계층 레벨(level) 또는 계층 깊이(depth)에 도달할 때까지 코딩 유닛(CUk+1)은 순환적으로(recursive) 처리될 수 있다. 코딩 유닛(CUk+1)의 계층 레벨(level) 또는 계층 깊이(depth)가 최대 허용 가능한 계층 레벨(level) 또는 계층 깊이(depth)-도 1에서는 5인 경우를 예로 들었음-과 동일한 경우에는 더 이상의 분할은 허용되지 않는다.
최대 코딩 유닛(LCU)의 크기 및 최소 코딩 유닛(SCU)의 크기는 시퀀스 파라미터 셋(Sequence Parameter Set; SPS)에 포함될 수 있다. 시퀀스 파라미터 셋(SPS)는 최대 코딩 유닛(LCU)의 최대 허용 가능한 계층 레벨(level) 또는 계층 깊이(depth)를 포함할 수 있다. 예를 들어, 도 1의 경우는 최대 허용 가능한 계층 레벨(level) 또는 계층 깊이(depth)는 5이고, 최대 코딩 유닛(LCU)의 한변의 크기가 128(단위 pixel)인 경우, 128 X 128(LCU), 64 X 64, 32 X 32, 16 X 16 및 8 X 8(SCU)의 5가지 종류의 코딩 유닛 크기가 가능하다. 즉, 최대 코딩 유닛(LCU)의 크기 및 최대 허용 가능한 계층 레벨(level) 또는 계층 깊이(depth)가 주어지면 허용가능한 코딩 유닛의 크기가 결정될 수 있다.
상기와 같은 본 발명의 일 실시예에 따른 순환적 코딩 유닛 구조를 사용할 경우의 장점은 다음과 같다.
첫째, 기존의 16 X 16 매크로블록보다 큰 사이즈를 지원할 수 있다. 만약 관심 이미지 영역이 균일(homogeneous)하다면, 큰 코딩 유닛(LCU)은 여러 개의 작은 블록들을 사용하는 경우보다 관심 이미지 영역을 더 적은 개수의 심볼들로 표시할 수 있다.
둘째, 고정된 크기의 매크로블록을 사용하는 경우에 비하여 임의의 다양한 크기를 가지는 최대 코딩 유닛(LCU)을 지원함으로써 코덱은 다양한 콘텐츠, 애플리케이션 및 장치에 용이하게 최적화될 수 있다. 즉, 최대 코딩 유닛(LCU) 크기 및 최대 계층 레벨(level) 또는 최대 계층 깊이(depth)를 적절히 선택함으로써, 상기 계층적 블록 구조는 목표로 하는 애플리케이션에 보다 더 최적화 될 수 있다.
셋째, 매크로블록, 서브-매크로블록, 확장 매크로 블록을 구분하지 않고 코딩 유닛(LCU)이라는 한 개의 단일 유닛 형태를 사용함으로써, 멀티레벨 계층적 구조를 최대 코딩 유닛(LCU) 크기, 최대 계층 레벨(level)(또는 최대 계층 깊이(depth)) 및 일련의 플래그를 이용하여 매우 간단하게 나타낼 수 있다. 크기 독립적(size-independent)인 신택스 표현(syntax representation)과 함께 사용될 경우 나머지 코딩 툴들에 대한 하나의 일반화된 크기의 신택스 아이템을 명시하는데 충분하게 되며, 이러한 일관성이 실제 파싱 과정등을 단순화 시킬 수 있다. 계층 레벨(level)(또는 최대 계층 깊이(depth))의 최대값은 임의값을 가질 수 있으며 기존의 H.264/AVC 부호화 방식에서 혀용된 값보다 더 큰 값을 가질 수 있다. 크기 독립적 신택스 표현을 사용하여 코딩 유닛(CU)의 크기에 독립적으로 일관된 방식으로 모든 신택스 엘리먼트(syntax elements)를 명시할 수 있다. 코딩 유닛(CU)에 대한 분할 과정(splitting process)은 순환적으로 명시될 수 있고, 말단 코딩 유닛(leaf coding unit)-계층 레벨의 마지막 코딩 유닛-에 대한 다른 신택스 엘리먼트들은 코딩 유닛 크기에 무관하게 동일한 크기로 정의될 수 있다. 상기와 같은 표현법은 파싱 복잡도를 줄이는 데 매우 효과적이며, 큰 계층 레벨 또는 계층 깊이가 허용되는 경우 표현의 명료성이 향상될 수 있다.
상기와 같은 계층적인 분할 과정이 완료되면 더 이상의 분할 없이 코딩 유닛 계층 트리의 말단 노드에 대해 화면간 예측 또는 화면내 예측을 수행할 수 있으며, 이러한 말단 코딩 유닛이 화면간 예측 또는 화면내 예측의 기본 단위인 예측 유닛(Prediction Unit; PU)으로 사용된다.
즉, 화면간 예측 또는 화면내 예측을 위하여 상기 말단 코딩 유닛에 대해 파티션(partition) 분할이 수행 된다. 파티션 분할은 예측 유닛(PU)에 대해 수행된다. 여기서, 에측 유닛(PU)는 화면간 예측 또는 화면내 예측을 위한 기본 단위의 의미이며, 기존의 매크로 블록 단위 또는 서브-매크로 블록 단위가 될 수도 있고, 32 X 32 픽셀 크기 이상의 확장 매크로 블록 단위가 될 수도 있다.
이하, 본 발명의 실시예에서 확장 마크로 블록(Extended Macro Block)은 32×32 픽셀 또는 64×64 픽셀 이상의 크기를 가지는 블록을 의미한다.
도 2는 본 발명의 일 실시예에 따른 가중치 예측을 이용한 영상 부호화 장치의 구성을 나타내는 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 영상 부호화 장치(100)는 움직임 예측부(101), 움직임 보상부(103), 가중치 파라미터 생성부(105), 제1 곱셈기(107), 제1 가산기(109), 제2 가산기(111), 변환부(113), 양자화부(115), 역양자화부(117), 역변환부(119), 제3 가산기(121), 버퍼(123) 및 엔트로피 부호화부(125)를 포함할 수 있다.
움직임 예측부(101) 입력된 현재 코딩 유닛과 복원이 완료되어 버퍼(123)에 저장된 복수의 참조 픽처에 기초하여 화면간 예측을 수행하여 움직임 벡터(Motion Vector)를 생성한다. 여기서, 상기 입력된 코딩 유닛은 16×16 픽셀 이하의 크기를 가질 수도 있고, 32×32 픽셀 이상의 크기를 가지는 확장 마크로 블록일 수도 있다. 또한, 복수의 참조 픽처가 움직임 예측에 사용되는 경우에는 이에 상응하는 개수의 움직임 벡터가 생성될 수 있고, 생성된 움직임 벡터는 움직임 보상부(103) 및 엔트로피 부호화부(125)에 제공된다.
움직임 보상부(103)는 움직임 예측부(101)로부터 제공된 적어도 하나의 움직임 벡터를 버퍼(123)에 저장된 해당 참조 픽쳐의 참조 예측 유닛에 적용하여 움직임 보상이 수행된 예측 신호를 생성한다. 예를 들어, 두 개의 참조픽처를 이용하여 쌍예측(Bi-predictive)을 수행한 경우에는 두 개의 예측 신호(Y0, Y1)가 생성될 수 있다.
가중치 파라미터 생성부(105)는 입력된 코딩 유닛에 대해 버퍼(121)에 저장된 참조 픽처의 해당 참조 예측 유닛을 참조하여 가중치 파라미터를 생성한다. 여기서, 가중치 파라미터는 가중치 계수(W) 및 오프셋(D)을 포함할 수 있고, 입력된 코딩 유닛과 참조 예측 유닛의 휘도 성분의 변화에 기초하여 결정될 수 있다. 가중치 파라미터 생성부(105)에 의해 생성된 가중치 계수(W)는 제1 곱셈기(107)에 제공되며, 오프셋(D)는 제1 가산기(109)에 제공된다.
제1 곱셈기(107)는 움직임 보상부(103)으로부터 제공된 움직임 보상이 수행된 예측 신호와 가중치 파라미터 생성부(105)로부터 제공된 가중치 계수를 곱한 후 제1 가산기에 제공된다. 예를 들어, 두 개의 움직임 보상부(103)에서 두 개의 참조 픽처를 사용하여 두 개의 예측 신호(Y0, Y1)를 생성하고, 가중치 파라미터 생성부(105)로부터 각 참조 픽처에 상응하는 두 개의 가중치 계수(W0, W1)를 제공하는 경우 제1 곱셈기(107)의 출력은 W0Y0+W1Y1이 된다.
제1 가산기(109)는 제1 곱셈기(107)의 출력에 가중치 파라미터 생성부(105)로부터 제공된 오프셋 값을 가산하여 예측 블록을 생성한 후 제2 가산기(111)에 제공한다. 예를 들어, 상술한 바와 같이 두 개의 참조 픽처를 사용하여 가중치 예측을 수행하는 경우 생성된 예측 마크로 블록은 W0Y0+W1Y1+D가 된다.
제2 가산기(111)는 입력된 현재 코딩 유닛 신호와 제1 가산기(109)로부터 제공된 예측 블록을 감산하여 잔여값을 산출한 후 변환부(113)에 제공한다.
변환부(113)는 제2 가산기(111)로부터 제공된 잔여값을 DCT(Discrete Cosine Transform)변환하고, 양자화부(115)는 DCT 변환된 데이터를 양자화한 후, 양자화된 데이터를 엔트로피 부호화부(125) 및 역양자화부(117)에 제공한다. 여기서, 변환부(113)는 확장 마크로 블록 크기인 32×32 또는 64×64 픽셀 크기로 변환을 수행할 수 있다.
역양자화부(117)는 양자화된 데이터를 역양자화하고, 역변환부(119)는 역양자화된 데이터를 역변환하여 버퍼(123)에 제공한다.
제3 가산기(121)는 역변환부(119)로부터 제공된 역변환된 데이터인 잔여값과 제1 가산기(109)로부터 제공된 예측 블록을 가산한 후, 버퍼(123)에 제공한다.
버퍼(123)는 복원된 복수의 픽처들이 저장될 수 있고, 상기 복원된 복수의 픽처들은 움직임 예측 및 가중치 파라미터 생성을 위한 참조 픽처로 사용될 수 있다.
엔트로피 부호화부(125)는 양자화된 DCT 계수들과 움직임 벡터 및 가중치 파라미터 등의 헤더 정보를 엔트로피 부호화하여 비트 스트림을 생성한다.
도 3은 본 발명의 일 실시예에 따른 가중치 예측을 이용한 영상 부호화 방법을 나타내는 흐름도이다.
도 3을 참조하면, 먼저 부호화 장치에 코딩 유닛이 입력되면(단계 201), 입력된 현재 코딩 유닛과 복원이 완료되어 버퍼에 저장된 복수의 참조 픽처에 기초하여 화면간 예측을 수행하여 움직임 벡터(Motion Vector)를 생성하고, 생성된 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 신호를 생성한다(단계 203). 여기서, 상기 입력된 코딩 유닛은 16×16 픽셀 이하의 크기를 가질 수도 있고, 32×32 픽셀 이상의 크기를 가지는 확장 마크로 블록일 수도 있다. 또한, 복수의 참조 픽처가 움직임 예측에 사용되는 경우에는 이에 상응하는 개수의 움직임 벡터가 생성될 수 있다.
또한, 부호화 장치는 입력된 코딩 유닛과 참조 예측 유닛(또는 참조 마크로 블록)의 휘도 성분의 변화에 기초하여 가중치 계수 및 오프셋을 포함하는 가중치 파라미터를 생성한다(단계 205).
이후, 부호화 장치는 단계 203에서 생성된 예측 신호와 단계 205에서 생성된 가중치 파라미터에 기초하여 예측 블록을 생성한다(단계 207). 여기서, 상기 예측 블록은 예측 신호에 가중치 계수를 곱하고 오프셋을 더함으로써 산출될 수 있다.
상술한 바와 같이 예측 블록이 생성된 후, 부호화 장치는 입력된 코딩 유닛과 상기 예측 블록 사이의 차이를 구하여 잔여값(residue)을 생성한다(단계 209).
이후, 부호화 장치는 생성된 잔여값은 변환 및 양자화한 후(단계 211), 양자화된 DCT 계수들과 움직임 벡터 및 가중치 파라미터 등의 헤더 정보들을 엔트로피 부호화하여 비트 스트림을 생성한다(단계 213).
도 2 및 도 3에 도시된 바와 같이 본 발명의 일 실시예에 따른 가중치 예측을 이용한 영상 부호화 장치 및 부호화 방법에서는 예측 유닛 단위(또는 마크로 브록 단위)로 가중치를 예측하여 영상을 부호화함으로써, 기존의 슬라이스 단위로 수행되는 가중치 예측 부호화 방법에 비해 부호화된 영상의 품질을 향상시킬 수 있다. 또한, 32×32 또는 64×64 픽셀 이상의 크기를 가지는 확장 마크로 블록 단위로 가중치 예측 부호화를 수행할 경우 고해상도를 가지는 영상의 부호화 효율이 향상될 수 있다.
도 4는 본 발명의 일 실시예에 따른 가중치 예측을 이용한 영상 복호화 장치의 구성을 나타내는 블록도로서, 도 2에 도시된 부호화 장치에서 부호화된 영상을 복호화하는 복호화 장치의 구성을 나타낸다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 복호화 장치(300)는 엔트로피 복호화부(301), 역양자화부(303), 역변환부(305), 움직임 보상부(307), 가중치 파라미터 제공부(309), 버퍼(311), 제2 곱셈기(313), 제4 가산기(315) 및 제5 가산기(317)를 포함할 수 있다.
엔트로피 복호화부(301)는 부호화 장치로부터 제공된 비트 스트림을 엔트로피 복호화하여 현재 복원할 마크로 블록의 잔여값과 가중치 파라미터 및 움직임 벡터 등을 제공한다.
역양자화부(303)는 엔트로피 복호화부(301)로부터 제공된 잔여값을 역양자화하고, 역변환부(305)는 역양자화된 데이터를 역변환한다.
움직임 보상부(307)는 엔트로피 복호화부(301)로부터 제공된 움직임 벡터를 버퍼(311)에 저장된 참조 픽처의 참조 예측 유닛에 적용하여 움직임 보상이 수행된 예측 신호를 생성하고, 생성된 예측 신호를 제2 곱셈기(307)에 제공한다.
가중치 파라미터 제공부(309)는 엔트로피 복호화부(301)로부터 가중치 파라미터를 제공받고, 가중치 계수는 제2 곱셈기(313)에 제공하고, 오프셋은 제4 가산기(315)에 제공한다.
버퍼(311)는 제5 가산기(317)로부터 제공된 복원된 영상이 제공된다. 버퍼(311)에 제공된 복원된 영상은 움직임 보상을 수행하기 위한 참조 픽처로 이용된다.
제2 곱셈기(313)는 움직임 보상부(307)로부터 제공된 예측 신호와 가중치 파라미터 제공부(309)로부터 제공된 가중치 계수를 곱한 후 제4 가산기(315)에 제공하고, 제4 가산기(315)는 제2 곱셈기(313)로부터 제공된 신호와 가중치 파라미터 제공부(309)로부터 제공된 오프셋을 더한 후 예측 블록을 생성하여 제5 가산기(317)에 제공한다.
제5 가산기(317)는 역변환부(305)로부터 제공된 잔여값과 제4 가산기(315)로부터 제공된 예측 블록을 더하여 현재 블록을 복원한다.
도 5는 본 발명의 일 실시예에 따른 가중치 예측을 이용한 영상 복호화 방법을 나타내는 흐름도이다.
도 5를 참조하면, 먼저 복호화 장치는 부호화 장치로부터 비트 스트림을 제공받고(단계 401), 제공받은 비트 스트림에 대해 엔트로피 복호화를 수행하여 양자화된 현재 복호화할 코딩 유닛에 대한 잔여값과, 가중치 파라미터 및 움직임 벡터 등을 추출한다(단계 403).
이후, 복호화 장치는 엔트로피 복호화된 잔여값을 역양자화 및 역변환 하여 잔여값을 복원한다(단계 405).
또한, 복호화 장치는 엔트로피 복호화된 움직임 벡터를 복원이 완료되어 버퍼에 저장된 참조 픽처의 참조 예측 유닛에 적용하여 움직임 보상을 수행함으로써 예측 신호를 생성한다(단계 407).
이후, 복호화 장치는 움직임 보상을 통해 생성된 예측 신호에 가중치 계수를 곱한 후 오프셋을 더하여 예측 블록을 생성하고(단계 409), 생성된 예측 블록과 단계 405에서 복원된 잔여값을 더하여 현재 블록을 복원한다(단계 411).
예측과 관련된 정보(움직임 벡터, 움직임 벡터의 차이값, 잔차값등)는 화면간 예측의 기본 단위인 예측 유닛별로 디코더로 전송된다.
상기 화면간 예측 또는 화면내 예측을 위한 파티션 분할은 비대칭적 파티션 분할(asymmetric partitioning) 방식으로 이루어질 수도 있고, 정사각형이외의 임의의 모양을 가지는 기하학적 파티션 분할(geometrical partitioning) 방식으로 이루어질 수도 있고, 에지 방향에 따른 파티션 분할 방식으로 이루어질 수도 있다.
움직임 보상 화면간 예측의 경우, 하나의 픽춰를 소정 크기를 가지는 복수의 블록(block)으로 구분하여 움직임 벡터(MV)를 생성하고, 생성된 움직임 벡터를 이용하여 움직임 보상을 수행한다. 움직임 벡터들은 비-정수 값들을 가질 수 있기 때문에, 움직임 보상 화면간 예측은 비-정수 위치들에서 참조 픽춰의 서브-픽셀값들을 계산하기 위하여 보간 필터(Interpolation Filter)를 사용한다. 즉, 서브-픽셀값의 계산은 참조 픽춰의 정수 픽셀의 주위 픽셀들에 대해 필터 계수를 적용하여 필터링함으로써 행해진다. 더 높은 차수의 필터들을 사용할 경우 더 나은 움직임 예측 성능을 가져오지만, 그 만큼 디코더로 전송할 보간 필터의 필터 계수의 전송량이 증가하게 된다.
따라서, 본 발명의 실시예들에 따른 보간 필터의 적응적 사용 방법은 하나의 픽춰내에서 최적의 보간 필터는 픽춰내의 영역에 따라 다를 수 있다는 실험 결과에 근거하여 보간 필터를 픽춰 단위 보다 더 정밀한 단위- 예를 들어 슬라이스(slice) 단위 또는 예측 유닛 단위 또는 파티션 단위(상기 파티션 단위는 확장 매크로 블록, 매크로 블록, 또는 블록을 포함할 수 있음)로 선택하여 사용함으로써 부호화/복호화를 수행한다.
이하에서, 서브-픽셀값 보간은 화상의 휘도(luma) 및 색(chroma) 성분들 양자에 적용될 수 있다. 여기에서는 설명의 단순화를 위하여 휘도 성분의 서브-픽셀값들의 보간만을 예로 들어 설명한다.
이하, 본 발명의 실시예들에 따른 움직임 보상 화면간 예측에 사용되는 보간 필터를 픽춰 단위 보다 더 정밀한 단위-예를 들어 슬라이스(slice) 단위 또는 예측 유닛 단위 또는 파티션 단위(상기 파티션 단위는 확장 매크로 블록, 매크로 블록, 또는 블록을 포함할 수 있음)-로 선택하여 사용함으로써 부호화/복호화하는 방법에 대해 구체적으로 설명한다.
도 6은 본 발명의 일 실시예에 따른 필터를 슬라이스 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 6을 참조하면, 시간 t에 대한 현재 픽처(Pt)는 시간 t에서의 후보 필터 집합(CFSt)에 속하는 후보 필터들- 예를들어 F1, F2, F3 세개의 필터- 중에서 최적의 하나의 필터를 선택하여 사용한다. 복수의 필터들은 필터 인덱스(filter index)로 서로 구분될 수 있다. 필터 인덱스는 선택된 필터들을 구분하기 위한 식별자이다. 필터 인덱스는 선택된 필터에 대한 필터 정보에 포함되어 복호화기로 전송될 수 있다. 이하, 상기 필터는 예를 들어 움직임 보상 화면간 예측시에 사용되는 보간 필터가 될 수 있다.
또한, 시간 t에 대한 현재 픽처(Pt) 내에서 슬라이스 단위로 시간 t에서의 후보 필터 집합(CFSt)에 속하는 후보 필터들- 예를들어 F1, F2, F3 세개의 필터- 중에서 최적의 하나의 필터를 선택하여 사용할 수 있다. 즉, 현재 픽처(Pt)의 슬라이스 별로 최적의 필터를 선택할 수 있으며, 따라서 선택된 최적의 필터는 현재 픽처(Pt)의 슬라이스(slice #0, slice #1, slice #2, ..., slice #N) 별로 서로 다른 필터가 될 수 있다. 예를 들어, 현재 픽처(Pt)의 슬라이스 번호 0(slice #0)에 대해서는 후보 필터 집합(CFSt)에 속하는 후보 필터들 중에서 F1 필터를 선택하고, 현재 픽처(Pt)의 슬라이스 번호 1(slice #1)에 대해서는 후보 필터 집합(CFSt)에 속하는 후보 필터들 중에서 F2 필터를 선택할 수 있다. 또는, 선택된 최적의 필터는 현재 픽처(Pt)의 슬라이스별로 동일한 필터가 될 수도 있다. 예를 들어, 현재 픽처(Pt)의 슬라이스 번호 0에 대해서는 후보 필터 집합(CFSt)에 속하는 후보 필터들 중에서 F1 필터를 선택하고, 현재 픽처(Pt)의 슬라이스 번호 1에 대해서도 후보 필터 집합(CFSt)에 속하는 후보 필터들 중에서 F1 필터가 선택될 수 있다.
현재 픽처(Pt)의 슬라이스 별 최적의 필터 선택은 율-왜곡 최적화 기준(Rate-distortion optimization criterion)에 따라서 후보 필터 집합(Candidate Filter Set; CFS)에 속하는 필터들 중에서 필터를 선택할 수 있다.
시간 t에 대한 현재 픽처(Pt) 내에서 슬라이스 단위로 시간 t에서의 후보 필터 집합(CFSt)에 속하는 후보 필터들- 예를들어 F1, F2, F3 세개의 필터- 중에서 최적의 하나의 필터를 선택함으로써 픽처 단위보다 더 정밀한 슬라이스 단위로 필터 정보-필터 인덱스 또는 필터 계수-를 전송할 수 있게 되어 부호화 정밀도를 향상시킬 수 있다.
도 7은 본 발명의 다른 실시예에 따른 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
여기서, 파티션(partition)은 확장 매크로 블록(EMB), 매크로 블록(MB), 또는 블록을 포함할 수 있다. 확장 매크로 블록 크기는 32 X 32 픽셀 크기 이상을 의미하며, 예를 들어, 32 X 32 픽셀, 64 X 64 픽셀, 또는 128 X 128 픽셀 크기를 포함할 수 있다. 매크로 블록 크기는 예를 들어 16 X 16 픽셀이 될 수 있다.
도 7에서는 파티션이 64 X 64 픽셀, 32 X 32 픽셀, 16 X 16 픽셀로 이루어진 경우를 예로 들어 파티션과 필터 인텍스(filter indices)간의 관계를 도시한 것이다. 도 7의 좌측 64 X 64 파티션은 64 X 64 파티션이 64 X 64 픽셀 크기의 확장 매크로 블록인 경우를 나타내며, 도 7의 가운데 그림은 64 X 64 파티션이 4개의 32 X 32 픽셀 크기의 파티션으로 분할 된 경우로서, 32 X 32 픽셀 크기의 파티션이 32 X 32 픽셀 크기의 확장 매크로 블록인 경우를 나타낸다. 도 7의 우측 그림은 64 X 64 파티션이 4개의 32 X 32 픽셀 크기의 파티션으로 분할되고, 다시 좌측 하단의 32 X 32 파티션이 4개의 16 X 16 파티션으로 분할된 경우로서, 32 X 32 픽셀 크기의 파티션이 32 X 32 픽셀 크기의 확장 매크로 블록이고 16 X 16 픽셀 크기의 파티션이 16 X 16 픽셀 크기의 매크로 블록 인 경우를 나타낸다.
예를 들어, 도 7의 좌측 64 X 64 파티션은 율-왜곡 최적화를 통해 64 X 64 파티션이 한 개의 64 X 64 블록으로 선택되는 경우로서, 64 X 64 파티션에 대해 한 개의 필터 인덱스 Ix가 복호화기로 전송된다.
예를 들어, 도 7의 가운데 64 X 64 파티션은 4개의 32 X 32 파티션 각각에 대해 한 개의 필터 인덱스가 복호화기로 전송된다. 여기서, 4개의 32 X 32 파티션 각각에 대해 도 7의 가운데 그림과 같이 율-왜곡 최적화를 통해 서로 다른 필터 인덱스가 선택될 수도 있고(Ix0, Ix1, Ix2, Ix3), 4개의 32 X 32 파티션에 대해 율-왜곡 최적화를 통해 일부 동일하거나 전부 동일한 필터 인덱스가 선택될 수도 있다.
예를 들어, 도 7의 우측 64 X 64 파티션은 3개의 32 X 32 파티션 각각에 대해 한 개의 필터 인덱스가 복호화기로 전송되고, 4개의 32 X 32 파티션 각각에 대해 한 개의 필터 인덱스가 복호화기로 전송되어 최대 7개의 필터 인덱스가 사용될 수 있다. 여기서, 3개의 32 X 32 파티션 각각에 대해 도 7의 가운데 그림과 같이 율-왜곡 최적화를 통해 서로 다른 필터 인덱스가 선택될 수도 있고(Ix0, Ix1, Ix6), 3개의 32 X 32 파티션에 대해 율-왜곡 최적화를 통해 일부 동일하거나 전부 동일한 필터 인덱스가 선택될 수도 있다.
64 X 64 파티션은 16개의 16 X 16 파티션으로 분할될 경우 최대 16개의 필터 인덱스가 사용될 수 있다.
도 8은 본 발명의 다른 실시예에 따른 필터를 비대칭적 파티션(asymmetric partitioning) 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
화면간 예측 또는 화면내 예측을 위한 예측 유닛(PU)의 크기가 M X M(M은 자연수로서 단위는 pixel)인 경우 코딩 유닛의 수평방향으로 비대칭적 파티션 분할을 하거나 또는 수직방향으로 비대칭적 파티션 분할을 할 수 있다. 도 8에서는 예측 유닛(PU)의 크기가 예를 들어 64 X 64인 경우에 대해 도시하였다.
도 8을 참조하면, 수평 방향으로 비대칭적 파티션 분할을 하여 64 X 16 픽셀 크기의 파티션 P11a와 64 X 48 픽셀 크기의 P21a로 분할하거나, 64 X 48 픽셀 크기의 파티션 P12a와 64 X 16 픽셀 크기의 P22a로 분할할 수 있다. 또한, 수직 방향으로 비대칭적 파티션 분할을 하여 16 X 64 픽셀 크기의 파티션 P13a와 48 X 64 픽셀 크기의 P23a로 분할하거나, 48 X 64 픽셀 크기의 파티션 P14a와 16 X 64 픽셀 크기의 P24a로 분할할 수 있다.
도 8의 64 X 16 파티션, 64 X 48 파티션, 16 X 64 파티션, 48 X 64 파티션 각각에 대해서 한 개의 필터 인덱스가 복호화기로 전송된다. 여기서, 64 X 64 파티션 내의 64 X 16 파티션, 64 X 48 파티션, 16 X 64 파티션, 48 X 64 파티션 각각에 대해 율-왜곡 최적화를 통해 서로 다른 필터 인덱스가 선택될 수도 있고, 전부 동일한 필터 인덱스가 선택될 수도 있다.
도 9는 예측 유닛(PU)에 대해 정사각형이외의 모양을 가지는 기하학적 파티션(geometric partition) 분할을 하는 경우의 일실시예를 나타낸 것이다.
도 9를 참조하면, 예측 유닛(PU)에 대해 기하학적 파티션의 경계선 L은 다음과 같이 정의할 수 있다. 예측 유닛(PU)의 중심(O)을 X, Y 축을 이용하여 4개 사분면으로 등분하여 예측 유닛(PU)의 중심(O)으로부터 경계선 L에 수선을 그리면, 예측 유닛(PU)의 중심(O)으로부터 경계선 L까지의 수직 거리 ρ, X축으로부터 반시계 방향으로 상기 수선까지의 회전각도 θ에 의해 임의 방향의 모든 경계선을 특정할 수 있다.
도 10은 본 발명의 다른 실시예에 따른 필터를 정사각형이외의 모양을 가지는 기하학적 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 10을 참조하면, 화면간 예측 또는 화면내 예측을 위한 예측 유닛(PU)을 중심을 기준으로 4개 사분면으로 등분한 후, 2사분면의 좌상단 블록을 파티션 P11b, 나머지 1, 3, 4 사분면으로 이루어진 '』' 모양의 블록을 파티션 P21b로 분할 할 수 있다. 또는, 3사분면의 좌하단 블록을 파티션 P12b, 나머지 1, 2, 4 사분면으로 이루어진 블록을 파티션 P22b로 분할 할 수 있다. 또는, 1사분면의 우상단 블록을 파티션 P13b, 나머지 2, 3, 4 사분면으로 이루어진 블록을 파티션 P23b로 분할 할 수 있다. 또는, 4사분면의 우하단 블록을 파티션 P14b, 나머지 1, 2, 3 사분면으로 이루어진 블록을 파티션 P24b로 분할 할 수 있다.
상기와 같이 'ㄱ' 자 모양으로 파티션을 분할함으로써 파티션 분할시 에지 블록, 즉 좌상단, 좌하단, 우상단, 우하단 블록에 움직이는 객체(object)가 존재하는 경우 4개 블록으로 파티션 분할하는 경우보다 효과적으로 부호화를 할 수 있다. 상기 4가지 파티션 중에 움직이는 객체(object)가 어느 에지 블록에 위치하느냐에 따라서 해당되는 파티션이 선택되어 사용될 수 있다.
도 10을 참조하면, 각각의 기하학적 파티션 각각에 대해서 한 개의 필터 인덱스가 복호화기로 전송될 수 있다. 여기서, 기하학적 파티션 각각에 대해 율-왜곡 최적화를 통해 서로 다른 필터 인덱스가 선택될 수도 있고, 전부 동일한 필터 인덱스가 선택될 수도 있다.
도 11은 본 발명의 또 다른 실시예에 따른 필터를 정사각형이외의 모양을 가지는 기하학적 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 11을 참조하면, 화면간 예측 또는 화면내 예측을 위한 예측 유닛(PU)을 두개의 서로 다른 불규칙 영역으로 분할하거나(모드 0, 1) 또는 서로 다른 사이즈의 직사각형 영역으로 분할(모드 2, 3) 할 수 있다.
여기서, 파라미터 'pos'는 파티션 경계의 위치를 나타내는데 사용된다. 모드 0, 1의 경우 'pos'는 예측 유닛(PU)의 대각선으로부터 파티션 경계까지의 수평방향으로의 거리를 나타내며, 모드 2, 3의 경우 'pos'는 예측 유닛(PU)의 수직이등분선 또는 수평이등분선으로부터 파티션 경계까지의 수평방향으로의 거리를 나타낸다. 도 11의 경우 모드 정보가 디코더로 전송될 수 있다. 상기 4가지 모드 중에 RD(Rate Distortion) 관점에서 최소 RD 비용(cost)를 가지는 모드가 화면간 예측을 위해 사용될 수 있다.
도 11을 참조하면, 각각의 기하학적 파티션 각각에 대해서 한 개의 필터 인덱스가 복호화기로 전송될 수 있다. 여기서, 기하학적 파티션 각각에 대해 율-왜곡 최적화를 통해 서로 다른 필터 인덱스가 선택될 수도 있고, 전부 동일한 필터 인덱스가 선택될 수도 있다.
상기와 같은 파티션 분할후의 블록의 크기는 가변될 수 있다. 또한, 상기와 같은 파티션 분할후의 블록의 모양은 전술한 비대칭 파티션 분할, 기하학적 파티션 분할을 적용할 경우 기존의 정사각형 모양뿐만 아니라 도 8 내지 도 11에 도시한 바와 같이 직사각형과 같은 비대칭적 모양, 'ㄱ' 자 모양, 삼각형 모양등과 같은 다양한 기하학적 모양을 가질 수 있다.
HD(High Definition)급 이상의 해상도를 가지는 고해상도 영상의 경우 움직임 보상 화면간 예측시 예측 성능을 높여 코딩 효율을 높이기 위하여 상기 보간 필터의 필터 정보-필터 인덱스 또는 필터 계수-를 보내는 단위를 픽춰 단위가 아닌 보다 정밀한 단위- 슬라이스(slice) 단위, 또는 예측 유닛 단위 또는 (확장) 매크로 블록 단위, 또는 파티션 단위-로 적응적으로 조절할 수 있다.
HD(High Definition)급 이상의 해상도를 가지는 고해상도 영상의 경우 하나의 픽춰당 블록의 개수가 증가하게 되므로 각각의 파티션 마다 필터 계수를 디코더로 전송할 경우 전송되는 필터 정보의 양이 매우 많아지게 되어 코딩 효율 측면에서 바람직하지 못할 수 있다. 따라서, 움직임 보상 화면간 예측에 사용되는 보간 필터의 필터 정보의 전송 단위로 상기 파티션 단위를 사용할 경우, 블록 병합을 이용하여 병합된 블록 전체를 전송 단위로 사용함으로써 디코더로 전송할 부가 정보의 양을 줄임으로써 HD급 또는 울트라 HD(Ultra High Definition)급 이상의 고해상도를 가지는 영상의 부호화 효율을 향상시킬 수 있다.
도 12는 본 발명의 일실시예에 따른 블록 병합(block merging)을 이용한 부호화 방법을 설명하기 위한 개념도이다.
도 12를 참조하면, 하나의 픽처가 계층적으로 말단 코딩 유닛까지 분할된 후 현재 블록 X는 이전에 부호화된 Ao블록, Bo블록과 병합되어 블록 Ao, Bo, X는 동일한 움직임 파라미터를 적용하여 디코더로 전송된다. 여기서, 움직임 파라미터는 예를 들어, 움직임 벡터, 움직임 벡터 차이값 등을 포함할 수 있다.
이 경우 블록 병합이 적용되었는지 여부를 나타내는 병합 플래그(merging flag)가 디코더로 전송될 수 있다.
이하, 화면간 예측의 경우 모든 예측 블록들의 집합을 '임시 블록'이라고 하고, 특정 블록과의 병합이 허용되는 블록들의 집합을 '병합 블록'이라고 정의한다. 상기 임시 블록은 현재 블록 이전까지 부호화된 블록들을 포함한다. 상기 병합 가능 블록들의 기준은 예를 들어 현재 블록의 상단(top) 주변 샘플들 및 좌측(left) 주변 샘플들, 또는 현재 블록의 상단(top) 주변 블록 및 좌측(left) 주변 블록의 2개 블록으로 미리 정해둘 수 있다. 또는, 상기 병합 가능 블록들의 기준은 2개 블록 이상, 예를 들어 현재 블록의 상단(top) 주변 블록들 전부 및 좌측(left) 주변 블록들 전부로 미리 정해둘 수도 있다.
상기 병합 가능 블록들의 기준은 인코더 및 디코더간에 서로 약속에 따라 미리 정해질 수 있다. 예를 들어, 디폴트(default) 값으로 상기와 같이 현재 블록의 상단(top) 주변 샘플들 및 좌측(left) 주변 샘플들로 정해놓고 별도로 병합 가능 블록들의 기준을 알려주는 정보를 디코더로 전송하지 않을 수도 있다. 또는 병합 가능 블록들의 기준을 나타내는 정보를 디코더로 보낼 수도 있다.
만약 특정 블록이 부호화되고, 병합 가능 블록이 비어 있지 않은 경우에는 이번 병합 가능 블록이 병합 될 것인지 여부의 정보가 디코더로 전송될 수 있다.
병합 가능 블록들의 집합은 예를 들어 최대 두개의 요소(상기 두개의 샘플 위치들, 즉 좌측 주변 샘플 위치 및 상단 주변 샘플 위치)를 가질 수 있다. 그러나, 병합 가능 블록들의 집합은 반드시 2개의 후보 샘플 위치 또는 2개의 후보 블록만을 가지는 것으로 한정되는 것은 아니며 2개 이상의 후보 샘플 위치 또는 후보 블록을 가질 수도 있다. 이하 병합 가능 블록들의 집합이 2개의 후보 블록들을 가지는 경우를 도 12를 예로 들어 설명한다.
도 12는 하나의 픽처를 쿼드트리 기반 분할(quadtree-based division) 방식으로 예측 블록들(prediction blocks)로 분할한 경우를 나타낸다. 도 12의 상단의 가장 큰 크기의 2개의 블록(P1, P2)은 매크로 블록으로서 가장 큰 크기의 예측 블록이다. 도 12의 나머지 블록들은 해당 매크로블록의 부분 분할(subdivision)에 의해 얻어진다. 현재 블록은 'X'로 표시하였다. 도 12 내지 도 19에서 점선으로 표시된 영역은 현재 블록 X 이전에 부호화된 블록들을 나타낸 것이며, 전술한 '임시블록'이 될 수 있다.
병합 가능 블록은 다음과 같이 생성될 수 있다.
현재 블록의 상단-좌측(top-left) 샘플 위치로부터 시작하면, 현재 블록의 좌측 주변 샘플 위치 및 현재 블록의 상단 주변 샘플 위치가 블록 병합을 위한 후보 블록 위치가 된다. 병합 가능 블록들의 집합이 비어 있지 않은 경우(not empty)에는, 현재 블록이 병합 가능 블록과 병합됨을 나타내는 병합 플래그가 디코더로 전송된다. 그렇지 않은 경우, 즉, 병합 플래그가 '0' (false)인 경우, 병합 가능한 블록이 존재하지 않는 경우로서 임시블록들 중 어느 하나의 블록과도 블록 병합이 이루어지지 않은 채 움직임 파라미터들이 디코더로 전송된다.
만약 병합 플래그가 '1' (true)인 경우 하기의 동작이 이루어진다. 만약 병합 가능 블록 집합이 단지 한 개 블록만을 포함하는 경우에는, 이러한 병합 가능 블록 집합에 포함된 한 개의 블록은 블록 병합에 사용된다. 병합 가능 블록 집합이 두개의 블록을 포함하고 만약 이러한 두개의 블록의 움직임 파라미터들이 동일하다면, 이러한 병합 가능 블록에 속하는 2개 블록의 움직임 파라미터들은 현재 블록에 대해서도 사용된다. 예를 들어 merge_left_flag가 '1' (true)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 좌측 주변 샘플 위치가 선택될 수 있고, merge_left_flag가 '0' (false)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 나머지인 상단 주변 샘플 위치가 선택될 수 있다. 상기와 같이 선택된 블록들에 대한 움직임 파라미터들은 현재 블록에 대해서도 사용된다.
도 12를 참조하면, 상단-좌측 샘플 위치 중 직접(상단 또는 좌측) 주변 샘플들을 포함하는 블록들('Ao', 'Bo' 블록)이 병합 가능 블록 집합내에 포함될 수 있다. 따라서, 현재 블록 X는 블록 Ao 또는 블록 Bo와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 Ao 및 블록 Bo 어느것과도 병합되지 않는다. 만약 블록 Ao 및 블록 Bo가 동일한 움직임 파라미터들을 가진다면 블록 Ao 및 블록 Bo 2개 블록들 중 어느 하나와 병합하더라도 동일한 결과가 얻어지므로 두개의 블록 Ao 및 블록 Bo를 구분할 필요는 없다. 따라서, 이 경우에는 merge_left_flag는 전송될 필요가 없다. 그렇지 않은 경우, 즉 만약 블록 Ao 및 블록 Bo가 서로 다른 움직임 파라미터들을 가진다면, merge_left_flag가 1이면 현재 블록 X는 블록 Bo와 병합되고, merge_left_flag가 0이면 현재 블록 X는 블록 Ao와 병합된다.
도 13 내지 도 15는 본 발명의 다른 실시예에 따른 비대칭적 파티션 분할(asymmetric partitioning)의 경우 블록 병합(block merging)을 이용한 부호화 방법을 설명하기 위한 개념도이다. 도 13 내지 도 15는 화면간 예측시 도 8의 기하학적 파티션 분할을 사용하는 경우의 블록 병합을 3개의 예를 들어 설명한 것으로서 도 13 내지 도 15에 도시된 경우로만 한정되는 것은 아니며, 도 8에 도시된 다양한 파티션 분할의 경우들의 조합에 대해서도 본 발명의 다른 실시예에 따른 블록 병합을 적용할 수 있음은 물론이다.
도 13을 참조하면, 현재 블록 X의 상단-좌측 샘플 위치 중 상단 또는 좌측 주변 샘플들을 포함하는 블록들('A1a', 'B1a' 블록)이 병합 가능 블록 집합내에 포함될 수 있다. 따라서, 현재 블록 X는 블록 A1a 또는 블록 B1a와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 A1a 및 블록 B1a 어느것과도 병합되지 않는다. 예를 들어 merge_left_flag가 '1' (true)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 좌측 주변 샘플들을 포함하는 블록 B1a가 현재 블록 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0' (false)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 나머지인 상단 주변 샘플들을 포함하는 블록 A1a가 현재 블록 X와 병합하기 위하여 선택될 수 있다.
도 14를 참조하면, 현재 블록 X는 병합 가능 블록 집합에 속하는 블록 A1b 또는 블록 B1b와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 A1b 및 블록 B1b 어느것과도 병합되지 않는다. merge_left_flag가 '1' (true)인 경우, 병합 가능 블록 집합 중에서 블록 B1b가 현재 블록 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0' (false)인 경우, 블록 A1b가 현재 블록 X와 병합하기 위하여 선택될 수 있다.
도 15를 참조하면, 현재 블록 X는 병합 가능 블록 집합에 속하는 블록 A1c 또는 블록 B1c와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 A1c 및 블록 B1c 어느것과도 병합되지 않는다. merge_left_flag가 '1' (true)인 경우, 병합 가능 블록 집합 중에서 블록 B1c가 현재 블록 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0' (false)인 경우, 블록 A1c가 현재 블록 X와 병합하기 위하여 선택될 수 있다.
도 16 내지 도 17은 본 발명의 다른 실시예에 따른 기하학적 파티션 분할(geometrical partitioning)의 경우 블록 병합(block merging)을 이용한 부호화 방법을 설명하기 위한 개념도이다. 도 16 내지 도 17은 화면간 예측시 도 10의 기하학적 파티션 분할을 사용하는 경우의 블록 병합을 2개의 예를 들어 설명한 것으로서 도 16 내지 도 17에 도시된 경우로만 한정되는 것은 아니며, 도 10에 도시된 다양한 파티션 분할의 경우들의 조합에 대해서도 본 발명의 다른 실시예에 따른 블록 병합을 적용할 수 있음은 물론이다.
도 16을 참조하면, 현재 블록 X의 상단-좌측 샘플 위치 중 상단 또는 좌측 주변 샘플들을 포함하는 블록들('A2a', 'B2a' 블록)이 병합 가능 블록 집합내에 포함될 수 있다. 따라서, 현재 블록 X는 블록 A2a 또는 블록 B2a와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 A2a 및 블록 B2a 어느것과도 병합되지 않는다. 예를 들어 merge_left_flag가 '1' (true)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 좌측 주변 샘플들을 포함하는 블록 B2a가 현재 블록 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0' (false)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 나머지인 상단 주변 샘플들을 포함하는 블록 A2a가 현재 블록 X와 병합하기 위하여 선택될 수 있다.
도 17을 참조하면, 현재 블록 X는 병합 가능 블록 집합에 속하는 블록 A2b 또는 블록 B2b와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 A2b 및 블록 B2b 어느것과도 병합되지 않는다. merge_left_flag가 '1' (true)인 경우, 병합 가능 블록 집합 중에서 블록 B2b가 현재 블록 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0' (false)인 경우, 블록 A2b가 현재 블록 X와 병합하기 위하여 선택될 수 있다.
도 18 내지 도 19는 본 발명의 또 다른 실시예에 따른 기하학적 파티션 분할(geometrical partitioning)의 경우 블록 병합(block merging)을 이용한 부호화 방법을 설명하기 위한 개념도이다. 도 18 내지 도 19는 화면간 예측시 도 9 및 도 11의 기하학적 파티션 분할을 사용하는 경우의 블록 병합을 2개의 예를 들어 설명한 것으로서 도 6a 내지 도 6b에 도시된 경우로만 한정되는 것은 아니며, 도 9 및 도 11에 도시된 다양한 기하학적 파티션 분할의 경우들의 조합에 대해서도 본 발명의 또 다른 실시예에 따른 블록 병합을 적용할 수 있음은 물론이다.
도 18을 참조하면, 현재 블록 X의 상단-좌측 샘플 위치 중 상단 또는 좌측 주변 샘플들을 포함하는 블록들('A3a', 'B3a' 블록)이 병합 가능 블록 집합내에 포함될 수 있다. 따라서, 현재 블록 X는 블록 A3a 또는 블록 B3a와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 A3a 및 블록 B3a 어느것과도 병합되지 않는다. 예를 들어 merge_left_flag가 '1' (true)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 좌측 주변 샘플들을 포함하는 블록 B3a가 현재 블록 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0' (false)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 나머지인 상단 주변 샘플들을 포함하는 블록 A3a가 현재 블록 X와 병합하기 위하여 선택될 수 있다.
도 19를 참조하면, 현재 블록 X는 병합 가능 블록 집합에 속하는 블록 A3b 또는 블록 B3b와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 A3b 및 블록 B3b 어느것과도 병합되지 않는다. merge_left_flag가 1 (true)인 경우, 병합 가능 블록 집합 중에서 블록 B3b가 현재 블록 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0' (false)인 경우, 블록 A3b가 현재 블록 X와 병합하기 위하여 선택될 수 있다.
도 20은 본 발명의 일 실시예에 따른 블록 병합을 이용한 영상 부호화 방법을 나타내는 흐름도이다.
도 20을 참조하면, 먼저 부호화 장치에 입력 영상이 입력되면(단계 901a), 상기 입력 영상에 대해 화면간 예측 또는 화면내 예측을 위한 예측 유닛을 전술한 다양한 파티션 분할 방법을 사용하여 분할하고, 상기 파티션 분할된 블록 별로 현재 부호화되는 픽처의 앞 및/또는 뒤에 위치하는 적어도 하나의 참조 픽처(프레임 버퍼(651)에 부호화가 완료되어 저장됨)에서 현재 부호화되는 파티션 분할된 블록과 유사한 영역을 검색하여 블록 단위로 움직임 벡터를 생성하고, 생성된 움직임 벡터와 픽처를 이용하여 움직임 보상을 수행함으로써 예측 블록(또는 예측된 예측 유닛)을 생성한다(단계 903a).
그 다음, 부호화 장치는 파티션 분할된 예측 유닛(PU)에 대하여 전술한 블록 병합을 수행하여 병합된 블록별로 움직임 파라미터를 생성한다(단계 905a). 전술한 블록 병합을 수행하여 병합된 블록별 움직임 파라미터는 디코더로 전송된다.
부호화 장치는 현재 예측 유닛과 상기 예측된 예측 유닛 사이의 차이를 구하여 잔여값(residue)을 생성한다(단계 907a).
이후, 부호화 장치는 생성된 잔여값을 변환 및 양자화한 후(단계 909a), 양자화된 DCT 계수들과 움직임 파라미터 등의 헤더 정보들을 엔트로피 부호화하여 비트 스트림을 생성한다(단계 911a).
본 발명의 실시예들에 따른 블록 병합을 이용한 영상 부호화 장치 및 부호화 방법에서는 각각의 예측 블록에 대해 움직임 파라미터를 전송하지 않고 블록 병합을 이용하여 병합된 블록 전체에 대해 한번만 움직임 파라미터를 전송하여 움직임 파라미터의 전송량을 줄임으로써 HD급 또는 울트라 HD(Ultra High Definition)급 이상의 고해상도를 가지는 영상의 부호화 효율을 향상시킬 수 있다.도 21은 본 발명의 일 실시예에 따른 영상 복호화 방법을 나타내는 흐름도이다.
도 21을 참조하면, 먼저 복호화 장치는 부호화 장치로부터 비트 스트림을 수신한다(단계 1110a).
이후, 복호화 장치는 수신된 비트 스트림에 대한 엔트로피 복호화를 수행한다(단계 1103a). 엔트로피 복호화를 통해 복호화된 데이터에는 현재 예측 유닛과 예측된 예측 유닛 사이의 차이를 나타내는 잔여값(residue)을 포함된다. 엔트로피 복호화를 통해 복호화된 헤더 정보에는 예측 유닛 정보, 움직임 보상 및 예측을 위한 움직임 파라미터와 같은 부가 정보가 포함될 수 있다. 상기 예측 유닛 정보는 예측 유닛 크기 정보를 포함할 수 있다. 상기 움직임 파라미터는 본 발명의 실시예들에 따른 블록 병합 방법들에 의해 병합된 블록별로 전송된 움직임 파라미터를 포함할 수 있다.
여기서, 확장 매크로블록(Extended Macroblock) 및 확장 매크로 블록 크기를 이용하여 부호화 및 복호화하는 방식대신 전술한 순환적(recursive) 코딩 유닛(Coding Unit; CU)을 사용하여 부호화 및 복호화를 수행할 경우에는 상기 예측 유닛(PU) 정보는 최대 코딩 유닛(LCU)의 크기, 최소 코딩 유닛(SCU)의 크기, 최대 허용 가능한 계층 레벨(level) 또는 계층 깊이(depth), 플래그(flag) 정보를 포함할 수 있다.
복호화 제어부(미도시)에서는 부호화 장치에서 적용한 예측 유닛(PU)의 크기에 대한 정보를 부호화 장치로부터 전송받아 부호화 장치에서 적용한 예측 유닛(PU)의 크기에 따라 후술할 움직임 보상 복호화 또는 역변환 또는 역양자화를 수행할 수 있다.
복호화 장치는 상기 엔트로피 복호화된 잔여값을 역양자화하고 역변환한다(단계 1105a). 상기 역변환과정은 예측 유닛 크기(예를 들면, 32x32 또는 64x64 픽셀) 단위로 수행될 수 있다.
복호화 장치는 예측 유닛 크기 정보, 움직임 보상 및 예측을 위한 움직임 파라미터, 이전에 복원된 픽처를 이용하여 화면간 예측 또는 화면내 예측을 수행하여 예측된 예측 유닛을 생성한다(단계 1107a). 복호화 장치는 예측 유닛 크기 정보, 본 발명의 실시예들에 따른 블록 병합 방법들에 의해 병합된 블록별로 전송된 움직임 파라미터를 이용하여 화면간 예측 또는 화면내 예측을 수행한다.
복호화기는 역양자화하고 역변환된 잔여값과 상기 화면간 예측 또는 화면내 예측을 통하여 예측된 예측 유닛을 더하여 영상을 복원한다(단계 1109a).
도 22는 본 발명의 다른 실시예에 따른 블록 병합(block merging)을 이용하여 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 22를 참조하면, 하나의 픽춰가 계층적으로 말단 코딩 유닛까지 분할된 후 현재 블록 X는 이전에 부호화된 Ao블록, Bo블록과 병합되어 블록 Ao, Bo, X는 동일한 움직임 파라미터 및/또는 필터 정보를 적용하여 디코더로 전송된다. 여기서, 움직임 파라미터는 예를 들어, 움직임 벡터, 움직임 벡터 차이값, 잔차값 등을 포함할 수 있다. 필터 정보는 필터 인덱스 및/또는 필터 계수를 포함할 수 있다.
이 경우 블록 병합이 적용되었는지 여부를 나타내는 병합 플래그(merging flag)가 디코더로 전송될 수 있다.
이하, 화면간 예측의 경우 모든 예측 블록들의 집합을 '임시 블록'이라고 하고, 특정 블록과의 병합이 허용되는 블록들의 집합을 '병합 가능 블록'이라고 정의한다. 상기 임시 블록은 현재 블록 이전까지 부호화된 블록들을 포함한다. 상기 병합 가능 블록들의 기준은 예를 들어 현재 블록의 상단(top) 주변 샘플들 및 좌측(left) 주변 샘플들, 또는 현재 블록의 상단(top) 주변 블록 및 좌측(left) 주변 블록의 2개 블록으로 미리 정해둘 수 있다. 또는, 상기 병합 가능 블록들의 기준은 2개 블록 이상, 예를 들어 현재 블록의 상단(top) 주변 블록들 전부 및 좌측(left) 주변 블록들 전부로 미리 정해둘 수도 있다.
상기 병합 가능 블록들의 기준은 인코더 및 디코더간에 서로 약속에 따라 미리 정해질 수 있다. 예를 들어, 디폴트(default) 값으로 상기와 같이 현재 블록의 상단(top) 주변 샘플들 및 좌측(left) 주변 샘플들로 정해놓고 별도로 병합 가능 블록들의 기준을 알려주는 정보를 디코더로 전송하지 않을 수도 있다. 또는 병합 가능 블록들의 기준을 나타내는 정보를 디코더로 보낼 수도 있다.
만약 특정 블록이 부호화되고, 병합 가능 블록이 비어 있지 않은 경우에는 이번 병합 가능 블록이 병합 될 것인지 여부의 정보가 디코더로 전송될 수 있다.
병합 가능 블록들의 집합은 예를 들어 최대 두개의 요소(상기 두개의 샘플 위치들, 즉 좌측 주변 샘플 위치 및 상단 주변 샘플 위치)를 가질 수 있다. 그러나, 병합 가능 블록들의 집합은 반드시 2개의 후보 샘플 위치 또는 2개의 후보 블록만을 가지는 것으로 한정되는 것은 아니며 2개 이상의 후보 샘플 위치 또는 후보 블록을 가질 수도 있다. 이하 병합 가능 블록들의 집합이 2개의 후보 블록들을 가지는 경우를 도 22를 예로 들어 설명한다.
도 22는 하나의 픽춰를 쿼드트리 기반 분할(quadtree-based division) 방식으로 예측 블록들(prediction blocks)로 분할한 경우를 나타낸다. 도 22의 상단의 가장 큰 크기의 2개의 블록(P1, P2)은 매크로 블록으로서 가장 큰 크기의 예측 블록이다. 도 22의 나머지 블록들은 해당 매크로블록의 부분 분할(subdivision)에 의해 얻어진다. 현재 블록은 'X'로 표시하였다. 도 22 내지 도 27에서 점선으로 표시된 영역은 현재 블록 X 이전에 부호화된 블록들을 나타낸 것이며, 전술한 '임시 블록'이 될 수 있다.
병합 가능 블록은 다음과 같이 생성될 수 있다.
현재 블록의 상단-좌측(top-left) 샘플 위치로부터 시작하면, 현재 블록의 좌측 주변 샘플 위치 및 현재 블록의 상단 주변 샘플 위치가 블록 병합을 위한 후보 블록 위치가 된다. 병합 가능 블록들의 집합이 비어 있지 않은 경우(not empty)에는, 현재 블록이 병합 가능 블록과 병합됨을 나타내는 병합 플래그가 디코더로 전송된다. 그렇지 않은 경우, 즉, 병합 플래그가 '0' (false)인 경우, 병합 가능한 블록이 존재하지 않는 경우로서 임시블록들 중 어느 하나의 블록과도 블록 병합이 이루어지지 않은 채 움직임 파라미터들이 디코더로 전송된다.
만약 병합 플래그가 '1' (true)인 경우 하기의 동작이 이루어진다. 만약 병합 가능 블록 집합이 단지 한 개 블록만을 포함하는 경우에는, 이러한 병합 가능 블록 집합에 포함된 한 개의 블록은 블록 병합에 사용된다. 병합 가능 블록 집합이 두개의 블록을 포함하고 만약 이러한 두개의 블록의 움직임 파라미터들이 동일하다면, 이러한 병합 가능 블록에 속하는 2개 블록의 움직임 파라미터들은 현재 블록에 대해서도 사용된다. 예를 들어 merge_left_flag가 '1' (true)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 좌측 주변 샘플 위치가 선택될 수 있고, merge_left_flag가 '0' (false)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 나머지인 상단 주변 샘플 위치가 선택될 수 있다. 상기와 같이 선택된 블록들에 대한 움직임 파라미터들은 현재 블록에 대해서도 사용된다.
다시 도 22를 참조하면, 상단-좌측 샘플 위치 중 직접(상단 또는 좌측) 주변 샘플들을 포함하는 블록들('Ao', 'Bo' 블록)이 병합 가능 블록 집합내에 포함될 수 있다. 따라서, 현재 블록 X는 블록 Ao 또는 블록 Bo와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 Ao 및 블록 Bo 어느것과도 병합되지 않는다. 만약 블록 Ao 및 블록 Bo가 동일한 움직임 파라미터 및/또는 필터 정보를 가진다면 블록 Ao 및 블록 Bo 2개 블록들 중 어느 하나와 병합하더라도 동일한 결과가 얻어지므로 두개의 블록 Ao 및 블록 Bo를 구분할 필요는 없다. 따라서, 이 경우에는 merge_left_flag는 전송될 필요가 없다. 그렇지 않은 경우, 즉 만약 블록 Ao 및 블록 Bo가 서로 다른 움직임 파라미터들 및/또는 필터 정보를 가진다면, merge_left_flag가 1이면 현재 블록 X는 블록 Bo와 병합되고, merge_left_flag가 0이면 현재 블록 X는 블록 Ao와 병합된다.
도 23 및 도 24는 본 발명의 다른 실시예에 따른 비대칭적 파티션 분할(asymmetric partitioning)의 경우 블록 병합(block merging)을 이용하여 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 23 및 도 24는 화면간 예측시 도 8의 비대칭적 파티션 분할을 사용하는 경우의 블록 병합을 2개의 예를 들어 설명한 것으로서 도 23 및 도 24에 도시된 경우로만 한정되는 것은 아니며, 도 8에 도시된 다양한 파티션 분할의 경우들의 조합에 대해서도 본 발명의 다른 실시예에 따른 블록 병합을 적용할 수 있음은 물론이다.
도 23을 참조하면, 현재 블록 X는 병합 가능 블록 집합에 속하는 블록 A1b 또는 블록 B1b와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 A1b 및 블록 B1b 어느것과도 병합되지 않는다. merge_left_flag가 '1' (true)인 경우, 병합 가능 블록 집합 중에서 블록 B1b가 현재 블록 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0' (false)인 경우, 블록 A1b가 현재 블록 X와 병합하기 위하여 선택될 수 있다.
도 24를 참조하면, 현재 블록 X는 병합 가능 블록 집합에 속하는 블록 A1c 또는 블록 B1c와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 A1c 및 블록 B1c 어느것과도 병합되지 않는다. merge_left_flag가 '1' (true)인 경우, 병합 가능 블록 집합 중에서 블록 B1c가 현재 블록 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0' (false)인 경우, 블록 A1c가 현재 블록 X와 병합하기 위하여 선택될 수 있다.
도 23 및 도 24를 참조하면, 블록 병합된 비대칭 파티션들에 대해서 동일한 필터가 선택되어 동일한 필터 정보가 복호화기로 전송될 수 있다. 예를 들어 도 23의 경우 병합된 비대칭 파티션 A1b 및 B1b에 대해 동일한 필터 인덱스 Ix2가 복호기로 전송될 수 있다. 도 24의 경우 병합된 비대칭 파티션 A1c 및 B1c에 대해 동일한 필터 인덱스 Ix2가 복호기로 전송될 수 있다.
도 25는 본 발명의 다른 실시예에 따른 기하학적 파티션 분할(geometrical partitioning)의 경우 블록 병합(block merging)을 이용하여 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 25는 화면간 예측시 도 10의 기하학적 파티션 분할을 사용하는 경우의 블록 병합을 예를 들어 설명한 것으로서 도 25에 도시된 경우로만 한정되는 것은 아니며, 도 10에 도시된 다양한 파티션 분할의 경우들의 조합에 대해서도 본 발명의 다른 실시예에 따른 블록 병합을 적용할 수 있음은 물론이다.
도 25를 참조하면, 현재 블록 X의 상단-좌측 샘플 위치 중 상단 또는 좌측 주변 샘플들을 포함하는 블록들('A2a', 'B2a' 블록)이 병합 가능 블록 집합내에 포함될 수 있다. 따라서, 현재 블록 X는 블록 A2a 또는 블록 B2a와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 A2a 및 블록 B2a 어느것과도 병합되지 않는다. 예를 들어 merge_left_flag가 '1' (rue)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 좌측 주변 샘플들을 포함하는 블록 B2a가 현재 블록 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0' (false)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 나머지인 상단 주변 샘플들을 포함하는 블록 A2a가 현재 블록 X와 병합하기 위하여 선택될 수 있다.
도 25를 참조하면, 블록 병합된 기하학적 파티션들에 대해서 동일한 필터가 선택되어 동일한 필터 정보가 복호화기로 전송될 수 있다. 예를 들어 도 25의 경우 병합된 기하학적 파티션 A2a 및 B2a에 대해 동일한 필터 인덱스 Ix1이 복호기로 전송될 수 있다.
도 26 및 도 27은 본 발명의 다른 실시예에 따른 기하학적 파티션 분할(geometrical partitioning)의 경우 블록 병합(block merging)을 이용하여 필터를 파티션 단위로 선택하여 사용하는 과정을 설명하기 위한 개념도이다.
도 26 및 도 27은 화면간 예측시 도 9 및 도 11의 기하학적 파티션 분할을 사용하는 경우의 블록 병합을 2개의 예를 들어 설명한 것으로서 도 26 및 도 27에 도시된 경우로만 한정되는 것은 아니며, 도 9 및 도 11에 도시된 다양한 기하학적 파티션 분할의 경우들의 조합에 대해서도 본 발명의 또 다른 실시예에 따른 블록 병합을 적용할 수 있음은 물론이다.
도 26을 참조하면, 현재 블록 X의 상단-좌측 샘플 위치 중 상단 또는 좌측 주변 샘플들을 포함하는 블록들('A3a', 'B3a' 블록)이 병합 가능 블록 집합내에 포함될 수 있다. 따라서, 현재 블록 X는 블록 A3a 또는 블록 B3a와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 A3a 및 블록 B3a 어느것과도 병합되지 않는다. 예를 들어 merge_left_flag가 '1' (true)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 좌측 주변 샘플들을 포함하는 블록 B3a가 현재 블록 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0' (false)인 경우, 병합 가능 블록 집합 중에서 현재 블록 X에 대한 상단-좌측 샘플 위치 중 나머지인 상단 주변 샘플들을 포함하는 블록 A3a가 현재 블록 X와 병합하기 위하여 선택될 수 있다.
도 27을 참조하면, 현재 블록 X는 병합 가능 블록 집합에 속하는 블록 A3b 또는 블록 B3b와 병합된다. 만약 merge_flag가 0(false) 이면, 현재 블록 X는 블록 A3b 및 블록 B3b 어느것과도 병합되지 않는다. merge_left_flag가 '1' (true)인 경우, 병합 가능 블록 집합 중에서 블록 B3b가 현재 블록 X와 병합하기 위하여 선택될 수 있고, merge_left_flag가 '0' (false)인 경우, 블록 A3b가 현재 블록 X와 병합하기 위하여 선택될 수 있다.
도 26 및 도 27을 참조하면, 블록 병합된 기하학적 파티션들에 대해서 동일한 필터가 선택되어 동일한 필터 정보가 복호화기로 전송될 수 있다. 예를 들어 도 26의 경우 병합된 기하학적 파티션 A3a 및 B3a에 대해 동일한 필터 인덱스 Ix2가 복호기로 전송될 수 있다. 예를 들어 도 27의 경우 병합된 기하학적 파티션 A3b 및 B3b에 대해 동일한 필터 인덱스 Ix1이 복호기로 전송될 수 있다.
도 28은 본 발명의 일 실시예에 따른 슬라이스 또는 파티션 단위로 필터를 선택하여 부호화하기 위한 영상 부호화 방법을 나타내는 흐름도이다.
도 28을 참조하면, 먼저 부호화 장치에 입력 영상이 입력되면(단계 901b), 상기 입력 영상에 대해 화면간 예측 또는 화면내 예측을 위한 예측 유닛을 전술한 다양한 파티션 분할 방법을 사용하여 분할하고, 상기 파티션 분할된 블록 별로 현재 부호화되는 픽춰의 앞 및/또는 뒤에 위치하는 적어도 하나의 참조 픽춰(프레임 버퍼(651)에 부호화가 완료되어 저장됨)에서 현재 부호화되는 파티션 분할된 블록과 유사한 영역을 검색하여 블록 단위로 움직임 벡터를 생성하고, 생성된 움직임 벡터와 픽춰를 이용하여 움직임 보상을 수행함으로써 예측 블록(또는 예측된 예측 유닛)을 생성한다(단계 903b).
그 다음, 부호화 장치는 움직임 보상 화면간 예측에 사용되는 보간 필터를 픽춰 단위 보다 더 정밀한 단위-예를 들어 슬라이스(slice) 단위 또는 예측 유닛 단위 또는 파티션 단위(상기 파티션 단위는 확장 매크로 블록, 매크로 블록, 또는 블록을 포함할 수 있음)-별로 선택하여 서브-픽셀값을 계산한다(단계 905b). 구체적으로, 부호화 장치는 전술한 바와 같이 움직임 보상 화면간 예측에 사용되는 보간 필터의 필터 정보-필터 인덱스 또는 필터 계수-를 픽춰 단위 보다 더 정밀한 단위-예를 들어 슬라이스(slice) 단위 또는 예측 유닛 단위 또는 파티션 단위-별로 선택하여 서브-픽셀값을 계산하여 부호화한다.
부호화 장치는 보간 필터의 필터 정보-필터 인덱스 또는 필터 계수-의 전송 단위로 파티션 단위를 사용할 경우 전술한 블록 병합을 이용하여 병합된 블록 전체를 움직임 파라미터 및/또는 필터 정보의 전송 단위로 사용한다.
또한, 부호화 장치는 확장 매크로 블록에 대하여 모션 벡터 정밀도(motion vector precision) 또는 화소 정밀도를 1/2 pel, 1/4-pel, 1/8 pel 중에서 적응적으로 선택하여 사용함으로써 확장 매크로 블록을 사용하는 경우 부호화 효율을 높일 수 있다. 예를 들어, 1/2 pel 모션 벡터 정밀도 또는 화소 정밀도를 적용하는 경우 P 픽춰의 경우 필터 계수들((1, -5, 20, 20, -5, 1)/32)을 지닌 6-탭 보간 필터를 사용하여 1/2 pel 화소 정밀도 신호를 생성할 수 있다. 1/4 pel 모션 벡터 정밀도 또는 화소 정밀도를 적용하는 경우 1/2 pel 화소 정밀도 신호의 값을 생성한 후 평균치 필터를 적용하여 1/4 pel 화소 정밀도 신호를 생성할 수 있다. 1/8 pel 모션 벡터 정밀도 또는 화소 정밀도를 적용하는 경우 1/4 pel 화소 정밀도 신호의 값을 생성한 후 평균치 필터를 적용하여 1/8 pel 화소 정밀도 신호를 생성할 수 있다.
부호화 장치는 현재 예측 유닛과 상기 예측된 예측 유닛 사이의 차이를 구하여 잔여값(residue)을 생성하여 변환 및 양자화한 후(단계 907b), 양자화된 DCT 계수들과 움직임 파라미터, 필터 정보 등의 헤더 정보들(또는 구문 요소(syntax element))을 엔트로피 부호화하여 비트 스트림을 생성한다(단계 909b).
엔트로피 부호화는 구문 요소들의 표현에 필요한 비트수를 감소시킨다. 즉, 엔트로피 부호화는 어떤 심볼들은 다른 심볼들보다 더 자주 발생한다는 구문 요소들의 분포 특성을 이용하여 전송되거나 저장된 심볼들을 나타내는데 필요한 비트들의 수를 최소화하는 것을 목표로하는 무손실 동작이다.
본 발명의 실시예들에 따른 영상 부호화 장치 및 부호화 방법에서는 각각의 예측 블록에 대해 필터 정보를 전송하지 않고 블록 병합을 이용하여 병합된 블록 전체에 대해 한번만 필터 정보를 전송하여 필터 정보의 전송량을 줄임으로써 HD급 또는 울트라 HD(Ultra High Definition)급 이상의 고해상도를 가지는 영상의 부호화 효율을 향상시킬 수 있다.
도 29는 본 발명의 일 실시예에 따른 블록 병합을 이용한 영상 부호화 장치 및 본 발명의 다른 실시예에 따른 슬라이스 또는 예측 유닛 또는 파티션 단위로 필터를 선택하여 부호화하기 위한 영상 부호화 장치의 구성을 설명하기 위한 블록도이다.
도 29를 참조하면, 영상 부호화 장치는 부호화기(630)를 포함하며, 부호화기(630)는 화면간 예측부(632), 인트라 예측부(635), 감산기(637), 변환부(639), 양자화부(641), 엔트로피 부호화부(643), 역양자화부(645), 역변환부(647), 가산기(649) 및 프레임 버퍼(651)를 포함할 수 있다. 화면간 예측부(632)는 움직임 예측부(631)와 움직임 보상부(633)를 포함한다.
부호화기(630)는 입력된 영상에 대해 부호화를 수행한다. 상기 입력된 영상은 예측 유닛(PU) 단위로 화면간 예측부(632)에서의 화면간 예측 또는 인트라 예측부(635)에서의 화면내 예측을 위해 사용될 수 있다.
상기 화면간 예측 또는 화면내 예측에 적용되는 예측 유닛의 크기는 입력된 영상을 부호화기 내부에 마련된 버퍼(미도시)에 저장한 후 저장된 프레임(또는 픽처)의 시간적 주파수 특성에 따라 결정될 수 있다. 예를 들어, 예측 유닛 결정부(610)는 n-1번째 프레임(또는 픽처)과 n번째 프레임(또는 픽처)의 시간 주파수 특성을 분석하고, 분석된 시간 주파수 특성값이 미리 설정된 제1 임계값 미만인 경우에는 예측 유닛의 크기를 64x64 픽셀로 결정하고, 분석된 시간 주파수 특성값이 미리 설정된 제1 임계값 이상 제2 임계값 미만인 경우에는 예측 유닛의 크기를 32x32 픽셀로 결정하며, 분석된 시간 주파수 특성값이 미리 설정된 제2 임계값 이상인 경우에는 예측 유닛의 크기를 16x16 픽셀 이하의 크기로 결정할 수 있다. 여기서, 제1 임계값은 제2 임계값보다 프레임(또는 픽처)간의 변화량이 작은 경우의 시간 주파수 특성값을 나타낼 수 있다.
상기 화면간 예측 또는 화면내 예측에 적용되는 예측 유닛의 크기는 입력된 영상을 부호화기 내부에 마련된 버퍼(미도시)에 저장한 후 저장된 프레임(또는 픽처)의 공간 주파수 특성에 따라 결정될 수 있다. 예를 들어 입력되는 프레임(또는 픽처)의 영상 평탄도 또는 균일도가 높은 경우에는 예측 유닛의 크기를 32x32 픽셀 이상으로 크게 설정하고, 프레임(또는 픽처)의 영상 평탄도 또는 균일도가 낮은 경우(즉, 공간 주파수가 높은 경우)에는 예측 유닛의 크기를 16x16 픽셀 이하로 작게 설정할 수 있다.
도 8에서는 도시하지 않았으나, 예측 유닛의 크기를 결정하는 동작은 상기 입력 영상을 입력받아 부호화 제어부(미도시)에서 수행되거나 또는 상기 입력 영상을 입력받아 별도의 예측 유닛 결정부(미도시)에서 수행될 수도 있다. 예를 들어, 예측 유닛의 크기는 16x16 픽셀 이하의 크기, 32x32 픽셀 크기, 64x64 픽셀 크기를 가질 수 있다.
전술한 바와 같이 화면간 예측 또는 화면내 예측을 위해 결정된 예측 유닛 크기를 포함하는 예측 유닛 정보를 엔트로피 부호화부(643)에 제공하고, 결정된 크기를 가지는 예측 유닛 단위로 부호화기(630)에 제공한다. 구체적으로, 확장 매크로블록(Extended Macroblock) 및 확장 매크로 블록 크기를 이용하여 부호화 및 복호화하는 경우에는 예측 블록 정보는 매크로 블록 크기 정보 또는 확장 매크로 블록 크기 정보를 포함할 수 있다. 여기서, 확장 매크로 블록 크기는 32x32 픽셀 크기 이상을 의미하며, 예를 들어, 32x32 픽셀, 64x64 픽셀, 또는 128x128 픽셀 크기를 포함할 수 있다. 전술한 순환적(recursive) 코딩 유닛(Coding Unit; CU)을 사용하여 부호화 및 복호화를 수행할 경우에는 예측 유닛 정보는 상기 마크로 블록의 크기 정보 대신 화면간 예측 또는 화면내 예측을 위해 사용될 말단 코딩 유닛(LCU)의 크기 정보, 즉 예측 유닛의 크기 정보를 포함할 수 있으며, 더 나아가 예측 유닛 정보는 최대 코딩 유닛(LCU)의 크기, 최소 코딩 유닛(SCU)의 크기, 최대 허용 가능한 계층 레벨(level) 또는 계층 깊이(depth), 플래그(flag) 정보를 더 포함할 수 있다.
부호화기(630)는 상기 결정된 크기를 가지는 예측 유닛에 대해 부호화를 수행한다.
화면간 예측부(632)는 제공된 현재 부호화될 예측 유닛을 전술한 비대칭 파티션 분할, 기하학적 파티션 분할등의 파티션 분할 방법을 사용하여 분할하고, 상기 파티션 분할된 블록 단위로 움직임을 추정하여 움직임 벡터를 생성한다.
움직임 예측부(631)는 제공된 현재 예측 유닛을 전술한 다양한 파티션 분할 방법을 사용하여 분할하고, 상기 파티션 분할된 블록 별로 현재 부호화되는 픽처의 앞 및/또는 뒤에 위치하는 적어도 하나의 참조 픽처(프레임 버퍼(651)에 부호화가 완료되어 저장됨)에서 현재 부호화되는 파티션 분할된 블록과 유사한 영역을 검색하여 블록 단위로 움직임 벡터를 생성한다. 여기서, 상기 움직임 추정에 사용되는 블록의 크기는 가변될 수 있으며, 또한, 본 발명의 실시예들에 따른 비대칭 파티션 분할, 기하학적 파티션 분할을 적용할 경우 상기 블록의 모양도 기존의 정사각형 모양뿐만 아니라 도 6 내지 도 11에 도시한 바와 같이 직사각형과 같은 비대칭적 모양, 'ㄱ' 모양, 삼각형 모양등과 같은 기하학적 모양을 가질 수 있다.
움직임 보상부(633)는 움직임 예측부(631)로부터 생성된 움직임 벡터와 참조 픽처를 이용하여 움직임 보상을 수행하여 얻어지는 예측 블록(또는 예측된 예측 유닛)을 생성한다.
화면간 예측부(632)는 전술한 블록 병합을 수행하여 병합된 블록별로 움직임 파라미터를 구한다. 전술한 블록 병합을 수행하여 병합된 블록별 움직임 파라미터는 디코더로 전송된다.
또한, 화면간 예측부(632)는 전술한 바와 같이 움직임 보상 화면간 예측에 사용되는 보간 필터를 픽춰 단위 보다 더 정밀한 단위-예를 들어 슬라이스(slice) 단위 또는 파티션 단위(상기 파티션 단위는 확장 매크로 블록, 매크로 블록, 또는 블록을 포함할 수 있음)-별로 선택하여 서브-픽셀값을 계산한다.
화면간 예측부(632)는 보간 필터의 필터 정보-필터 인덱스 또는 필터 계수-의 전송 단위로 파티션 단위를 사용할 경우 전술한 블록 병합을 이용하여 병합된 블록 전체를 움직임 파라미터 및/또는 필터 정보의 전송 단위로 사용한다.
또한, 화면간 예측부(632)는 확장 매크로 블록에 대하여 모션 벡터 정밀도(motion vector precision) 또는 화소 정밀도를 1/2 pel, 1/4-pel, 1/8 pel 중에서 적응적으로 선택하여 사용함으로써 확장 매크로 블록을 사용하는 경우 부호화 효율을 높일 수 있다. 예를 들어, 1/2 pel 모션 벡터 정밀도 또는 화소 정밀도를 적용하는 경우 P 픽춰의 경우 필터 계수들((1, -5, 20, 20, -5, 1)/32)을 지닌 6-탭 보간 필터를 사용하여 1/2 pel 화소 정밀도 신호를 생성할 수 있다. 1/4 pel 모션 벡터 정밀도 또는 화소 정밀도를 적용하는 경우 1/2 pel 화소 정밀도 신호의 값을 생성한 후 평균치 필터를 적용하여 1/4 pel 화소 정밀도 신호를 생성할 수 있다. 1/8 pel 모션 벡터 정밀도 또는 화소 정밀도를 적용하는 경우 1/4 pel 화소 정밀도 신호의 값을 생성한 후 평균치 필터를 적용하여 1/8 pel 화소 정밀도 신호를 생성할 수 있다.
인트라 예측부(635)는 블록간의 화소 상관도를 사용하여 화면내 예측 부호화를 수행한다. 인트라 예측부(635)는 현재 예측 유닛의 예측 블록을 현재 프레임(또는 픽처)내의 블록의 이미 부호화된 화소값으로부터 화소값을 예측하여 구하는 인트라 예측(Intra Prediction)을 수행한다.
감산기(637)는 움직임 보상부(633)에서 제공된 예측 블록(또는 예측된 예측 유닛)과 현재 블록(또는 현재 예측 유닛)을 감산하여 잔여값을 생성하고, 변환부(639) 및 양자화부(641)는 상기 잔여값(residue)을 DCT(Discrete Cosine Transform)변환하고 양자화한다. 여기서, 변환부(639)는 예측 유닛 크기 정보에 기초하여 변환을 수행할 수 있고, 예를 들어, 32x32 또는 64x64 픽셀 크기로 변환을 수행할 수 있다. 또는 변환부(639)는 예측 유닛 결정부(610)로부터 제공된 예측 유닛 크기 정보와 독립적으로 별도의 변환 유닛(Transform Unit; TU) 단위로 변환을 수행할 수 있다. 예를 들어, 변환 유닛(TU) 크기는 최소 4 X 4 픽셀 크기부터 최대 64x64 픽셀 크기를 가질 수 있다. 또는 변환 유닛(TU)의 최대 크기는 64x64 픽셀 크기 이상- 예를 들어 128 X 128 픽셀 크기-를 가질수도 있다. 상기 변환 유닛 크기 정보는 변환 유닛 정보에 포함되어 디코더로 전송될 수 있다.
엔트로피 부호화부(643)는 양자화된 DCT 계수들과 움직임 벡터, 결정된 예측 유닛 정보, 파티션 정보, 필터 정보, 변환 유닛 정보 등의 헤더 정보를 엔트로피 부호화하여 비트 스트림을 생성한다.
역양자화부(645) 및 역변환부(647)는 양자화부(641)를 통해 양자화된 데이터를 역양자화하고 역변환한다. 가산기(649)는 역변환된 데이터와 움직임 보상부(633)에서 제공된 예측된 예측 유닛을 더하여 영상을 복원하여 프레임 버퍼(651)에 제공하고, 프레임 버퍼(651)는 복원된 영상이 저장된다.
도 30은 본 발명의 일 실시예에 따른 영상 복호화 방법을 나타내는 흐름도이다.
도 30을 참조하면, 먼저 복호화 장치는 부호화 장치로부터 비트 스트림을 수신한다(단계 1101b).
이후, 복호화 장치는 수신된 비트 스트림에 대한 엔트로피 복호화를 수행한다(단계 1103b). 엔트로피 복호화를 통해 복호화된 데이터에는 현재 예측 유닛과 예측된 예측 유닛 사이의 차이를 나타내는 잔여값(residue)을 포함된다. 엔트로피 복호화를 통해 복호화된 헤더 정보에는 예측 유닛 정보, 움직임 보상 및 예측을 위한 움직임 파라미터 및/또는 필터 정보-필터 인덱스 또는 필터 계수-와 같은 부가 정보가 포함될 수 있다. 상기 예측 유닛 정보는 예측 유닛 크기 정보를 포함할 수 있다. 상기 움직임 파라미터 및/또는 필터 정보는 본 발명의 실시예들에 따른 블록 병합 방법들에 의해 병합된 블록별로 전송된 움직임 파라미터 및/또는 필터 정보를 포함할 수 있다.
여기서, 확장 매크로블록(Extended Macroblock) 및 확장 매크로 블록 크기를 이용하여 부호화 및 복호화하는 방식대신 전술한 순환적(recursive) 코딩 유닛(Coding Unit; CU)을 사용하여 부호화 및 복호화를 수행할 경우에는 상기 예측 유닛(PU) 정보는 최대 코딩 유닛(LCU)의 크기, 최소 코딩 유닛(SCU)의 크기, 최대 허용 가능한 계층 레벨(level) 또는 계층 깊이(depth), 플래그(flag) 정보를 포함할 수 있다.
복호화 제어부(미도시)에서는 부호화 장치에서 적용한 예측 유닛(PU)의 크기에 대한 정보를 부호화 장치로부터 전송받아 부호화 장치에서 적용한 예측 유닛(PU)의 크기에 따라 후술할 움직임 보상 복호화 또는 역변환 또는 역양자화를 수행할 수 있다.
복호화 장치는 상기 엔트로피 복호화된 잔여값을 역양자화하고 역변환한다(단계 1105b). 상기 역변환과정은 예측 유닛 크기(예를 들면, 32x32 또는 64x64 픽셀 또는 16x16 픽셀) 단위로 수행될 수 있다.
복호화 장치는 예측 유닛 크기 정보, 움직임 보상 및 예측을 위한 움직임 파라미터, 필터 정보, 이전에 복원된 픽춰를 이용하여 화면간 예측 또는 화면내 예측을 수행하여 예측된 예측 유닛을 생성한다(단계 1107b). 복호화 장치는 예측 유닛 크기 정보, 본 발명의 실시예들에 따른 블록 병합 방법들에 의해 병합된 블록별로 전송된 움직임 파라미터 및/또는 필터 정보를 이용하여 화면간 예측 또는 화면내 예측을 수행한다.
또한, 복호화기는 모션 벡터 정밀도(motion vector precision) 또는 화소 정밀도를 1/2 pel, 1/4-pel, 1/8 pel 중에서 적응적으로 선택하여 부호화된 확장 매크로 블록에 대하여, 선택된 화소 정밀도 정보를 기초로 1/2 pel, 1/4-pel, 1/8 pel 중에서 적응적으로 선택하여 확장 매크로 블록에 대하여 움직임 보상을 수행 한다.
복호화기는 역양자화하고 역변환된 잔여값과 상기 화면간 예측 또는 화면내 예측을 통하여 예측된 예측 유닛을 더하여 영상을 복원한다(단계 1109b).
도 31은 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 나타내는 블록도이다.
도 31을 참조하면, 본 발명의 일 실시예에 따른 복호화 장치는 엔트로피 복호화부(731), 역양자화부(733), 역변환부(735), 움직임 보상부(737), 인트라 예측부(739), 프레임 버퍼(741) 및 가산부(743)을 포함한다.
엔트로피 복호화부(731)는 압축된 비트 스트림을 수신하고 엔트로피 복호화를 수행하여 양자화된 계수를 생성한다. 역양자화부(733) 및 역변환부(735)는 양자화된 계수에 대한 역양자화 및 역변환을 수행하여 잔여값을 복원한다.
엔트로피 복호화부(731)에 의해 복호화된 헤더 정보에는 예측 유닛 크기 정보가 포함될 수 있고, 상기 예측 유닛 크기는 예를 들어, 16x16 픽셀 크기 또는 32x32 픽셀, 64x64 픽셀, 128x128 픽셀 크기의 확장 매크로 블록 크기가 될 수 있다. 또한, 상기 복호화된 헤더 정보는 움직임 보상 및 예측을 위한 움직임 파라미터 및/또는 필터 정보-필터 인덱스 또는 필터 계수-를 포함할 수 있다. 상기 움직임 파라미터는 본 발명의 실시예들에 따른 블록 병합 방법들에 의해 병합된 블록별로 전송된 움직임 파라미터를 포함할 수 있다. 상기 필터 정보는 본 발명의 실시예들에 따른 블록 병합 방법들에 의해 병합된 블록별로 전송된 필터 정보를 포함할 수 있다.
움직임 보상부(737)는 엔트로피 복호화부(731)에 의해 비트 스트림으로부터 복호화된 헤더 정보를 이용하여 부호화된 예측 유닛의 크기와 동일한 크기의 예측 유닛에 대해 상기 움직임 파라미터 및/또는 필터 정보를 이용하여 움직임 보상을 수행하여 예측된 예측 유닛을 생성한다. 움직임 보상부(737)는 본 발명의 실시예들에 따른 블록 병합 방법들에 의해 병합된 블록별로 전송된 움직임 파라미터 및/또는 필터 정보를 이용하여 움직임 보상을 수행하여 예측된 예측 유닛을 생성한다.
또한, 움직임 보상부(737)는 모션 벡터 정밀도(motion vector precision) 또는 화소 정밀도를 1/2 pel, 1/4-pel, 1/8 pel 중에서 적응적으로 선택하여 부호화된 확장 매크로 블록에 대하여, 선택된 화소 정밀도 정보를 기초로 1/2 pel, 1/4-pel, 1/8 pel 중에서 적응적으로 선택하여 확장 매크로 블록에 대하여 움직임 보상을 수행 한다.
인트라 예측부(739)는 블록간의 화소 상관도를 사용하여 화면내 예측 부호화를 수행한다. 인트라 예측부(739)는 현재 예측 유닛의 예측 블록을 현재 프레임(또는 픽처)내의 블록의 이미 부호화된 화소값으로부터 화소값을 예측하여 구하는 인트라 예측(Intra Prediction)을 수행한다.
가산부(743)는 역변환부(735)에서 제공된 잔여값과, 움직임 보상부(737)에서 제공된 예측된 예측 유닛을 더하여 영상을 복원하여 프레임 버퍼(741)에 제공하고, 프레임 버퍼(741)는 복원된 영상을 저장한다. 즉, 복호화기에서는 예측 유닛에 압축된 예측 오차(역변환부에서 제공된 잔여값)를 가산하여 복호화 동작을 수행한다.이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (26)

  1. 영상의 부호화 방법에 있어서,
    입력된 코딩 유닛에 대한 움직임 벡터를 생성하는 단계;
    생성된 상기 움직임 벡터에 기초하여 움직임 보상을 수행하여 예측 신호를 생성하는 단계;
    예측 유닛 단위로 가중치 파라미터를 생성하는 단계;
    상기 예측 신호에 상기 가중치 파라미터를 적용하여 예측 블록을 생성하는 단계; 및
    상기 수신된 코딩 유닛 및 상기 예측 블록에 기초하여 잔여값을 생성하는 단계를 포함하는 가중치 예측을 이용한 영상 부호화 방법.
  2. 제1항에 있어서, 상기 코딩 유닛은 32×32 픽셀 이상의 크기를 가지는 확장 마크로 블록을 포함하는 것을 특징으로 하는 가중치 예측을 이용한 영상 부호화 방법.
  3. 영상의 복호화 방법에 있어서,
    수신된 비트 스트림을 엔트로피 부호화하여 양자화된 잔여값, 움직임 벡터, 가중치 파라미터를 추출하는 단계;
    상기 양자화된 잔여값을 역양자화 및 역변환하여 잔여값을 복원하는 단계;
    상기 움직임 벡터를 이용하여 움직임 보상을 수행하여 예측 신호를 생성하는 단계;
    상기 예측 신호에 상기 가중치 파라미터를 적용하여 예측 블록을 생성하는 단계; 및
    상기 잔여값 및 상기 예측 블록에 기초하여 현재 블록을 복원하는 단계를 포함하는 가중치 예측을 이용한 영상의 복호화 방법.
  4. 제3항에 있어서, 상기 예측 블록은 32×32 픽셀 이상의 크기를 가지는 확장 마크로 블록을 포함하는 것을 특징으로 하는 가중치 예측을 이용한 영상 복호화 방법.
  5. 영상의 부호화 방법에 있어서,
    예측 유닛에 대한 움직임 보상 화면간 예측을 수행하는 단계;
    상기 예측 유닛에 대한 파티션 분할후 현재 블록의 주변 샘플들을 포함하는 병합 가능 블록 집합에 속하는 샘플들을 상기 현재 블록과 병합하는 블록 병합을 수행하는 단계를 포함하되,
    상기 병합된 블록에 대해서는 동일한 움직임 파라미터를 할당하여 복호화기로 전송하는 것을 특징으로 하는 블록 병합을 이용한 영상 부호화 방법.
  6. 제5항에 있어서, 상기 병합 가능 블록 집합은 비대칭(asymmetric) 파티션닝(partitioning)에 의해 생성된 블록 및 기하학적(geometrical) 파티션닝(partitioning)에 의해 생성된 블록 중 적어도 하나를 포함하는 것을 특징으로 하는 블록 병합을 이용한 영상 부호화 방법.
  7. 영상의 복호화 방법에 있어서,
    수신된 비트 스트림을 엔트로피 복호화하여 잔여값을 역양자화 및 역변환하여 잔여값을 복원하는 단계;
    예측 유닛 정보 및 움직임 파라미터를 이용하여 움직임 보상을 수행하여 예측 유닛을 생성하는 단계;
    상기 예측 유닛에 상기 잔여값을 더하여 영상을 복원하는 단계를 포함하되, 상기 예측 유닛에 대한 파티션 분할후 병합 가능 블록 집합에 속하는 블록들 중 현재 블록과 병합된 블록에 대해서는 동일한 움직임 파라미터를 가지는 것을 특징으로 하는 블록 병합을 이용한 영상의 복호화 방법.
  8. 제7항에 있어서, 상기 병합 가능 블록 집합은 비대칭(asymmetric) 파티션닝(partitioning)에 의해 생성된 블록 및 기하학적(geometrical) 파티션닝(partitioning)에 의해 생성된 블록 중 적어도 하나를 포함하는 것을 특징으로 하는 블록 병합을 이용한 영상의 복호화 방법.
  9. 제8항에 있어서, 상기 엔트로피 복호화를 통해 복호화된 헤더 정보에는 예측 유닛 정보, 움직임 보상 및 예측을 위한 움직임 파라미터를 포함하는 것을 특징으로 하는 블록 병합을 이용한 영상의 복호화 방법.
  10. 제9항에 있어서, 상기 움직임 파라미터는 상기 블록 병합에 의해 병합된 블록별로 전송된 움직임 파라미터를 포함하는 것을 특징으로 하는 블록 병합을 이용한 영상의 복호화 방법.
  11. 영상의 복호화 장치에 있어서,
    수신된 비트 스트림을 엔트로피 복호화하여 잔여값을 역양자화하고 역변환하여 잔여값을 복원하는 역양자화 및 역변환부;
    예측 유닛 정보 및 움직임 파라미터를 이용하여 움직임 보상을 수행하여 예측 유닛을 생성하는 움직임 보상부; 및
    상기 예측 유닛에 상기 잔여값을 더하여 영상을 복원하는 가산부를 포함하되, 상기 예측 유닛에 대한 파티션 분할후 병합 가능 블록 집합에 속하는 블록들 중 현재 블록과 병합된 블록에 대해서는 동일한 움직임 파라미터를 가지는 것을 특징으로 하는 블록 병합을 이용한 영상의 복호화 장치.
  12. 제11항에 있어서, 상기 병합 가능 블록 집합은 비대칭(asymmetric) 파티션닝(partitioning)에 의해 생성된 블록 및 기하학적(geometrical) 파티션닝(partitioning)에 의해 생성된 블록 중 적어도 하나를 포함하는 것을 특징으로 하는 블록 병합을 이용한 영상의 복호화 장치.
  13. 영상의 부호화 방법에 있어서,
    입력 영상에 대해 화면간 예측을 위한 예측 유닛을 생성하는 단계; 및
    상기 예측 유닛에 대한 움직임 보상 화면간 예측을 수행하는 단계를 포함하되, 상기 예측 유닛에 대한 움직임 보상 화면간 예측을 수행하는 단계는
    상기 움직임 보상 화면간 예측에 사용되는 필터를 픽춰 단위 보다 정밀한 단위-상기 정밀한 단위는 슬라이스(slice) 단위, 예측 유닛 단위 및 파티션 단위 중 적어도 하나를 포함함-별로 선택하여 서브-픽셀값을 산출하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  14. 제13항에 있어서, 상기 예측 유닛에 대한 움직임 보상 화면간 예측을 수행하는 단계는
    상기 예측 유닛에 대한 파티션 분할후 현재 블록의 주변 샘플들을 포함하는 병합 가능 블록 집합에 속하는 샘플들을 상기 현재 블록과 병합하는 블록 병합을 수행하는 단계; 및
    상기 움직임 보상 화면간 예측에 사용되는 필터의 필터 정보-상기 필터 정보는 필터 인덱스 및 필터 계수 중 적어도 하나를 포함함-를 상기 정밀한 단위별로 선택하여 서브-픽셀값을 산출하는 단계를 포함하는 것을 특징으로 하는 블록 병합을 이용한 영상 부호화 방법.
  15. 제14항에 있어서, 상기 병합된 블록에 대해서는 동일한 필터 정보를 할당하여 복호화기로 전송하는 것을 특징으로 하는 블록 병합을 이용한 영상 부호화 방법.
  16. 제13항에 있어서, 상기 병합 가능 블록 집합은 비대칭(asymmetric) 파티션닝(partitioning)에 의해 생성된 블록 및 기하학적(geometrical) 파티션닝(partitioning)에 의해 생성된 블록 중 적어도 하나를 포함하는 것을 특징으로 하는 블록 병합을 이용한 영상 부호화 방법.
  17. 영상의 복호화 방법에 있어서,
    수신된 비트 스트림을 엔트로피 복호화하여 잔여값을 역양자화 및 역변환하여 잔여값을 복원하는 단계;
    예측 유닛 정보 및 움직임 파라미터를 이용하여 예측 유닛을 생성하는 단계;
    픽춰 단위 보다 정밀한 단위-상기 정밀한 단위는 슬라이스(slice) 단위, 예측 유닛 단위 및 파티션 단위 중 적어도 하나를 포함함-별로 선택하여 부호화된 필터 정보-상기 필터 정보는 필터 인덱스 및 필터 계수 중 적어도 하나를 포함함-를 이용하여 상기 예측 유닛에 대해 화면간 예측을 수행하는 단계; 및
    상기 화면간 예측이 수행된 예측 유닛에 상기 잔여값을 더하여 영상을 복원하는 단계를 포함하는 영상 복호화 방법.
  18. 제17항에 있어서, 상기 예측 유닛에 대한 파티션 분할후 병합 가능 블록 집합에 속하는 블록들 중 현재 블록과 병합된 블록에 대해서는 동일한 필터 정보를 가지는 것을 특징으로 하는 영상 복호화 방법.
  19. 제17항에 있어서, 상기 필터 정보는 움직임 보상 화면간 예측에 사용되는 필터의 필터 정보인 것을 특징으로 하는 영상 복호화 방법.
  20. 제17항에 있어서, 상기 병합 가능 블록 집합은 비대칭(asymmetric) 파티션닝(partitioning)에 의해 생성된 블록 및 기하학적(geometrical) 파티션닝(partitioning)에 의해 생성된 블록 중 적어도 하나를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  21. 제17항에 있어서, 상기 엔트로피 복호화를 통해 복호화된 헤더 정보에는 예측 유닛 정보, 움직임 보상 및 예측을 위한 움직임 파라미터 및 필터 정보를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  22. 영상의 복호화 장치에 있어서,
    수신된 비트 스트림을 엔트로피 복호화하여 잔여값을 역양자화하고 역변환하여 잔여값을 복원하는 역양자화 및 역변환부;
    예측 유닛 정보 및 움직임 파라미터를 이용하여 예측 유닛을 생성하는 움직임 보상부; 및
    예측 유닛에 상기 잔여값을 더하여 영상을 복원하는 가산부를 포함하되, 상기 움직임 보상부는 픽춰 단위 보다 정밀한 단위-상기 정밀한 단위는 슬라이스(slice) 단위, 예측 유닛 단위 및 파티션 단위 중 적어도 하나를 포함함-별로 선택하여 부호화된 필터 정보-상기 필터 정보는 필터 인덱스 및 필터 계수 중 적어도 하나를 포함함-를 이용하여 상기 예측 유닛에 대해 화면간 예측을 수행하는 것을 특징으로 하는 영상 복호화 장치.
  23. 제10항에 있어서, 상기 예측 유닛에 대한 파티션 분할후 병합 가능 블록 집합에 속하는 블록들 중 현재 블록과 병합된 블록에 대해서는 동일한 필터 정보를 가지는 것을 특징으로 하는 영상 복호화 장치.
  24. 제22항에 있어서, 상기 필터 정보는 움직임 보상 화면간 예측에 사용되는 필터의 필터 정보인 것을 특징으로 하는 영상 복호화 장치.
  25. 제22항에 있어서, 상기 병합 가능 블록 집합은 비대칭(asymmetric) 파티션닝(partitioning)에 의해 생성된 블록 및 기하학적(geometrical) 파티션닝(partitioning)에 의해 생성된 블록 중 적어도 하나를 포함하는 것을 특징으로 하는 영상 복호화 장치.
  26. 제22항에 있어서, 상기 엔트로피 복호화를 통해 복호화된 헤더 정보에는 예측 유닛 정보, 움직임 보상 및 예측을 위한 움직임 파라미터 및 필터 정보를 포함하는 것을 특징으로 하는 영상 복호화 장치.
PCT/KR2011/000786 2010-02-02 2011-02-07 영상 부호화/복호화 장치 및 방법 WO2011096770A2 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US13/576,607 US20120300850A1 (en) 2010-02-02 2011-02-07 Image encoding/decoding apparatus and method
KR1020110082386A KR20120090740A (ko) 2011-02-07 2011-08-18 정밀한 단위의 필터 선택을 적용한 영상 부호화/복호화 장치 및 방법
US14/528,490 US20150055705A1 (en) 2010-02-02 2014-10-30 Image encoding/decoding apparatus and method
US14/528,465 US20150049818A1 (en) 2010-02-02 2014-10-30 Image encoding/decoding apparatus and method
US14/528,536 US20150055701A1 (en) 2010-02-02 2014-10-30 Image encoding/decoding apparatus and method
US14/528,379 US20150055711A1 (en) 2010-02-02 2014-10-30 Image encoding/decoding apparatus and method

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR10-2010-0009358 2010-02-02
KR20100009358 2010-02-02
KR1020100055209A KR20110135471A (ko) 2010-06-11 2010-06-11 블록 병합을 이용한 영상 부호화/복호화 장치 및 방법
KR10-2010-0055209 2010-06-11
KR1020100071848A KR20120010367A (ko) 2010-07-26 2010-07-26 정밀한 단위의 보간 필터 선택을 적용한 영상 부호화/복호화 장치 및 방법
KR10-2010-0071848 2010-07-26

Related Child Applications (5)

Application Number Title Priority Date Filing Date
US13/576,607 A-371-Of-International US20120300850A1 (en) 2010-02-02 2011-02-07 Image encoding/decoding apparatus and method
US14/528,536 Continuation US20150055701A1 (en) 2010-02-02 2014-10-30 Image encoding/decoding apparatus and method
US14/528,490 Continuation US20150055705A1 (en) 2010-02-02 2014-10-30 Image encoding/decoding apparatus and method
US14/528,379 Continuation US20150055711A1 (en) 2010-02-02 2014-10-30 Image encoding/decoding apparatus and method
US14/528,465 Continuation US20150049818A1 (en) 2010-02-02 2014-10-30 Image encoding/decoding apparatus and method

Publications (2)

Publication Number Publication Date
WO2011096770A2 true WO2011096770A2 (ko) 2011-08-11
WO2011096770A3 WO2011096770A3 (ko) 2011-12-29

Family

ID=44356008

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/000786 WO2011096770A2 (ko) 2010-02-02 2011-02-07 영상 부호화/복호화 장치 및 방법

Country Status (2)

Country Link
US (5) US20120300850A1 (ko)
WO (1) WO2011096770A2 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013036041A3 (ko) * 2011-09-09 2013-05-02 주식회사 케이티 시간적 예측 움직임 벡터 유도 방법 및 이러한 방법을 사용하는 장치
CN103096073A (zh) * 2011-11-07 2013-05-08 吴秀美 构造合并列表的方法
CN103733624A (zh) * 2011-08-18 2014-04-16 数码士有限公司 应用通过精确单元的滤波器选择的图像编码/解码装置和方法
CN105357530A (zh) * 2015-10-16 2016-02-24 广州市百果园网络科技有限公司 一种预测编码的方法及装置
CN108235009A (zh) * 2011-11-07 2018-06-29 英孚布瑞智有限私人贸易公司 导出运动信息的方法
WO2017188779A3 (ko) * 2016-04-29 2018-08-02 인텔렉추얼디스커버리 주식회사 영상 신호 부호화/복호화 방법 및 장치
CN108495133A (zh) * 2011-11-04 2018-09-04 英孚布瑞智有限私人贸易公司 推导量化参数的方法
CN110225360A (zh) * 2014-04-01 2019-09-10 联发科技股份有限公司 视频编码中自适应内插滤波的方法
CN110431845A (zh) * 2017-03-22 2019-11-08 高通股份有限公司 约束通过解码器侧运动向量推导导出的运动向量信息

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106231328B (zh) 2010-04-13 2020-06-12 Ge视频压缩有限责任公司 解码器、解码方法、编码器以及编码方法
KR102480988B1 (ko) 2010-04-13 2022-12-26 지이 비디오 컴프레션, 엘엘씨 샘플 영역 병합
CN102939750B (zh) 2010-04-13 2016-07-06 Ge视频压缩有限责任公司 跨平面预测
LT3697089T (lt) 2010-04-13 2022-01-10 Ge Video Compression, Llc Paveldėjimas ėminių masyvo multimedžio poskaidinyje
WO2011142279A1 (ja) * 2010-05-13 2011-11-17 シャープ株式会社 符号化装置、復号装置、およびデータ構造
EP2942959A1 (en) * 2010-06-07 2015-11-11 HUMAX Holdings Co., Ltd. Apparatus for decoding high-resolution images
US8917763B2 (en) * 2011-03-07 2014-12-23 Panasonic Corporation Motion compensation apparatus, video coding apparatus, video decoding apparatus, motion compensation method, program, and integrated circuit
JP2013085096A (ja) * 2011-10-07 2013-05-09 Sony Corp 画像処理装置および方法
TWI523497B (zh) * 2011-11-10 2016-02-21 Sony Corp Image processing apparatus and method
US9445088B2 (en) 2012-04-09 2016-09-13 Qualcomm Incorporated LCU-based adaptive loop filtering for video coding
KR102088801B1 (ko) * 2013-03-07 2020-03-13 삼성전자주식회사 가변블록 사이즈 코딩 정보를 이용한 관심영역 코딩 방법 및 장치
JP6671339B2 (ja) * 2015-02-27 2020-03-25 Kddi株式会社 符号化装置及び復号装置
KR20230088846A (ko) * 2015-03-23 2023-06-20 엘지전자 주식회사 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US10306258B2 (en) 2016-01-29 2019-05-28 Google Llc Last frame motion vector partitioning
US10469841B2 (en) * 2016-01-29 2019-11-05 Google Llc Motion vector prediction using prior frame residual
US10602176B2 (en) * 2016-04-15 2020-03-24 Google Llc Coding interpolation filter type
EP3457696A4 (en) * 2016-05-13 2019-12-18 Sharp Kabushiki Kaisha DEVICE FOR PREDICTIVE IMAGE GENERATION, VIDEO DECODING DEVICE AND VIDEO CODING DEVICE
US10880548B2 (en) * 2016-06-01 2020-12-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding video according to coding order
MX2019000506A (es) 2016-07-14 2019-03-28 Samsung Electronics Co Ltd Metodo de decodificacion de video y dispositivo para ello y metodo de codificacion de video y dispositivo para ello.
CN116915980A (zh) * 2016-11-29 2023-10-20 韩国电子通信研究院 图像编码/解码方法和装置以及存储有比特流的记录介质
US10436094B2 (en) 2017-01-30 2019-10-08 Acat Global Swaged shell
US11272207B2 (en) * 2017-06-12 2022-03-08 Futurewei Technologies, Inc. Selection and signaling of motion vector (MV) precisions
CN117221523A (zh) * 2017-08-29 2023-12-12 株式会社Kt 视频解码方法、视频编码方法及装置
CN110213591B (zh) * 2018-03-07 2023-02-28 腾讯科技(深圳)有限公司 一种视频运动估计方法、装置及存储介质
CN111919447A (zh) * 2018-03-14 2020-11-10 韩国电子通信研究院 用于对图像进行编码/解码的方法和装置以及存储有比特流的记录介质
CN110958452B (zh) * 2018-09-27 2023-11-03 华为技术有限公司 视频解码方法及视频解码器
WO2020103934A1 (en) 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Construction method for inter prediction with geometry partition
WO2020142447A1 (en) * 2018-12-30 2020-07-09 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus of video coding for triangle prediction
CN111083490B (zh) * 2019-01-02 2022-05-06 北京达佳互联信息技术有限公司 一种视频解码中运动补偿的方法及装置
US10742972B1 (en) * 2019-03-08 2020-08-11 Tencent America LLC Merge list construction in triangular prediction
JP2022541687A (ja) * 2019-10-10 2022-09-26 ベイジン、ターチア、インターネット、インフォメーション、テクノロジー、カンパニー、リミテッド 三角分割を用いたビデオ符号化の方法および装置
US11240501B2 (en) * 2020-01-08 2022-02-01 Tencent America LLC L-type partitioning tree

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070075354A (ko) * 2006-01-12 2007-07-18 엘지전자 주식회사 비디오 신호의 디코딩/인코딩 방법 및 장치
KR20070111947A (ko) * 2006-05-19 2007-11-22 엘지전자 주식회사 비디오 신호의 디코딩/인코딩 방법 및 장치
KR20080006495A (ko) * 2006-07-12 2008-01-16 엘지전자 주식회사 비디오 신호의 디코딩 방법 및 장치
KR20080088046A (ko) * 2007-03-28 2008-10-02 삼성전자주식회사 움직임 보상 필터링을 이용한 영상 부호화, 복호화 방법 및장치

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3408061A1 (de) * 1984-03-05 1985-09-05 ANT Nachrichtentechnik GmbH, 7150 Backnang Verfahren zur bewegungsadaptiven interpolation von fernsehbildsequenzen und anwendungen dieses verfahrens
US7302006B2 (en) * 2002-04-30 2007-11-27 Hewlett-Packard Development Company, L.P. Compression of images and image sequences through adaptive partitioning
AU2003246987A1 (en) * 2002-07-09 2004-01-23 Nokia Corporation Method and system for selecting interpolation filter type in video coding
US8208564B2 (en) * 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
EP2106666B1 (en) * 2007-01-08 2019-06-12 Nokia Technologies Oy Improved inter-layer prediction for extended spatial scalability in video coding
KR20090004658A (ko) * 2007-07-02 2009-01-12 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
JP2011501555A (ja) * 2007-10-16 2011-01-06 エルジー エレクトロニクス インコーポレイティド ビデオ信号処理方法及び装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070075354A (ko) * 2006-01-12 2007-07-18 엘지전자 주식회사 비디오 신호의 디코딩/인코딩 방법 및 장치
KR20070111947A (ko) * 2006-05-19 2007-11-22 엘지전자 주식회사 비디오 신호의 디코딩/인코딩 방법 및 장치
KR20080006495A (ko) * 2006-07-12 2008-01-16 엘지전자 주식회사 비디오 신호의 디코딩 방법 및 장치
KR20080088046A (ko) * 2007-03-28 2008-10-02 삼성전자주식회사 움직임 보상 필터링을 이용한 영상 부호화, 복호화 방법 및장치

Cited By (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103733624A (zh) * 2011-08-18 2014-04-16 数码士有限公司 应用通过精确单元的滤波器选择的图像编码/解码装置和方法
EP2747426A4 (en) * 2011-08-18 2016-04-27 PICTURE CODING / DECODING DEVICE AND METHOD WITH PRECISE FILTER SELECTION
CN107580221A (zh) * 2011-09-09 2018-01-12 株式会社Kt 用于解码视频信号的方法
WO2013036041A3 (ko) * 2011-09-09 2013-05-02 주식회사 케이티 시간적 예측 움직임 벡터 유도 방법 및 이러한 방법을 사용하는 장치
CN107580218A (zh) * 2011-09-09 2018-01-12 株式会社Kt 用于解码视频信号的方法
AU2012305071B2 (en) * 2011-09-09 2014-12-11 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
ES2487993R1 (es) * 2011-09-09 2015-01-27 Kt Corporation Procedimiento de obtención de un vector temporal predictor de movimiento, y aparato que utiliza el procedimiento
CN104349164A (zh) * 2011-09-09 2015-02-11 株式会社Kt 用于对视频信号进行解码的方法和设备
CN107635140B (zh) * 2011-09-09 2020-12-08 株式会社Kt 用于解码视频信号的方法
US11089333B2 (en) 2011-09-09 2021-08-10 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
CN103430550B (zh) * 2011-09-09 2017-10-13 株式会社Kt 用于导出时间预测运动矢量的方法及使用该方法的设备
CN107580219A (zh) * 2011-09-09 2018-01-12 株式会社Kt 用于解码视频信号的方法
GB2508739A (en) * 2011-09-09 2014-06-11 Kt Corp Method for deriving a temporal predictive motion vector, and apparatus using the method
CN103430550A (zh) * 2011-09-09 2013-12-04 株式会社Kt 用于导出时间预测运动矢量的方法及使用该方法的设备
CN107483928A (zh) * 2011-09-09 2017-12-15 株式会社Kt 用于解码视频信号的方法
CN107592528A (zh) * 2011-09-09 2018-01-16 株式会社Kt 用于解码视频信号的方法
CN107592527A (zh) * 2011-09-09 2018-01-16 株式会社Kt 用于解码视频信号的方法
CN107635140A (zh) * 2011-09-09 2018-01-26 株式会社Kt 用于解码视频信号的方法
CN104349164B (zh) * 2011-09-09 2018-02-02 株式会社Kt 用于对视频信号进行解码的方法和设备
CN107580219B (zh) * 2011-09-09 2020-12-08 株式会社Kt 用于解码视频信号的方法
CN107580221B (zh) * 2011-09-09 2020-12-08 株式会社Kt 用于解码视频信号的方法
US10805639B2 (en) 2011-09-09 2020-10-13 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
US10523967B2 (en) 2011-09-09 2019-12-31 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
GB2508739B (en) * 2011-09-09 2018-12-05 Kt Corp Method for deriving a temporal predictive motion vector, and apparatus using the method
CN108495133A (zh) * 2011-11-04 2018-09-04 英孚布瑞智有限私人贸易公司 推导量化参数的方法
CN108235009A (zh) * 2011-11-07 2018-06-29 英孚布瑞智有限私人贸易公司 导出运动信息的方法
CN108111853A (zh) * 2011-11-07 2018-06-01 英孚布瑞智有限私人贸易公司 合并模式下的图像重构方法
CN108347609A (zh) * 2011-11-07 2018-07-31 英孚布瑞智有限私人贸易公司 利用合并模式的图像解码方法
CN108347610A (zh) * 2011-11-07 2018-07-31 英孚布瑞智有限私人贸易公司 合并模式下的图像解码方法
US11089307B2 (en) 2011-11-07 2021-08-10 Infobridge Pte. Ltd. Method of constructing merge list
CN108282660A (zh) * 2011-11-07 2018-07-13 英孚布瑞智有限私人贸易公司 导出运动信息的方法
CN108777789A (zh) * 2011-11-07 2018-11-09 英孚布瑞智有限私人贸易公司 导出运动信息的方法
CN108134933A (zh) * 2011-11-07 2018-06-08 英孚布瑞智有限私人贸易公司 利用合并模式的图像解码方法
US10158857B2 (en) 2011-11-07 2018-12-18 Infobridge Pte. Ltd. Method of constructing merge list
US10362312B2 (en) 2011-11-07 2019-07-23 Infobridge Pte. Ltd. Method of constructing merge list
CN103096073A (zh) * 2011-11-07 2013-05-08 吴秀美 构造合并列表的方法
CN108111853B (zh) * 2011-11-07 2021-06-18 英孚布瑞智有限私人贸易公司 合并模式下的图像重构方法
CN108134934A (zh) * 2011-11-07 2018-06-08 英孚布瑞智有限私人贸易公司 图像编码设备
CN108282661A (zh) * 2011-11-07 2018-07-13 英孚布瑞智有限私人贸易公司 合并模式下的图像解码方法
CN108134934B (zh) * 2011-11-07 2020-10-20 英孚布瑞智有限私人贸易公司 图像编码设备
CN103096073B (zh) * 2011-11-07 2018-02-13 英孚布瑞智有限私人贸易公司 构造合并列表的方法
US9912953B2 (en) 2011-11-07 2018-03-06 Infobridge Pte. Ltd. Method of constructing merge list
US10986365B2 (en) 2014-04-01 2021-04-20 Mediatek Inc. Method of adaptive interpolation filtering in video coding
CN110225360A (zh) * 2014-04-01 2019-09-10 联发科技股份有限公司 视频编码中自适应内插滤波的方法
CN105357530A (zh) * 2015-10-16 2016-02-24 广州市百果园网络科技有限公司 一种预测编码的方法及装置
US10834420B2 (en) 2016-04-29 2020-11-10 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding video signal
WO2017188779A3 (ko) * 2016-04-29 2018-08-02 인텔렉추얼디스커버리 주식회사 영상 신호 부호화/복호화 방법 및 장치
US11297343B2 (en) 2016-04-29 2022-04-05 Intellectual Discovery Co.. Ltd. Method and apparatus for encoding/decoding video signal
US11785244B2 (en) 2016-04-29 2023-10-10 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding video signal
CN110431845A (zh) * 2017-03-22 2019-11-08 高通股份有限公司 约束通过解码器侧运动向量推导导出的运动向量信息
CN110431845B (zh) * 2017-03-22 2022-11-25 高通股份有限公司 约束通过解码器侧运动向量推导导出的运动向量信息

Also Published As

Publication number Publication date
US20150055705A1 (en) 2015-02-26
US20150055711A1 (en) 2015-02-26
US20150055701A1 (en) 2015-02-26
US20150049818A1 (en) 2015-02-19
US20120300850A1 (en) 2012-11-29
WO2011096770A3 (ko) 2011-12-29

Similar Documents

Publication Publication Date Title
WO2011096770A2 (ko) 영상 부호화/복호화 장치 및 방법
WO2018066849A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018212577A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018106047A1 (ko) 비디오 신호 처리 방법 및 장치
WO2017222325A1 (ko) 비디오 신호 처리 방법 및 장치
WO2014171713A1 (ko) 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
WO2018066959A1 (ko) 비디오 신호 처리 방법 및 장치
WO2013002589A2 (ko) 휘도 성분 영상을 이용한 색차 성분 영상의 예측 방법 및 예측 장치
WO2017179835A1 (ko) 인트라 예측 기반의 비디오 신호 처리 방법 및 장치
WO2011021838A2 (en) Method and apparatus for encoding video, and method and apparatus for decoding video
WO2011087297A2 (en) Method and apparatus for encoding video by using deblocking filtering, and method and apparatus for decoding video by using deblocking filtering
WO2018236031A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2018236028A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2013005962A2 (ko) 단일화된 참조가능성 확인 과정을 통해 인트라 예측을 수반하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2018008905A1 (ko) 비디오 신호 처리 방법 및 장치
WO2011021839A2 (en) Method and apparatus for encoding video, and method and apparatus for decoding video
WO2013115572A1 (ko) 계층적 데이터 단위의 양자화 파라메터 예측을 포함하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2012044126A2 (ko) 영상의 인트라 예측 방법 및 장치
WO2018044089A1 (ko) 비디오 신호 처리 방법 및 장치
WO2019117634A1 (ko) 2차 변환에 기반한 영상 코딩 방법 및 그 장치
WO2013109123A1 (ko) 인트라 예측 처리 속도 향상을 위한 비디오의 부호화 방법 및 장치, 비디오의 복호화 방법 및 장치
WO2019117639A1 (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
WO2018212569A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2011019213A2 (ko) 적응적인 루프 필터링을 이용한 비디오의 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2019235891A1 (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: 11740066

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13576607

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11740066

Country of ref document: EP

Kind code of ref document: A2