Which LUT to be updated or no updating
A method of video decoding includes maintaining a number of tables, wherein each table includes a set of motion candidates and each motion candidate is associated with corresponding motion information derived from previously coded video blocks, performing a conversion between a current video block and a bitstream representation of the current video block in a video region, and updating the one or more tables based on an updating rule.
1 . A method of processing video data, comprising
maintaining one or multiple tables that are history based motion vector prediction (HMVP) tables, wherein each table of the one or multiple tables includes one or more motion candidates derived from one or more video blocks that have been coded, and arrangement of the motion candidates in the table is based on a sequence of addition of the motion candidates into the table;
constructing a motion candidate list for a current video block, wherein during the constructing, at least one motion candidate of the table of the one or multiple tables is selectively checked in an order to determine whether to add the at least one motion candidate into the motion candidate list;
determining motion information of the current video block using the motion candidate list;
performing, based on the determined motion information, a conversion between the current video block and a bitstream; and
resetting a number of motion candidates of at least one of the one or multiple tables to zero at a beginning of coding a new region comprising multiples video blocks,
wherein the one or multiple tables comprises N tables, wherein N is equal to K*P, wherein K is an integer representing a number of tables per coding thread corresponding to a coding tree unit (CTU) row or tile of a slice of the video data, and P is an integer representing a number of CTU rows or a number of tiles in the slice.
2 . The method of claim 1 , wherein a table of the one or multiple tables has a size which indicates a number of allowed motion candidates in the table.
3 . The method of claim 2 , wherein a candidate in the table is deleted due to adding a new motion candidate into the table when a number of motion candidates in the table reaches the size of the table before the new motion candidate is added to the table.
4 . The method of claim 2 , wherein a value of the size of the table is one of a predefined value or a value signaled in a syntax element.
5 . The method of claim 2 , wherein further comprising:
maintaining a counter for the table, wherein the counter indicates a number of motion candidates in the table and the counter is not greater than the size of the table.
6 . The method of claim 1 , wherein the new region is a new Coding Tree unit (CTU row), a new tile or a new slice.
7 . The method of claim 1 , wherein the number of the tables is pre-defined.
8 . The method of claim 1 , wherein the one or multiple tables comprises N tables, wherein N is equal to P when CTU row of a slice or tile of a slice of the video data uses a single table and P is an integer representing a number of CTU rows or a number of tiles in the slice.
9 . The method of claim 1 , wherein the number of the one or multiple tables is based on at least one of a slice type, a temporal layer index of a picture, picture order count (POC) distance between one slice and a closest intra slice.
10 . The method of claim 1 , wherein a motion candidate in a table is associated with motion information which includes at least one of: a prediction direction, a reference picture index, motion vector values, intensity compensation flag, affine flag, motion vector difference precision, or motion vector difference value.
11 . The method of claim 1 , wherein the motion candidate list is one of a motion vector prediction list or a merge candidate list.
12 . The method of claim 1 , wherein one or more of checked candidates are added into the motion candidate list based on the checking result.
13 . The method of claim 1 , wherein the conversion comprises encoding the current video block into the bitstream.
14 . The method of claim 1 , wherein the conversion comprises decoding the current video block from the bitstream.
15 . An apparatus for coding 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:
maintain one or multiple tables that are history based motion vector prediction (HMVP) tables, wherein each table of the one or multiple tables includes one or more motion candidates derived from one or more video blocks that have been coded, and arrangement of the motion candidates in the table is based on a sequence of addition of the motion candidates into the table;
construct a motion candidate list for a current video block, wherein during the constructing, at least one motion candidate of the table of the one or multiple tables is selectively checked in an order to determine whether to add the at least one motion candidate into the motion candidate list;
determine motion information of the current video block using the motion candidate list;
perform, based on the determined motion information, a conversion between the current video block and a bitstream; and
reset a number of motion candidates of at least one of the one or multiple tables to zero at a beginning of coding a new region comprising multiples video blocks,
wherein the one or multiple tables comprises N tables, wherein N is equal to K*P, wherein K is an integer representing a number of tables per coding thread corresponding to a coding tree unit (CTU) row or tile of a slice of the video data, and P is an integer representing a number of CTU rows or a number of tiles in the slice.
16 . A non-transitory computer-readable storage medium storing instructions that cause a processor to:
maintain one or multiple tables that are history based motion vector prediction (HMVP) tables, wherein each table of the one or multiple tables includes one or more motion candidates derived from one or more video blocks that have been coded, and arrangement of the motion candidates in the table is based on a sequence of addition of the motion candidates into the table;
construct a motion candidate list for a current video block, wherein during the constructing, at least one motion candidate of the table of the one or multiple tables is selectively checked in an order to determine whether to add the at least one motion candidate into the motion candidate list;
determine motion information of the current video block using the motion candidate list;
perform, based on the determined motion information, a conversion between the current video block and a bitstream; and
reset a number of motion candidates of at least one of the one or multiple tables to zero at a beginning of coding a new region comprising multiples video blocks,
wherein the one or multiple tables comprises N tables, wherein N is equal to K*P, wherein K is an integer representing a number of tables per coding thread corresponding to a coding tree unit (CTU) row or tile of a slice of video data, and P is an integer representing a number of CTU rows or a number of tiles in the slice.
17 . A method for storing bitstream of a video, comprising:
maintaining one or multiple tables that are history based motion vector prediction (HMVP) tables, wherein each table of the one or multiple tables includes one or more motion candidates derived from one or more video blocks that have been coded, and arrangement of the motion candidates in the table is based on a sequence of addition of the motion candidates into the table;
constructing a motion candidate list for a current video block, wherein during the constructing, at least one motion candidate of the table of the one or multiple tables is selectively checked in an order to determine whether to add the at least one motion candidate into the motion candidate list;
determining motion information of the current video block using the motion candidate list;
generating the bitstream based on the determined motion information;
resetting a number of motion candidates of at least one of the one or multiple tables to zero at a beginning of coding a new region comprising multiples video blocks, and
storing the bitstream in a non-transitory computer-readable recording medium,
wherein the one or multiple tables comprises N tables, wherein N is equal to K*P, wherein K is an integer representing a number of tables per coding thread corresponding to a coding tree unit (CTU) row or tile of a slice of video data, and P is an integer representing a number of CTU rows or a number of tiles in the slice.
18 . The apparatus of claim 15 , wherein a table of the one or multiple tables has a size which indicates a number of allowed motion candidates in the table.
19 . The apparatus of claim 18 , wherein a candidate in the table is deleted due to adding a new motion candidate into the table when a number of motion candidates in the table reaches the size of the table before the new motion candidate is added to the table.