Resetting of look up table per slice/tile/LCU row
A method of coding video data is provided to include resetting one or more tables including motion candidates before coding video blocks that are in a first video region of a picture in a video; coding a video block in the first video region, and determining whether to update the one or more tables using motion information derived for the video block; deriving motion information for a subsequent video block to the video block in the first video region; and coding the subsequent video block using the motion information derived for the subsequent video block; wherein one or more candidates from the one or more table are selectively checked during a motion candidate list construction process which is used to derive the motion information for the subsequent video block.
1. A method of coding video data, the method comprising:
resetting one or more tables including motion candidates before coding video blocks that are in a first video region of a picture in a video;
coding a video block in the first video region, and determining whether to update the one or more tables using motion information derived for the video block;
deriving motion information for a subsequent video block to the video block in the first video region; and
coding the subsequent video block using the motion information derived for the subsequent video block;
wherein one or more candidates from the one or more table are selectively checked during a motion candidate list construction process which is used to derive the motion information for the subsequent video block.
2. The method of claim 1 , further comprising: disabling usage of motion candidates in the table derived from the first video region during the coding of a second video region which is different from the first video region.
3. The method of claim 2 , wherein the first and the second video region respectively comprise one of a Coding Tree Unit (CTU) row, a tile or a slice.
4. The method of claim 2 , wherein the first and the second video region are respectively one of a Coding Tree Unit (CTU) row in a tile or a Coding Tree Unit (CTU) row in a slice.
5. The method of claim 2 , wherein the first region is a Coding Tree Unit (CTU) row above the second region which is another Coding Tree Unit (CTU) row.
6. The method of claim 1 , wherein the resetting comprises:
resetting the number of available motion candidates in the one or more tables to zero.
7. The method of claim 1 , wherein further comprising:
maintaining a counter for the table, wherein the counter indicates a number of available motion candidates in the table and the counter is not greater than the size of the table.
8. The method of claim 7 , wherein further comprising:
in respond to derivation of motion information for the video block, determining whether the counter is increased at least based on size of the video block.
9. The method of claim 7 , wherein the counter is initialized to a zero in response to resetting the table.
10. The method of claim 1 , wherein the motion candidate in the table is associated with motion information including at least one of: a prediction direction, a reference picture index, motion vector values, an intensity compensation flag, an affine flag, a motion vector difference precision, a filtering parameter, or a motion vector difference value.
11. The method of claim 1 , wherein resetting the table is determined further based on whether a prediction crossing video regions is enabled.
12. The method of claim 1 , wherein checking the one or more candidates of the one or more tables is determined at least based on a number of motion candidates in the motion candidate list not reaching a maximally allowed number.
13. The method of claim 1 , wherein the motion candidate list is a merge candidate list or an Advanced Motion Vector Prediction (AMVP) candidate list.
14. The method of claim 1 , wherein the coding process includes encoding video blocks into a video bitstream.
15. The method of claim 1 , wherein the coding process includes decoding video blocks from a video bitstream.
16. A video coding apparatus comprising a processor and a non-transitory memory with instructions thereon, wherein the instructions upon execution by the processor, cause the processor to:
reset one or more tables including motion candidates before coding video blocks that are in a first video region of a picture in a video;
code a video block in the first video region, and determining whether to update the one or more tables using motion information derived for the video block;
derive motion information for a subsequent video block to the video block in the first video region; and
code the subsequent video block using the motion information derived for the subsequent video block;
wherein one or more candidates from the one or more table are selectively checked during a motion candidate list construction process which is used to derive the motion information for the subsequent video block.
17. The apparatus of claim 16 , wherein the instructions upon execution by the processor, further cause the processor to:
disable use of motion candidates in the table derived from the first video region during the coding of a second video region which is different from the first video region.
18. The apparatus of claim 16 , wherein the first region is a Coding Tree Unit (CTU) row above the second region which is another Coding Tree Unit (CTU) row.
19. The apparatus of claim 16 , wherein the instructions upon execution by the processor, further cause the processor to:
reset the number of available motion candidates in the one or more tables to zero.
20. A non-transitory computer-readable storage medium storing instructions that cause a processor to:
reset one or more tables including motion candidates before coding video blocks that are in a first video region of a picture in a video;
code a video block in the first video region, and determining whether to update the one or more tables using motion information derived for the video block;
derive motion information for a subsequent video block to the video block in the first video region; and
code the subsequent video block using the motion information derived for the subsequent video block;
wherein one or more candidates from the one or more table are selectively checked during a motion candidate list construction process which is used to derive the motion information for the subsequent video block.