Video coding and decoding
A signalling affine mode in an encoded video stream; in particular determining an inter prediction mode used for a portion of a bitstream and signalling affine motion mode in dependence on said inter prediction mode used in said portion of said bitstream. Related encoding and decoding methods and devices are also disclosed.
1. A method of decoding an image from a portion of a bitstream, the method comprising:
selecting a subblock merge mode for a current block,
wherein selecting the subblock merge mode with affine subblock prediction comprises decoding a CABAC encoded flag from the bit stream;
determining a list of merge candidates corresponding to blocks neighbouring the current block, wherein said list starts with candidates which correspond to a block which has been used to determine a context variable, relating to said block, for said CABAC encoded flag; and
wherein the context variable for said CABAC encoded flag is determined based on (a) whether or not a block A2 to the left of said current block uses affine subblock prediction, and (b) whether or not a block B3 above said current block uses affine subblock prediction.
2. A method of encoding an image into a portion of a bitstream, the method comprising:
signalling a subblock merge mode for a current block;,
wherein signalling the subblock merge mode with affine subblock prediction comprises encoding, into the bitstream, a flag by using CABAC encoding;
determining a list of merge candidates corresponding to blocks neighbouring the current block, wherein said list starts with candidates which correspond to a block which has been used to determine a context variable, relating to said block, for said flag; and
wherein the context variable for said CABAC encoding of said flag is determined based on (a) whether or not a block A2 to the left of said current block uses affine subblock prediction, and (b) whether or not a block B3 above said current block uses affine subblock prediction.
3. A decoder for decoding an image from a portion of a bitstream, the decoder comprising:
a unit configured to select a subblock merge mode for a current block;
wherein selecting said subblock merge mode with affine subblock prediction comprises decoding a CABAC encoded flag from the bitstream;
a unit configured to determine a list of merge candidates corresponding to blocks neighbouring the current block, wherein said list starts with candidates which correspond to a block which has been used to determine a context variable, relating to said block, for said CABAC encoded flag; and
a unit configured to determine the context variable for said CABAC encoded flag based on (a) whether or not a block A2 to the left of said current block uses affine subblock prediction, and (b) whether or not a block B3 above said current block uses affine subblock prediction.
4. An encoder for encoding an image into a portion of a bitstream, the encoder comprising:
a unit configured to signal a subblock merge mode for a current block;,
wherein signalling the subblock merge mode with affine subblock prediction comprises encoding, into the bitstream, a flag by using CABAC encoding;
a unit configured to determine a list of merge candidates corresponding to blocks neighbouring the current block, wherein said list starts with candidates which correspond to a block which has been used to determine a context variable, relating to said block, for said flag; and
a unit configured to determine the context variable for said CABAC encoding of said flag based on (a) whether or not a block A2 to the left of said current block uses affine subblock prediction, and (b) whether or not a block B3 above said current block uses affine subblock prediction.
5. A non-transitory computer-readable storage medium storing a program for causing a computer to execute a method of decoding an image from a portion of a bitstream, the method comprising:
selecting a subblock merge mode for a current block,
wherein selecting said subblock merge mode with affine subblock prediction comprises decoding a CABAC encoded flag from the bit stream;
determining a list of merge candidates corresponding to blocks neighbouring the current block, wherein said list starts with candidates which correspond to a block which has been used to determine a context variable, relating to said block, for said CABAC encoded flag,
wherein the context variable for said CABAC encoded flag is determined based on (a) whether or not a block A2 to the left of said current block uses affine subblock prediction, and (b) whether or not a block B3 above said current block uses affine subblock prediction.
6. A non-transitory computer-readable storage medium storing a program for causing a computer to execute a method of encoding an image into a portion of a bitstream, the method comprising:
signalling a subblock merge mode for a current block;,
wherein signalling the subblock merge mode with affine subblock prediction comprises encoding, into the bitstream, a flag by using CABAC encoding;
determining a list of merge candidates corresponding to blocks neighbouring the current block, wherein said list starts with candidates which correspond to a block which has been used to determine a context variable, relating to said block, for said flag;
wherein the context variable for said CABAC encoding of said flag is determined based on (a) whether or not a block A2 to the left of said current block uses affine subblock prediction, and (b) whether or not a block B3 above said current block uses affine subblock prediction.