IP Library › Granted Patent US 11,082,691
Granted Patent B2
US 11,082,691 · App. 17/071,084 · Granted Aug 3, 2021

Usage of LUTs

Inventors: Li Zhang (San Diego, CA); Kai Zhang (San Diego, CA); Hongbin Liu (Beijing, CN); Yue Wang (Beijing, CN)
Assignees: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.; BYTEDANCE INC.
H04N19/105G06F1/03H04N19/137H04N19/139H04N19/159H04N19/176H04N19/184H04N19/186H04N19/513H04N19/52H04N19/70H04N19/96H04N19/11H04N19/117
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,082,691
App. No.
17/071,084
Filed
Oct 15, 2020
Granted
Aug 3, 2021
Kind
B2
Art Unit
2423
USPC
375/240.02
Abstract

Devices, systems and methods for encoding and decoding digital video using historical information containing coding candidates are described. In a representative aspect, a method for video processing includes maintaining one or more tables of motion candidates during a conversion between a current video block and a bitstream representation of a video including the current video block, determining that the current video block is coded using a merge mode or an Advanced Motion Vector Prediction (AMVP) mode, and performing, based on the determining, the conversion between the current video block of and the bitstream representation of the video using one or more tables of motion candidates.

Claims (61)

1. A method of coding video data, comprising:

maintaining one or more tables of motion candidates during a conversion between a current video block and a bitstream of a video including the current video block, wherein each table comprises one or more motion candidates derived from one or more previous blocks;

determining a coding mode of the current video block;

constructing a candidate list, wherein whether to use the one or more tables during constructing the candidate list is based on the coding mode of the current video block; and

performing, based on the candidate list, the conversion between the current video block of and the bitstream,

wherein the candidate list is constructed by:

using the one or more tables based on the coding mode belonging to at least one first coding mode, and wherein the at least one first coding mode comprises a non-affine mode; or

without using the one or more tables based on the coding mode belonging to at least one second coding mode, wherein the at least one second coding mode comprises an affine mode, and

whether to update the one or more tables based on motion information derived from the candidate list is based on the coding mode of the current video block; wherein the one or more tables are updated based on the coding mode being the non-affine mode and the one or more tables are not updated based on the coding mode being the affine mode.

2. The method of claim 1 , wherein the performing the conversion comprises:

decoding the current video block from the bitstream.

3. The method of claim 1 , wherein the performing the conversion comprises:

encoding the current video block into the bitstream.

4. The method of claim 1 , wherein the non-affine mode comprises a non-affine motion vector prediction (MVP) mode and a non-affine merge mode.

5. The method of claim 1 , wherein the affine mode comprises an affine motion vector prediction (MVP) mode and an affine merge mode.

6. The method of claim 1 , wherein the one or more tables are used during constructing the candidate list and the one or more tables are not updated based on motion information of the current video block derived from the candidate list.

7. The method of claim 1 , wherein the one or more tables are not used during constructing the candidate list and the one or more tables are updated based on motion information of the current video block derived from the candidate list.

8. The method of claim 1 , wherein the using of the one or more tables comprises:

checking the motion candidates in the one or more tables in an order.

9. The method of claim 8 , wherein the checking comprises:

checking a set of first m motion candidates in a first table of the one or more tables; and then

checking a set of last n motion candidates in a second table of the one or more tables,

wherein m and n are positive integers.

10. The method of claim 9 , wherein the set of the last n motion candidates are a set of motion candidates most recently added.

11. The method of claim 8 , wherein the checking comprises:

checking a set of last m motion candidates in a first table of the one or more tables; and then

checking a set of first n motion candidates in a second table of the one or more tables,

wherein m and n are positive integers.

12. The method of claim 11 , wherein the set of the last m motion candidates are a set of motion candidates most recently added.

13. The method of claim 1 , wherein the one or more tables further comprise one or more default motion candidates.

14. The method of claim 13 , wherein the one or more default motion candidates comprise one or more zero motion vector candidates that correspond to one or more reference pictures.

15. The method of claim 13 , wherein the one or more default motion candidates are derived from previously coded motion information.

16. The method of claim 13 , wherein the one or more default motion candidates are signaled in at least one of a Sequence Parameter Set (SPS), a Picture Parameter Set (PPS), or a slice header in the bitstream.

17. The method of claim 1 , wherein a motion candidate in the one or more tables 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 filter parameter used in the filtering process or a motion vector difference value.

18. 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:

maintain one or more tables of motion candidates during a conversion between a current video block and a bitstream of a video including the current video block, wherein each table comprises one or more motion candidates derived from one or more previous blocks;

determine a coding mode of the current video block;

construct a candidate list, wherein whether to use the one or more tables during constructing the candidate list is based on the coding mode of the current video block; and

perform, based on the candidate list, the conversion between the current video block of and the bitstream,

wherein the processor is configured to construct the candidate list:

using the one or more tables based on the coding mode belonging to at least one first coding mode, and wherein the at least one first coding mode comprises a non-affine mode; or

without using the one or more tables based on the coding mode belonging to at least one second coding mode, wherein the at least one second coding mode comprises an affine mode, and

whether to update the one or more tables based on motion information derived from the candidate list is based on the coding mode of the current video block; wherein the one or more tables are updated based on the coding mode being the non-affine mode and the one or more tables are not updated based on the coding mode being the affine mode.

19. A non-transitory computer-readable storage medium storing instructions that cause a processor to:

maintain one or more tables of motion candidates during a conversion between a current video block and a bitstream of a video including the current video block, wherein each table comprises one or more motion candidates derived from one or more previous blocks;

determine a coding mode of the current video block;

construct a candidate list, wherein whether to use the one or more tables during constructing the candidate list is based on the coding mode of the current video block; and

perform, based on the candidate list, the conversion between the current video block of and the bitstream,

wherein the candidate list is constructed by:

using the one or more tables based on the coding mode belonging to at least one first coding mode, and wherein the at least one first coding mode comprises a non-affine mode; or

without using the one or more tables based on the coding mode belonging to at least one second coding mode, wherein the at least one second coding mode comprises an affine mode, and

whether to update the one or more tables based on motion information derived from the candidate list is based on the coding mode of the current video block; wherein the one or more tables are updated based on the coding mode being the non-affine mode and the one or more tables are not updated based on the coding mode being the affine mode.

20. A method for storing a bitstream, comprising:

maintaining one or more tables of motion candidates during a conversion between a current video block and a bitstream of a video including the current video block, wherein each table comprises one or more motion candidates derived from one or more previous blocks;

determining a coding mode of the current video block;

constructing a candidate list, wherein whether to use the one or more tables during constructing the candidate list is based on the coding mode of the current video block;

generating, based on the candidate list, the bitstream from the current video block; and

storing the generated bitstream in a non-transitory computer-readable recording medium, wherein the candidate list is constructed by:

using the one or more tables based on the coding mode belonging to at least one first coding mode, and wherein the at least one first coding mode comprises a non-affine mode; or

without using the one or more tables based on the coding mode belonging to at least one second coding mode, wherein the at least one second coding mode comprises an affine mode, and

whether to update the one or more tables based on motion information derived from the candidate list is based on the coding mode of the current video block; wherein the one or more tables are updated based on the coding mode being the non-affine mode and the one or more tables are not updated based on the coding mode being the affine mode.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2020
From: ZHANG, LI; ZHANG, KAI
To: BYTEDANCE INC.
Reel/Frame 054070/0846 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2020
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 054070/0888 →
Priority Claims (1)
WO PCT/CN2018/093987 · Jul 2, 2018 · international
Continuity (2)
Continuation PCTIB2019055626 · Jul 2, 2019
Related Publication 20210029351A1 · Jan 28, 2021