Video coding and decoding
A method of encoding a motion vector predictor index, in particular a Merge index, comprises generating a list of motion vector predictor candidates, in particular merge candidates. The list includes an ATMVP candidate. One of the motion vector predictor candidates in the list is selected. A motion vector predictor index for the selected motion vector predictor candidate is generated using CABAC coding. One or more bits of the motion vector predictor index are bypass CABAC coded. For example, only the first bit of the motion vector predictor index is CABAC coded using a single context.
1. A method of encoding a motion vector predictor index, comprising:
generating a list of motion vector predictor candidates including a candidate for subblock collocated temporal prediction and a candidate for subblock Affine prediction;
selecting one of the motion vector predictor candidates in the list; and
encoding a motion vector predictor index for the selected motion vector predictor candidate using CABAC coding, a first bit of the motion vector predictor index being CABAC coded and all bits except for the first bit of the motion vector predictor index being bypass CABAC coded.
2. A method of decoding a motion vector predictor index, comprising:
generating a list of motion vector predictor candidates including a candidate for subblock collocated temporal prediction and a candidate for subblock Affine prediction;
decoding the motion vector predictor index using CABAC decoding, a first bit of the motion vector predictor index being CABAC decoded and all bits except for the first bit of the motion vector predictor index being bypass CABAC decoded; and
identifying one of the motion vector predictor candidates in the list, using the decoded motion vector predictor index.
3. An encoding apparatus for encoding a motion vector predictor index, comprising:
a generator which generates a list of motion vector predictor candidates including a candidate for subblock collocated temporal prediction and a candidate for subblock Affine prediction;
a selector which selects one of the motion vector predictor candidates in the list; and
an encoder which encodes a motion vector predictor index for the selected motion vector predictor candidate using CABAC coding, a first bit of the motion vector predictor index being CABAC coded and all bits except for the first bit of the motion vector predictor index being bypass CABAC coded.
4. A decoding apparatus for decoding a motion vector predictor index, comprising:
a generator which generates a list of motion vector predictor candidates including a candidate for subblock collocated temporal prediction and a candidate for subblock Affine prediction;
a decoder which decodes the motion vector predictor index using CABAC decoding, a first bit of the motion vector predictor index being CABAC decoded and all bits except for the first bit of the motion vector predictor index being bypass CABAC decoded; and
an identifying unit which identifies one of the motion vector predictor candidates in the list, using the decoded motion vector predictor index to identify one of the motion vector predictor candidates in the list.
5. The method as claimed in claim 1 , wherein the motion vector predictor candidate are Merge candidates and the motion vector predictor index is a Merge index.
6. The method as claimed in claim 2 , wherein the motion vector predictor candidates are Merge candidates and the motion vector predictor index is a Merge index.
7. The encoding apparatus as claimed in claim 3 , wherein the motion vector predictor candidates are Merge candidates and the motion vector predictor index is a Merge index.
8. The decoding apparatus as claimed in claim 4 , wherein the motion vector predictor candidates are Merge candidates and the motion vector predictor index is a Merge index.
9. A non-transitory computer-readable storage medium carrying a computer program comprising program instructions adapted to perform, when executed in a computing device, a method of encoding a motion vector predictor index, comprising:
generating a list of motion vector predictor candidates including a candidate for subblock collocated temporal prediction and a candidate for subblock Affine prediction;
selecting one of the motion vector predictor candidates in the list; and
encoding a motion vector predictor index for the selected motion vector predictor candidate using CABAC coding, a first bit of the motion vector predictor index being CABAC coded and all bits except for the first bit of the motion vector predictor index being bypass CABAC coded.
10. A non-transitory computer-readable storage medium carrying a computer program comprising program instructions adapted to perform, when executed in a computing device, a method of decoding a motion vector predictor index, comprising:
generating a list of motion vector predictor candidates including a candidate for subblock collocated temporal prediction and a candidate for subblock Affine prediction;
decoding the motion vector predictor index using CABAC decoding, a first bit of the motion vector predictor index being CABAC coded and all bits except for the first bit of the motion vector predictor index being bypass CABAC decoded; and
identifying one of the motion vector predictor candidates in the list, using the decoded motion vector predictor index.