Multiple hypothesis for sub-block prediction blocks
AssigneesBeijing Bytedance Network Technology Co., Ltd., Bytedance Inc.
InventorsLi Zhang, Kai Zhang, Hongbin Liu, Yue Wang
Life of this patent
Estimating the term…
Abstract
A method of encoding or decoding video includes: dividing a current video block into multiple sub-blocks video blocks; generating a merge candidate list for at least one sub-blocks video blocks of the multiple sub-blocks video blocks; and performing a conversion between the video block and a bitstream of the video block based one the merge candidate list; wherein the merge candidate list comprises at least one merge candidate with multi-hypothesis mode.
Claims13
A method of processing video data, comprising:
- dividing a current video block into multiple sub-blocks;
- generating a merge candidate list for at least one sub-block of the multiple sub-blocks;
- and
- performing a conversion between the video block and a bitstream of the video block based on the merge candidate list,
- wherein the merge candidate list comprises at least one merge candidate with multi-hypothesis mode;
- the at least one merge candidate with multi-hypothesis mode includes a merge candidate calculated by jointly utilizing two uni-prediction merge candidates in the merge candidate list,
- wherein the two uni-prediction merge candidate are selected from the merge candidate list by considering candidate types of candidates in the merge candidate list;
- wherein one of the two uni-prediction merge candidates is a sub-block based temporal motion vector prediction candidate, and the other is an affine merge candidate, or
- the two uni-prediction merge candidates are both affine merge candidates,
- wherein the bitstream includes an indication that multiple hypothesis mode is used for the at least one sub-block, and
- wherein the indication is based on a flag that is signaled dependent on a height or a width of the video block as one of the following:
- i. the flag is not signaled if w>32 and h>32;
- ii. the flag is not signaled if w>32 or h>32;
- iii. the flag is not signaled if w*h>1024;
- iv. the flag is not signaled if w<16 and h<16;
- v. the flag is not signaled if w<16 or h<16;
- vi. The flag is not signaled if w*h<256,
- where w and h are integers, w indicates the width of the video block, and h indicates the height of the video block.
An apparatus for processing video data comprising a processor and a non-transitory memory with instructions thereon, wherein the instructions upon execution by the processor, cause the processor to:
- divide a current video block into multiple sub-blocks;
- generate a merge candidate list for at least one sub-block of the multiple sub-blocks;
- and
- perform a conversion between the video block and a bitstream of the video block based on the merge candidate list,
- wherein the merge candidate list comprises at least one merge candidate with multi-hypothesis mode;
- the at least one merge candidate with multi-hypothesis mode includes a merge candidate calculated by jointly utilizing two uni-prediction merge candidates in the merge candidate list,
- wherein the two uni-prediction merge candidate are selected from the merge candidate list by considering candidate types of candidates in the merge candidate list;
- wherein one of the two uni-prediction merge candidates is a sub-block based temporal motion vector prediction candidate, and the other is an affine merge candidate, or the two uni-prediction merge candidates are both affine merge candidates,
- wherein the bitstream includes an indication that multiple hypothesis mode is used for the at least one sub-block, and
- wherein the indication is based on a flag that is signaled dependent on a height or a width of the video block as one of the following:
- i. the flag is not signaled if w>32 and h>32;
- ii. the flag is not signaled if w>32 or h>32;
- iii. the flag is not signaled if w*h>1024;
- iv. the flag is not signaled if w<16 and h<16;
- v. the flag is not signaled if w<16 or h<16;
- vi. The flag is not signaled if w*h<256,
- where w and h are integers, w indicates the width of the video block, and h indicates the height of the video block.
A method of storing a bitstream of a video to a computer-readable recording medium, comprising:
- dividing a current video block of the video into multiple sub-blocks;
- generating a merge candidate list for at least one sub-block of the multiple sub-blocks;
- and
- performing a conversion between the video block and a bitstream of the video block based on the merge candidate list, and
- storing the bitstream to the computer-readable medium;
- wherein the merge candidate list comprises at least one merge candidate with multi-hypothesis mode;
- the at least one merge candidate with multi-hypothesis mode includes a merge candidate calculated by jointly utilizing two uni-prediction merge candidates in the merge candidate list,
- wherein the two uni-prediction merge candidate are selected from the merge candidate list by considering candidate types of candidates in the merge candidate list;
- wherein one of the two uni-prediction merge candidates is a sub-block based temporal motion vector prediction candidate, and the other is an affine merge candidate, or
- the two uni-prediction merge candidates are both affine merge candidates,
- wherein the bitstream includes an indication that multiple hypothesis mode is used for the at least one sub-block, and
- wherein the indication is based on a flag that is signaled dependent on a height or a width of the video block as one of the following:
- i. the flag is not signaled if w>32 and h>32;
- ii. the flag is not signaled if w>32 or h>32;
- iii. the flag is not signaled if w*h>1024;
- iv. the flag is not signaled if w<16 and h<16;
- v. the flag is not signaled if w<16 or h<16;
- vi. The flag is not signaled if w*h<256,
- where w and h are integers, w indicates the width of the video block, and h indicates the height of the video block.
Dependencies are inferred from the claim text.