IP Library › Granted Patent US 11,388,398
Granted Patent B2
US 11,388,398 · App. 16/772,424 · Granted Jul 12, 2022

Video coding using local illumination compensation

Inventors: Yu Han (San Diego, CA); Kai Zhang (San Diego, CA); Wei-Jung Chien (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/107H04N19/176H04N19/503H04N19/593
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,388,398
App. No.
16/772,424
Granted
Jul 12, 2022
Kind
B2
Abstract

A video coding device includes a memory configured to store video data, and processing circuitry in communication with the memory. The processing circuitry is configured to determine that a current block of the video data stored to the memory is to be coded according to a merge mode, and to determine a temporal candidate associated with a merge candidate list for the current block in accordance with the merge mode. The processing circuitry is further configured to determine a pool of spatial candidates associated with the merge candidate list, based on each spatial candidate of the pool having a same reference picture as the temporal candidate, and to set a local illumination compensation (LIC) flag value for the temporal candidate based on respective LIC flag values of one or more spatial candidates of the pool.

Claims (67)

1. A method of coding video data, the method comprising:

determining that a current block of the video data is to be coded according to a merge mode;

determining a temporal candidate associated with a merge candidate list for the current block in accordance with the merge mode;

determining a pool of spatial candidates associated with the merge candidate list, based on each spatial candidate of the pool having a same reference picture as the temporal candidate; and

setting a local illumination compensation (LIC) flag value for the temporal candidate based on respective LIC flag values of one or more spatial candidates of the pool.

2. The method of claim 1 , wherein setting the LIC flag value for the temporal candidate based on the respective LIC flag values of the one or more spatial candidates of the pool comprises setting the LIC flag value for the temporal candidate using the respective LIC flag values of the one or more spatial candidates of the pool based on all of the spatial candidates of the pool having been added to the merge candidate list prior to the temporal candidate being added to the merge candidate list.

3. The method of claim 1 , wherein setting the LIC flag value for the temporal candidate based on the respective LIC flag values of the one or more spatial candidates of the pool comprises setting the LIC flag value for the temporal candidate using the respective LIC flag values of the one or more spatial candidates of the pool based on all of the spatial candidates of the pool being derived from spatial neighboring blocks of the current block in a current picture of the video data.

4. The method of claim 1 , wherein the pool of spatial candidates includes at least one spatial candidate derived from a block that is not positioned adjacently to the current block in a current picture of the video data.

5. The method of claim 4 , wherein the spatial candidate derived from the block that is not positioned adjacently to the current block is a first spatial candidate of the pool, and wherein the pool of spatial candidates further includes a second spatial candidate derived from a neighboring block that is positioned adjacently to the current block in the current picture of the video data.

6. The method of claim 1 , wherein setting the LIC flag value for the temporal candidate based on the respective LIC flag values of the one or more spatial candidates of the pool comprises setting the LIC flag value to a true value based on at least one of the respective LIC flag values of the one or more spatial candidates of the pool being set to the true value.

7. The method of claim 1 , wherein setting the LIC flag value for the temporal candidate based on the respective LIC flag values of the one or more spatial candidates of the pool comprises setting the LIC flag value to a false value based all of the respective LIC flag values of the one or more spatial candidates of the pool being set to the false value.

8. The method of claim 1 , wherein setting the LIC flag value for the temporal candidate based on the respective LIC flag values of the one or more spatial candidates of the pool comprises inheriting, as the LIC flag value for the temporal candidate, the respective LIC flag value of a first available spatial candidate of the pool.

9. The method of claim 1 , wherein setting the LIC flag value for the temporal candidate based on the respective LIC flag values of the one or more spatial candidates of the pool comprises:

determining respective motion vector (MV) distances between the temporal candidate and each respective spatial candidate of the pool;

determining a minimum MV distance of the respective MV distances;

selecting a first spatial candidate from the pool based on the first spatial candidate having the minimum MV distance; and

inheriting, as the LIC flag value for the temporal candidate, the respective LIC flag value of the first spatial candidate that has the minimum MV distance.

10. The method of claim 1 , wherein coding the video data comprises decoding encoded video data, the method further comprising:

receiving, in an encoded video bitstream, a merge index identifying a position in the merge candidate list;

selecting a motion vector (MV) candidate from the spatial candidates or the temporal candidate in the merge candidate list based on the received merge index; and

performing one of:

based on the LIC flag value of the selected MV candidate being a true value, reconstructing the current block using the selected MV candidate and LIC; or

based on the LIC flag value of the selected MV candidate being a false value, reconstructing the current block using the selected MV candidate and without performing LIC.

11. The method of claim 1 , wherein coding the video data comprises encoding the video data, the method further comprising:

encoding the current block using a motion vector (MV) candidate selected from the spatial candidates or the temporal candidate included in the merge candidate list; performing one of:

based on the LIC flag value of the selected MV candidate being set to a true value, performing LIC to encode the current block; or

based on the LIC flag value of the selected MV candidate being set to a false value, encoding the current block without performing LIC;

determining a merge index that identifies a position of the selected merge candidate in the merge candidate list; and

signaling, in an encoded video bitstream, the merge index that identifies the position of the selected merge candidate in the merge candidate list.

12. A video coding device comprising:

a memory configured to store video data; and

processing circuitry in communication with the memory, the processing circuitry being configured to:

determine that a current block of the video data stored to the memory is to be coded according to a merge mode;

determine a temporal candidate associated with a merge candidate list for the current block in accordance with the merge mode;

determine a pool of spatial candidates associated with the merge candidate list, based on each spatial candidate of the pool having a same reference picture as the temporal candidate; and

set a local illumination compensation (LIC) flag value for the temporal candidate based on respective LIC flag values of one or more spatial candidates of the pool.

13. The video coding device of claim 12 , wherein to set the LIC flag value for the temporal candidate based on the respective LIC flag values of the one or more spatial candidates of the pool, the processing circuitry is configured to set the LIC flag value for the temporal candidate using the respective LIC flag values of the one or more spatial candidates of the pool based on all of the spatial candidates of the pool having been added to the merge candidate list prior to the temporal candidate being added to the merge candidate list.

14. The video coding device of claim 12 , wherein to set the LIC flag value for the temporal candidate based on the respective LIC flag values of the one or more spatial candidates of the pool, the processing circuitry is configured to set the LIC flag value for the temporal candidate using the respective LIC flag values of the one or more spatial candidates of the pool based on all of the spatial candidates of the pool being derived from spatial neighboring blocks of the current block in a current picture of the video data.

15. The video coding device of claim 12 , wherein the pool of spatial candidates includes at least one spatial candidate derived from a block that is not positioned adjacently to the current block in a current picture of the video data.

16. The video coding device of claim 15 , wherein the spatial candidate derived from the block that is not positioned adjacently to the current block is a first spatial candidate of the pool, and wherein the pool of spatial candidates further includes a second spatial candidate derived from a neighboring block that is positioned adjacently to the current block in the current picture of the video data.

17. The video coding device of claim 12 , wherein to set the LIC flag value for the temporal candidate based on the respective LIC flag values of the one or more spatial candidates of the pool, the processing circuitry is configured to set the LIC flag value to a true value based on at least one of the respective LIC flag values of the one or more spatial candidates of the pool being set to the true value.

18. The video coding device of claim 12 , wherein to set the LIC flag value for the temporal candidate based on the respective LIC flag values of the one or more spatial candidates of the pool, the processing circuitry is configured to set the LIC flag value to a false value based on all of the respective LIC flag values of the one or more spatial candidates of the pool being set to the false value.

19. The video coding device of claim 12 , wherein to set the LIC flag value for the temporal candidate based on the respective LIC flag values of the one or more spatial candidates of the pool, the processing circuitry is configured to inherit, as the LIC flag value for the temporal candidate, the respective LIC flag value of a first available spatial candidate of the pool.

20. The video coding device of claim 12 , wherein to set the LIC flag value for the temporal candidate based on the respective LIC flag values of the one or more spatial candidates of the pool, the processing circuitry is configured to:

determine respective motion vector (MV) distances between the temporal candidate and each respective spatial candidate of the pool;

determine a minimum MV distance of the respective MV distances;

select a first spatial candidate from the pool based on the first spatial candidate having the minimum MV distance; and

inherit, as the LIC flag value for the temporal candidate, the respective LIC flag value of the first spatial candidate that has the minimum MV distance.

21. The video coding device of claim 12 , wherein the video coding device is a video decoding device, the video decoding device further comprising a communication unit configured to receive, in an encoded video bitstream, a merge index identifying a position in the merge candidate list, wherein the processing circuitry is further configured to:

select a motion vector (MV) candidate from the spatial candidates or the temporal candidate in the merge candidate list based on the received merge index; and

based on the LIC flag value of the selected MV candidate being a true value, reconstruct the current block using the selected MV candidate and LIC;

based on the LIC flag value of the selected MV candidate being a false value, reconstruct the current block using the selected MV candidate and without performing LIC.

22. The video coding device of claim 12 , wherein the video coding device is a video encoding device, wherein the processing circuitry is further configured to:

encode the current block using a motion vector (MV) candidate selected from the spatial candidates or the temporal candidate included in the merge candidate list;

based on the LIC flag value of the selected MV candidate being set to a true value, perform LIC to encode the current block;

based on the LIC flag value of the selected MV candidate being set to a false value, encode the current block without performing LIC; and

determine a merge index that identifies a position of the selected merge candidate in the merge candidate list, and

wherein the video encoding device further comprises a communication unit configured to signal, in an encoded video bitstream, the merge index that identifies the position of the selected merge candidate in the merge candidate list.

23. An apparatus comprising:

means for determining that a current block of video data is to be coded according to a merge mode;

means for determining a temporal candidate associated with a merge candidate list for the current block in accordance with the merge mode;

means for determining a pool of spatial candidates associated with the merge candidate list, based on each spatial candidate of the pool having a same reference picture as the temporal candidate; and

means for setting a local illumination compensation (LIC) flag value for the temporal candidate based on respective LIC flag values of one or more spatial candidates of the pool.

24. A non-transitory computer-readable storage medium encoded with instructions that, when executed, cause one or more processors of a video coding device to:

determine that a current block of video data is to be coded according to a merge mode;

determine a temporal candidate associated with a merge candidate list for the current block in accordance with the merge mode;

determine a pool of spatial candidates associated with the merge candidate list, based on each spatial candidate of the pool having a same reference picture as the temporal candidate; and set a local illumination compensation (LIC) flag value for the temporal candidate based on respective LIC flag values of one or more spatial candidates of the pool.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2020
From: HAN, YU; ZHANG, KAI; CHIEN, WEI-JUNG; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 052927/0538 →
Continuity (1)
Related Publication 20210076029A1 · Mar 11, 2021
Cited By (1)
US 12,684,157