Further improved improved context design for prediction mode and CBF
A method of controlling intra-inter prediction for decoding or encoding of a video sequence, is performed by at least one processor. The method includes determining whether one or more neighboring blocks in a video sequence is coded by an intra prediction mode, coding a prediction mode flag of a current block by a first context based on determining that at least one of the neighboring blocks is coded by the intra prediction mode, and coding the prediction mode flag of the current block by a second context based on determining that none of the neighboring blocks are coded by at least the intra prediction mode.
1 . A method for video encoding, the method comprising:
determining whether at least one of a plurality of neighboring blocks in a video sequence is to be encoded by a mode depending on a pred_mode_flag variable and a top-left sample of the plurality of neighboring blocks of a current picture;
encoding a variable of a current block by a first context based on at least one of the plurality of neighboring blocks being coded by the mode and regardless of whether more than the at least one of the plurality of neighboring blocks being coded by the mode; and
encoding the variable of the current block by a second context based on none of the plurality of neighboring blocks being coded by at least the mode, and the mode is one of an intra prediction mode, an inter prediction mode, and an intra-inter prediction mode.
2 . The method according to claim 1 ,
wherein encoding the variable of the current block comprises encoding by only the first context and the second context.
3 . The method according to claim 1 , further comprising:
determining whether at least one of the plurality of neighboring blocks is coded by the intra-inter prediction mode;
encoding the variable of the current block by the first context based on at least one of the plurality of neighboring blocks being coded by the intra-inter prediction mode; and
encoding the variable of the current block by the second context based none of the plurality of neighboring blocks being coded by any of the intra prediction mode and the intra-inter prediction mode.
4 . The method according to claim 1 , further comprising:
encoding a skip variable of the current block by a first skip context based on at least one of the plurality of neighboring blocks being coded by the mode; and
encoding the skip variable of the current block by a second skip context based on none of the plurality of neighboring blocks being coded by at least the mode.
5 . The method according to claim 1 , further comprising:
encoding an affine variable of the current block by a first affine context based on at least one of the plurality of neighboring blocks being coded by the mode; and
encoding the affine variable of the current block by a second affine context based on none of the plurality of neighboring blocks being coded by at least the mode.
6 . The method according to claim 1 , further comprising:
encoding a sub-block merge variable of the current block by a first sub-block merge context based on at least one of the plurality of neighboring blocks being coded by the mode; and
encoding the sub-block merge variable of the current block by a second sub-block merge context based on none of the plurality of neighboring blocks being coded by at least the mode.
7 . The method according to claim 1 , further comprising:
encoding a coding unit (CU) split variable of the current block by a first CU split context based on at least one of the plurality of neighboring blocks being coded by the mode; and
encoding the CU split variable of the current block by a second CU split context based on none of the plurality of neighboring blocks being coded by at least the mode.
8 . The method according to claim 1 , further comprising:
encoding an adaptive motion vector resolution (AMVR) variable of the current block by a first AMVR context based on at least one of the plurality of neighboring blocks being coded by the mode; and
encoding the adaptive motion vector resolution (AMVR) variable of the current block by a second AMVR context based on none of the plurality of neighboring blocks being coded by at least the mode.
9 . The method according to claim 1 , further comprising:
encoding an intra-inter mode variable of the current block by a first intra-inter mode context based that at least one of the plurality of neighboring blocks being coded by the mode; and
encoding the intra-inter mode variable of the current block by a second intra-inter mode context based on none of the plurality of neighboring blocks being coded by at least the mode.
10 . The method according to claim 1 , further comprising:
encoding a triangle partitioning mode variable of current block by a first triangle partitioning mode context based on at least one of the plurality of neighboring blocks being coded by the mode; and
encoding the triangle partitioning mode variable of the current block by a second triangle partitioning mode context based on none of the plurality of neighboring blocks being coded by at least the mode.
11 . The method according to claim 1 , further comprising:
encoding a coding block flag (CBF) variable of the current block by a first CBF context based on at least one of the plurality of neighboring blocks being coded by the mode; and
encoding the CBF variable of the current block by a second CBF context based on none of the plurality of neighboring blocks being coded by at least the mode.
12 . A method of video decoding, the method comprising:
receiving a video data comprising a plurality of neighboring blocks in a video sequence is to be decoded in a mode depending on a pred_mode_flag syntax and a top-left sample of the plurality of neighboring blocks of a current picture; and
decoding the video data in the mode based on at least one of:
a variable of a current block indicating a first context based on at least one of the plurality of neighboring blocks being coded by the mode and regardless of whether more than the at least one of the plurality of neighboring blocks being coded by the mode, and
the variable of the current block indicating a second context based on none of the plurality of neighboring blocks being coded by at least the mode, and the mode is one of an intra prediction mode, an inter prediction mode, and an intra-inter prediction mode.
13 . The method according to claim 12 , wherein the variable of the current block is encoded by only the first context and the second context.
14 . The method according to claim 12 , wherein decoding the video data is further based on:
whether at least one of the plurality of neighboring blocks is coded by the intra-inter prediction mode.
15 . The method according to claim 12 , wherein decoding the video data is further based on any of:
a skip variable of the current block, and
a skip context based on none of the plurality of neighboring blocks being coded by at least the mode.
16 . The method according to claim 12 , decoding the video data is further based on any of:
an affine variable of the current block, and
an affine context based on none of the plurality of neighboring blocks being coded by at least the mode.
17 . The method according to claim 12 , decoding the video data is further based on any of:
a sub-block merge variable of the current block, and
a sub-block merge context based on none of the plurality of neighboring blocks being coded by at least the mode.
18 . The method according to claim 12 , decoding the video data is further based on any of:
a coding unit (CU) split variable of the current block indicating a first CU split context based on at least one of the plurality of neighboring blocks being coded by the mode; and
a CU split context based on none of the plurality of neighboring blocks being coded by at least the mode.
19 . The method according to claim 12 , decoding the video data is further based on any of:
an adaptive motion vector resolution (AMVR) variable of the current block, and
an AMVR context based on determining that none of the plurality of neighboring blocks being coded by at least the mode.
20 . A method of encoding visual media data, the method comprising:
generating a bitstream of the visual media data according to an encoding process comprising:
determining whether at least one of a plurality of neighboring blocks in a video sequence is to be encoded by a mode depending on a pred_mode_flag syntax and a top-left sample of the plurality of neighboring blocks of a current picture;
encoding a flag of a current block coded by a first context based on at least one of the plurality of neighboring blocks being coded by the mode and regardless of whether more than the at least one of the plurality of neighboring blocks being coded by the mode;
encoding the flag of the current block coded by a second context based on none of the plurality of neighboring blocks being coded by at least the mode, and the mode is one of an intra prediction mode, an inter prediction mode, and an intra-inter prediction mode.