Method and apparatus for encoding and decoding motion vector based on reduced motion vector predictor candidates
First Claim
1. An image decoding method comprising:
- decoding, from a bitstream including an image, information about a motion vector difference for a current block and information about a motion vector predictor for the current block;
generating a motion vector predictor candidate group;
modifying the motion vector predictor candidate group based on vectorial values of motion vector predictor candidates in the motion vector predictor candidate group;
determining the motion vector predictor for the current block from among motion vector predictor candidates in the modified motion vector predictor candidate group based on the information about the motion vector predictor; and
determining a motion vector for the current block based on the motion vector predictor and the information about the motion vector difference,wherein, the modified motion vector predictor candidate group includes at least one of a 1st motion vector predictor candidate and 2nd motion vector predictor candidates, the 1st motion vector predictor candidate is a motion vector of a collocated block to the current block, the collocated block is located in a reference picture, the 2nd motion vector predictor candidates are motion vectors of neighboring blocks of the current block,wherein the neighboring blocks include a first block located to an upper right side of the current block, a second block located to a left side of the first block, and a third block located to an upper left side of the current block,wherein the modifying the motion vector predictor candidate group comprises modifying the motion vector predictor candidate group, when at least two of the 2nd motion vector predictor candidates have a same value, by removing all of the at least two of the 2nd motion vector predictor candidates except for one of the at least two of the 2nd motion vector predictor candidates from the motion vector predictor candidate group,wherein the image is split into a plurality of maximum coding units according to information about a size of a maximum coding unit, the maximum coding unit is hierarchically split into one or more coding units of depths including at least one of a current depth and a lower depth, andwherein the current block is included in one of the one or more coding units of depths including at least one of the current depth and the lower depth.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for encoding and decoding a motion vector of a current block. The method of encoding including: generating information about the motion vector based on a motion vector of a current block and a motion vector predictor of the current block by estimating the motion vector and determining a first motion vector predictor candidate from among a plurality of motion vector predictor candidates as the motion vector predictor based on a result of the estimating; and generating a virtual motion vector by using a second motion vector predictor candidate and the information about the motion vector, generating vector differences between the virtual motion vector and the plurality of motion vector predictor candidates, comparing the vector differences with the information about the motion vector, and selectively excluding the second motion vector predictor candidate according to the comparing.
35 Citations
9 Claims
-
1. An image decoding method comprising:
-
decoding, from a bitstream including an image, information about a motion vector difference for a current block and information about a motion vector predictor for the current block; generating a motion vector predictor candidate group; modifying the motion vector predictor candidate group based on vectorial values of motion vector predictor candidates in the motion vector predictor candidate group; determining the motion vector predictor for the current block from among motion vector predictor candidates in the modified motion vector predictor candidate group based on the information about the motion vector predictor; and determining a motion vector for the current block based on the motion vector predictor and the information about the motion vector difference, wherein, the modified motion vector predictor candidate group includes at least one of a 1st motion vector predictor candidate and 2nd motion vector predictor candidates, the 1st motion vector predictor candidate is a motion vector of a collocated block to the current block, the collocated block is located in a reference picture, the 2nd motion vector predictor candidates are motion vectors of neighboring blocks of the current block, wherein the neighboring blocks include a first block located to an upper right side of the current block, a second block located to a left side of the first block, and a third block located to an upper left side of the current block, wherein the modifying the motion vector predictor candidate group comprises modifying the motion vector predictor candidate group, when at least two of the 2nd motion vector predictor candidates have a same value, by removing all of the at least two of the 2nd motion vector predictor candidates except for one of the at least two of the 2nd motion vector predictor candidates from the motion vector predictor candidate group, wherein the image is split into a plurality of maximum coding units according to information about a size of a maximum coding unit, the maximum coding unit is hierarchically split into one or more coding units of depths including at least one of a current depth and a lower depth, and wherein the current block is included in one of the one or more coding units of depths including at least one of the current depth and the lower depth. - View Dependent Claims (2, 3)
-
-
4. An image encoding method comprising:
-
determining, by at least one processor, a motion vector of a current block by performing inter prediction on the current block; generating, by the at least one processor, a motion vector predictor candidate group; modifying, by the at least one processor, the motion vector predictor candidate group based on vectorial values of motion vector predictor candidates in the motion vector predictor candidate group; encoding, by the at least one processor, information regarding a motion vector predictor specifying the motion vector predictor of the current block by determining the motion vector predictor of the current block among motion vector predictor candidates included in the modified motion vector predictor candidate group; encoding, by the at least one processor, information regarding a difference of the motion vector of the current block which indicates a difference between the motion vector of the current block and the motion vector predictor of the current block; and generating, by the at least one processor, a bitstream including an image, the information regarding the difference of the motion vector of the current block and the information regarding the motion vector predictor specifying the motion vector predictor of the current block, wherein, the modified motion vector predictor candidate group includes at least one of a 1st motion vector predictor candidate and 2nd motion vector predictor candidates, the 1st motion vector predictor candidate is a motion vector of a collocated block to the current block, the collocated block is located in a reference picture, the 2nd motion vector predictor candidates are motion vectors of neighboring blocks of the current block, wherein the neighboring blocks include a first block located to an upper right side of the current block, a second block located to a left side of the first block, and a third block located to an upper left side of the current block, wherein the modifying the motion vector predictor candidate group comprises modifying the motion vector predictor candidate group, when at least two of the 2nd motion vector predictor candidates have a same value, by removing all of the at least two of the 2nd motion vector predictor candidates except for one of the at least two of the 2nd motion vector predictor candidates from the motion vector predictor candidate group, wherein the image is split into a plurality of maximum coding units, a maximum coding unit is hierarchically split into one or more coding units of depths including at least one of a current depth and a lower depth, information about a size of the maximum coding unit is generated, and wherein the generated information about the size of the maximum coding unit is included in the bitstream, and wherein the current block is included in one of the one or more coding units of depths including at least one of the current depth and the lower depth.
-
-
5. An image encoding method comprising:
-
determining, by at least one processor, a motion vector of a current block by performing inter prediction on the current block; generating, by the at least one processor, a motion vector predictor candidate group; modifying, by the at least one processor, the motion vector predictor candidate group based on vectorial values of motion vector predictor candidates in the motion vector predictor candidate group; encoding, by the at least one processor, information regarding a motion vector predictor specifying the motion vector predictor of the current block by determining the motion vector predictor of the current block among motion vector predictor candidates included in the modified motion vector predictor candidate group; encoding, by the at least one processor, information regarding a difference of the motion vector of the current block which indicates a difference between the motion vector of the current block and the motion vector predictor of the current block; and generating, by the at least one processor, a bitstream including an image, the information regarding the difference of the motion vector of the current block and the information regarding the motion vector predictor specifying the motion vector predictor of the current block, wherein, the modified motion vector predictor candidate group includes at least one of a 1st motion vector predictor candidate and 2nd motion vector predictor candidates, the 1st motion vector predictor candidate is a motion vector of a collocated block to the current block, the collocated block is located in a reference picture, the 2nd motion vector predictor candidates are motion vectors of neighboring blocks of the current block, wherein the neighboring blocks include blocks located to an upper left side, an upper right side, and a lower left side of the current block, wherein the modifying the motion vector predictor candidate group comprises modifying the motion vector predictor candidate group, when at least two of the 2nd motion vector predictor candidates have a same value, by removing all of the at least two of the 2nd motion vector predictor candidates except for one of the at least two of the 2nd motion vector predictor candidates from the motion vector predictor candidate group, wherein the image is split into a plurality of maximum coding units, a maximum coding unit is hierarchically split into one or more coding units of depths including at least one of a current depth and a lower depth, information about a size of the maximum coding unit is generated, and wherein the generated information about the size of the maximum coding unit is included in the bitstream, wherein the current block is included in one of the one or more coding units of depths including at least one of the current depth and the lower depth.
-
-
6. An image encoding apparatus comprising:
-
at least one processor configured to determine a motion vector of a current block by performing inter prediction on the current block, to generate a motion vector predictor candidate group, to modify the motion vector predictor candidate group based on vectorial values of motion vector predictor candidates in the motion vector predictor candidate group, to encode information regarding a motion vector predictor specifying the motion vector predictor of the current block by determining the motion vector predictor of the current block from among motion vector predictor candidates included in the modified motion vector predictor candidate group, to encode information regarding a difference of the motion vector of the current block which indicates a difference between the motion vector of the current block and the motion vector predictor of the current block, and to generate a bitstream including an image, the information regarding the difference of the motion vector of the current block and the information regarding the motion vector predictor specifying the motion vector predictor of the current block, wherein, the modified motion vector predictor candidate group includes at least one of a 1st motion vector predictor candidate and 2nd motion vector predictor candidates, the 1st motion vector predictor candidate is a motion vector of a collocated block to the current block, the collocated block is located in a reference picture, the 2nd motion vector predictor candidates are motion vectors of neighboring blocks of the current block, wherein the neighboring blocks include blocks located to an upper left side, an upper right side, and a lower left side of the current block, wherein if the at least one processor modifies the motion vector predictor candidate group, the at least one processor modifies the motion vector predictor candidate group, when at least two of the 2nd motion vector predictor candidates have a same value, by removing all of the at least two of the 2nd motion vector predictor candidates except for one of the at least two of the 2nd motion vector predictor candidates from the motion vector predictor candidate group, wherein the image is split into a plurality of maximum coding units, a maximum coding unit is hierarchically split into one or more coding units of depths including at least one of a current depth and a lower depth, information about a size of the maximum coding unit is generated, and wherein the generated information about the size of the maximum coding unit is included in the bitstream, wherein the current block is included in one of the one or more coding units of depths including at least one of the current depth and the lower depth.
-
-
7. A non-transitory computer-readable storage medium having stored thereon instructions, when executed by at least one processor, to perform operations to generate image data corresponding to a bitstream, the image data comprising:
-
an encoded image; information regarding a motion vector predictor specifying the motion vector predictor of a current block in the image, information regarding a difference of a motion vector of the current block which indicates a difference between the motion vector of the current block and the motion vector predictor of the current block; and information about a size of a maximum coding unit in the image, wherein the motion vector of the current block is determined by performing inter prediction on the current block, the motion vector predictor candidate group is generated, the generated motion vector predictor candidate group is modified based on vectorial values of motion vector predictor candidates in the motion vector predictor candidate group, the information regarding the motion vector predictor is information which is encoded by determining the motion vector predictor of the current block among motion vector predictor candidates included in the modified motion vector predictor candidate group, wherein, the modified motion vector predictor candidate group includes at least one of a 1st motion vector predictor candidate and 2nd motion vector predictor candidates, the 1st motion vector predictor candidate is a motion vector of a collocated block to the current block, the collocated block is located in a reference picture, the 2nd motion vector predictor candidates are motion vectors of neighboring blocks of the current block, wherein the neighboring blocks include blocks located to an upper left side, an upper right side, and a lower left side of the current block, wherein the motion vector predictor candidate group is modified, when at least two of the 2nd motion vector predictor candidates have a same value, by removing all of the at least two of the 2nd motion vector predictor candidates except for one of the at least two of the 2nd motion vector predictor candidates from the motion vector predictor candidate group, wherein the image is split into a plurality of maximum coding units, the maximum coding unit is hierarchically split into one or more coding units of depths including at least one of a current depth and a lower depth, the information about the size of the maximum coding unit is generated based on the plurality of maximum coding unit which are split, wherein the current block is included in one of the one or more coding units of depths including at least one of the current depth and the lower depth.
-
-
8. A non-transitory computer-readable storage medium having stored thereon instructions, when executed by at least one processor, to perform operations to generate image data corresponding to a bitstream, the image data comprising:
-
an encoded image; information regarding a motion vector predictor specifying the motion vector predictor of a current block in the image, information regarding a difference of a motion vector of the current block which indicates a difference between the motion vector of the current block and the motion vector predictor of the current block; and information about a size of a maximum coding unit in the image, wherein the motion vector of the current block is determined by performing inter prediction on the current block, the motion vector predictor candidate group is generated, the generated motion vector predictor candidate group is modified based on vectorial values of motion vector predictor candidates in the motion vector predictor candidate group, the information regarding the motion vector predictor is information which is encoded by determining the motion vector predictor of the current block among motion vector predictor candidates included in the modified motion vector predictor candidate group, wherein, the modified motion vector predictor candidate group includes at least one of a 1st motion vector predictor candidate and 2nd motion vector predictor candidates, the 1st motion vector predictor candidate is a motion vector of a collocated block to the current block, the collocated block is located in a reference picture, the 2nd motion vector predictor candidates are motion vectors of neighboring blocks of the current block, wherein the neighboring blocks include a first block located to an upper right side of the current block, a second block located to a left side of the first block, and a third block located to an upper left side of the current block, wherein the motion vector predictor candidate group is modified, when at least two of the 2nd motion vector predictor candidates have a same value, by removing all of the at least two of the 2nd motion vector predictor candidates except for one of the at least two of the 2nd motion vector predictor candidates from the motion vector predictor candidate group, wherein the image is split into a plurality of maximum coding units, the maximum coding unit is hierarchically split into one or more coding units of depths including at least one of a current depth and a lower depth, the information about the size of maximum coding unit is generated based on the plurality of maximum coding unit which are split, wherein the current block is included in one of the one or more coding units of depths including at least one of the current depth and the lower depth.
-
-
9. A non-transitory computer-readable storage medium having stored thereon instructions, when executed by at least one processor, to perform operations to generate image data corresponding to a bitstream, the image data comprising:
-
an encoded image; information regarding a motion vector predictor specifying the motion vector predictor of a current block in the image, information regarding a difference of a motion vector of the current block which indicates a difference between the motion vector of the current block and the motion vector predictor of the current block; and information about a size of a maximum coding unit in the image, wherein the motion vector of the current block is determined by performing inter prediction on the current block, the motion vector predictor candidate group is generated, the generated motion vector predictor candidate group is modified based on vectorial values of motion vector predictor candidates in the motion vector predictor candidate group, the information regarding the motion vector predictor is information which is encoded by determining the motion vector predictor of the current block among motion vector predictor candidates included in the modified motion vector predictor candidate group, wherein, the modified motion vector predictor candidate group includes at least one of a 1st motion vector predictor candidate and 2nd motion vector predictor candidates, the 1st motion vector predictor candidate is a motion vector of a collocated block to the current block, the collocated block is located in a reference picture, the 2nd motion vector predictor candidates are motion vectors of neighboring blocks of the current block, wherein the neighboring blocks include a first block located to an upper right side of the current block, a second block located to a left side of the first block, a third block located to an upper left side of the current block, and a fourth block located to a lower left side of the current block, wherein the motion vector predictor candidate group is modified, when at least two of the 2nd motion vector predictor candidates have a same value, by removing all of the at least two of the 2nd motion vector predictor candidates except for one of the at least two of the 2nd motion vector predictor candidates from the motion vector predictor candidate group, wherein the image is split into a plurality of maximum coding units, the maximum coding unit is hierarchically split into one or more coding units of depths including at least one of a current depth and a lower depth, the information about the size of the maximum coding unit is generated based on the plurality of maximum coding unit which are split, wherein the current block is included in one of the one or more coding units of depths including at least one of the current depth and the lower depth.
-
Specification