US 11,895,321 B2
Template matching based advanced motion vector predictor (AMVP) candidate list construction with non-adjacent candidates and AMVP index signaling
Yan Zhang, San Diego, CA (US); Zhi Zhang, Munich (DE); Vadim Seregin, San Diego, CA (US); Marta Karczewicz, San Diego, CA (US); and Chun-Chi Chen, San Diego, CA (US)
Assigned to QUALCOMM Incorporated, San Diego, CA (US)
Filed by QUALCOMM Incorporated, San Diego, CA (US)
Filed on Mar. 25, 2022, as Appl. No. 17/704,689.
Claims priority of provisional application 63/167,555, filed on Mar. 29, 2021.
Prior Publication US 2022/0312030 A1, Sep. 29, 2022
Int. Cl. H04N 19/52 (2014.01); H04N 19/70 (2014.01); H04N 19/105 (2014.01); H04N 19/55 (2014.01); H04N 19/176 (2014.01)
CPC H04N 19/52 (2014.11) [H04N 19/105 (2014.11); H04N 19/55 (2014.11); H04N 19/70 (2014.11); H04N 19/176 (2014.11)] 34 Claims
OG exemplary drawing
 
1. A method of coding video data, the method comprising:
determining at least one of a temporal candidate or a history-based candidate;
determining at least one non-adjacent candidate from at least one non-adjacent candidate unit, wherein the at least one non-adjacent candidate unit is not adjacent to a current prediction unit (PU) and wherein determining the at least one non-adjacent candidate comprises:
determining a horizontal offset relative to a top-left luma sample of the current PU and a vertical offset relative to the top-left luma sample of the current PU in accordance with a first syntax element indicative of a level index and a second syntax element indicative of the horizontal offset and the vertical offset;
selecting one of offsetX=−iNADistanceHor−1 and offsetY=height+iNADistanceVer−1, offsetX=width+iNADistanceHor−1 and offsetY=−iNADistanceVer−1, offsetX=width>>1 and offsetY=−iNADistanceVer−1, offsetX=−iNADistanceHor−1 and offsetY=height>>1, or offsetX=−iNADistanceHor−1 and offsetY=−iNADistanceVer−1, wherein offsetX is the horizontal offset, offsetY is the vertical offset, width is a width of the current PU in a number of luma samples, height is a height of the current PU in a number of luma samples, and iNA represents an i-th non-adjacent candidate unit and iNADistanceHor=width*(the level index+1) and iNADistanceVer=height*(the level index+1); and
adding the horizontal offset and the vertical offset to a top-left luma sample coordinate of the current PU;
determining an advanced motion vector predictor (AMVP) candidate list comprising the at least one of the temporal candidate or the history-based candidate and the at least one non-adjacent candidate, wherein the at least one non-adjacent candidate is added to the AMVP candidate list at least one of after the temporal candidate or before the history-based candidate; and
coding the current PU based on the AMVP candidate list.