Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
Devices, systems and methods for coding video using one or more tables to store motion information and processing subsequent blocks are described. In one aspect, a video coding method is provided to include deriving motion information for a first video block, wherein one or more candidates of one or more tables are selectively checked during a motion candidate list construction process which is used to derive the motion information for the first video block, wherein each table of the one or more tables includes motion candidates derived from previously coded video blocks that are coded prior to the first video block; and coding, based on the motion information, the first video block.
1. A method of processing video data, comprising:
deriving motion information for a first video block, wherein one or more HMVP (history-based motion vector prediction) candidates of one or more tables are selectively checked in an order and whether to add the one or more HMVP candidates or at least one motion vector of the one or more HMVP candidates to a motion candidate list or not is based on a result of the checking during a motion candidate list construction process which is used to derive the motion information for the first video block, wherein each table of the one or more tables includes HMVP candidates derived from previously coded video blocks that are coded prior to the first video block; and
performing a conversion between the first video block and a bitstream of a video including the first video block based on the motion information,
wherein an arrangement of the HMVP candidates in a table is based on a sequence of addition of the motion candidates into the table and at least one HMVP candidate in the table is deleted to add a new HMVP candidate into the table when the table is full before the new HMVP candidate is added to the table,
wherein the method further comprises:
determining whether to use the motion information for the first video block to update the one or more tables; and
deriving, based on one or more updated tables, motion information for a subsequent video block to perform the conversion for the subsequent video block.
2. The method of claim 1 , wherein the first video block is coded using an inter-coding mode which uses reference samples from at least one different picture.
3. The method of claim 1 , wherein the determining comprises:
determining, based on the properties of the first video block, whether using the motion information of the first video block to update the one or more tables.
4. The method of claim 1 , wherein checking the one or more HMVP candidates of the one or more tables is determined at least based on a number of HMVP candidates in the motion candidate list not reaching a maximally allowed number.
5. The method of claim 1 , wherein the motion candidate list is one of a merge candidate list and an Advanced Motion Vector Prediction (AMVP) candidate list.
6. The method of claim 1 , wherein the motion information includes at least one of: a prediction direction, a reference picture index, motion vector values, intensity compensation flag, affine flag, motion vector difference precision, filter parameters, motion vector difference value, or indications of blocks where the motion information is coming from.
7. The method of claim 1 , wherein a table of the one or more tables is updated with motion information from AMVP and merge coded blocks.
8. The method of claim 1 , wherein a table of the one or more tables is updated with motion information only from blocks coded with the inter mode.
9. The method of claim 1 , wherein the conversion includes encoding the first video block into the bitstream.
10. The method of claim 1 , wherein the conversion includes decoding the first video block from the bitstream.
11. 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:
derive motion information for a first video block, wherein one or more HMVP (history-based motion vector prediction) candidates of one or more tables are selectively checked in an order and whether to add the one or more HMVP candidates or at least one motion vector of the one or more HMVP candidates to a motion candidate list or not is based on a result of the checking during a motion candidate list construction process which is used to derive the motion information for the first video block, wherein each table of the one or more tables includes HMVP candidates derived from previously coded video blocks that are coded prior to the first video block; and
perform a conversion between the first video block and a bitstream of a video including the first video block based on the motion information,
wherein an arrangement of the HMVP candidates in a table is based on a sequence of addition of the HMVP candidates into the table and at least one HMVP candidate in the table is deleted to add a new HMVP candidate into the table when the table is full before the new HMVP candidate is added to the table,
wherein the instructions upon execution by the processor, further cause the processor to:
determine whether to use the motion information for the first video block to update the one or more tables; and
derive, based on one or more updated tables, motion information for a subsequent video block to perform the conversion for the subsequent video block.
12. The apparatus of claim 11 , wherein the first video block is encoded using an inter-coding mode which uses reference samples from at least one different picture.
13. The apparatus of claim 11 , wherein the motion candidate list is one of a merge candidate list and an Advanced Motion Vector Prediction (AMVP) candidate list.
14. The apparatus of claim 11 , wherein the motion information includes at least one of: a prediction direction, a reference picture index, motion vector values, intensity compensation flag, affine flag, motion vector difference precision, filter parameters, or motion vector difference value or indications of blocks where the motion information is coming from.
15. A non-transitory computer-readable storage medium storing instructions that cause a processor to:
derive motion information for a first video block, wherein one or more HMVP (history-based motion vector prediction) candidates of one or more tables are selectively checked in an order and whether to add the one or more HMVP candidates or at least one motion vector of the one or more HMVP candidates to a motion candidate list or not is based on a result of the checking during a motion candidate list construction process which is used to derive the motion information for the first video block, wherein each table of the one or more tables includes HMVP candidates derived from previously coded video blocks that are coded prior to the first video block; and
perform a conversion between the first video block and a bitstream of a video including the first video block based on the motion information,
wherein an arrangement of the HMVP candidates in a table is based on a sequence of addition of the HMVP candidates into the table and at least one HMVP candidate in the table is deleted to add a new HMVP candidate into the table when the table is full before the new HMVP candidate is added to the table,
wherein the instructions upon execution by the processor, further cause the processor to:
determine whether to use the motion information for the first video block to update the one or more tables; and
derive, based on one or more updated tables, motion information for a subsequent video block to perform the conversion for the subsequent video block.
16. A non-transitory computer-readable recording medium storing a bitstream which is generated by a method performed by a video processing apparatus, wherein the method comprises:
deriving motion information for a first video block, wherein one or more HMVP (history- based motion vector prediction) candidates of one or more tables are selectively checked in an order and whether to add the one or more HMVP candidates or at least one motion vector of the one or more HMVP candidates to a motion candidate list or not is based on a result of the checking during a motion candidate list construction process which is used to derive the motion information for the first video block, wherein each table of the one or more tables includes HMVP candidates derived from previously coded video blocks that are coded prior to the first video block; and
generating the bitstream from the first video block based on the motion information,
wherein an arrangement of the HMVP candidates in a table is based on a sequence of addition of the motion candidates into the table and at least one HMVP candidate in the table is deleted to add a new HMVP candidate into the table when the table is full before the new HMVP candidate is added to the table,
wherein the method further comprises:
determining whether to use the motion information for the first video block to update the one or more tables; and
deriving, based on one or more updated tables, motion information for a subsequent video block to perform the conversion for the subsequent video block.
17. The non-transitory computer-readable storage medium of claim 15 , wherein the first video block is coded using an inter-coding mode which uses reference samples from at least one different picture.
18. The non-transitory computer-readable storage medium of claim 15 , wherein the motion candidate list is one of a merge candidate list and an Advanced Motion Vector Prediction (AMVP) candidate list.
19. The non-transitory computer-readable storage medium of claim 16 , wherein the first video block is coded using an inter-coding mode which uses reference samples from at least one different picture.
20. The non-transitory computer-readable storage medium of claim 16 , wherein the motion candidate list is one of a merge candidate list and an Advanced Motion Vector Prediction (AMVP) candidate list.