WO2019013434A1 - 움직임벡터를 부호화 또는 복호화하기 위한 장치 및 방법 - Google Patents

움직임벡터를 부호화 또는 복호화하기 위한 장치 및 방법 Download PDF

Info

Publication number
WO2019013434A1
WO2019013434A1 PCT/KR2018/004651 KR2018004651W WO2019013434A1 WO 2019013434 A1 WO2019013434 A1 WO 2019013434A1 KR 2018004651 W KR2018004651 W KR 2018004651W WO 2019013434 A1 WO2019013434 A1 WO 2019013434A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion vector
resolution
differential motion
current block
mvd
Prior art date
Application number
PCT/KR2018/004651
Other languages
English (en)
French (fr)
Inventor
임정연
이선영
손세훈
신재섭
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Publication of WO2019013434A1 publication Critical patent/WO2019013434A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to image encoding or decoding for efficiently encoding an image.
  • video data Since video data has a larger amount of data than voice data or still image data, it requires a lot of hardware resources including memory to store or transmit the video data itself without processing for compression. Accordingly, when moving picture data is stored or transmitted, the moving picture data is compressed and stored or transmitted using an encoder.
  • the decoder receives compressed moving picture data, decompresses and reproduces the moving picture data.
  • HEVC High Efficiency Video Coding
  • the motion information includes information on a reference picture used for predicting a current block and information on a motion vector.
  • the motion vector is expressed in units of a quarter pixel.
  • the present invention provides an image encoding or decoding technique for efficiently encoding an image by adjusting a resolution representing a differential motion vector according to characteristics of an image and a block.
  • a method of encoding a motion vector of a current block comprising: determining a differential motion vector for the current block at a default resolution; Determining one or more resolution candidates from a plurality of motion vector resolutions according to the absolute value of the determined motion vector; Selecting a resolution to represent the determined differential motion vector from the at least one resolution candidate; Calculating a value to be encoded as a differential motion vector of the current block by applying a function corresponding to the selected resolution to the determined differential motion vector; And encoding the calculated value as differential motion vector information and encoding resolution information for indicating the selected resolution among the plurality of motion vector resolutions.
  • a method of decoding a motion vector of a current block comprising: decoding differential motion vector information of the current block; Selecting one of a plurality of motion vector resolutions by decoding resolution information indicating a resolution of a differential motion vector; Reconstructing a differential motion vector of the current block by applying a function corresponding to the selected resolution to a value determined by the differential motion vector information; And determining a predicted motion vector of the current block and reconstructing a motion vector of the current block using the reconstructed differential motion vector and the predictive motion vector.
  • an image decoding apparatus for decoding a motion vector of a current block, the apparatus comprising: means for determining a differential motion vector index by decoding differential motion vector information of the current block; A decoding unit for selecting one resolution among a plurality of motion vector resolutions by decoding the resolution information represented by the resolution information and restoring the differential motion vector of the current block by applying a function corresponding to the selected resolution to the determined differential motion vector index; And an inter-prediction unit for determining a predicted motion vector of the current block and reconstructing a motion vector of the current block using the reconstructed differential motion vector and the predictive motion vector.
  • FIG. 1 is a block diagram of an image encoding apparatus according to an embodiment of the present invention.
  • 2 is an exemplary view of neighboring blocks of the current block.
  • FIG. 3 is a flowchart illustrating an operation method of an image encoding apparatus according to an embodiment of the present invention.
  • FIG. 4 is a block diagram of an image decoding apparatus according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating an operation method of an image decoding apparatus according to an embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating an example of a specific operation method of an image decoding apparatus according to an embodiment of the present invention.
  • FIG. 1 is a block diagram of an image encoding apparatus 100 according to an embodiment of the present invention.
  • the image encoding apparatus 100 includes a block division unit 110, a prediction unit 120, a subtractor 130, a transform unit 140, a quantization unit 145, a coding unit 150, an inverse quantization unit 160, An inverse transform unit 165, an adder 170, a filter unit 180, and a memory 190.
  • Each component of the encoding apparatus 100 may be implemented as a hardware chip, or may be implemented as software and a microprocessor may be implemented to execute the function of the software corresponding to each component.
  • the block division unit 110 divides each picture constituting an image into a plurality of CTUs (Coding Tree Units), and then recursively divides the CTUs using a tree structure.
  • a leaf node in a tree structure becomes a CU (Coding Unit) which is a basic unit of encoding.
  • CU Coding Unit
  • a quad tree (QuadTree, QT) in which an upper node divides into four subnodes
  • a QTBT QuadTBT
  • BT binary tree plus BinaryTree
  • the prediction unit 120 generates a prediction block by predicting the current block.
  • the prediction unit 120 includes an intra prediction unit 122 and an inter prediction unit 124.
  • the current block is a basic unit of encoding corresponding to a leaf node in the tree structure, and means a CU to be encoded at present.
  • the current block may be one sub-block of a plurality of sub-blocks divided from the CU.
  • the intra prediction unit 122 predicts pixels in the current block using pixels (reference pixels) located in the vicinity of the current block in the current picture including the current block.
  • pixels reference pixels located in the vicinity of the current block in the current picture including the current block.
  • the inter-prediction unit 124 searches for a block most similar to the current block in the reference picture coded and decoded earlier than the current picture, and generates a prediction block for the current block using the searched block. Then, a motion vector (MV) corresponding to the displacement between the current block in the current picture and the prediction block in the reference picture is generated.
  • the motion information including the information on the reference picture used for predicting the current block and the information on the motion vector is encoded by the encoding unit 150 and transmitted to the video decoding apparatus.
  • the motion information of the current block can be transmitted to the decoding apparatus by encoding information capable of identifying the neighboring block. This method is referred to as a 'merge mode'.
  • the inter-prediction unit 124 selects a predetermined number of merge candidate blocks (hereinafter, merge candidates) from neighboring blocks of the current block.
  • the neighboring blocks for deriving the merge candidate include a left block L, an upper block A, an upper right block AR and a lower left block BL adjacent to the current block in the current picture ),
  • upper left block AL may be used in whole or in part.
  • a block located in a reference picture (which may be the same as or different from a reference picture used for predicting the current block) rather than the current picture in which the current block is located may be used as the merge candidate.
  • a co-located block co-located with the current block in the reference picture or blocks adjacent to the same co-located block may be further used as merge candidates.
  • the inter-prediction unit 124 constructs a merged list including a predetermined number of merge candidates using these neighboring blocks.
  • the merge candidate to be used as the motion information of the current block among the merge candidates included in the merge list is selected and merge index information for identifying the selected candidate is generated.
  • the generated merge index information is encoded by the encoding unit 150 and transmitted to the image decoding apparatus.
  • Another method of coding motion information is to encode a motion vector difference (MVD).
  • MVD motion vector difference
  • the inter-prediction unit 124 derives motion vector predictor (MVP) candidates for a motion vector of a current block using neighboring blocks of the current block.
  • the neighboring blocks used for deriving the predicted motion vector candidates are a left block L, an upper block A, an upper right block AR, a lower left block (FIG. 2) adjacent to the current block in the current picture shown in FIG. BL), and upper left block AL may be used in whole or in part.
  • a block located in a reference picture (which may be the same as or different from a reference picture used for predicting the current block), which is not the current picture in which the current block is located, is used as a neighboring block used to derive the predicted motion vector candidates It is possible.
  • a co-located block in the reference picture or a block adjacent to the co-located block in the reference picture may be used.
  • the inter-prediction unit 124 derives the predicted motion vector candidates using the motion vectors of the neighboring blocks, and determines a predicted motion vector for the motion vector of the current block using the predicted motion vector candidates. Then, a differential motion vector is calculated by subtracting the predicted motion vector from the motion vector of the current block.
  • the predictive motion vector can be obtained by applying a predefined function (e.g., median value, mean value calculation, etc.) to the predicted motion vector candidates.
  • a predefined function e.g., median value, mean value calculation, etc.
  • the image decoding apparatus also knows a predefined function.
  • the neighboring blocks used to derive the predicted motion vector candidates are blocks that have already been encoded and decoded, the image decoding apparatus already knows the motion vectors of the neighboring blocks. Therefore, the image encoding apparatus 100 need not encode information for identifying a predicted motion vector candidate. Therefore, in this case, the information on the differential motion vector and the information on the reference picture used for predicting the current block are coded.
  • the predicted motion vector may be determined by selecting one of the predicted motion vector candidates.
  • information for identifying the predictive motion vector candidates selected is further coded together with the information about the differential motion vector and the reference pictures used for predicting the current block.
  • the subtracter 130 subtracts the prediction block generated by the intra prediction unit 112 or the inter prediction unit 124 from the current block to generate a residual block.
  • the transform unit 140 transforms the residual signal in the residual block having pixel values in the spatial domain into transform coefficients in the frequency domain.
  • the transform unit 140 may transform the residual signals in the residual block by using the size of the current block as a transform unit or divide the residual block into a plurality of smaller subblocks and transform residual signals into subblock- Conversion. There are various ways of dividing the residual block into smaller sub-blocks. For example, it may be divided into predefined subblocks of the same size, or a quadtree (QT) partition using the residual block as the root node.
  • QT quadtree
  • the quantization unit 145 quantizes the transform coefficients output from the transform unit 140, and outputs the quantized transform coefficients to the encoding unit 150.
  • the encoding unit 150 encodes the quantized transform coefficients using a coding scheme such as CABAC to generate a bitstream.
  • the encoding unit 150 encodes information on the size of the CTU located in the uppermost layer of the tree structure and the partition information for dividing the block from the CTU into a tree structure so that the decoding apparatus divides the block .
  • the QT division information indicating whether the block of the upper layer is divided into four blocks of the lower layer is encoded.
  • BT segmentation it starts from the block corresponding to the leaf node of QT, and determines whether each block is divided into two blocks and the BT segmentation information indicating the type to be divided.
  • the encoding unit 150 encodes information on a prediction type indicating whether the current block is coded by intraprediction or inter prediction, and encodes the intra prediction information or the inter prediction information according to the prediction type.
  • the encoding unit 150 encodes the syntax elements of the inter-prediction information.
  • the syntax elements for the inter prediction information include the following.
  • the encoding unit 150 converts the merge index information indicating which candidate of the merge candidates is selected as a candidate for extracting the motion information of the current block as a syntax element for the motion information .
  • motion information when motion information is coded by a mode for coding a differential motion vector, information on a differential motion vector and information on a reference picture are encoded into syntax elements for motion information. If the predictive motion vector is determined in a manner of selecting one of the plurality of predictive motion vector candidates, the syntax element for the motion information further includes predictive motion vector identification information for identifying the selected candidate .
  • the inverse quantization unit 160 dequantizes the quantized transform coefficients output from the quantization unit 145 to generate transform coefficients.
  • the inverse transform unit 165 transforms the transform coefficients output from the inverse quantization unit 160 from the frequency domain to the spatial domain and restores the residual block.
  • the adder 170 adds the reconstructed residual block and the prediction block generated by the prediction unit 120 to reconstruct the current block.
  • the pixels in the reconstructed current block are used as reference pixels when intra prediction of the next-order block is performed.
  • the filter unit 180 deblock-filters the boundaries between the restored blocks and stores them in the memory 190 to remove blocking artifacts caused by coding / decoding on a block-by-block basis. When all the blocks in one picture are reconstructed, the reconstructed picture is used as a reference picture for inter prediction of a block in a picture to be coded later.
  • the image encoding apparatus 100 may encode a current block using a skip mode (Skip Mode).
  • the skip mode only motion information of the current block is coded and no other information about the current block, such as information on the residual block, is coded.
  • the merge index information described above may be used.
  • the video decoding apparatus 100 sets the motion information of the merge candidate indicated by the merge index information decoded from the bit stream as the motion information of the current block. Then, the prediction block predicted by the motion information of the current block is restored as the current block.
  • the present invention relates to a method and an apparatus for encoding or decoding a motion vector, and can improve encoding efficiency by adjusting a resolution representing a differential motion vector according to characteristics of an image and a block.
  • the motion vector resolution may be adaptively determined between integer pixel resolution and fractional pixel resolution.
  • the motion vector resolution is a minimum unit for determining a motion vector.
  • the motion vector resolution may indicate the resolution of the reference picture for motion compensation of the current block, i.e., to which pixel the reference picture is to be interpolated. For example, if the motion vector resolution is 1/4 pixel, the reference picture is interpolated to 1/4 pixel unit, and the motion vector is measured up to 1/4 pixel unit.
  • the minimum unit for determining a motion vector may be a fractional pixel unit such as a half pixel, a quarter pixel, a 1/8 pixel, or the like, or an integer pixel such as one pixel, two pixels, three pixels, ) Units.
  • Motion vector resolution as well as motion vector resolution can also be adaptively selected between fractional pixel resolution and integer pixel resolution.
  • a motion vector may be expressed in units of fractional pixels and a motion vector may be expressed in units of integer pixels when a region having a large motion is predicted.
  • the differential motion vector is expressed in units of fractional pixels.
  • the differential motion vector may be expressed in units of integer pixels. In some cases, it may be appropriate to represent motion vectors and differential motion vectors at a fractional pixel resolution rather than an integer pixel resolution depending on the characteristics of the image. In this case, since the decimals below the integer must be signaled to the image decoding apparatus, .
  • a motion vector and a differential motion vector are represented by a resolution of 1/4 pixel.
  • Table 1 shows an example of a differential motion vector (quarter-pixel mvd) expressed by a 1/4 pixel resolution and a differential motion vector index (mvd index) given thereto.
  • the differential motion vector determined by the inter prediction unit may have values expressed in units of a quarter pixel as shown in Table 1.
  • a difference motion vector index (mvd index) which is a value obtained by multiplying the absolute value of the actually determined difference motion vector (quarter-pixel mvd) by four and a sign sign value is encoded as the information of the differential motion vector of the current block.
  • Table 2 shows the syntax elements representing the information of the differential motion vector in the HEVC.
  • abs__ mvd greater0 _flag _ [] represents whether a motion vector index difference is greater than 0
  • abs_ mvd _ greater1 _flag [ ] indicates whether or not the differential motion vector index is greater than 1.
  • abs_ mvd minus2 _ [] represents a value obtained by subtracting 2 from the differential motion vector index
  • mvd_sign_flag [] indicates the sign (sign) of difference motion vector.
  • [0] represents the horizontal axis component (i.e., x component) of the differential motion vector
  • [1] represents the vertical axis component (i.e., y component) of the differential motion vector.
  • Table 3 shows the syntax elements Of the binary representation.
  • FL is a fixed length based binarization technique that requires the maximum value (Max) of the corresponding syntax element.
  • Exponential Golomb (EG) is a binary multiplier based on multiplication of 2, which requires information about degree (k-th). Table 4 shows the code bins of the EGs according to orders.
  • Table 5 shows syntax elements and necessary number of bits for representing quarter-pixel mvd information of the current block determined according to the 1/4 pixel resolution in the HEVC.
  • mvd index is a value obtained by multiplying the absolute value of the differential motion vector (quarter-pixel mvd) by 4 as described in Table 1 with the index value of the actually obtained motion vector (quarter-pixel mvd).
  • abs_ mvd _ number of bits required for minus2 is obtained from a result of coding a value obtained by subtracting 2 from the mvd index based on (see Table 3) EG of the k-th one. The same applies to the description of the embodiments of the present invention. subtracting the second from the mvd index are shown in parentheses under the number of bits required for abs_ mvd _ minus2.
  • the present invention is capable of effectively encoding or decoding the image by reducing the amount of bits needed to represent the vector information difference motion Method.
  • Various embodiments of the invention described below apply to both the horizontal axis component (x component) and the vertical axis component (y component) of the differential motion vector, respectively. However, for convenience of explanation, one component is used as a reference. Further, the present invention is not limited to expressing the differential motion vector, but can be used to express the motion vector itself.
  • the present embodiment is a method of effectively expressing an integer part and a decimal part in a differential motion vector represented by fractional pixel units such as 1/2 pixel, 1/4 pixel, 1/8 pixel, 1/16 pixel, .
  • fractional pixel units such as 1/2 pixel, 1/4 pixel, 1/8 pixel, 1/16 pixel, .
  • the determined difference motion vector value is "3.75", "3" belonging to the integer portion and ".75" belonging to the fractional portion are separately expressed.
  • the image encoding apparatus determines a differential motion vector for a current block.
  • the absolute value of the determined difference motion vector may be expressed in integer pixel units or in fractional pixel units according to the set motion vector resolution.
  • the present embodiment can be applied to the case where the absolute value of the differential motion vector is expressed in fractional pixel units.
  • the image coding apparatus divides the absolute value of the determined differential motion vector into an integer portion and a decimal portion. And information indicating the absolute value of the differential motion vector, that is, information indicating a value corresponding to the integer portion and information indicating a value corresponding to the decimal portion. Information indicating the sign of the differential motion vector is also separately encoded.
  • an integer part (pre-point) is represented by three syntax elements, and a post-point is represented by one syntax element .
  • the sign of the differential motion vector is represented by a flag.
  • An example of the syntax elements is as follows.
  • abs_ mvd _post_type is for exemplary purposes only, and is not limited thereto.
  • the value and the number of type information may be variously changed according to the motion vector resolution.
  • Table 6 shows an example of the structure of the syntax elements of this embodiment.
  • Table 7 shows an example of a method of binarizing the syntax elements of this embodiment. Since there are four types of abs_mvd_post_type , the Max value for the FL of the corresponding syntax is set to 3. However, the present invention is not limited to this, and the Max value for FL may be changed according to the motion vector resolution.
  • Table 8 shows the number of bits calculated according to the present embodiment with respect to the same differential motion vector as in Table 5 described above.
  • abs_ mvd _ The number in according to the number of bits required for minus1 following parentheses represents the value obtained by subtracting 1 from the integer portion of a differential motion vector magnitude.
  • the number of bits in the present embodiment was calculated to be larger when the difference motion vector value of the 1/4 pixel resolution was 0.25, but it was 2.25, 13.00, -22.50, and 43.75 The number of bits calculated in this embodiment is smaller.
  • the number of bits or a smaller number of bits is required. That is, the differential motion vector coding method according to the present embodiment is more efficient than the HEVC.
  • the video decoding apparatus decodes the differential motion vector information of the current block from the bitstream.
  • the differential motion vector information is information on an absolute value of a differential motion vector including:: (mvd _sign_flag example) information about (for abs_ mvd _zero_only_flag, abs_mvd_less1_flag, abs_ mvd _ minus1, abs_ mvd _post_type) and the sign (sign)
  • the information on the absolute value of the differential motion vector includes information indicating a value corresponding to an integer portion and information indicating a value corresponding to a decimal portion as described above.
  • the image decoding apparatus restores the absolute value of the differential motion vector using information indicating a value corresponding to an integer part of the decoded difference motion vector absolute value and information indicating a value corresponding to a decimal part. Then, the differential motion vector of the current block is reconstructed using the information on the sign of the decoded differential motion vector and the absolute value of the reconstructed differential motion vector.
  • the video decoding apparatus determines a predicted motion vector of the current block, and restores the motion vector of the current block using the reconstructed differential motion vector and the determined predicted motion vector.
  • the absolute value of the differential motion vector expressed in fractional pixel units is divided into an integer part and a decimal part, and syntax elements different from those of the first embodiment are used.
  • the absolute value of the differential motion vector when the absolute value of the differential motion vector is determined on a fractional pixel basis, the absolute value of the determined differential motion vector is divided into an integer portion and a decimal portion. And information indicating the absolute value of the differential motion vector, that is, information indicating a value corresponding to the integer portion and information indicating a value corresponding to the decimal portion. Information indicating the sign of the differential motion vector is also separately encoded. However, syntax elements different from those of the first embodiment can be used as information indicating a value corresponding to the integer part.
  • an absolute value of a differential motion vector is represented by an integer part (pre-point) represented by four syntax elements, and a post-point is represented by one It can be expressed as a syntax element.
  • the sign of the differential motion vector is represented by a flag.
  • An example of the syntax elements is as follows.
  • abs_ mvd _post_type is for exemplary purposes only, and is not limited thereto.
  • the value and the number of type information may be variously changed according to the motion vector resolution.
  • Table 9 shows an example of the structure of the syntax elements of this embodiment.
  • abs_mvd_zero_only_flag []) ⁇ if (abs_mvd_greater_equal_1_flag []) if (abs_mvd_greater_equal_2_flag []) abs_mvd_minus2 [] ae (v) abs_mvd_post_type [] ae (v) mvd_sign_flag [] ae (v) ⁇ ⁇
  • Table 10 shows an example of a method of binarizing the syntax elements of the present embodiment. Since there are four types of abs_mvd_post_type , the Max value for the FL of the corresponding syntax is set to 3. However, the present invention is not limited to this, and the Max value for FL may be changed according to the motion vector resolution.
  • Table 11 shows the number of bits calculated according to this embodiment for the same differential motion vector as in Table 5 described above.
  • abs_ mvd _ The number in according to the number of bits required for minus2 following parentheses represents the value obtained by subtracting 2 from the differential motion vector magnitude.
  • the number of bits in the present embodiment was calculated to be larger at a difference motion vector value of 0.25 at a 1/4 pixel resolution, but -1.00, 2.25, 13.00, 22.50, and 43.75, the number of bits calculated in this embodiment is smaller. That is, the differential motion vector coding method according to the present embodiment is more efficient than the HEVC.
  • the image decoding apparatus decodes the differential motion vector information of the current block from the bit stream.
  • the differential motion vector information is information on an absolute value of a differential motion vector (for example: abs_ mvd _zero_only_flag, abs_ mvd _greater_equal_1_flag, abs_mvd_greater_equal_2_flag, abs_ mvd _ minus2, abs_ mvd _post_type) and information on the sign (sign) (Example: mvd_sign_flag ).
  • the image decoding apparatus restores the absolute value of the differential motion vector using information indicating a value corresponding to an integer part of the decoded difference motion vector absolute value and information indicating a value corresponding to a decimal part. Then, the differential motion vector of the current block is reconstructed using the information on the sign of the decoded differential motion vector and the absolute value of the reconstructed differential motion vector.
  • the video decoding apparatus determines a predicted motion vector of the current block, and restores the motion vector of the current block using the reconstructed differential motion vector and the determined predicted motion vector.
  • Embodiments of the present invention to be described below efficiently encode an image by expressing a differential motion vector at a selected resolution by adaptively selecting a resolution of a differential motion vector among a plurality of motion vector resolutions according to characteristics of an image and a block .
  • the differential motion vector is represented by a fractional pixel unit (for example, 1/4 pixel).
  • the absolute value is large, For example, 1 pixel, 4 pixels).
  • the image encoding device can adaptively select whether the resolution of one of the plurality of the motion vector resolution by inserting a flag (adaptive_MV_resolution_ enbaled _flag) that indicates whether the header information to enable / disable the adaptive resolution selection function. For example, if the image encoding device in the case of selecting one of the resolution adaptively from a plurality of motion vector resolution, the encoding is turned on (on) the adaptive_MV_resolution_ enbaled _flag, and does not select the resolution adaptively has a adaptive_MV_resolution_enbaled_flag It can be encoded off (off).
  • a flag adaptive_MV_resolution_ enbaled _flag
  • adaptive_MV_resolution_ enbaled _flag is SPS (Sequence Parameter Set), PPS (Picture Parameter Set), and slice: can be inserted into one or more of (or CTU Coding Tree Unit) header. For example, a flag is inserted in the SPS when the resolution of the motion vector is determined adaptively for each video sequence unit, a flag is inserted in the PPS if it is determined for each picture unit, and a slice (or CTU) Is inserted into the slice (or CTU) header.
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • slice can be inserted into one or more of (or CTU Coding Tree Unit) header. For example, a flag is inserted in the SPS when the resolution of the motion vector is determined adaptively for each video sequence unit, a flag is inserted in the PPS if it is determined for each picture unit, and a slice (or CTU) Is inserted into the slice (or CTU) header.
  • Embodiments to be described below are based on the premise that a flag indicating whether to adaptively select one resolution among a plurality of motion vector resolutions is encoded as on.
  • the image encoding apparatus adaptively selects a resolution for displaying a differential motion vector in units of a coding target block (CU: Coding Unit or CTB: Coding Tree Block). That is, the image encoding apparatus selects one of the predefined motion vector resolutions as a resolution for displaying the differential motion vector.
  • CU Coding Unit
  • CTB Coding Tree Block
  • the image encoding apparatus encodes resolution information for indicating a resolution selected from among a plurality of motion vector resolutions in units of blocks to be encoded.
  • a plurality of motion vector resolutions can be predefined and other resolutions (i.e., alternate resolutions) can be included to replace the default resolution and the default resolution.
  • the default resolution and alternative resolutions may be a predetermined specific motion vector resolution shared by the image encoding apparatus and the image decoding apparatus, or the image encoding apparatus may be a high-level image region (e.g., an image sequence, a picture, a slice, And may be a value for signaling to the image decoding apparatus.
  • the image encoding apparatus selects the resolution information, Pixel resolution, and information indicating whether the pixel resolution is 1 pixel resolution or 4 pixel resolution if the resolution is integer pixel resolution.
  • a syntax element that is encoded as information indicating whether a motion vector resolution is a resolution of a quarter pixel or an integer pixel resolution is first_bin
  • a motion vector resolution is a resolution of one pixel or a resolution of four pixels is referred to as second_bin It is called.
  • the image decoding apparatus may decode the mvd _resolution_flag as information indicative of the resolution of the differential motion vector.
  • the resolution information may be signaled to the video decoding device for each of the x and y components of the differential motion vector or may be signaled to the video decoding device by determining the resolution of the same differential motion vector for the x and y components.
  • the present embodiment relates to a method for adaptively selecting one of a plurality of motion vector resolutions.
  • the default resolution is defined as a quarter pixel resolution
  • alternate resolutions are defined as one pixel resolution and four pixel resolution.
  • Table 12 shows the difference motion vector values of the current block determined according to the 1/4 pixel resolution to a differential motion vector value (1/4 pixel resolution, 1 pixel resolution, or 4 pixel resolution) And the number of necessary bits.
  • mvd index is the value calculated to represent the absolute value of quarter-pixel mvd. That is, the differential motion vector index mvd index is a value to be encoded corresponding to the differential motion vector. In this embodiment, a value to be encoded corresponding to the differential motion vector is calculated by one of the same methods for all the plurality of resolutions.
  • the formula for obtaining the differential motion vector index ( mvd_index ), which is a value to be encoded corresponding to the differential motion vector, is shown in Equation (1).
  • Equation 1 mvd _resolution is selected resolution, mvd It is a differential motion vector, mvd _index expressed in the selected resolution indicates a value to be encoded.
  • the mvd index is calculated by multiplying the absolute value of the differential motion vector by 4, and if the 1 pixel resolution is applied, the absolute value of the differential motion vector is discarded, rounded,
  • the mvd index is obtained by obtaining a differential motion vector (for example, a multiple of 1) expressed in one pixel resolution and dividing it by 1 (pixel).
  • a difference motion vector (for example, a multiple of 4) represented by a resolution of 4 pixels is obtained by applying any of the subtraction, rounding, and rounding to the absolute motion vector absolute value, ) To obtain the mvd index.
  • the numbers in parentheses represent the differential motion vector values representing the absolute values of the differential motion vectors at the selected resolution.
  • the number in abs_ mvd _ according to the number of bits required for minus2 following parentheses represents the value obtained by subtracting 2 from the mvd index.
  • a differential motion vector coding method as described in the third embodiment can be applied.
  • the image encoding apparatus uses any one of a plurality of motion vector resolutions previously defined as resolutions for displaying a differential motion vector, it is possible to display the differential motion vector more efficiently on the basis of a predetermined offset Method.
  • this will be described in detail with reference to FIG.
  • FIG. 3 is a flowchart illustrating an operation method of an image encoding apparatus according to an embodiment of the present invention.
  • the image encoding apparatus first determines a differential motion vector for the current block at a default resolution (S310).
  • the image encoding apparatus determines one or more resolution candidates from a plurality of motion vector resolutions according to the determined absolute motion vector magnitude (S320).
  • a plurality of motion vector resolutions may include a quarter pixel resolution, a one pixel resolution, and a four pixel resolution, and the default resolution may be a quarter pixel resolution.
  • the image encoding apparatus can set an offset corresponding to each of a plurality of motion vector resolutions.
  • the offset may be a predetermined default value shared by the image encoding apparatus and the image decoding apparatus, or may be a value determined by the image encoding apparatus and signaled to the image decoding apparatus as header information such as SPS, PPS, slice header, For example, when using a 1/4 pixel resolution, a 1 pixel resolution and a 4 pixel resolution with a plurality of motion vector resolutions, it is possible to use "?” As an offset for a 1/4 pixel resolution and "? &Quot; and " y " as an offset for 4 pixel resolution.
  • the image encoding apparatus can determine one or more resolution candidates from among a plurality of motion vector resolutions according to a determined absolute value of a difference motion vector and a predetermined offset value. For example, when the absolute value of the determined difference motion vector is equal to or larger than "?", A resolution of 1/4 pixel is determined as a resolution candidate, and when the absolute value is equal to or larger than "?" And a resolution of 1 pixel are determined as resolution candidates, and in the case of exceeding "? &Quot;, resolutions of 1/4 pixel resolution, 1 pixel resolution, and 4 pixel resolution can be determined.
  • the image encoding apparatus selects a resolution for expressing a differential motion vector determined from one or more resolution candidates (S330). At this time, the image encoding apparatus selects a resolution for expressing the determined motion vector based on Rate Distortion Optimization (RDO). For example, if resolution candidates are 1/4 pixel resolution, first pixel resolution, and 4 pixel resolution, one final resolution for the differential motion vector is selected by an evaluation based on the RDO for the three resolution candidates .
  • RDO Rate Distortion Optimization
  • the image encoding apparatus applies a function corresponding to the selected resolution to the determined difference motion vector to calculate a value to be encoded as a difference motion vector of the current block (S340).
  • the image encoding apparatus encodes the value calculated in step S340 as differential motion vector information, and encodes the resolution information indicating the selected resolution among the plurality of motion vector resolutions (S350).
  • Step S340 will be described in detail as follows.
  • the image coding apparatus expresses the differential motion vector determined in step S310 as a differential motion vector of the resolution selected in step S330 and uses the differential motion vector represented by the selected resolution and the offset corresponding to the selected resolution as the differential motion vector of the current block And calculates a value to be encoded.
  • a value to be encoded corresponding to the differential motion vector is calculated by one of the same methods for all of a plurality of resolutions.
  • Value to be coded corresponding to the differential motion vector means a differential motion vector index (mvd _index), formula for the differential motion vector index (mvd_index) is shown in equation (2) and equation (3).
  • Equation 2 and Equation 3 is selected mvd _resolution resolution, mvd_resolution_offset is offset, mvd corresponding to the selected resolution, Denotes a differential motion vector expressed by the selected resolution, and mvd_index denotes a value to be encoded.
  • the image encoding apparatus may subtract an offset corresponding to the selected resolution from the differential motion vector represented by the selected resolution and calculate a value to be encoded as the differential motion vector of the current block by dividing the subtracted value by the selected resolution.
  • the default resolution is set to 1/4 pixel resolution
  • the alternate resolution is set to 1 pixel resolution and 4 pixel resolution
  • 8.75, 9, and 8 are differential motion vectors expressed in the selected resolution, and are obtained by multiplying the absolute value of the differential motion vector referred to in Embodiment 3 by one of the rounding, rounding, and rounding to obtain a multiple of the resolution . Another example of this will be described below with reference to Table 13.
  • Table 13 shows an example of the number of bits calculated according to this embodiment for the same quarter-pixel mvd as in Table 12 described above.
  • the default resolution is set to 1/4 pixel resolution
  • the substitute resolution is set to 1 pixel resolution and the resolution is set to 4 pixels
  • 1/4 pixel resolution was applied for ⁇ 0, 0.75, -2.25, 10.00 ⁇ , 1 pixel resolution for ⁇ -15.75, 19.50 ⁇ , and ⁇ -22.50, 34.25, -43.75 ⁇ , A resolution of 4 pixels was applied.
  • 1/4 pixel resolution can be applied to ⁇ -15.75, 19.50 ⁇
  • 1/4 pixel resolution and 1 pixel resolution can be applied to ⁇ -22.50, 34.25, -43.75 ⁇ . The determination of this is made by the image encoding apparatus selecting the resolution for expressing the differential motion vector determined based on the RDO.
  • the quarter-pixel mvd in Table 13 represents a differential motion vector for the current block determined by the default resolution
  • mvd index represents a differential motion vector index, which is a value to be encoded as differential motion vector information of the current block.
  • the mvd index can be computed using the selected resolution, the differential motion vector represented by the selected resolution, and the offset corresponding to the selected resolution.
  • a method of expressing a differential motion vector determined as a default resolution (hereinafter, quarter-pixel mvd) at a selected resolution is as follows. If 1/4 pixel resolution is selected, the absolute value of the quarter-pixel mvd is maintained. If 1 pixel resolution is selected, the absolute value of the quarter-pixel mvd is discarded, rounded, or rounded.
  • a difference motion vector is expressed as a resultant value.
  • a differential motion vector is expressed as a result obtained by multiplying the absolute value of the quarter-pixel mvd by one of rounding, rounding, and rounding to obtain a multiple of 4.
  • the mvd index can be calculated by subtracting the offset corresponding to the selected resolution from the differential motion vector expressed by the selected resolution as shown in Equation (2) and dividing the subtracted offset by the selected resolution. For example, when the quarter-pixel mvd "-22.50" is expressed by a resolution of 4 pixels, an offset corresponding to a resolution of 4 pixels at the absolute value "24" of the differential motion vector (four-pixel mvd) quot; 4 " obtained by subtracting " 20 “ by subtracting (20) from the offset, and dividing it by 4, which is the selected resolution, mvd index having a value of " 1 " In the remaining cases, the mvd index operation procedure is shown in parentheses below the mvd index value in Table 13.
  • the image coding apparatus first divides the differential motion vector represented by the selected resolution into the selected resolution, subtracts the offset corresponding to the resolution selected from the divided values by the selected resolution, Mvd index may be calculated as a value to be encoded as a differential motion vector of the block.
  • a differential motion vector coding method as described in the third embodiment can be applied.
  • the image encoding apparatus efficiently maps the difference motion vector index mvd index to the absolute motion vector magnitudes for each of a plurality of predetermined motion vector resolutions, and outputs the mapped index mvd index Block motion vector.
  • step S320 Some of the steps described with reference to FIG. 3 are also applied to the image encoding apparatus according to the embodiment. However, there is a difference between the resolution candidate determination method of step S320 and the method of calculating a value to be encoded as a differential motion vector of the current block in step S340.
  • the first alternative resolution is determined as the resolution candidate if the determined absolute motion vector magnitude is a multiple of the first alternative resolution
  • the second alternative resolution is determined as the resolution candidate if it is a multiple of the second alternative resolution.
  • the first alternative resolution may mean the highest numerical resolution among the plurality of alternative resolutions. That is, the first alternative resolution, the second alternative resolution, the third alternative resolution, and the like may be designated in order of the size of the alternative resolution.
  • a plurality of motion vector resolutions includes a quarter pixel resolution, a one pixel resolution and a four pixel resolution, the default resolution is a quarter pixel resolution, the first alternative resolution is four pixel resolution, Lt; / RTI > may be one pixel resolution.
  • the absolute value of the differential motion vector determined as the default resolution is 4, 8, 12, ... ,
  • the resolution of 4 pixels is determined as the resolution candidate, and the absolute value of the differential motion vector determined as the default resolution is 1, 2, 3, 5, 6, ...
  • a resolution of one pixel is determined as a resolution candidate, and a default resolution, a first alternative resolution, and a second alternative resolution are determined as resolution candidates for the absolute values of the other differential motion vectors. In other words.
  • the size of the determined difference motion vector is a multiple of four, it is preferable to represent the differential motion vector with the smallest bit without loss of the size of the differential motion vector determined to be represented by 4 pixels, which is the first alternative resolution, It is a way to express.
  • the image encoding apparatus makes use of the characteristics of the above-described example to extract a difference motion vector for a plurality of motion vector resolutions based on a motion vector resolution optimum for specific differential motion vector sizes among a plurality of predefined motion vector resolutions Map the index (mvd index) efficiently.
  • an index corresponding to a plurality of motion vector resolutions is set by limiting the absolute difference values of specific motion vectors to be expressed only as optimal motion vector resolutions.
  • the image encoding apparatus gives an index that increases by one in ascending order to the differential motion vector sizes expressed by the selected resolution.
  • the absolute motion vector magnitudes (absolute values) and indexes in the case where the plurality of motion vector resolutions are 1/4 pixel resolution, 1 pixel resolution and 4 pixel resolution and the default resolution is 1/4 pixel resolution, as in the above example, Respectively.
  • index Q is assigned to differential motion vector magnitudes belonging to a 1/4 pixel resolution
  • index O is assigned to differential motion vector magnitudes belonging to a 1 pixel resolution
  • index F is assigned.
  • Index (Q) starts at 0 and index (O) and index (F) start at 1.
  • the index " 5 " is assigned to the size of the differential motion vector determined by the default resolution having the value of 1.25, but according to the present embodiment, the index " 4 "
  • the differential motion vector index is a value to be encoded corresponding to the determined differential motion vector.
  • the differential motion vector index is a value encoded as difference motion vector information.
  • the image encoding apparatus applies a function corresponding to the selected resolution to a differential motion vector determined as a default resolution, and calculates a value to be encoded as a differential motion vector of the current block .
  • the image encoding apparatus expresses a difference motion vector magnitude (absolute value) at a selected resolution and determines an index to be given to a differential motion vector magnitude expressed by the selected resolution.
  • the determined index is a value to be encoded as a differential motion vector of the current block.
  • int _value is an integer part of the value of the determined differential motion vector
  • point_value means the decimal part.
  • % represents a modulus operator.
  • Table 15 shows the number of bits calculated according to Embodiment 3 by selecting a specific resolution among a plurality of resolutions for various quarter-pixel mvd.
  • Table 16 shows the number of bits calculated according to this embodiment by selecting the same resolution for the same quarter-pixel mvd as in Table 15. < tb > < TABLE >
  • Table 17 shows that as the value of the quarter-pixel mvd increases, the mvd index value of the present embodiment becomes smaller than the mvd index value of the third embodiment, and thus the number of bits for representing the corresponding mvd index decreases .
  • FIG. 4 is a block diagram of an image decoding apparatus according to an embodiment of the present invention.
  • the image decoding apparatus 400 includes a decoding unit 410, an inverse quantization unit 420, an inverse transform unit 430, a prediction unit 440, an adder 450, a filter unit 460, and a memory 470 .
  • the components shown in FIG. 4 may be implemented as a hardware chip, or may be implemented as software and a microprocessor may be implemented to execute the functions of software corresponding to each component.
  • the decoding unit 410 decodes the bit stream received from the image encoding apparatus to extract information related to the block division to determine a current block to be decoded and outputs prediction information necessary for restoring the current block and information about the residual signal .
  • the decoding unit 410 extracts information on a CTU size from an SPS (Sequence Parameter Set) or a PPS (Picture Parameter Set) to determine the size of the CTU, and divides the picture into CTUs of a predetermined size. Then, the CTU is determined as the top layer of the tree structure, that is, the root node, and the CTU is divided using the tree structure by extracting the partition information for the CTU. For example, when the CTU is divided using the QTBT structure, the first flag (QT_split_flag) related to the division of the QT is first extracted and each node is divided into four nodes of the lower layer. For the node corresponding to the leaf node of the QT, the second flag (BT_split_flag) related to the BT division and the division type information are extracted and the corresponding leaf node is divided into the BT structure.
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • the decoding unit 410 Upon determining the current block (current block) to be decoded through the division of the tree structure, the decoding unit 410 extracts information on a prediction type indicating whether the current block is intra-predicted or inter-predicted.
  • the decoding unit 410 extracts a syntax element for the inter prediction information.
  • mode information indicating whether a motion information of a current block is coded by a mode among a plurality of coding modes is extracted.
  • the plurality of encoding modes include a merge mode and a differential motion vector encoding mode.
  • the decoding unit 410 extracts merge index information indicating which of the merge candidates the motion vector of the current block should be derived from as a syntax element for the motion information.
  • the decoding unit 410 extracts information on the differential motion vector and information on the reference picture referred to by the motion vector of the current block, as a syntax element for the motion vector do.
  • the decoding unit 410 determines a value determined by decoding the differential motion vector information of the current block (hereinafter, referred to as 'differential motion vector index'), and outputs resolution information The resolution of the differential motion vector is selected from the plurality of motion vector resolutions. Then, the decoding unit 410 restores the differential motion vector of the current block by applying a function corresponding to the selected resolution to the differential motion vector index mvd_index.
  • the predictive motion vector identification information is included in the bitstream. Therefore, in this case, not only the information on the difference motion vector and the information on the reference picture but also the prediction motion vector identification information is extracted as a syntax element for the motion vector.
  • the decoding unit 410 extracts information on the quantized transform coefficients of the current block as information on the residual signal.
  • the inverse quantization unit 420 dequantizes the quantized transform coefficients, and the inverse transform unit 430 inversely transforms the dequantized transform coefficients from the frequency domain to the spatial domain to generate residual blocks for the current block by restoring the residual signals .
  • the prediction unit 440 includes an intra prediction unit 442 and an inter prediction unit 444.
  • the intra prediction unit 442 is activated when the intra prediction is the prediction type of the current block
  • the inter prediction unit 444 is activated when the intra prediction is the prediction type of the current block.
  • the intra prediction unit 442 determines an intra prediction mode of the current block among the plurality of intra prediction modes from the syntax element for the intra prediction mode extracted from the decoding unit 410, To predict the current block.
  • the inter-prediction unit 444 determines the motion information of the current block using the syntax element for the inter-prediction mode extracted from the decoding unit 410, and predicts the current block using the determined motion information.
  • the inter prediction unit 444 confirms the mode information in the inter prediction, which is extracted from the decoding unit 410.
  • the inter-prediction unit 444 constructs a merge list including a predetermined number of merge candidates using the neighboring blocks of the current block.
  • the way in which the inter prediction unit 444 constructs the merge list is the same as that of the inter prediction unit 424 of the image encoding apparatus.
  • one merge candidate is selected from merge candidates in the merge list using merge index information transmitted from the decoding unit 410.
  • the motion information of the selected merge candidate that is, the motion vector of the merge candidate and the reference picture are set as the motion vector of the current block and the reference picture.
  • the inter-prediction unit 444 derives the predicted motion vector candidates using the motion vectors of the neighboring blocks of the current block, The predicted motion vector for the motion vector of the current frame is determined.
  • the way in which the inter prediction unit 444 derives the predicted motion vector candidates is the same as the method in which the inter prediction unit 424 of the image encoding apparatus derives the predicted motion vector candidates. If the video coding apparatus uses any one of the plurality of candidate prediction motion vector candidates as the prediction motion vector of the current block, the syntax element for the motion information includes the prediction motion vector identification information. Therefore, in this case, the inter-prediction unit 444 can select a candidate indicated by the predicted motion vector identification information among the predicted motion vector candidates as a predicted motion vector.
  • the inter-prediction unit 444 may determine a predicted motion vector by applying the same function as the image encoding apparatus have.
  • the inter-prediction unit 444 adds the predicted motion vector and the differential motion vector received from the decoding unit 410 to determine a motion vector of the current block.
  • a reference picture to be referred to by the motion vector of the current block is determined using the information about the reference picture transmitted from the decoding unit 410.
  • the inter-prediction unit 442 When the motion vector and the reference picture of the current block are determined in the merge mode or differential motion vector coding mode, the inter-prediction unit 442 generates a prediction block of the current block using a block indicated by the motion vector in the reference picture do.
  • the adder 450 adds the residual block output from the inverse transform unit 430 and the prediction block output from the inter prediction unit 444 or the intra prediction unit 442 to reconstruct the current block.
  • the pixels in the reconstructed current block are utilized as reference pixels for intra prediction of a block to be decoded later.
  • the filter unit 460 deblock-filters the boundaries between the restored blocks and stores them in the memory 470 in order to remove blocking artifacts caused by decoding on a block-by-block basis. When all blocks in one picture are reconstructed, the reconstructed picture is used as a reference picture for inter prediction of a block in a picture to be decoded later.
  • FIG. 5 is a flowchart illustrating an operation method of an image decoding apparatus according to an embodiment of the present invention.
  • the image decoding apparatus decodes differential motion vector information of a current block from a bitstream (S510).
  • the differential motion vector information indicates a differential motion vector index (mvd_index) value.
  • the video decoding apparatus decodes resolution information indicating the resolution of the differential motion vector, thereby selecting one of the plurality of motion vector resolutions (S520).
  • a plurality of motion vector resolutions can be predefined and other resolutions (i.e., alternate resolutions) can be included to replace the default resolution and the default resolution.
  • the default resolution and alternative resolutions may be a predetermined specific motion vector resolution shared by the image encoding apparatus and the image decoding apparatus, or the image encoding apparatus may be a high-level image region (e.g., an image sequence, a picture, a slice, And may be a value for signaling to the image decoding apparatus.
  • the image decoding apparatus is information indicating the resolution of the differential motion vector, / 4 pixel resolution or integer pixel resolution, and information indicating whether the pixel resolution is 1 pixel resolution or 4 pixel resolution, if the resolution is integer pixel resolution.
  • a syntax element to be decoded as information indicating whether the motion vector resolution is the resolution of the 1/4 pixel resolution or the integer pixel resolution is first_bin
  • the motion vector resolution is the resolution of 1 pixel or the resolution of 4 pixels is referred to as second_bin It is called.
  • the differential motion vector is represented by a resolution of 1/4 pixel, and when decoded to " 1 ", second_bin is further decoded.
  • the differential motion vector is represented by a resolution of one pixel.
  • the image decoding apparatus may decode the mvd _resolution_flag as information indicative of the resolution of the differential motion vector.
  • the resolution information may be decoded for each of the x component and the y component of the differential motion vector or the resolution of the same differential motion vector for the x component and y component may be decoded.
  • the image decoding apparatus restores the differential motion vector of the current block by applying a function corresponding to the selected resolution to a value determined by differential motion vector information (i.e., differential motion vector index) (S530).
  • differential motion vector information i.e., differential motion vector index
  • the differential motion vector decoding method (S530) of the video decoding apparatus according to the third embodiment is as follows.
  • the image decoding apparatus reconstructs the differential motion vector of the current block by multiplying the differential motion vector index by the selected resolution.
  • Equation (7) is a function that can be applied when a 1/4 pixel resolution, a 1 pixel resolution, and a 4 pixel resolution are selected.
  • Equation 7 mvd represents a differential motion vector of the restored current block, mvd_index represents the decoded differential motion vector index, mvd _resolution_ represents the resolution information.
  • the differential motion vector decoding method (S530) of the video decoding apparatus is as follows.
  • the image decoding apparatus first multiplies the differential motion vector index by the selected resolution.
  • the motion vector of the current block is restored by adding an offset corresponding to the selected resolution to the value multiplied by the selected resolution.
  • the offset may be a predetermined default value shared by the image encoding apparatus and the image decoding apparatus, or may be a value determined by the image encoding apparatus and signaled to the image decoding apparatus as header information such as SPS, PPS, slice header,
  • Equation (8) is a function applied to all cases where a 1/4 pixel resolution, a 1 pixel resolution and a 4 pixel resolution are selected.
  • Equation 8 mvd denotes a differential motion vector of the restored current block, mvd_index represents the decoded differential motion vector index, mvd _ resolution indicates the resolution information, mvd _resolution_offset represents an offset corresponding to the resolution.
  • the resolution is 1/4 pixel, the offset may be?, The offset may be?, And the offset may be?.
  • the image decoding apparatus may restore the differential motion vector of the current block by adding the offset corresponding to the selected resolution to the differential motion vector index, and multiplying the added offset by the selected resolution.
  • Equation (9) an example of a function for reconstructing the differential motion vector of the current block is shown in Equation (9). Equation (9) is a function applied to all cases where a 1/4 pixel resolution, a 1 pixel resolution, and a 4 pixel resolution are selected.
  • the differential motion vector decoding method (S530) of the video decoding apparatus is as follows.
  • the image decoding apparatus applies the function corresponding to the selected resolution to the decoded difference motion vector index mvd_index to reconstruct the differential motion vector of the current block. For example, if the absolute value of the differential motion vector corresponding to the decoded differential motion vector index among the indexes assigned to the differential motion vector values belonging to the selected resolution as shown in Table 15, Can be determined as a differential motion vector.
  • differential motion vector magnitudes belonging to each of the selected resolutions are given an index that increases by 1 in ascending order.
  • An index Q is assigned to differential motion vector magnitudes belonging to a 1/4 pixel resolution
  • an index O is assigned to differential motion vector magnitudes belonging to a 1 pixel resolution
  • An index F is assigned.
  • the index (Q) starts from 0, the index (O) and the index (F) are given an index starting from 1 and increasing by 1 in order of the difference motion vector magnitude.
  • Table 14 will be specifically described as an example.
  • the video decoding apparatus selects a resolution of 1/4 pixel and decodes a differential motion vector index (mvd_index) having a value of " 1 ", the differential motion vector size " 0.25 " As a difference motion vector.
  • the image decoding apparatus selects one pixel resolution and decodes a differential motion vector index (mvd_index) having a value of "1”
  • the differential motion vector size "1" corresponding to the index of the "1" Block motion vector.
  • the video decoding apparatus selects a 4-pixel resolution and decodes a differential motion vector index (mvd_index) having a value of "1", the differential motion vector size "4" corresponding to the index of "1" And reconstructs the differential motion vector of the current block.
  • mvd_index differential motion vector index
  • Equation (10) is a function applied when the 1/4 pixel resolution is selected
  • Equation (11) is a function applied when the one pixel resolution is selected
  • Equation (12) is a function applied when the 4 pixel resolution is selected.
  • Equations (10) to (12) are merely illustrative, and may be varied according to various embodiments of the present invention for assigning a differential motion vector index to an absolute value of a differential motion vector.
  • Equation 10 to 12 mvd represents a differential motion vector of the restored current block, mvd _index represents the decoded differential motion vector indexes. And Represents a floor function, and% represents a modulus operator.
  • FIG. 6 is a flowchart illustrating an example of a specific operation method of an image decoding apparatus according to an embodiment of the present invention.
  • the video decoding apparatus decodes differential motion vector information of the current block to determine a differential motion vector index (S610).
  • the image decoding apparatus determines whether the determined difference motion vector index value is not " 0 " (S612). If the determined difference motion vector index value is " 0 ", the differential motion vector of the current block is restored to " 0 "
  • the video decoding apparatus decodes the first resolution information (e.g., first bin ) indicating the resolution of the differential motion vector (S616) It is determined whether it indicates a 4 pixel resolution or an integer pixel resolution (S618). For example, when the first resolution information is decoded to " 0 ", the video decoding apparatus indicates a resolution of 1/4 pixel, and when decoded to " 1 " A resolution of 1/4 pixel is selected as the resolution of the differential motion vector (S620). Then, the image decoding apparatus reconstructs the differential motion vector of the current block by applying a function corresponding to the resolution of 1/4 pixel to the differential motion vector index (S622). The function corresponding to the 1/4 pixel resolution is, for example, as shown in Equations (8) to (10).
  • the video decoding apparatus decodes the second resolution information (e.g., second bin ) indicating the resolution of the differential motion vector (S624) 2 < / RTI > resolution information indicates a one pixel resolution or a four pixel resolution (S626).
  • the second resolution information is decoded to " 0 "
  • a resolution of one pixel is indicated, and when it is decoded to " 1 "
  • the video decoding apparatus decodes the second resolution information to & The resolution of one pixel is selected as the resolution of the differential motion vector (S628).
  • the image decoding apparatus reconstructs the differential motion vector of the current block by applying a function corresponding to the resolution of one pixel to the differential motion vector index (S630).
  • the functions corresponding to one pixel resolution are, for example, as shown in Equations (8), (9) and (11).
  • the image decoding apparatus selects a resolution of 4 pixels as the resolution of the differential motion vector (S632)
  • the corresponding motion vector of the current block is restored by applying the corresponding function (S634).
  • the functions corresponding to the four-pixel resolution are, for example, as shown in Equations (8), (9), and (12).
  • the image decoding apparatus determines a predicted motion vector of the current block, and restores the motion vector of the current block using the restored difference motion vector and the determined predicted motion vector (S636).
  • FIGS. 3, 5, and 6, it is described that each process is sequentially executed, but it is not limited thereto. 3, 5 and 6 may be modified or executed in parallel or one or more of the processes may be executed in parallel, so that the FIGS. 3, 5, and 6 are not limited to the time series order .
  • the image encoding or decoding method according to the present embodiment described in FIGS. 3, 5, and 6 can be implemented by a computer program and recorded in a computer-readable recording medium.
  • a computer program for implementing the image coding or decoding method according to the present embodiment is recorded, and a computer-readable recording medium includes all kinds of recording devices for storing data that can be read by a computing system.

Landscapes

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

Abstract

본 발명은 영상을 효율적으로 부호화하기 위한 영상 부호화 또는 복호화에 관한 것이다. 본 발명의 일 측면에 따르면, 현재블록의 움직임벡터를 부호화하는 방법에 있어서, 디폴트 해상도로 상기 현재블록에 대한 차분움직임벡터를 결정하는 단계; 상기 결정된 차분움직임벡터의 크기(absolute value)에 따라 복수의 움직임벡터 해상도 중에서 하나 이상의 해상도 후보를 결정하는 단계; 하나 이상의 해상도 후보 중에서 상기 결정된 차분움직임벡터를 표현할 해상도를 선택하는 단계; 상기 결정된 차분움직임벡터에 상기 선택된 해상도에 대응하는 함수를 적용하여 상기 현재블록의 차분움직임벡터로서 부호화할 값을 연산하는 단계; 및 상기 연산된 값에 대한 정보 및 상기 복수의 움직임벡터 해상도 중 상기 선택된 해상도를 나타내기 위한 해상도 정보를, 상기 차분움직임벡터에 대한 정보로서, 부호화하는 단계를 포함하는 움직임벡터 부호화 방법을 제공한다. 대표도: 도 3

Description

움직임벡터를 부호화 또는 복호화하기 위한 장치 및 방법
본 발명은 영상을 효율적으로 부호화하기 위한 영상 부호화 또는 복호화에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래 기술을 구성하는 것은 아니다.
동영상 데이터는 음성 데이터나 정지 영상 데이터 등에 비하여 데이터량이 많기 때문에, 압축을 위한 처리 없이 그 자체를 저장하거나 전송하기 위해서는 메모리를 포함하여 많은 하드웨어 자원을 필요로 한다. 따라서, 통상적으로 동영상 데이터를 저장하거나 전송할 때에는 부호화기를 사용하여 동영상 데이터를 압축하여 저장하거나 전송하며, 복호화기에서는 압축된 동영상 데이터를 수신하여 압축을 해제하고 재생한다. 이러한 동영상 압축 기술로는 H.264/AVC를 비롯하여, H.264/AVC 약 40% 정도의 부호화 효율을 향상시킨 2013년 초에 제정된 HEVC(High Efficiency Video Coding)가 존재한다.
부호화 또는 복호화를 위하여 예측하는 방법 중에서 하나인 인터 예측 부호화 시에는, 현재 블록을 예측한 후 생성된 잔차(residual) 블록을 부호화한 정보와 현재 블록을 예측하는 데에 사용된 움직임 정보를 복호화 장치로 시그널링(signaling) 한다. 여기서 움직임 정보는, 현재블록을 예측하기 위해 사용된 참조 픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함한다. 기존 HEVC 표준의 경우에는 움직임벡터를 1/4 픽셀 단위로 표현한다.
하지만, 영상의 크기 및 해상도, 프레임율(Frame rate)이 점차 증가하는 추세에 따라 부호화해야 하는 데이터량도 증가하고 있다. 따라서, 기존의 압축 기술보다 더 부호화 효율이 좋은 압축 기술이 요구된다.
본 발명은 영상 및 블록의 특성에 따라 차분움직임벡터를 표현하는 해상도를 조절하여 효율적으로 영상을 부호화하기 위한 영상 부호화 또는 복호화 기술을 제공한다.
본 발명의 일 측면에 따르면, 현재블록의 움직임벡터를 부호화하는 방법에 있어서, 디폴트 해상도로 상기 현재블록에 대한 차분움직임벡터를 결정하는 단계; 상기 결정된 차분움직임벡터의 크기(absolute value)에 따라 복수의 움직임벡터 해상도 중에서 하나 이상의 해상도 후보를 결정하는 단계; 상기 하나 이상의 해상도 후보 중에서 상기 결정된 차분움직임벡터를 표현할 해상도를 선택하는 단계; 상기 결정된 차분움직임벡터에 상기 선택된 해상도에 대응하는 함수를 적용하여 상기 현재블록의 차분움직임벡터로서 부호화할 값을 연산하는 단계; 및 상기 연산된 값을 차분움직임벡터 정보로서 부호화하고, 상기 복수의 움직임벡터 해상도 중 상기 선택된 해상도를 나타내기 위한 해상도 정보를 부호화하는 단계를 포함하는 움직임벡터 부호화 방법을 제공한다.
본 발명의 다른 측면에 따르면, 현재블록의 움직임벡터를 복호화하기 위한 방법에 있어서, 상기 현재블록의 차분움직임벡터 정보를 복호화하는 단계; 차분움직임벡터의 해상도를 나타내는 해상도 정보를 복호화함으로써 복수의 움직임벡터 해상도 중에서 하나의 해상도를 선택하는 단계; 상기 차분움직임벡터 정보에 의해 결정된 값에 상기 선택된 해상도에 대응하는 함수를 적용하여 상기 현재블록의 차분움직임벡터를 복원하는 단계; 및 상기 현재블록의 예측움직임벡터를 결정하고, 상기 복원된 차분움직임벡터와 상기 예측움직임벡터를 이용하여 상기 현재블록의 움직임벡터를 복원하는 단계를 포함하는 움직임벡터 복호화 방법을 제공한다.
본 발명의 또 다른 측면에 따르면, 현재블록의 움직임벡터를 복호화하기 위한 영상 복호화 장치에 있어서, 상기 현재블록의 차분움직임벡터 정보를 복호화함으로써 차분움직임벡터 인덱스를 결정하고, 상기 차분움직임벡터의 해상도를 나타내는 해상도 정보를 복호화함으로써 복수의 움직임벡터 해상도 중에서 하나의 해상도를 선택하며, 상기 결정된 차분움직임벡터 인덱스에 상기 선택된 해상도에 대응하는 함수를 적용하여 상기 현재블록의 차분움직임벡터를 복원하는 복호화부; 및 상기 현재블록의 예측움직임벡터를 결정하고, 상기 복원된 차분움직임벡터와 상기 예측움직임벡터를 이용하여 상기 현재블록의 움직임벡터를 복원하는 인터 예측부를 포함하는 영상 복호화 장치를 제공한다.
도 1은 본 발명의 실시예에 따른 영상 부호화 장치에 대한 블록도이다.
도 2는 현재블록의 주변블록에 대한 예시도이다.
도 3은 본 발명의 실시예에 따른 영상 부호화 장치의 동작방법을 나타내는 흐름도이다.
도 4는 본 발명의 실시예에 따른 영상 복호화 장치에 대한 블록도이다.
도 5는 본 발명의 실시예에 따른 영상 복호화 장치의 동작방법을 나타내는 흐름도이다.
도 6은 본 발명의 실시예에 따른 영상 복호화 장치의 구체적인 동작방법의 일례를 나타내는 흐름도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 발명의 실시예에 따른 영상 부호화 장치(100)에 대한 블록도이다.
영상 부호화 장치(100)는 블록 분할부(110), 예측부(120), 감산기(130), 변환부(140), 양자화부(145), 부호화부(150), 역양자화부(160), 역변환부(165), 가산기(170), 필터부(180) 및 메모리(190)를 포함한다. 부호화 장치(100)의 각 구성요소는 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
블록 분할부(110)는 영상을 구성하는 각 픽처(picture)를 복수의 CTU(Coding Tree Unit)로 분할한 이후에, 트리 구조(tree structure)를 이용하여 CTU를 반복적으로(recursively) 분할한다. 트리 구조에서의 리프 노드(leaf node)가 부호화의 기본 단위인 CU(Coding Unit)가 된다. 트리 구조로는 상위 노드가 네 개의 하위 노드로 분할하는 쿼드트리(QuadTree, QT), 또는 QT 구조 및 상위 노드가 두 개의 하위 노드로 분할하는 바이너리트리(BinaryTree, BT) 구조를 혼용한 QTBT (QuadTree plus BinaryTree) 구조가 사용될 수 있다.
예측부(120)는 현재블록을 예측하여 예측블록을 생성한다. 예측부(120)는 인트라 예측부(122)와 인터 예측부(124)를 포함한다. 여기서, 현재블록은 상기의 트리 구조에서 리프 노드에 해당하는 부호화의 기본 단위로서, 현재 부호화하고자 하는 CU를 의미한다. 대안적으로, 현재블록은 CU로부터 분할된 복수의 서브블록 중 하나의 서브블록일 수도 있다.
인트라 예측부(122)는 현재블록이 포함된 현재 픽처 내에서 현재블록의 주변에 위치한 픽셀(참조 픽셀)들을 이용하여 현재블록 내의 픽셀들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재하며, 각 예측모드에 따라 사용할 주변 픽셀과 연산식이 다르게 정의된다.
인터 예측부(124)는 현재 픽처보다 먼저 부호화 및 복호화된 참조 픽처 내에서 현재블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재블록과 참조 픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(Motion Vector: MV)를 생성한다. 현재블록을 예측하기 위해 사용된 참조 픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다.
움직임 정보를 부호화하는 데에 소요되는 비트량을 최소화하기 위해 다양한 방법이 사용될 수 있다.
현재블록의 참조 픽처와 움직임벡터가 주변블록의 참조 픽처 및 움직임벡터와 동일한 경우에는 그 주변블록을 식별할 수 있는 정보를 부호화함으로써, 현재블록의 움직임 정보를 복호화 장치로 전달할 수 있다. 이러한 방법을 '머지 모드 (merge mode)'라 한다.
머지 모드에서, 인터 예측부(124)는 현재블록의 주변블록들로부터 기 결정된 개수의 머지 후보블록(이하, '머지 후보'라 함)들을 선택한다.
머지 후보를 유도하기 위한 주변블록으로는, 도 2에 도시된 바와 같이, 현재 픽처 내에서 현재블록에 인접한 좌측블록(L), 상단블록(A), 우상단블록(AR), 좌하단블록(BL), 좌상단블록(AL) 중에서 전부 또는 일부가 사용될 수 있다. 또한, 현재블록이 위치한 현재 픽처가 아닌 참조 픽처(현재블록을 예측하기 위해 사용된 참조 픽처와 동일할 수도 있고 다를 수도 있음) 내에 위치한 블록이 머지 후보로서 사용될 수도 있다. 예컨대, 참조 픽처 내에서 현재블록과 동일 위치에 있는 블록(co-located block) 또는 그 동일 위치의 블록에 인접한 블록들이 머지 후보로서 추가로 더 사용될 수 있다.
인터 예측부(124)는 이러한 주변블록들을 이용하여 기 결정된 개수의 머지 후보를 포함하는 머지 리스트를 구성한다. 머지 리스트에 포함된 머지 후보들 중에서 현재블록의 움직임정보로서 사용할 머지 후보를 선택하고 선택된 후보를 식별하기 위한 머지 인덱스 정보를 생성한다. 생성된 머지 인덱스 정보는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다.
움직임 정보를 부호화하는 또 다른 방법은 차분움직임벡터(Motion Vector Difference: MVD)를 부호화하는 것이다.
이 방법에서, 인터 예측부(124)는 현재블록의 주변블록들을 이용하여 현재블록의 움직임벡터에 대한 예측움직임벡터(Motion Vector Predictor: MVP) 후보들을 유도한다. 예측움직임벡터 후보들을 유도하기 위해 사용되는 주변블록으로는, 도 2에 도시된 현재 픽처 내에서 현재블록에 인접한 좌측블록(L), 상단블록(A), 우상단블록(AR), 좌하단블록(BL), 좌상단블록(AL) 중에서 전부 또는 일부가 사용될 수 있다. 또한, 현재블록이 위치한 현재 픽처가 아닌 참조 픽처(현재블록을 예측하기 위해 사용된 참조 픽처와 동일할 수도 있고 다를 수도 있음) 내에 위치한 블록이 예측움직임벡터 후보들을 유도하기 위해 사용되는 주변블록으로서 사용될 수도 있다. 예컨대, 참조 픽처 내에서 현재블록과 동일 위치에 있는 블록(co-located block) 또는 그 동일 위치의 블록에 인접한 블록들이 사용될 수 있다.
인터 예측부(124)는 이 주변블록들의 움직임벡터를 이용하여 예측움직임벡터 후보들을 유도하고, 예측움직임벡터 후보들을 이용하여 현재블록의 움직임벡터에 대한 예측움직임벡터를 결정한다. 그리고, 현재블록의 움직임벡터로부터 예측움직임벡터를 감산하여 차분움직임벡터를 산출한다.
예측움직임벡터는 예측움직임벡터 후보들에 기 정의된 함수(예컨대, 중앙값, 평균값 연산 등)를 적용하여 구할 수 있다. 이 경우, 영상 복호화 장치도 기 정의된 함수를 알고 있다. 또한, 예측움직임벡터 후보를 유도하기 위해 사용하는 주변블록은 이미 부호화 및 복호화가 완료된 블록이므로 영상 복호화 장치도 그 주변블록의 움직임벡터를 이미 알고 있다. 그러므로 영상 부호화 장치(100)는 예측움직임벡터 후보를 식별하기 위한 정보를 부호화할 필요가 없다. 따라서, 이 경우에는 차분움직임벡터에 대한 정보와 현재블록을 예측하기 위해 사용한 참조 픽처에 대한 정보가 부호화된다.
한편, 예측움직임벡터는 예측움직임벡터 후보들 중 어느 하나를 선택하는 방식으로 결정될 수도 있다. 이 경우에는 차분움직임벡터에 대한 정보 및 현재블록을 예측하기 위해 사용한 참조 픽처에 대한 정보와 함께, 선택된 예측움직임벡터 후보를 식별하기 위한 정보가 추가로 부호화된다.
감산기(130)는 현재블록으로부터 인트라 예측부(112) 또는 인터 예측부(124)에 의해 생성된 예측블록을 감산하여 잔차 블록을 생성한다.
변환부(140)는 공간 영역의 픽셀 값들을 가지는 잔차 블록 내의 잔차 신호를 주파수 도메인의 변환 계수로 변환한다. 변환부(140)는 잔차 블록 내의 잔차 신호들을 현재블록의 크기를 변환 단위로 사용하여 변환할 수 있으며, 또는 잔차 블록을 더 작은 복수의 서브블록을 분할하고 서브블록 크기의 변환 단위로 잔차 신호들을 변환할 수도 있다. 잔차 블록을 더 작은 서브블록으로 분할하는 방법은 다양하게 존재할 수 있다. 예컨대, 기 정의된 동일한 크기의 서브블록으로 분할할 수도 있으며, 또는 잔차 블록을 루트 노드로 하는 QT(quadtree) 방식의 분할을 사용할 수도 있다.
양자화부(145)는 변환부(140)로부터 출력되는 변환 계수들을 양자화하고, 양자화된 변환 계수들을 부호화부(150)로 출력한다.
부호화부(150)는 양자화된 변환 계수들을 CABAC 등의 부호화 방식을 사용하여 부호화하여 비트스트림을 생성한다. 또한, 부호화부(150)는 트리 구조의 최상위 레이어에 위치하는 CTU의 크기에 대한 정보 및 CTU로부터 트리 구조로 블록을 분할하기 위한 분할 정보를 부호화하여, 복호화 장치가 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다. 예컨대, QT 분할의 경우에는 상위 레이어의 블록이 하위 레이어의 네 개의 블록으로 분할되는지 여부를 지시하는 QT 분할 정보를 부호화한다. BT 분할의 경우에는 QT의 리프 노드에 해당하는 블록으로부터 시작하여 각 블록이 두 개의 블록으로 분할되는지 여부 및 분할되는 타입을 지시하는 BT 분할 정보를 부호화한다.
부호화부(150)는 현재블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보 또는 인터 예측정보를 부호화한다.
한편, 현재블록이 인터 예측된 경우, 부호화부(150)는 인터 예측정보에 대한 신택스 요소들(syntax elements)을 부호화한다. 인터 예측정보에 대한 신택스 요소들은 다음을 포함한다.
(a) 현재블록의 움직임정보가 머지 모드로 부호화되는지 아니면 차분움직임벡터를 부호화하는 모드로 부호화되는지 여부를 지시하는 모드 정보
(b) 움직임정보에 대한 신택스 요소
움직임정보가 머지 모드에 의해 부호화되는 경우, 부호화부(150)는 머지 후보들 중 어느 후보가 현재블록의 움직임정보를 추출하기 위한 후보로서 선택되는지를 지시하는 머지 인덱스 정보를 움직임정보에 대한 신택스 요소로 부호화한다.
반면, 움직임정보가 차분움직임벡터를 부호화하는 모드에 의해 부호화되는 경우, 차분움직임벡터에 대한 정보 및 참조 픽처에 대한 정보를 움직임정보에 대한 신택스 요소로 부호화한다. 만약, 예측 움직임벡터가 복수의 예측 움직임벡터 후보들 중 어느 하나의 후보를 선택하는 방식으로 결정되는 경우에는, 움직임정보에 대한 신택스 요소는 그 선택된 후보를 식별하기 위한 예측 움직임벡터 식별 정보를 추가로 더 포함한다.
역양자화부(160)는 양자화부(145)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(165)는 역양자화부(160)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차블록을 복원한다.
가산기(170)는 복원된 잔차블록과 예측부(120)에 의해 생성된 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 다음 순서의 블록을 인트라 예측할 때 참조 픽셀로서 사용된다.
필터부(180)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 디블록킹 필터링하고 메모리(190)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
참고로, 영상 부호화 장치(100)는 스킵 모드(Skip Mode)를 사용하여 현재블록을 부호화할 수도 있다. 스킵 모드에서는, 현재블록의 움직임정보만이 부호화되고 잔차블록에 대한 정보 등 현재블록에 대한 어떠한 다른 정보도 부호화되지 않는다. 현재블록의 움직임정보로서는 전술한 머지 인덱스 정보가 사용될 수 있다. 영상 복호화 장치(100)는, 현재 블록이 스킵 모드로 부호화된 경우, 비트스트림으로부터 복호화된 머지 인덱스 정보에 의해 지시되는 머지 후보의 움직임정보를 현재블록의 움직임정보로 설정한다. 그리고 현재블록의 움직임정보에 의해 예측된 예측블록을 현재블록으로서 복원한다.
본 발명은 움직임벡터를 부호화 또는 복호화하기 위한 방법 및 장치에 관한 것으로, 영상 및 블록의 특성에 따라 차분움직임벡터를 표현하는 해상도를 조절하여 부호화 효율을 향상시킬 수 있다.
우선, 움직임벡터 해상도에 대하여 설명한다. 움직임벡터 해상도는 정수 픽셀 해상도와 분수 픽셀 해상도 사이에서 적응적으로 결정될 수 있다. 움직임벡터 해상도는 움직임벡터를 결정하는 최소 단위이다. 또한, 움직임벡터 해상도는 현재블록의 움직임 보상을 위한 참조 픽처의 해상도 즉, 참조 픽처를 어느 픽셀까지 보간할 것인지를 의미할 수 있다. 예컨대, 움직임벡터 해상도가 1/4 픽셀이라고 하면, 참조 픽처는 1/4 픽셀 단위까지 보간되며 움직임벡터는 1/4 픽셀 단위까지 측정된다. 여기서, 움직임벡터를 결정하는 최소 단위는 1/2 픽셀, 1/4 픽셀, 1/8 픽셀 등과 같은 분수 픽셀(fractional pixel) 단위이거나, 1 픽셀, 2픽셀, 3픽셀 등과 같은 정수 픽셀(integer pixel) 단위가 될 수 있다. 움직임벡터 해상도뿐만 아니라 차분움직임벡터 해상도 역시 분수 픽셀 해상도 및 정수 픽셀 해상도 사이에서 적응적으로 선택될 수 있다.
움직임이 미세한 영역을 예측하는 경우에는 분수 픽셀 단위로 움직임 벡터가 표현되고, 움직임이 큰 영역을 예측하는 경우에는 정수 픽셀 단위로 움직임벡터가 표현될 수 있다. 한편, 현재블록의 움직임벡터와 예측움직임벡터의 차이가 작은 경우에는 분수 픽셀 단위로 차분움직임벡터가 표현되고, 반대로 그 차이가 큰 경우에는 정수 픽셀 단위로 차분움직임벡터가 표현될 수 있다. 영상의 특성에 따라 정수 픽셀 해상도보다 분수 픽셀 해상도로 움직임벡터 및 차분움직임벡터를 표현하는 것이 적절한 경우가 있겠으나, 이 경우에는 정수 이하의 소수 부분까지 영상 복호화 장치로 시그널링해야 하므로, 필요한 비트량이 증가하게 된다.
기존 HEVC 표준에서는 움직임벡터 및 차분움직임벡터를 1/4 픽셀 해상도로 표현한다. 1/4 픽셀 해상도로 표현된 차분움직임벡터(quarter-pixel mvd)와 이에 부여되는 차분움직임벡터 인덱스(mvd index)의 일례는 표 1과 같다.
mvd Index quarter-pixel mvd
0 0
1 0.25
2 0.5
3 0.75
4 1
5 1.25
6 1.5
7 1.75
8 2
... ...
인터 예측부에 의해 결정된 차분움직임벡터는 표 1과 같이 1/4 픽셀 단위로 표현되는 값들을 가질 수 있다. 다만, 정수 부분 이외에 소수 부분까지 포함하는 값들을 시그널링하기 위해서, 실제 결정된 차분움직임벡터(quarter-pixel mvd) 절대값에 4를 곱한 값인 차분움직임벡터 인덱스(mvd index) 및 결정된 차분움직임벡터의 부호(sign) 값이 현재블록의 차분움직임벡터의 정보로서 부호화된다.표 2는 HEVC에서 차분움직임벡터의 정보를 표현하는 신택스 요소들을 나타낸다.
mvd_coding( x0, y0, refList ) { Descriptor
abs_mvd_greater0_flag[ 0 ] ae(v)
abs_mvd_greater0_flag[ 1 ] ae(v)
if( abs_mvd_greater0_flag[ 0 ] )  
abs_mvd_greater1_flag[ 0 ] ae(v)
if( abs_mvd_greater0_flag[ 1 ] )  
abs_mvd_greater1_flag[ 1 ] ae(v)
if( abs_mvd_greater0_flag[ 0 ] ) {  
if( abs_mvd_greater1_flag[ 0 ] )  
abs_mvd_minus2[ 0 ] ae(v)
mvd_sign_flag[ 0 ] ae(v)
}  
if( abs_mvd_greater0_flag[ 1 ] ) {  
if( abs_mvd_greater1_flag[ 1 ] )  
abs_mvd_minus2[ 1 ] ae(v)
mvd_sign_flag[ 1 ] ae(v)
}  
}  
abs__ mvd _ greater0 _flag[]는 차분움직임벡터 인덱스가 0보다 큰지 여부를 나타내고, abs_ mvd _ greater1 _flag[]는 차분움직임벡터 인덱스가 1보다 큰지 여부를 나타낸다. abs_ mvd _ minus2[]는 차분움직임벡터 인덱스에서 2를 뺀 값을 나타내고, mvd_sign_flag[]는 차분움직임벡터의 부호(sign)를 나타낸다. [0]은 차분움직임벡터의 가로축 성분(즉, x 컴포넌트)를 표현하고, [1]은 차분움직임벡터의 세로축 성분(즉, y 컴포넌트)를 표현한다.표 3은 표 2에서 언급한 신택스 요소들의 이진화 기법을 나타낸다.
Syntax element Binarization
Process Parameter
mvd abs_mvd_greater0_flag[ ] FL Max=1
abs_mvd_greater1_flag[ ] FL Max=1
abs_mvd_minus2[ ] EG k-th=1
mvd_sign_flag[ ] FL Max=1
FL은 고정 길이(Fixed Length) 기반의 이진화 기법으로서, 해당 신택스 요소의 최대값(Max)이 필요하다. EG(Exponential Golomb)는 2의 승수 기반의 이진화 기법으로서, 차수(k-th)에 대한 정보가 필요하다. 표 4는 차수 별 EG의 코드 빈(code bins)을 나타낸다.
Code Num k=0 k=1 k=2
0 0 00 000
1 100 01 001
2 101 1000 010
3 11000 1001 011
4 11001 1010 10000
5 11010 1011 10001
6 11011 110000 10010
7 1110000 110001 10011
8 1110001 110010 10100
9 1110010 110011 10101
10 1110011 110100 10110
... ... ... ...
표 5는 HEVC에서 1/4 픽셀 해상도에 따라 결정된 현재블록의 차분움직임벡터(quarter-pixel mvd) 정보를 나타내기 위한 신택스 요소들 및 필요한 비트수를 나타낸다.
quarter-pixel mvd 0 0.25 -0.50 0.75 -1.00 2.25 13.00 -22.50 43.75
mvd index 0 1 2 3 4 9 52 90 175
abs_mvd_greater0_flag 0 1 1 1 1 1 1 1 1
abs_mvd_greater1_flag - 0 1 1 1 1 1 1 1
abs_mvd_minus2 - - 2 bits (0) 2 bits (1) 4 bits (2) 6 bits (7) 10 bits (50) 12 bits (88) 14 bits (173)
mvd_sign_flag - 0 1 0 1 0 0 1 0
Total bits 1 bit 3 bits 5 bits 5 bits 7 bits 9 bits 13 bits 15 bits 17 bits
표 5에서 mvd index는 실제로 구한 차분움직임벡터(quarter-pixel mvd)의 인덱스 값으로, 표 1에서 기재한 것과 같이 차분움직임벡터(quarter-pixel mvd) 절대값에 4를 곱하여 획득되는 값이다. abs_ mvd _ minus2에 필요한 비트수는 k-th가 1인 EG(표 3 참고)를 기반으로 mvd index에서 2를 뺀 값을 코딩한 결과로부터 얻어진다. 이하, 본 발명의 실시예들에 대한 설명에도 동일하게 적용된다. mvd index에서 2를 뺀 값은 abs_ mvd _ minus2에 필요한 비트수 아래의 괄호 안에 표시되어 있다.본 발명은 차분움직임벡터 정보를 표현하는데 필요한 비트량을 줄임으로써 영상을 효율적으로 부호화 또는 복호화할 수 있는 방법을 제안한다. 이하 설명할 본 발명의 다양한 실시예들은 차분움직임벡터의 가로축 성분(x 컴포넌트) 및 세로축 성분(y 컴포넌트) 모두에 각각 적용된다. 다만, 설명의 편의상 하나의 성분을 기준으로 설명한다. 또한, 본 발명은 차분움직임벡터를 표현하는 데에 한정하지 않고, 움직임벡터 자체를 표현하는데 사용될 수 있다.
실시예 1
본 실시예는 1/2 픽셀, 1/4 픽셀, 1/8 픽셀, 1/16 픽셀 등과 같이 분수 픽셀 단위로 표현되는 차분움직임벡터에 있어서, 정수 부분과 소수 부분을 분리하여 효율적으로 표현하는 방법에 관한 것이다. 예를 들어, 결정된 차분움직임벡터 값이 "3.75"인 경우, 정수 부분에 속하는 "3"과 소수 부분에 속하는 ".75"를 분리하여 표현하는 것이다.
우선, 본 실시예에 따른 영상 부호화 장치는 현재블록에 대한 차분움직임벡터를 결정한다. 이 때, 결정된 차분움직임벡터의 절대값은 설정된 움직임벡터 해상도에 따라 정수 픽셀 단위로 표현될 수도 있고 분수 픽셀 단위로 표현될 수도 있다. 다만, 본 실시예는 차분움직임벡터의 절대값이 분수 픽셀 단위로 표현된 경우에 적용될 수 있다.
영상 부호화 장치는 차분움직임벡터의 절대값을 분수 픽셀 단위로 결정하는 경우, 결정된 차분움직임벡터의 절대값을 정수 부분과 소수 부분으로 분리한다. 그리고 차분움직임벡터의 절대값에 대한 정보 즉, 정수 부분에 해당하는 값을 나타내는 정보와 소수 부분에 해당하는 값을 나타내는 정보를 부호화한다. 차분움직임벡터의 부호를 나타내는 정보도 별도로 부호화한다.
예를 들어, 영상 부호화 장치는 차분움직임벡터의 절대값을 표현함에 있어서, 정수 부분(pre-point)은 3개의 신택스 요소들로 표현하고, 소수 부분(post-point)은 1개의 신택스 요소로 표현할 수 있다. 차분움직임벡터의 부호는 플래그로 표현한다. 신택스 요소들의 일례는 다음과 같다.
- abs_ mvd _zero_only_flag(pre-point): 차분움직임벡터의 절대값이 오직 0인지를 나타내는 플래그
- abs_ mvd _ less1 _flag(pre-point): 차분움직임벡터의 절대값이 1 미만인지를 나타내는 플래그
- abs_ mvd _ minus1 (pre-point): 차분움직임벡터의 절대값의 정수 부분에서 1을 뺀 값
- abs_ mvd _post_type(post-point): 차분움직임벡터의 절대값의 소수 부분을 나타내는 타입 정보(예를 들어, 1/4 픽셀이라면 4가지 타입 0:.00, 1:.25, 2:.50, 3:.75)
- mvd_sign_flag: 차분움직임벡터의 부호를 나타내는 플래그
abs_ mvd _post_type에 대하여 기재된 소수 부분을 나타내는 4가지 타입 정보는 예시에 불과하며, 반드시 이에 한정되는 것은 아니다. 움직임벡터 해상도에 따라 타입 정보의 값 및 개수가 다양하게 달라질 수 있다.
본 실시예의 신택스 요소들에 대한 구조의 일례는 표 6과 같다.
mvd_coding( x0, y0, refList ) { Descriptor
abs_mvd_zero_only_flag[ ] ae(v)
if(!abs_mvd_zero_only_flag[ ] )  
abs_mvd_less1_flag[ ] ae(v)
if(!abs_mvd_zero_only_flag[ ] ) {  
if(!abs_mvd_less1_flag[ ] )  
abs_mvd_minus1[ ] ae(v)
abs_mvd_post_type[ ] ae(v)
mvd_sign_flag[ ] ae(v)
}  
}  
본 실시예의 신택스 요소들에 대한 이진화 방법의 일례는 표 7과 같다. abs_mvd_post_type에 대한 타입이 4가지이므로 해당 신택스의 FL에 대한 Max 값이 3으로 설정된다. 그러나, 이에 한정되는 것은 아니며 움직임벡터 해상도에 따라 FL에 대한 Max 값이 달라질 수 있다.
Syntax element Binarization
Process Parameter
Pre-point abs_mvd_zero_only_flag FL Max=1
abs_mvd_less1_flag FL Max=1
abs_mvd_minus1 EG k-th=1
Post-point abs_mvd_post_type FL Max=3
Sign mvd_sign_flag FL Max1
표 8은 전술한 표 5와 동일한 차분움직임벡터에 대하여 본 실시예에 따라 계산한 비트수를 나타낸다. abs_ mvd _ minus1에 필요한 비트수 아래에 기재된 괄호 안의 숫자는 차분움직임벡터 절대값의 정수 부분에서 1을 뺀 값을 나타낸다.
quarter-pixel mvd 0 0.25 -0.50 0.75 -1.00 2.25 13.00 -22.50 43.75
mvd value (pre_point) 0 0 0 0 1 2 13 22 43
abs_mvd_zero_only_flag 1 0 0 0 0 0 0 0 0
abs_mvd_less1_flag - 1 1 1 0 0 0 0 0
abs_mvd_minus1 - - - - 2 bits (0) 2 bits (0) 6 bits (12) 8 bits (21) 10 bits (42)
mvd value (post_point) .25 .50 .75 .00 .25 .00 .50 .75
abs_mvd_post_type - 01 10 11 00 01 00 10 11
mvd_sign_flag - 0 1 0 1 0 0 1 0
Total bits 1 bit 5 bits 5 bits 5 bits 7 bits 7 bits 11 bits 13 bits 15 bits
표 5와 표 8에서 계산된 총 비트수를 비교하면, 1/4 픽셀 해상도의 차분움직임벡터 값이 0.25인 경우에 본 실시예에서의 비트수가 더 크게 계산되었으나, 2.25, 13.00, -22.50, 43.75의 값에서는 본 실시예에서 계산된 비트수가 더 적다. 본 명세서에서는 생략하였지만, 표 8에 제시된 값 외에 0부터 40까지의 quarter-pixel mvd 값에 대해서 HEVC 방식 및 본 실시예의 방식 각각에 따른 전체 비트수를 비교해보면, 0.25의 경우를 제외한 모든 경우에서 동일한 비트수 또는 더 적은 비트수를 필요로 한다는 결과를 얻을 수 있다. 즉, HEVC 대비 본 실시예에 따른 차분움직임벡터 부호화 방법이 더 효율적이다. 영상 복호화 장치는 비트스트림으로부터 현재블록의 차분움직임벡터 정보를 복호화한다. 여기서, 차분움직임벡터 정보는 차분움직임벡터의 절대값에 대한 정보(예: abs_ mvd _zero_only_flag, abs_mvd_less1_flag, abs_ mvd _ minus1 , abs_ mvd _post_type) 및 부호(sign)에 대한 정보(예: mvd _sign_flag)를 포함하고, 차분움직임벡터의 절대값에 대한 정보는 전술한 바와 같이 정수 부분에 해당하는 값을 나타내는 정보와 소수 부분에 해당하는 값을 나타내는 정보를 포함한다.
영상 복호화 장치는 복호화된 차분움직임벡터 절대값의 정수 부분에 해당하는 값을 나타내는 정보 및 소수 부분에 해당하는 값을 나타내는 정보를 이용하여 차분움직임벡터의 절대값을 복원한다. 그리고 복호화된 차분움직임벡터의 부호에 대한 정보 및 복원된 차분움직임벡터의 절대값을 이용하여 현재블록의 차분움직임벡터를 복원한다.
영상 복호화 장치는 현재블록의 예측움직임벡터를 결정하고, 복원된 차분움직임벡터와 결정된 예측움직임벡터를 이용하여 현재블록의 움직임벡터를 복원하게 된다.
실시예 2
본 실시예에서는 분수 픽셀 단위로 표현된 차분움직임벡터의 절대값을 정수 부분과 소수 부분으로 나누어 표현하되, 실시예 1과 다른 신택스 요소들을 이용한다.
본 실시예에 따른 영상 부호화 장치 역시, 차분움직임벡터의 절대값을 분수 픽셀 단위로 결정하는 경우, 결정된 차분움직임벡터의 절대값을 정수 부분과 소수 부분으로 분리한다. 그리고 차분움직임벡터의 절대값에 대한 정보 즉, 정수 부분에 해당하는 값을 나타내는 정보와 소수 부분에 해당하는 값을 나타내는 정보를 부호화한다. 차분움직임벡터의 부호를 나타내는 정보도 별도로 부호화한다. 다만, 정수 부분에 해당하는 값을 나타내는 정보로서 실시예 1과 다른 신택스 요소들을 이용할 수 있다.
예를 들어, 본 실시예에 따른 영상 부호화 장치는 차분움직임벡터의 절대값을 표현함에 있어, 정수 부분(pre-point)은 4개의 신택스 요소로 표현하고, 소수 부분(post-point)은 1개의 신택스 요소로 표현할 수 있다. 차분움직임벡터의 부호는 플래그로 표현한다. 신택스 요소들의 일례는 다음과 같다.
- abs_ mvd _zero_only_flag(pre-point): 차분움직임벡터의 절대값이 오직 0인지를 나타내는 플래그
- abs_ mvd _greater_equal_1_flag(pre-point): 차분움직임벡터의 절대값이 1 이상인지를 나타내는 플래그
- abs_ mvd _greater_equal_2_flag(pre-point): 차분움직임벡터의 절대값이 2 이상인지를 나타내는 플래그
- abs_ mvd _ minus2 (pre-point): 차분움직임벡터의 절대값의 정수 부분에서 2를 뺀 값
- abs_ mvd _post_type(post-point): 차분움직임벡터의 절대값의 소수 부분을 나타내는 타입 정보(예를 들어, 1/4 픽셀이라면 4가지 타입 0:.00, 1:.25, 2:.50, 3:.75)
- mvd_sign_flag: 차분움직임벡터의 부호를 나타내는 플래그
abs_ mvd _post_type에 대하여 기재된 소수 부분을 나타내는 4가지 타입 정보는 예시에 불과하며, 반드시 이에 한정되는 것은 아니다. 움직임벡터 해상도에 따라 타입 정보의 값 및 개수가 다양하게 달라질 수 있다.
본 실시예의 신택스 요소들에 대한 구조의 일례는 표 9와 같다.
mvd_coding( x0, y0, refList ) { Descriptor
abs_mvd_zero_only_flag[ ] ae(v)
if(!abs_mvd_zero_only_flag[ ] )  
abs_mvd_greater_equal_1_flag[ ] ae(v)
if(!abs_mvd_zero_only_flag[ ] )
if(abs_mvd_greater_equal_1_flag[ ] )
abs_mvd_greater_equal_2_flag[ ] ae(v)
if(!abs_mvd_zero_only_flag[ ] ) {  
if(abs_mvd_greater_equal_1_flag[ ] )  
if(abs_mvd_greater_equal_2_flag[ ] )
abs_mvd_minus2[ ] ae(v)
abs_mvd_post_type[ ] ae(v)
mvd_sign_flag[ ] ae(v)
}  
}  
본 실시예의 신택스 요소들에 대한 이진화 방법의 일례는 표 10과 같다. abs_mvd_post_type에 대한 타입이 4가지 이므로 해당 신택스의 FL에 대한 Max 값이 3으로 설정된다. 그러나 이에 한정되는 것은 아니며 움직임벡터 해상도에 따라 FL에 대한 Max 값이 달라질 수 있다.
Syntax element Binarization
Process Parameter
Pre-point abs_mvd_zero_only_flag FL Max=1
abs_mvd_greater_equal_1_flag FL Max=1
abs_mvd_greater_equal_2_flag FL Max=1
abs_mvd_minus2 EG k-th=1
Post-point abs_mvd_post_type FL Max=3
Sign mvd_sign_flag FL Max1
표 11은 전술한 표 5와 동일한 차분움직임벡터에 대하여 본 실시예에 따라 계산한 비트수를 나타낸다. abs_ mvd _ minus2에 필요한 비트수 아래에 기재된 괄호 안의 숫자는 차분움직임벡터 절대값에서 2를 뺀 값을 나타낸다.
quarter-pixel mvd 0 0.25 -0.50 0.75 -1.00 2.25 13.00 -22.50 43.75
mvd value (pre_point) 0 0 0 0 1 2 13 22 43
abs_mvd_zero_only_flag 1 0 0 0 0 0 0 0 0
abs_mvd_greater_equal_1_flag - 0 0 0 1 1 1 1 1
abs_mvd_greater_equal_2_flag 0 1 1 1 1
abs_mvd_minus2 - - - - - 2 bits (0) 6 bits (11) 8 bits (20) 10 bits (41)
mvd value (post_point) .25 .50 .75 .00 .25 .00 .50 .75
abs_mvd_post_type - 01 10 11 00 01 00 10 11
mvd_sign_flag - 0 1 0 1 0 0 1 0
Total bits 1 bit 5 bits 5 bits 5 bits 6 bits 8 bits 12 bits 14 bits 16 bits
표 5와 표 11에서 계산된 총 비트수를 비교하면, 1/4 픽셀 해상도의 차분움직임벡터 값이 0.25인 경우에 본 실시예에서의 비트수가 더 크게 계산되었으나, -1.00, 2.25, 13.00, -22.50, 43.75의 값에서는 본 실시예에서 계산된 비트수가 더 적다. 즉, HEVC 대비 본 실시예에 따른 차분움직임벡터 부호화 방법이 더 효율적이다.영상 복호화 장치는 비트스트림으로부터 현재블록의 차분움직임벡터 정보를 복호화한다. 여기서, 차분움직임벡터 정보는 차분움직임벡터의 절대값에 대한 정보(예: abs_ mvd _zero_only_flag, abs_ mvd _greater_equal_1_flag, abs_mvd_greater_equal_2_flag, abs_ mvd _ minus2 , abs_ mvd _post_type) 및 부호(sign)에 대한 정보(예: mvd_sign_flag)를 복호화한다.
영상 복호화 장치는 복호화된 차분움직임벡터 절대값의 정수 부분에 해당하는 값을 나타내는 정보 및 소수 부분에 해당하는 값을 나타내는 정보를 이용하여 차분움직임벡터의 절대값을 복원한다. 그리고 복호화된 차분움직임벡터의 부호에 대한 정보 및 복원된 차분움직임벡터의 절대값을 이용하여 현재블록의 차분움직임벡터를 복원한다.
영상 복호화 장치는 현재블록의 예측움직임벡터를 결정하고, 복원된 차분움직임벡터와 결정된 예측움직임벡터를 이용하여 현재블록의 움직임벡터를 복원하게 된다.
이하에서 설명할 본 발명의 실시예들은 영상 및 블록의 특성에 따라 복수의 움직임벡터 해상도 중에서 차분움직임벡터의 해상도를 적응적으로 선택하여 선택된 해상도로 차분움직임벡터를 표현함으로써, 영상을 효율적으로 부호화한다. 예를 들어, 차분움직임벡터의 크기(absolute value)가 작은 경우에는 분수 픽셀 단위(예: 1/4 픽셀)로 차분움직임벡터를 표현하고, 반대로 크기(absolute value)가 큰 경우에는 정수 픽셀 단위(예: 1 픽셀, 4 픽셀)로 차분움직임벡터를 표현한다.
영상 부호화 장치는 복수의 움직임벡터 해상도 중에서 하나의 해상도를 적응적으로 선택할지 여부를 나타내는 플래그(adaptive_MV_resolution_ enbaled _flag)를 헤더 정보에 삽입하여 적응적인 해상도 선택 기능을 활성화/비활성화시킬 수 있다. 예를 들어, 영상 부호화 장치가 복수의 움직임벡터 해상도 중에서 하나의 해상도를 적응적으로 선택하는 경우에, adaptive_MV_resolution_ enbaled _flag를 온(on)으로 부호화하고, 해상도를 적응적으로 선택하지 않는 경우에는 adaptive_MV_resolution_enbaled_flag를 오프(off)로 부호화할 수 있다.
adaptive_MV_resolution_ enbaled _flag는 SPS(Sequence Parameter Set), PPS(Picture Parameter Set) 및 슬라이스(또는 CTU: Coding Tree Unit) 헤더 중 하나 이상에 삽입될 수 있다. 예를 들어, 움직임 벡터 해상도를 적응적으로 선택할지 여부가 영상 시퀀스 단위마다 결정되는 경우에는 SPS에 플래그가 삽입되고, 픽처 단위마다 결정되는 경우에는 PPS에 플래그가 삽입되며, 슬라이스(또는 CTU) 단위마다 결정되는 경우에는 슬라이스(또는 CTU) 헤더에 삽입된다.
이하에서 설명할 실시예들은 복수의 움직임벡터 해상도 중에서 하나의 해상도를 적응적으로 선택할지 여부를 나타내는 플래그가 온(on)으로 부호화되는 경우를 전제로 한다.
영상 부호화 장치는 부호화 대상 블록(CU: Coding Unit 또는 CTB: Coding Tree Block) 단위로 차분움직임벡터를 표시하는 해상도를 적응적으로 선택한다. 즉, 영상 부호화 장치는 기 정의된 복수의 움직임벡터 해상도 중에서 하나의 해상도를 차분움직임벡터를 표시하기 위한 해상도로서 선택한다.
영상 부호화 장치는 부호화 대상 블록 단위로 복수의 움직임벡터 해상도 중에서 선택된 해상도를 나타내기 위한 해상도 정보를 부호화한다. 복수의 움직임벡터 해상도는 기 정의될 수 있으며, 디폴트 해상도 및 디폴트 해상도를 대체할 다른 해상도(즉, 대체 해상도)들이 포함될 수 있다. 여기서, 디폴트 해상도 및 대체 해상도들은 영상 부호화 장치와 영상 복호화 장치가 공유하는 기 결정된 특정 움직임벡터 해상도일 수 있고, 또는 영상 부호화 장치가 상위 레벨 영상 영역(예: 영상 시퀀스, 픽처, 슬라이스, CTU 등)에서 결정하여 영상 복호화 장치로 시그널링하는 값일 수도 있다.
예를 들어, 디폴트 해상도가 1/4 픽셀 해상도로 정의되고, 대체 해상도들은 1 픽셀 해상도 및 4 픽셀 해상도로 정의되면, 영상 부호화 장치는 선택된 해상도 정보로서, 움직임벡터 해상도가 1/4 픽셀 해상도인지 정수 픽셀 해상도인지를 나타내는 정보 및 정수 픽셀 해상도라면 1 픽셀 해상도인지 4 픽셀 해상도인지를 나타내는 정보를 부호화한다. 이하, 움직임벡터 해상도가 1/4 픽셀 해상도인지 정수 픽셀 해상도인지를 나타내는 정보로서 부호화되는 신택스 요소를 first_bin, 움직임벡터 해상도가 1 픽셀 해상도인지 4 픽셀 해상도인지를 나타내는 정보로서 부호화되는 신택스 요소를 second_bin이라 칭한다.
이 경우, first_bin의 값이 "0"으로 부호화되면 1/4 픽셀 해상도로 차분움직임벡터가 표현되고, "1"로 부호화되면 second_bin이 추가적으로 부호화된다. second_bin의 값이 "0"으로 부호화되면 1 픽셀 해상도로 차분움직임벡터가 표현되고, "1"로 부호화되면 4 픽셀 해상도로 차분움직임벡터가 표현된다.
다른 예로, 영상 복호화 장치는 차분움직임벡터의 해상도를 지시하는 정보로서 mvd _resolution_flag를 복호화할 수 있다. mvd _resolution_flag가 TU(Truncated Unary) 방식(Max=2)으로 이진화되면, mvd _resolution_flag의 값이"0"으로 복호화되는 경우에는 차분움직임벡터를 1/4 픽셀 해상도로 표현하고, mvd _resolution_flag의 값이 "10"으로 복호화되는 경우에는 차분움직임벡터를 1 픽셀 해상도로 표현하며, mvd _resolution_flag의 값이 "11"로 복호화되는 경우에는 차분움직임벡터를 4 픽셀 해상도로 표현할 수 있다.
해상도 정보는 차분움직임벡터의 x 컴포넌트 및 y 컴포넌트 각각에 대하여 영상 복호화 장치로 시그널링될 수 있고, 또는 x 컴포넌트 및 y 컴포넌트에 대하여 동일한 차분움직임벡터의 해상도를 결정하여 영상 복호화 장치로 시그널링될 수 있다.
실시예 3
본 실시예에서는 복수의 움직임벡터 해상도 중에서 하나의 해상도를 적응적으로 선택하는 방법에 관한 것이다. 예를 들어, 디폴트 해상도가 1/4 픽셀 해상도로 정의되고, 대체 해상도들은 1 픽셀 해상도 및 4 픽셀 해상도로 정의된다.
표 12는 1/4 픽셀 해상도에 따라 결정된 현재블록의 차분움직임벡터(quarter-pixel mvd) 값을 1/4 픽셀 해상도, 1 픽셀 해상도, 또는 4 픽셀 해상도 중 임의의 하나의 해상도로 차분움직임벡터 값을 나타내기 위한 신택스 요소들 및 필요한 비트수를 나타낸다.
quarter-pixel mvd 0 0.75 -2.25 10.00 -15.75 19.50 -22.50 34.25 -43.75
mvd index 0 3 9 40 16 20 6 (16) 9 (20) 11 (44)
abs_mvd_greater0_flag 0 1 1 1 1 1 1 1 1
abs_mvd_greater1_flag - 1 1 1 1 1 1 1 1
abs_mvd_minus2 - 2 bits(1) 6 bits(7) 10 bits (38) 8 bits (14) 8 bits (18) 4 bits (4) 6 bits (7) 6 bits (9)
mvd_sign_flag - 0 1 0 1 0 1 0 1
1st bin (quarter or integer) - 0 0 0 1 1 1 1 1
2nd bin (1 or 4) - - - - 0 0 1 1 1
Total bits 1 bit 6 bits 10 bits 14 bits 13 bits 13 bits 9 bits 11 bits 11 bits
표 12의 quarter-pixel mvd 값들 중 {0, 0.75, -2.25, 10.00}에 대해서는 1/4 픽셀 해상도가 적용되었고, {-15.75, 19.50}에 대해서는 1 픽셀 해상도가 적용되었으며, {-22.50, 34.25, -43.75}에 대해서는 4 픽셀 해상도가 적용되었다. mvd index는 quarter-pixel mvd의 절대값을 표현하기 위해 연산된 값이다. 즉, 차분움직임벡터 인덱스(mvd index)는 차분움직임벡터에 대응하는 부호화할 값이다.본 실시예에서는 복수의 모든 해상도에 대해 동일한 하나의 방법으로 차분움직임벡터에 대응하는 부호화할 값을 연산한다. 차분움직임벡터에 대응하는 부호화할 값인 차분움직임벡터 인덱스(mvd_index)를 구하는 공식은 수학식 1과 같다.
Figure PCTKR2018004651-appb-M000001
수학식 1에서 mvd _resolution 은 선택된 해상도, mvd 는 선택된 해상도로 표현된 차분움직임벡터, mvd _index 는 부호화할 값을 나타낸다.
예를 들어, 1/4 픽셀 해상도가 적용되는 경우 차분움직임벡터 절대값에 4를 곱하여 mvd index를 연산하고, 1 픽셀 해상도가 적용되는 경우 차분움직임벡터 절대값에 버림, 반올림, 올림 중 어느 하나를 적용하여 1 픽셀 해상도로 표현된 차분움직임벡터(예: 1의 배수)를 구한 후, 이를 1 (픽셀)로 나눔으로써 mvd index를 구한다. 4 픽셀 해상도가 적용되는 경우에는, 차분움직임벡터 절대값에 버림, 반올림, 올림 중 어느 하나를 적용하여 4 픽셀 해상도로 표현된 차분움직임벡터(예: 4의 배수)를 구한 후, 이를 4 (픽셀)로 나누어 mvd index를 구한다. mvd index의 값 중 괄호 안에 표시된 숫자는 차분움직임벡터 절대값을 선택된 각 해상도로 표현한 차분움직임벡터 값을 나타낸다. abs_ mvd _ minus2에 필요한 비트수 아래에 기재된 괄호 안의 숫자는 mvd index에서 2를 뺀 값을 나타낸다.
실시예 4
본 실시예는 실시예 3에서 설명한 것과 같은 차분움직임벡터의 부호화 방법이 적용될 수 있다. 다만, 본 실시예에서는 영상 부호화 장치가 차분움직임벡터를 표시하기 위한 해상도로서 기 정의된 복수의 움직임벡터 해상도 중 어느 하나를 사용할 때, 소정의 오프셋을 기준으로 차분움직임벡터를 더욱 효율적으로 표시하기 위한 방법을 제안한다. 이하, 도 3을 참조하여 구체적으로 설명한다.
도 3은 본 발명의 실시예에 따른 영상 부호화 장치의 동작방법을 나타내는 흐름도이다.
영상 부호화 장치는 우선, 디폴트 해상도로 현재블록에 대한 차분움직임벡터를 결정한다(S310). 영상 부호화 장치는 결정된 차분움직임벡터의 크기(absolute value)에 따라 복수의 움직임벡터 해상도 중에서 하나 이상의 해상도 후보를 결정한다(S320). 예컨대, 복수의 움직임벡터 해상도는 1/4 픽셀 해상도, 1 픽셀 해상도 및 4 픽셀 해상도를 포함하고, 디폴트 해상도는 1/4 픽셀 해상도일 수 있다.
영상 부호화 장치는 복수의 움직임벡터 해상도 각각에 대응하는 오프셋을 설정할 수 있다. 여기서, 오프셋은 영상 부호화 장치와 영상 복호화 장치가 공유하는 기 결정된 디폴트 값일 수 있고, 또는 영상 부호화 장치가 결정하여 SPS, PPS, 슬라이스 헤더 등과 같은 헤더 정보로서 영상 복호화 장치에 시그널링하는 값일 수도 있다. 예를 들어, 복수의 움직임벡터 해상도로 1/4 픽셀 해상도, 1 픽셀 해상도 및 4 픽셀 해상도를 이용하는 경우, 1/4 픽셀 해상도를 위한 오프셋으로 "α"을, 1 픽셀 해상도를 위한 오프셋으로 "β”을 및 4 픽셀 해상도를 위한 오프셋으로"γ"를 설정할 수 있다.
영상 부호화 장치는 결정된 차분움직임벡터의 크기(absolute value) 및 소정의 오프셋 값에 따라 복수의 움직임벡터 해상도 중에서 하나 이상의 해상도 후보를 결정할 수 있다. 예컨대, 결정된 차분움직임벡터의 크기(absolute value)가 "α"이상 "β"이하인 경우에는 1/4 픽셀 해상도를 해상도 후보로 결정하고, "β"초과 "γ"이하인 경우에는 1/4 픽셀 해상도 및 1 픽셀 해상도를 해상도 후보로 결정하며, "γ"초과인 경우에는 1/4 픽셀 해상도, 1 픽셀 해상도, 및 4 픽셀 해상도를 해상도 부호로 결정할 수 있다.
영상 부호화 장치는 하나 이상의 해상도 후보 중에서 결정된 차분움직임벡터를 표현할 해상도를 선택한다(S330). 이 때, 영상 부호화 장치는 RDO(Rate Distortion Optimization)에 근거하여 결정된 차분움직임벡터를 표현하기 위한 해상도를 선택한다. 예를 들어, 해상도 후보가 1/4 픽셀 해상도, 제1 픽셀 해상도 및 4 픽셀 해상도인 경우, 세 가지 해상도 후보에 대한 RDO를 기준으로 한 평가에 의해 차분움직임벡터를 위한 하나의 최종 해상도를 선택한다.
영상 부호화 장치는 선택된 해상도에 대응하는 함수를 결정된 차분움직임벡터에 적용하여 현재블록의 차분움직임벡터로서 부호화할 값을 연산한다(S340). 영상 부호화 장치는 단계 S340에서 연산된 값을 차분움직임벡터 정보로서 부호화하고, 복수의 움직임벡터 해상도 중 선택된 해상도를 나타내기 위한 해상도 정보를 부호화한다(S350).
단계 S340에 대하여 구체적으로 설명하면 다음과 같다. 영상 부호화 장치는 단계 S310에서 결정된 차분움직임벡터를 단계 S330에서 선택된 해상도의 차분움직임벡터로 표현하고, 선택된 해상도로 표현된 차분움직임벡터와 선택된 해상도에 대응하는 오프셋을 이용하여 현재블록의 차분움직임벡터로서 부호화할 값을 연산한다.
본 실시예에서는 복수의 모든 해상도에 대해 동일한 하나의 방법으로 차분움직임벡터에 대응하는 부호화할 값을 연산한다. 차분움직임벡터에 대응하는 부호화할 값은 차분움직임벡터 인덱스(mvd _index)를 의미하며, 차분움직임벡터 인덱스(mvd_index)를 구하는 공식은 수학식 2 및 수학식 3과 같다.
Figure PCTKR2018004651-appb-M000002
Figure PCTKR2018004651-appb-M000003
수학식 2 및 수학식 3에서 mvd _resolution 은 선택된 해상도, mvd_resolution_offset 은 선택된 해상도에 대응하는 오프셋, mvd 는 선택된 해상도로 표현된 차분움직임벡터, mvd_index 는 부호화할 값을 나타낸다.
영상 부호화 장치는 선택된 해상도로 표현된 차분움직임벡터로부터 선택된 해상도에 대응하는 오프셋을 감산하고, 오프셋이 감산된 값을 선택된 해상도로 나누어 현재블록의 차분움직임벡터로서 부호화할 값을 연산할 수 있다. 예컨대, 디폴트 해상도는 1/4 픽셀 해상도, 대체 해상도는 1 픽셀 해상도 및 4 픽셀 해상도로 설정되고, 오프셋 값은 α=0, β=1, γ=4으로 설정된 상태에서, 결정된 차분움직임벡터가 8.75 이었다고 가정하자. 해당 차분움직임벡터를 1/4 픽셀 해상도로 표시하면 현재블록의 차분움직임벡터로서 부호화할 값은 (8.75-0)/(1/4) = 35이고, 1 픽셀 해상도로 표시하면 현재블록의 차분움직임벡터로서 부호화할 값은 (9-1)/(1) = 8이고, 4 픽셀 해상도로 표시하면 현재블록의 차분움직임벡터로서 부호화할 값은 (8-4)/(4) = 1이 된다. 여기서, 8.75, 9, 및 8은 선택된 해상도로 표현된 차분움직임벡터로써, 실시예 3에서 언급한 차분움직임벡터 절대값에 버림, 반올림, 올림 중 어느 하나를 적용하여 해상도의 배수가 되도록 구한 값이다. 이에 대한 또 다른 예시는 표 13을 참조하여 후술한다.
표 13은 전술한 표 12와 동일한 quarter-pixel mvd에 대하여 본 실시예에 따라 계산한 비트수의 일례를 나타낸다. 표 13에서 디폴트 해상도는 1/4 픽셀 해상도, 대체 해상도는 1 픽셀 해상도 및 4 픽셀 해상도로 설정되고 오프셋 값은 α=0, β=10, γ=20으로 설정되었다. quarter-pixel mvd 값들 중 {0, 0.75, -2.25, 10.00}에 대해서는 1/4 픽셀 해상도를 적용하였고, {-15.75, 19.50}에 대해서는 1 픽셀 해상도를 적용하며, {-22.50, 34.25, -43.75}에 대해서는 4 픽셀 해상도가 적용하였다. 다만, {-15.75, 19.50}에 대해서 1/4 픽셀 해상도를 적용도 가능하며, {-22.50, 34.25, -43.75}에 대해서는 1/4 픽셀 해상도 및 1 픽셀 해상도 적용도 가능하다. 이에 대한 결정은 영상 부호화 장치가 RDO에 근거하여 결정된 차분움직임벡터를 표현하기 위한 해상도를 선택한다.
quarter-pixel mvd 0 0.75 -2.25 10.00 -15.75 19.50 -22.50 34.25 -43.75
mvd index 0 (0- 0)x4 3 (0.75-0)x4 9 (2.25-0)x4 40 (10.00-0)x4 6 (16- 10)/1 10 (20- 10)/1 1 (24-20)/4 4 (36- 20 )/4 6 (44-20 )/4
abs_mvd_greater0_flag 0 1 1 1 1 1 1 1 1
abs_mvd_greater1_flag - 1 1 1 1 1 0 1 1
abs_mvd_minus2 - 2 bits (1) 6 bits (7) 10 bits (38) 4 bits (4) 6 bits (8) - 4 bits (2) 4 bits (4)
mvd_sign_flag - 0 1 0 1 0 1 0 1
1st bin (quarter or integer) - 0 0 0 1 1 1 1 1
2nd bin (1 or 4) - - - - 0 0 1 1 1
Total bits 1 bit 6 bits 10 bits 14 bits 9 bits 11 bits 5 bits 9 bits 9 bits
표 13의 quarter-pixel mvd는 디폴트 해상도로 결정된 현재블록에 대한 차분움직임벡터를 나타내고, mvd index는 현재블록의 차분움직임벡터 정보로서 부호화할 값인 차분움직임벡터 인덱스를 나타낸다. mvd index는 선택된 해상도, 선택된 해상도로 표현된 차분움직임 벡터, 및 선택된 해상도에 대응하는 오프셋을 이용하여 연산될 수 있다. 우선 디폴트 해상도로 결정된 차분움직임벡터(이하, quarter-pixel mvd)를 선택된 해상도로 표현하는 방법은 다음과 같다. 1/4 픽셀 해상도가 선택된 경우에는 quarter-pixel mvd의 절대값을 그대로 유지하고, 1 픽셀 해상도가 선택된 경우에는 quarter-pixel mvd의 절대값에 버림, 반올림, 올림 중 어느 하나를 적용하여 1의 배수가 되도록 구한 결과값으로, 차분움직임벡터를 표현한다. 한편, 4 픽셀 해상도가 선택된 경우에는 quarter-pixel mvd의 절대값에 버림, 반올림, 올림 중 어느 하나를 적용하여 4의 배수가 되도록 구한 결과값으로, 차분움직임벡터를 표현한다.
mvd index는 수학식 2와 같이 선택된 해상도로 표현된 차분움직임벡터로부터 선택된 해상도에 대응하는 오프셋을 감산하고 오프셋이 감산된 값을 선택된 해상도로 나누어 연산될 수 있다. 예를 들어, quarter-pixel mvd "-22.50"를 4 픽셀 해상도로 표현하는 경우, 4 픽셀 해상도로 표현된 차분움직임벡터(four-pixel mvd)의 절대값 "24"에서 4 픽셀 해상도에 대응하는 오프셋(γ) "20"을 감산하여 오프셋이 감산된 값 "4"를 얻고, 이를 선택된 해상도인 4로 나누면 "1" 값을 갖는 mvd index가 연산된다. 나머지 경우에 대한 mvd index의 연산 과정은 표 13의 mvd index 값 아래 괄호 안에 기재되어 있다.
표 13과 전술한 실시예 3에서의 표 12를 비교하면, 1 픽셀 해상도 및 4 픽셀 해상도가 적용되는 차분움직임벡터 값들 전부에 대하여 계산된 비트수가 실시예 3에 따라 계산된 비트수보다 절감된 것을 확인할 수 있다.
mvd index 연산방법의 다른 예로서, 수학식 3과 같이 영상 부호화 장치는 선택된 해상도로 표현된 차분움직임벡터를 선택된 해상도로 먼저 나누고, 선택된 해상도로 나누어진 값으로부터 선택된 해상도에 대응하는 오프셋을 감산하여 현재블록의 차분움직임벡터로서 부호화할 값으로서 mvd index를 연산할 수도 있다.
실시예 5
본 실시예는 실시예 3에서 설명한 것과 같은 차분움직임벡터의 부호화 방법이 적용될 수 있다. 본 실시예에서는 영상 부호화 장치가 기 정의된 복수의 움직임벡터 해상도 별로 차분움직임벡터 크기들(absolute values)에 효율적으로 차분움직임벡터 인덱스(mvd index)를 매핑하고, 매핑된 인덱스(mvd index)를 현재블록의 차분움직임벡터로서 부호화하는 방법을 제안한다.
실시예에 따른 영상 부호화 장치에도 도 3을 참조하여 설명한 일부 단계가 동일하게 적용된다. 다만, 단계 S320의 해상도 후보 결정방법과 단계 S340의 현재블록의 차분움직임벡터로서 부호화할 값을 연산하는 방법에 차이가 있다.
우선, 영상 부호화 장치가 디폴트 해상도로 결정된 차분움직임벡터의 크기(absolute value)에 따라 복수의 움직임벡터 해상도 중에서 하나 이상의 해상도 후보를 선택하는 방법에 대하여 설명한다. 디폴트 해상도로 결정된 현재블록에 대한 차분움직임벡터의 값이 대체 해상도의 배수인 경우에 디폴트 해상도 보다는 대체 해상도로 차분움직임벡터를 표현하는 것이 비트량 측면에서 유리할 수 있다. 본 실시예에서는 결정된 차분움직임벡터 크기(absolute value)가 제1 대체 해상도의 배수인 경우 제1 대체 해상도를 해상도 후보로 결정하고, 제2 대체 해상도의 배수인 경우 제2 대체 해상도를 해상도 후보로 결정하며, 제1 및 제2 대체 해상도의 배수가 아닌 경우 제1 대체 해상도, 제2 대체 해상도 및 디폴트 해상도를 해상도 후보로 결정할 수 있다. 여기서, 대체 해상도의 개수는 위의 예시처럼 3가지로 한정되지 않는다. 일반적인 경우, 제1 대체 해상도는 복수의 대체 해상도들 중에서 가장 큰 수치의 해상도를 의미할 수 있다. 즉, 대체 해상도의 크기가 큰 순서대로 제1 대체 해상도, 제2 대체 해상도, 제3 대체 해상도 등이 지정될 수 있다.
예를 들어, 복수의 움직임벡터 해상도는 1/4 픽셀 해상도, 1 픽셀 해상도 및 4 픽셀 해상도를 포함하고, 디폴트 해상도는 1/4 픽셀 해상도이며, 제1 대체 해상도는 4 픽셀 해상도, 제2 대체 해상도는 1 픽셀 해상도일 수 있다. 디폴트 해상도로 결정된 차분움직임벡터의 크기(absolute value)가 제1 대체 해상도의 배수인 4, 8, 12, … 경우, 4 픽셀 해상도를 해상도 후보로 결정하고, 디폴트 해상도로 결정된 차분움직임벡터의 크기(absolute value)가 제 2 대체 해상도의 배수인 1, 2, 3, 5, 6, … 인 경우, 1 픽셀 해상도를 해상도 후보로 결정하며, 그 이외의 차분움직임벡터의 크기(absolute value)에 대해서는 디폴트 해상도, 제1 대체 해상도, 및 제2 대체 해상도를 해상도 후보로 결정한다. 즉. 결정된 차분움직임벡터의 크기가 4의 배수인 경우에는, 디폴트 해상도인 1/4 픽셀 해상도로 표현하기 보다는 제1 대체 해상도인 4 픽셀로 표현하는 것이 결정된 차분움직임벡터의 크기에 대한 손실 없이 가장 적은 비트로 표현할 수 있는 방법이 된다.
영상 부호화 장치는 전술한 예의 특성을 최대한 활용하여 기 정의된 복수의 움직임벡터 해상도 중에 특정 차분움직임벡터 크기들(absolute values)에 최적인 움직임벡터 해상도에 근거하여 복수의 움직임벡터 해상도를 위한 차분움직임벡터 인덱스(mvd index)를 효율적으로 매핑한다. 구체적으로, 특정 차분움직임벡터 크기들(absolute values)을 각각 최적의 움직임벡터 해상도로만 표현할 수 있도록 제한하여 복수의 움직임벡터 해상도에 대응하는 인덱스를 설정한다.
영상 부호화 장치는 선택된 해상도로 표현된 차분움직임벡터 크기들에 오름차순으로 1씩 증가하는 인덱스를 부여한다. 전술한 예와 같이 복수의 움직임벡터 해상도가 1/4 픽셀 해상도, 1 픽셀 해상도 및 4 픽셀 해상도이고, 디폴트 해상도가 1/4 픽셀 해상도인 경우의 차분움직임벡터 크기들(absolute values) 및 인덱스는 표 14와 같다.
mvd index (Q) Quarter-pixel mvd mvd index (O) One-pixel mvd mvd index (F) Four-pixel mvd
0 0.00
1 0.25
2 0.50
3 0.75
- - 1 1
4 1.25
5 1.50
6 1.75
- - 2 2
7 2.25
8 2.50
9 2.75
- - 3 3
10 3.25
11 3.50
12 3.75
- - - - 1 4
13 4.25
14 4.50
15 4.75
- - 4 5
... ...
- - 2 8
... ...
1/4 픽셀 해상도에 속하는 차분움직임벡터 크기들에는 인덱스(Q)가 부여되고, 1 픽셀 해상도에 속하는 차분움직임벡터 크기들에는 인덱스(O)가 부여되며, 4 픽셀 해상도에 속하는 차분움직임벡터 크기들에는 인덱스(F)가 부여된다. 인덱스(Q)는 0부터 시작하고 인덱스(O) 및 인덱스(F)는 1부터 시작한다. 전술한 표 1에서의 인덱스 부여방법에 따르면, "1.25"의 값을 갖는 디폴트 해상도로 결정된 차분움직임벡터의 크기에는 인덱스"5"가 부여되지만, 본 실시예에 따르면 인덱스 "4"가 부여된다. 여기서, 차분움직임벡터 인덱스는 결정된 차분움직임벡터에 대응하는 부호화할 값이다. 다시 말해, 차분움직임벡터 인덱스는 차분움직임벡터 정보로서 부호화되는 값이다.영상 부호화 장치는 선택된 해상도에 대응하는 함수를 디폴트 해상도로 결정된 차분움직임벡터에 적용하여 현재블록의 차분움직임벡터로서 부호화할 값을 연산한다. 구체적으로, 영상 부호화 장치는 선택된 해상도로 차분움직임벡터 크기(absolute value)를 표현하고, 선택된 해상도로 표현된 차분움직임벡터 크기에 부여할 인덱스를 결정한다. 결정된 인덱스는 현재블록의 차분움직임벡터로서 부호화할 값이 된다.
각각의 차분움직임벡터 인덱스를 구하는 공식은 수학식 4 내지 수학식 6과 같다.
Figure PCTKR2018004651-appb-M000004
Figure PCTKR2018004651-appb-M000005
Figure PCTKR2018004651-appb-M000006
여기서, int _value는 결정된 차분움직임벡터의 값의 정수 부분, point_value는 소수 부분을 의미한다. 그리고
Figure PCTKR2018004651-appb-I000001
는 바닥 함수(floor function)를 나타내고, %는 나머지 연산자(modulus operator)를 나타낸다.
표 14에 기재된 "Quarter-pixel mvd", "One-pixel mvd" 및 "Four-pixel mvd"는 선택되는 해상도를 나타내는 것이고, 해당 열에 나열된 차분움직임벡터 크기들은 모두 디폴트 해상도(1/4 픽셀 해상도)로 표현된 값들이다.
표 15는 여러 가지 quarter-pixel mvd에 대하여 복수의 해상도 중에서 특정 해상도를 선정하여 실시예 3에 따라 계산한 비트수를 나타낸다. 표 16은 표 15와 동일한 quarter-pixel mvd에 대하여 동일한 해상도를 선정하여 본 실시예에 따라 계산한 비트수를 나타낸다.
quarter-pixel mvd 0 0.75 -2.25 10.00 -15.75 19.50 -22.50 34.25 -43.75
mvd index 0 3 9 10 (10) 63 78 23 (23) 34 (34) 11 (44)
abs_mvd_greater0_flag 0 1 1 1 1 1 1 1 1
abs_mvd_greater1_flag - 1 1 1 1 1 1 1 1
abs_mvd_minus2 - 2 bits (1) 6 bits (7) 6 bits (8) 10 bits (61) 12 bits (76) 8 bits(21) 10 bits (32) 6 bits (9)
mvd_sign_flag - 0 1 0 1 0 1 0 1
1st bin (quarter or integer) - 0 0 1 0 0 1 1 1
2nd bin (1 or 4) - - - 0 - - 0 0 1
Total bits 1 bit 6 bits 10 bits 11 bits 14 bits 16 bits 13 bits 15 bits 11 bits
quarter-pixel mvd 0 0.75 -2.25 10.00 -15.75 19.50 -22.50 34.25 -43.75
mvd index 0 3 7 8 (10) 48 59 18 (23) 26 (34) 11 (44)
abs_mvd_greater0_flag 0 1 1 1 1 1 1 1 1
abs_mvd_greater1_flag - 1 1 1 1 1 1 1 1
abs_mvd_minus2 - 2 bits (1) 4 bits (5) 6 bits (6) 10 bits (46) 10 bits (57) 8 bits(16) 8 bits (24) 6 bits (9)
mvd_sign_flag - 0 1 0 1 0 1 0 1
1st bin (quarter or integer) - 0 0 1 0 0 1 1 1
2nd bin (1 or 4) - - - 0 - - 0 0 1
Total bits 1 bit 6 bits 8 bits 11 bits 14 bits 14 bits 13 bits 13 bits 11 bits
표 15 및 표 16에서는 1의 배수인 quarter-pixel mvd {10.00}에 대해서 1 픽셀 해상도를 적용하였고, quarter-pixel mvd {-22.50, 34.25}에 대해서 임의로 1 픽셀 해상도를 적용하였으며, 절대값이 "40"이 넘는 quarter-pixel mvd에 대해서는 임의로 4 픽셀 해상도를 적용하였으며, 그 밖의 quarter-pixel mvd에 대해서는 1/4 픽셀 해상도를 적용하였다. 표 16과 표 15를 비교하면, 본 실시예에 따른 인덱스 부여 방법에 따라 부여된 차분움직임벡터 인덱스(mvd index) 값을 부호화하는 데 필요한 비트수의 일부가 실시예 3에 비하여 절감된 것을 확인할 수 있다. 동일한 quarter-pixel mvd에 대하여 실시예 3과 실시예 5의 mvd index 및 해당 mvd index를 표현하기 위한 총 비트수를 간략하게 비교한 결과는 표 17과 같다.
quarter-pixel mvd 실시 예 3 실시 예 5 Difference
mvd index Total bits mvd index Total bits
0.00 0 1 0 1 0
0.25 1 4 1 4 0
0.50 2 6 2 6 0
0.75 3 6 3 6 0
1.00 1 5 0 4 -1
1.25 5 8 4 8 0
1.50 6 8 5 8 0
1.75 7 8 6 8 0
2.00 2 7 1 5 -2
2.25 9 10 7 8 -2
2.50 10 10 8 10 0
2.75 11 10 9 10 0
3.00 3 7 2 7 0
3.25 13 10 10 10 0
3.50 14 10 11 10 0
3.75 15 10 12 10 0
4.00 1 5 0 4 -1
4.25 17 12 13 10 -2
4.50 18 12 14 10 -2
4.75 19 12 15 10 -2
5.00 5 9 3 7 -2
5.25 21 12 16 12 0
5.50 22 12 17 12 0
5.75 23 12 18 12 0
6.00 6 9 4 9 0
표 17을 보면, quarter-pixel mvd의 값이 증가할수록 본 실시예의 mvd index 값이 실시예 3의 mvd index 값에 비하여 작아지며, 이에 따라 해당 mvd index를 표현하기 위한 비트수가 적어지는 것을 확인할 수 있다.
이하, 도 4 내지 도 6을 참조하여 전술한 실시예들에 따른 영상 복호화 장치에 대하여 설명한다. 도 4는 본 발명의 실시예에 따른 영상 복호화 장치에 대한 블록도이다.
영상 복호화 장치(400)는 복호화부(410), 역양자화부(420), 역변환부(430), 예측부(440), 가산기(450), 필터부(460) 및 메모리(470)를 포함한다. 도 4에 도시된 구성요소들은 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
복호화부(410)는 영상 부호화 장치로부터 수신한 비트스트림을 복호화하여 블록분할과 관련된 정보를 추출하여 복호화하고자 하는 현재블록을 결정하고, 현재블록을 복원하기 위해 필요한 예측정보와 잔차신호에 대한 정보 등을 추출한다.
복호화부(410)는 SPS (Sequence Parameter Set) 또는 PPS (Picture Parameter Set)로부터 CTU size에 대한 정보를 추출하여 CTU의 크기를 결정하고, 픽처를 결정된 크기의 CTU로 분할한다. 그리고 CTU를 트리 구조의 최상위 레이어, 즉, 루트 노드로 결정하고, CTU에 대한 분할 정보를 추출함으로써 CTU를 트리 구조를 이용하여 분할한다. 예컨대, QTBT 구조를 사용하여 CTU를 분할하는 경우, 먼저 QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 BT의 분할과 관련된 제2 플래그(BT_split_flag) 및 분할 타입 정보를 추출하여 해당 리프 노드를 BT 구조로 분할한다.
복호화부(410)는 트리 구조의 분할을 통해 복호화하고자 하는 현재블록(현재블록)을 결정하게 되면, 현재블록이 인트라 예측되었는지 아니면 인터 예측되었는지를 지시하는 예측 타입에 대한 정보를 추출한다.
예측 타입 정보가 인터 예측을 지시하는 경우, 복호화부(410)는 인터 예측정보에 대한 신택스 요소를 추출한다. 먼저, 현재블록의 움직임정보가 복수의 부호화 모드 중 어느 모드에 의해 부호화되었는지 여부를 지시하는 모드 정보를 추출한다. 여기서, 복수의 부호화 모드는 머지 모드 및 차분움직임벡터 부호화 모드를 포함한다. 모드 정보가 머지 모드를 지시하는 경우, 복호화부(410)는 머지 후보들 중 어느 후보로부터 현재블록의 움직임벡터를 유도할지 여부를 지시하는 머지 인덱스 정보를 움직임정보에 대한 신택스 요소로서 추출한다.
반면, 모드 정보가 차분움직임벡터 부호화 모드를 지시하는 경우, 복호화부(410)는 차분움직임벡터에 대한 정보 및 현재블록의 움직임벡터가 참조하는 참조 픽처에 대한 정보를 움직임벡터에 대한 신택스 요소로서 추출한다. 본 발명의 실시예에 따른 복호화부(410)는 현재블록의 차분움직임벡터 정보를 복호화함으로써 결정된 값(이하, '차분움직임벡터 인덱스'라 칭함)를 결정하고, 차분움직임벡터의 해상도를 나타내는 해상도 정보를 복호화함으로써 복수의 움직임벡터 해상도 중에서 차분움직임벡터의 해상도를 선택한다. 그리고 복호화부(410)는 차분움직임벡터 인덱스(mvd_index)에 선택된 해상도에 대응하는 함수를 적용하여 현재블록의 차분움직임벡터를 복원한다. 한편, 영상 부호화 장치가 복수의 예측 움직임벡터 후보들 중에서 어느 하나의 후보를 현재블록의 예측 움직임벡터로 사용한 경우에는 예측 움직임벡터 식별정보가 비트스트림에 포함된다. 따라서 이 경우에는, 차분움직임벡터에 대한 정보와 참조 픽처에 대한 정보뿐만 아니라 예측 움직임벡터 식별정보도 움직임벡터에 대한 신택스 요소로서 추출한다.
한편, 복호화부(410)는 잔차신호에 대한 정보로서 현재블록의 양자화된 변환계수들에 대한 정보를 추출한다.
역양자화부(420)는 양자화된 변환계수들을 역양자화하고, 역변환부(430)는 역양자화된 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환하여 잔차신호들을 복원함으로써 현재블록에 대한 잔차블록을 생성한다.
예측부(440)는 인트라 예측부(442) 및 인터 예측부(444)를 포함한다. 인트라 예측부(442)는 현재블록의 예측 타입인 인트라 예측일 때 활성화되고, 인터 예측부(444)는 현재블록의 예측 타입인 인트라 예측일 때 활성화된다.
인트라 예측부(442)는 복호화부(410)로부터 추출된 인트라 예측 모드에 대한 신택스 요소로부터 복수의 인트라 예측 모드 중 현재블록의 인트라 예측 모드를 결정하고, 인트라 예측 모드에 따라 현재블록 주변의 참조 픽셀들을 이용하여 현재블록을 예측한다.
인터 예측부(444)는 복호화부(410)로부터 추출된 인터 예측 모드에 대한 신택스 요소를 이용하여 현재블록의 움직임정보를 결정하고, 결정된 움직임정보를 이용하여 현재블록을 예측한다.
먼저, 인터 예측부(444)는 복호화부(410)로부터 추출된 인터 예측에서의 모드 정보를 확인한다. 모드 정보가 머지 모드를 지시하는 경우, 인터 예측부(444)는 현재블록의 주변블록을 이용하여 기 결정된 개수의 머지 후보를 포함하는 머지 리스트를 구성한다. 인터 예측부(444)가 머지 리스트를 구성하는 방법은 영상 부호화 장치의 인터 예측부(424)와 동일하다. 그리고, 복호화부(410)로부터 전달된 머지 인덱스 정보를 이용하여 머지 리스트 내의 머지 후보들 중에서 하나의 머지 후보를 선택한다. 그리고 선택된 머지 후보의 움직임정보, 즉, 머지 후보의 움직임벡터와 참조 픽처를 현재블록의 움직임벡터와 참조픽처로 설정한다.
반면, 모드 정보가 차분움직임벡터 부호화 모드를 지시하는 경우, 인터 예측부(444)는 현재블록의 주변블록들의 움직임벡터를 이용하여 예측움직임벡터 후보들을 유도하고, 예측움직임벡터 후보들을 이용하여 현재블록의 움직임벡터에 대한 예측움직임벡터를 결정한다. 인터 예측부(444)가 예측움직임벡터 후보들을 유도하는 방법은 영상 부호화 장치의 인터 예측부(424)가 예측움직임벡터 후보들을 유도하는 방법과 동일하다. 만약, 영상 부호화 장치가 복수의 예측움직임벡터 후보들 중에서 어느 하나의 후보를 현재블록의 예측움직임벡터로 사용한 경우에는 움직임정보에 대한 신택스 요소는 예측움직임벡터 식별정보를 포함한다. 따라서, 이 경우에, 인터 예측부(444)는 예측움직임벡터 후보들 중 예측움직임벡터 식별정보에 의해 지시되는 후보를 예측움직임벡터로 선택할 수 있다. 그러나, 영상 부호화 장치가 복수의 예측움직임벡터 후보들에 기 정의된 함수를 사용하여 예측움직임벡터를 결정한 경우에는, 인터 예측부(444)는 영상 부호화 장치와 동일한 함수를 적용하여 예측움직임벡터를 결정할 수도 있다. 현재블록의 예측움직임벡터가 결정되면, 인터 예측부(444)는 예측움직임벡터와 복호화부(410)로부터 전달된 차분움직임벡터를 가산하여 현재블록의 움직임벡터를 결정한다. 그리고 복호화부(410)로부터 전달된 참조픽처에 대한 정보를 이용하여 현재블록의 움직임벡터가 참조하는 참조픽처를 결정한다.
머지 모드 또는 차분움직임벡터 부호화 모드에서 현재블록의 움직임벡터와 참조픽처가 결정되면, 인터 예측부(442)는 참조픽처 내에서 움직임벡터가 지시하는 위치의 블록을 이용하여 현재블록의 예측블록을 생성한다.
가산기(450)는 역변환부(430)로부터 출력되는 잔차블록과 인터 예측부(444) 또는 인트라 예측부(442)로부터 출력되는 예측블록을 가산하여 현재 블록을 복원한다. 복원된 현재 블록 내의 픽셀들은 이후에 복호화할 블록을 인트라 예측할 때의 참조픽셀로서 활용된다.
필터부(460)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해 복원된 블록 간의 경계를 디블록킹 필터링하고 메모리(470)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 복호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
이하, 도 5를 참조하여 본 발명의 실시예 4 및 5에 따른 영상 복호화 장치에 대하여 구체적으로 설명한다. 도 5는 본 발명의 실시예에 따른 영상 복호화 장치의 동작방법을 나타내는 흐름도이다.
도 5를 참조하면, 영상 복호화 장치는 비트스트림으로부터 현재블록의 차분움직임벡터 정보를 복호화한다(S510). 차분움직임벡터 정보는, 차분움직임벡터 인덱스(mvd_index) 값을 지시한다.
영상 복호화 장치는 차분움직임벡터의 해상도를 나타내는 해상도 정보를 복호화함으로써 복수의 움직임벡터 해상도 중에서 하나의 해상도를 선택한다(S520). 복수의 움직임벡터 해상도는 기 정의될 수 있으며, 디폴트 해상도 및 디폴트 해상도를 대체할 다른 해상도(즉, 대체 해상도)들이 포함될 수 있다. 여기서, 디폴트 해상도 및 대체 해상도들은 영상 부호화 장치와 영상 복호화 장치가 공유하는 기 결정된 특정 움직임벡터 해상도일 수 있고, 또는 영상 부호화 장치가 상위 레벨 영상 영역(예: 영상 시퀀스, 픽처, 슬라이스, CTU 등)에서 결정하여 영상 복호화 장치로 시그널링하는 값일 수도 있다.
예를 들어, 디폴트 해상도가 1/4 픽셀 해상도로 정의되고, 대체 해상도들은 1 픽셀 해상도 및 4 픽셀 해상도로 정의되면, 영상 복호화 장치는 차분움직임벡터의 해상도를 지시하는 정보로서, 움직임벡터 해상도가 1/4 픽셀 해상도인지 정수 픽셀 해상도인지를 나타내는 정보 및 정수 픽셀 해상도라면 1 픽셀 해상도인지 4 픽셀 해상도인지를 나타내는 정보를 복호화한다. 이하, 움직임벡터 해상도가 1/4 픽셀 해상도인지 정수 픽셀 해상도인지를 나타내는 정보로서 복호화되는 신택스 요소를 first_bin, 움직임벡터 해상도가 1 픽셀 해상도인지 4 픽셀 해상도인지를 나타내는 정보로서 복호화되는 신택스 요소를 second_bin이라 칭한다.
이 경우, first_bin의 값이 "0"으로 복호화되면 1/4 픽셀 해상도로 차분움직임벡터가 표현되고, "1"로 복호화되면 second_bin이 추가적으로 복호화된다. second_bin의 값이 "0"으로 복호화되면 1 픽셀 해상도로 차분움직임벡터가 표현되고, "1"로 복호화되면 4 픽셀 해상도로 차분움직임벡터가 표현된다.
다른 예로, 영상 복호화 장치는 차분움직임벡터의 해상도를 지시하는 정보로서 mvd _resolution_flag를 복호화할 수 있다. mvd _resolution_flag가 TU(Truncated Unary) 방식(Max=2)으로 이진화되면, mvd _resolution_flag의 값이 "0"으로 복호화되는 경우에는 차분움직임벡터를 1/4 픽셀 해상도로 표현하고, mvd _resolution_flag의 값이 "10"으로 복호화되는 경우에는 차분움직임벡터를 1 픽셀 해상도로 표현하며, mvd _resolution_flag의 값이 "11"로 복호화되는 경우에는 차분움직임벡터를 4 픽셀 해상도로 표현할 수 있다.
해상도 정보는 차분움직임벡터의 x 컴포넌트 및 y 컴포넌트 각각에 대하여 복호화될 수 있고, 또는 x 컴포넌트 및 y 컴포넌트에 대하여 동일한 차분움직임벡터의 해상도를 복호화될 수 있다.
영상 복호화 장치는 차분움직임벡터 정보에 의해 결정된 값(즉, 차분움직임벡터 인덱스)에 선택된 해상도에 대응하는 함수를 적용하여 현재블록의 차분움직임벡터를 복원한다(S530).
실시예 3에 따른 영상 복호화 장치의 차분움직임벡터 복호화 방법(S530)은 다음과 같다. 영상 복호화 장치는 차분움직임벡터 인덱스에 선택된 해상도를 곱하여 현재블록의 차분움직임벡터를 복원한다.
현재블록의 차분움직임벡터를 복원하기 위한 함수의 일례는 수학식 7과 같다. 수학식 7은 1/4 픽셀 해상도, 1 픽셀 해상도, 및 4 픽셀 해상도가 선택된 경우에 모두 적용될 수 있는 함수이다.
Figure PCTKR2018004651-appb-M000007
수학식 7에서 mvd 는 복원된 현재블록의 차분움직임벡터를 나타내고, mvd_index 는 복호화된 차분움직임벡터 인덱스를 나타내며, mvd _resolution_는 해상도 정보를 나타낸다.
실시예 4에 따른 영상 복호화 장치의 차분움직임벡터 복호화 방법(S530)은 다음과 같다. 영상 복호화 장치는 우선 차분움직임벡터 인덱스에 선택된 해상도를 곱한다. 그리고 선택된 해상도로 곱해진 값에 선택된 해상도에 대응하는 오프셋을 가산하여 현재블록의 차분움직임벡터를 복원한다. 여기서, 오프셋은 영상 부호화 장치와 영상 복호화 장치가 공유하는 기 결정된 디폴트 값일 수 있고, 또는 영상 부호화 장치가 결정하여 SPS, PPS, 슬라이스 헤더 등과 같은 헤더 정보로서 영상 복호화 장치에 시그널링하는 값일 수도 있다.
예를 들어, 복수의 움직임벡터 해상도로 1/4 픽셀 해상도, 1 픽셀 해상도 및 4 픽셀 해상도를 이용하는 경우, 각 해상도에 대응하는 오프셋 "α", "β" 및 "γ" (단, α < β < γ임)를 설정할 수 있다.
현재블록의 차분움직임벡터를 복원하기 위한 함수의 일례는 수학식 8와 같다. 수학식 8은 1/4 픽셀 해상도, 1 픽셀 해상도 및 4 픽셀 해상도가 선택된 경우 모두에 적용되는 함수이다.
Figure PCTKR2018004651-appb-M000008
수학식 8에서 mvd 는 복원된 현재블록의 차분움직임벡터를 나타내고, mvd_index 는 복호화된 차분움직임벡터 인덱스를 나타내며, mvd _resolution 은 해상도 정보를 나타내며, mvd _resolution_offset 은 해상도에 대응하는 오프셋을 나타낸다. 여기서, 해상도가 1/4 픽셀인 경우 오프셋은 "α", 1 픽셀인 경우 오프셋은 "β", 4 픽셀인 경우 오프셋은 "γ"가 될 수 있다.
다른 예로서, 영상 복호화 장치는 차분움직임벡터 인덱스에 선택된 해상도에 대응하는 오프셋을 가산하고, 오프셋이 가산된 값에 선택된 해상도를 곱함으로써, 현재블록의 차분움직임벡터를 복원할 수도 있다. 이 경우에 대한 현재블록의 차분움직임벡터를 복원하기 위한 함수의 일례는 수학식 9와 같다. 수학식 9는 1/4 픽셀 해상도, 1 픽셀 해상도, 및 4 픽셀 해상도가 선택된 경우에 모두 적용되는 함수이다.
Figure PCTKR2018004651-appb-M000009
실시예 5에 따른 영상 복호화 장치의 차분움직임벡터 복호화 방법(S530)은 다음과 같다. 영상 복호화 장치는 선택된 해상도에 대응하는 함수를 복호화된 차분움직임벡터 인덱스(mvd_index)에 적용하여 현재블록의 차분움직임벡터를 복원한다. 예를 들어, 표 15와 같이 선택된 해상도에 속하는 차분움직임벡터 크기들(absolute values)에 부여된 인덱스들 중에서, 복호화된 차분움직임벡터 인덱스에 대응하는 차분움직임벡터의 크기(absolute value)를 현재블록의 차분움직임벡터로 결정할 수 있다. 전술한 바와 같이 선택된 해상도 각각에 속하는 차분움직임벡터 크기들(absolute values)에는 오름차순으로 1씩 증가하는 인덱스가 부여된다.
1/4 픽셀 해상도에 속하는 차분움직임벡터 크기들에는 인덱스(Q)가 부여되고, 1 픽셀 해상도에 속하는 차분움직임벡터 크기들에는 인덱스(O)가 부여되며, 4 픽셀 해상도에 속하는 차분움직임벡터 크기들에는 인덱스(F)가 부여된다. 인덱스(Q)는 0부터 시작하고 인덱스(O) 및 인덱스(F)는 1부터 시작하여 차분움직임벡터 크기 순으로 1씩 증가하는 인덱스가 부여된다.
전술한 표 14를 예로 들어 구체적으로 설명한다. 영상 복호화 장치가 1/4 픽셀 해상도를 선택하고, "1"의 값을 갖는 차분움직임벡터 인덱스(mvd_index)를 복호화하면, "1"값의 인덱스에 대응하는 차분움직임벡터 크기 "0.25"를 현재블록의 차분움직임벡터로 복원한다. 다른 예로, 영상 복호화 장치가 1 픽셀 해상도를 선택하고, "1"의 값을 갖는 차분움직임벡터 인덱스(mvd_index)를 복호화하면, "1"값의 인덱스에 대응하는 차분움직임벡터 크기 "1"을 현재블록의 차분움직임벡터로 복원된다. 또 다른 예로, 영상 복호화 장치가 4 픽셀 해상도를 선택하고, "1"의 값을 갖는 차분움직임벡터 인덱스(mvd_index)를 복호화하면, "1"값의 인덱스에 대응하는 차분움직임벡터 크기 "4"를 현재블록의 차분움직임벡터로 복원한다.
선택된 해상도 별로 표 14와 같이 부여된 인덱스들을 이용하여 현재블록의 차분움직임벡터를 복원하기 위한 함수는 수학식 10 내지 12와 같다. 수학식 10은 1/4 픽셀 해상도가 선택된 경우에 적용되는 함수이고, 수학식 11은 1 픽셀 해상도가 선택된 경우에 적용되는 함수이며, 수학식 12는 4 픽셀 해상도가 선택된 경우에 적용되는 함수이다. 다만, 수학식 10 내지 12는 예시에 불과하며, 차분움직임벡터의 크기(absolute value)에 차분움직임벡터 인덱스를 부여하는 본 발명의 다양한 실시예들에 따라 달라질 수 있다.
Figure PCTKR2018004651-appb-M000010
Figure PCTKR2018004651-appb-M000011
Figure PCTKR2018004651-appb-M000012
수학식 10 내지 12에서 mvd 는 복원된 현재블록의 차분움직임벡터를 나타내고, mvd _index 는 복호화된 차분움직임벡터 인덱스를 나타낸다. 그리고
Figure PCTKR2018004651-appb-I000002
는 바닥 함수(floor function)를 나타내고, %는 나머지 연산자(modulus operator)를 나타낸다.
도 6을 참조하여 실시예 3 내지 5에 따른 영상 복호화 장치의 구체적인 동작에 대하여 설명한다. 도 6은 본 발명의 실시예에 따른 영상 복호화 장치의 구체적인 동작방법의 일례를 나타내는 흐름도이다.
영상 복호화 장치는 현재블록의 차분움직임벡터 정보를 복호화하여 차분움직임벡터 인덱스를 결정한다(S610). 영상 복호화 장치는 결정된 차분움직임벡터 인덱스 값이 "0"이 아닌지 판단하여(S612), "0"인 경우에는 현재블록의 차분움직임벡터를 "0"으로 복원한다(S614).
결정된 차분움직임벡터 인덱스 값이 "0"이 아니라면, 영상 복호화 장치는 차분움직임벡터의 해상도를 나타내는 제1 해상도 정보(예: first bin)를 복호화하고(S616), 복호화된 제1 해상도 정보가 1/4 픽셀 해상도를 지시하는지 아니면 정수 픽셀 해상도를 지시하는지를 판단한다(S618). 예를 들어, 제1 해상도 정보가 "0"으로 복호화되면 1/4 픽셀 해상도를 지시하고 "1"로 복호화되면 정수 픽셀 해상도를 지시한다고 할 때, 영상 복호화 장치는 제1 해상도 정보가 "0"으로 복호화되면 차분움직임벡터의 해상도로서 1/4 픽셀 해상도를 선택한다(S620). 그리고 영상 복호화 장치는 차분움직임벡터 인덱스에 1/4 픽셀 해상도에 대응하는 함수를 적용하여 현재블록의 차분움직임벡터를 복원한다(S622). 1/4 픽셀 해상도에 대응하는 함수는 예컨대, 수학식 8 내지 수학식 10과 같다.
단계 S618에서 제1 해상도 정보가 "0"이 아닌 "1"로 복호화되는 경우, 영상 복호화 장치는 차분움직임벡터의 해상도를 나타내는 제2 해상도 정보(예: second bin)를 복호화하고(S624), 제2 해상도 정보가 1 픽셀 해상도를 지시하는지 아니면 4 픽셀 해상도를 지시하는지를 판단한다(S626). 예를 들어, 제2 해상도 정보가 "0"으로 복호화되면 1 픽셀 해상도를 지시하고 "1"로 복호화되면 4 픽셀 해상도를 지시한다고 할 때, 영상 복호화 장치는 제2 해상도 정보가 "0"으로 복호화되면 차분움직임벡터의 해상도로서 1 픽셀 해상도를 선택한다(S628). 그리고 영상 복호화 장치는 차분움직임벡터 인덱스에 1 픽셀 해상도에 대응하는 함수를 적용하여 현재블록의 차분움직임벡터를 복원한다(S630). 1 픽셀 해상도에 대응하는 함수는 예컨대, 수학식 8, 수학식 9 및 수학식 11과 같다.
단계 626에서 제2 해상도 정보가 "0"이 아닌 "1"로 복호화되는 경우, 영상 복호화 장치는 차분움직임벡터의 해상도로서 4 픽셀 해상도를 선택하고(S632), 차분움직임벡터 인덱스에 4 픽셀 해상도에 대응하는 함수를 적용하여 현재블록의 차분움직임벡터를 복원한다(S634). 4 픽셀 해상도에 대응하는 함수는 예컨대, 수학식 8, 수학식 9 및 수학식 12와 같다.
현재블록의 차분움직임벡터가 복원되면, 영상 복호화 장치는 현재블록의 예측움직임벡터를 결정하고, 복원된 차분움직임벡터와 결정된 예측움직임벡터를 이용하여 현재블록의 움직임벡터를 복원한다(S636).
도 3, 도 5 및 도 6에서는 각 과정을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 3, 도 5 및 도 6에 기재된 과정을 변경하여 실행하거나 하나 이상의 과정을 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 3, 도 5 및 도 6은 시계열적인 순서로 한정되는 것은 아니다.
도 3, 도 5 및 도 6에 기재된 본 실시예에 따른 영상 부호화 또는 복호화 방법은 컴퓨터 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 영상 부호화 또는 복호화 방법을 구현하기 위한 컴퓨터 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨팅 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은, 본 명세서에 그 전체가 참고로서 포함되는 2017년 07월 11일 한국에 출원한 특허출원번호 제10-2017-0087770호에 대해 우선권을 주장한다.

Claims (13)

  1. 현재블록의 움직임벡터를 부호화하는 방법에 있어서,
    디폴트 해상도로 상기 현재블록에 대한 차분움직임벡터를 결정하는 단계;
    상기 결정된 차분움직임벡터의 크기(absolute value)에 따라 복수의 움직임벡터 해상도 중에서 하나 이상의 해상도 후보를 결정하는 단계;
    상기 하나 이상의 해상도 후보 중에서 상기 결정된 차분움직임벡터를 표현할 해상도를 선택하는 단계;
    상기 결정된 차분움직임벡터에 상기 선택된 해상도에 대응하는 함수를 적용하여 상기 현재블록의 차분움직임벡터로서 부호화할 값을 연산하는 단계; 및
    상기 연산된 값을 차분움직임벡터 정보로서 부호화하고, 상기 복수의 움직임벡터 해상도 중 상기 선택된 해상도를 나타내기 위한 해상도 정보를 부호화하는 단계
    를 포함하는 움직임벡터 부호화 방법.
  2. 제1항에 있어서,
    상기 복수의 움직임벡터 해상도는 1/4 픽셀 해상도, 1 픽셀 해상도 및 4 픽셀 해상도를 포함하고, 상기 디폴트 해상도는 1/4 픽셀 해상도인, 움직임벡터 부호화 방법.
  3. 제1항에 있어서,
    상기 현재블록의 차분움직임벡터로서 부호화할 값을 연산하는 단계는,
    상기 결정된 차분움직임벡터를 상기 선택된 해상도의 차분움직임벡터로 표현하는 단계; 및
    상기 선택된 해상도로 표현된 차분움직임벡터와 상기 선택된 해상도에 대응하는 오프셋을 이용하여 상기 현재블록의 차분움직임벡터로서 부호화할 값을 연산하는 단계를 포함하는, 움직임벡터 부호화 방법.
  4. 제3항에 있어서,
    상기 현재블록의 차분움직임벡터로서 부호화할 값을 연산하는 단계는,
    상기 선택된 해상도로 표현된 차분움직임벡터로부터 상기 선택된 해상도에 대응하는 오프셋을 감산하는 단계; 및
    상기 오프셋이 감산된 값을 상기 선택된 해상도로 나누어 상기 현재블록의 차분움직임벡터로서 부호화할 값을 연산하는 단계를 포함하는, 움직임벡터 부호화 방법.
  5. 제3항에 있어서,
    상기 현재블록의 차분움직임벡터로서 부호화할 값을 연산하는 단계는,
    상기 선택된 해상도의 차분움직임벡터를 상기 선택된 해상도로 나누는 단계; 및
    상기 선택된 해상도로 나누어진 값으로부터 상기 선택된 해상도에 대응하는 오프셋을 감산하여 상기 현재블록의 차분움직임벡터로서 부호화할 값을 연산하는 단계를 포함하는, 움직임벡터 부호화 방법.
  6. 제1항에 있어서,
    상기 복수의 움직임벡터 해상도는, 상기 디폴트 해상도를 대체하는 하나 이상의 대체 해상도 및 상기 디폴트 해상도를 포함하고,
    상기 하나 이상의 해상도 후보를 결정하는 단계는,
    상기 결정된 차분움직임벡터의 크기(absolute value)가 상기 대체 해상도의 배수인 경우, 상기 대체 해상도를 상기 해상도 후보로 결정하는 단계; 및
    상기 결정된 차분움직임벡터의 크기(absolute value)가 상기 대체 해상도의 배수가 아닌 경우, 상기 대체 해상도 및 상기 디폴트 해상도를 상기 해상도 후보로 결정하는 단계를 포함하는, 움직임벡터 부호화 방법.
  7. 제6항에 있어서,
    상기 현재블록의 차분움직임벡터로서 부호화할 값을 연산하는 단계는,
    상기 선택된 해상도로 상기 결정된 차분움직임벡터를 표현하고, 상기 선택된 해상도로 표현된 차분움직임벡터에 부여할 인덱스를 결정하는 단계; 및
    상기 결정된 인덱스를 상기 현재블록의 차분움직임벡터로서 부호화할 값으로 결정하는 단계를 포함하는, 움직임벡터 부호화 방법.
  8. 제7항에 있어서,
    상기 인덱스는, 상기 선택된 해상도로 표현 가능한 차분움직임벡터 크기들에 대해 오름차순으로 1씩 증가하도록 부여되는, 움직임벡터 부호화 방법.
  9. 현재블록의 움직임벡터를 복호화하기 위한 방법에 있어서,
    상기 현재블록의 차분움직임벡터 정보를 복호화하는 단계;
    차분움직임벡터의 해상도를 나타내는 해상도 정보를 복호화함으로써 복수의 움직임벡터 해상도 중에서 상기 차분움직임벡터의 해상도를 선택하는 단계;
    상기 차분움직임벡터 정보에 의해 결정된 값에 상기 선택된 해상도에 대응하는 함수를 적용하여 상기 현재블록의 차분움직임벡터를 복원하는 단계; 및
    상기 현재블록의 예측움직임벡터를 결정하고, 상기 복원된 차분움직임벡터와 상기 예측움직임벡터를 이용하여 상기 현재블록의 움직임벡터를 복원하는 단계
    를 포함하는 움직임벡터 복호화 방법.
  10. 제9항에 있어서,
    복수의 움직임벡터 해상도는 1/4 픽셀 해상도, 1 픽셀 해상도 및 4 픽셀 해상도를 포함하는, 움직임벡터 복호화 방법.
  11. 제9항에 있어서,
    상기 현재블록의 차분움직임벡터를 복원하는 단계는,
    상기 차분움직임벡터 정보에 의해 결정된 값에 상기 선택된 해상도를 곱하는 단계; 및
    상기 선택된 해상도로 곱해진 값에 상기 선택된 해상도에 대응하는 오프셋을 가산하여 상기 현재블록의 차분움직임벡터를 복원하는 단계를 포함하는, 움직임벡터 복호화 방법.
  12. 제9항에 있어서,
    상기 현재블록의 차분움직임벡터를 복원하는 단계는,
    상기 차분움직임벡터 정보에 의해 결정된 값에 상기 선택된 해상도에 대응하는 오프셋을 가산하는 단계; 및
    상기 오프셋이 가산된 값에 상기 선택된 해상도를 곱하는 단계를 포함하는, 움직임벡터 복호화 방법.
  13. 현재블록의 움직임벡터를 복호화하기 위한 영상 복호화 장치에 있어서,
    상기 현재블록의 차분움직임벡터 정보를 복호화함으로써 차분움직임벡터 인덱스를 결정하고, 차분움직임벡터의 해상도를 나타내는 해상도 정보를 복호화함으로써 복수의 움직임벡터 해상도 중에서 상기 차분움직임벡터의 해상도를 선택하며, 상기 결정된 차분움직임벡터 인덱스에 상기 선택된 해상도에 대응하는 함수를 적용하여 상기 현재블록의 차분움직임벡터를 복원하는 복호화부; 및
    상기 현재블록의 예측움직임벡터를 결정하고, 상기 복원된 차분움직임벡터와 상기 예측움직임벡터를 이용하여 상기 현재블록의 움직임벡터를 복원하는 인터 예측부
    를 포함하는 영상 복호화 장치.
PCT/KR2018/004651 2017-03-22 2018-04-20 움직임벡터를 부호화 또는 복호화하기 위한 장치 및 방법 WO2019013434A1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20170036161 2017-03-22
KR1020170087770A KR102450863B1 (ko) 2017-03-22 2017-07-11 움직임벡터를 부호화 또는 복호화하기 위한 장치 및 방법
KR10-2017-0087770 2017-07-11

Publications (1)

Publication Number Publication Date
WO2019013434A1 true WO2019013434A1 (ko) 2019-01-17

Family

ID=63864098

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/004651 WO2019013434A1 (ko) 2017-03-22 2018-04-20 움직임벡터를 부호화 또는 복호화하기 위한 장치 및 방법

Country Status (2)

Country Link
KR (5) KR102450863B1 (ko)
WO (1) WO2019013434A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114303372A (zh) * 2019-06-28 2022-04-08 Sk电信有限公司 自适应地设置分辨率的方法及图像解码装置
EP3970373A4 (en) * 2020-03-16 2022-08-03 Beijing Dajia Internet Information Technology Co., Ltd. IMPROVEMENTS IN A MERGE MODE WITH MOTION VECTOR DIFFERENCES
US11575932B2 (en) 2018-11-08 2023-02-07 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Video signal encoding and decoding method, and apparatus therefor

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7460616B2 (ja) * 2018-11-08 2024-04-04 オッポ広東移動通信有限公司 ビデオエンコーディング/デコーディング方法、ビデオエンコーダ、ビデオデコーダ、ビデオエンコーディング装置、ビデオデコーディング装置及びコンピュータ可読記憶媒体
WO2020130520A1 (ko) * 2018-12-16 2020-06-25 엘지전자 주식회사 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치
US20220078475A1 (en) * 2019-01-01 2022-03-10 Lg Electronics Inc. Method and apparatus for processing video signal on basis of inter prediction
US20230055497A1 (en) * 2020-01-06 2023-02-23 Hyundai Motor Company Image encoding and decoding based on reference picture having different resolution

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8982952B2 (en) * 2008-06-02 2015-03-17 Broadcom Corporation Method and system for using motion vector confidence to determine a fine motion estimation patch priority list for a scalable coder
WO2016068674A1 (ko) * 2014-10-31 2016-05-06 삼성전자 주식회사 움직임 벡터 부복호화 방법 및 장치
KR20160087208A (ko) * 2015-01-13 2016-07-21 인텔렉추얼디스커버리 주식회사 영상의 부호화/복호화 방법 및 장치
KR20160119254A (ko) * 2011-06-16 2016-10-12 지이 비디오 컴프레션, 엘엘씨 움직임 벡터 차분값의 엔트로피 코딩

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8982952B2 (en) * 2008-06-02 2015-03-17 Broadcom Corporation Method and system for using motion vector confidence to determine a fine motion estimation patch priority list for a scalable coder
KR20160119254A (ko) * 2011-06-16 2016-10-12 지이 비디오 컴프레션, 엘엘씨 움직임 벡터 차분값의 엔트로피 코딩
WO2016068674A1 (ko) * 2014-10-31 2016-05-06 삼성전자 주식회사 움직임 벡터 부복호화 방법 및 장치
KR20160087208A (ko) * 2015-01-13 2016-07-21 인텔렉추얼디스커버리 주식회사 영상의 부호화/복호화 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHEN, JIANLE ET AL.: "Algorithm Description of Joint Exploration Test Model 2", JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3, 26 February 2016 (2016-02-26), San Diego, USA, XP055436454 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11575932B2 (en) 2018-11-08 2023-02-07 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Video signal encoding and decoding method, and apparatus therefor
US11812051B2 (en) 2018-11-08 2023-11-07 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Video signal encoding and decoding method, and apparatus therefor
CN114303372A (zh) * 2019-06-28 2022-04-08 Sk电信有限公司 自适应地设置分辨率的方法及图像解码装置
CN114303372B (zh) * 2019-06-28 2024-04-09 Sk电信有限公司 自适应地设置分辨率的方法及图像解码装置
EP3970373A4 (en) * 2020-03-16 2022-08-03 Beijing Dajia Internet Information Technology Co., Ltd. IMPROVEMENTS IN A MERGE MODE WITH MOTION VECTOR DIFFERENCES

Also Published As

Publication number Publication date
KR20180107687A (ko) 2018-10-02
KR20240013891A (ko) 2024-01-30
KR20220136330A (ko) 2022-10-07
KR20240013890A (ko) 2024-01-30
KR102618414B1 (ko) 2023-12-27
KR20240001100A (ko) 2024-01-03
KR102450863B1 (ko) 2022-10-05

Similar Documents

Publication Publication Date Title
WO2020071829A1 (ko) 히스토리 기반 영상 코딩 방법 및 그 장치
WO2018105757A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2019013434A1 (ko) 움직임벡터를 부호화 또는 복호화하기 위한 장치 및 방법
WO2016052977A1 (ko) 비디오 신호 처리 방법 및 장치
WO2020071830A1 (ko) 히스토리 기반 움직임 정보를 이용한 영상 코딩 방법 및 그 장치
WO2019190211A1 (ko) 모션 보상을 이용하는 비디오 신호 처리 방법 및 장치
WO2012081879A1 (ko) 인터 예측 부호화된 동영상 복호화 방법
WO2016159610A1 (ko) 비디오 신호 처리 방법 및 장치
WO2012023763A2 (ko) 인터 예측 부호화 방법
WO2020009419A1 (ko) 병합 후보를 사용하는 비디오 코딩 방법 및 장치
WO2016048092A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018212569A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2016114583A1 (ko) 비디오 신호 처리 방법 및 장치
WO2016064123A1 (ko) 비디오 신호 처리 방법 및 장치
WO2016085231A1 (ko) 비디오 신호 처리 방법 및 장치
WO2015020504A1 (ko) 병합 모드 결정 방법 및 장치
WO2016137166A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2016122253A1 (ko) 비디오 신호 처리 방법 및 장치
WO2016122251A1 (ko) 비디오 신호 처리 방법 및 장치
WO2020141831A2 (ko) 인트라 블록 카피 예측을 이용한 영상 코딩 방법 및 장치
WO2019013363A1 (ko) 영상 코딩 시스템에서 주파수 도메인 잡음 감소 방법 및 장치
WO2016200235A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2017195917A1 (ko) 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
WO2020138958A1 (ko) 양방향 예측 방법 및 영상 복호화 장치
WO2016204479A1 (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: 18831047

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18831047

Country of ref document: EP

Kind code of ref document: A1