CPC H04N 19/11 (2014.11) [H04N 19/132 (2014.11); H04N 19/176 (2014.11); H04N 19/186 (2014.11); H04N 19/52 (2014.11); H04N 19/70 (2014.11); H04N 19/82 (2014.11)] | 20 Claims |
1. A method of processing video data, comprising:
determining, for a conversion between a first video block of a video that is a chroma block and a bitstream of the video, a cross-component linear model (CCLM) is applied on the first video block, wherein the cross-component linear model comprises predicting chroma samples based on reconstructed neighboring luma samples according to a linear model;
deriving parameters of the cross-component linear model, and
performing the conversion based on the derived parameters;
wherein a Log 2(X) operation is avoided for derivation of the parameters in case that X is equal to or less than zero,
wherein X represents an absolute value of a difference between two chroma values related to the first video block, and for the derivation of the parameters, 0 is used instead of the Log 2(X) operation,
wherein a variable y and a variable a that are used for determining a slope parameter of the cross-component linear model are evaluated as:
![]() where diffC represents a difference between two chroma values related to the first video block, Floor is a floor function, Abs is an absolute value function, divSigTable[ ] is specified as divSigTable[ ]={0, 7, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 0}, normDiff=((diff<<4)>>x) & 15, and diff represents a difference between two luma values related to the first video block, and
wherein X is equal to Abs (diffC),
the method further comprising:
determining motion vectors of control points for a third video block based on an affine mode,
wherein in the affine mode, Log 2(cbWidth)−Log 2(cbHeight) or Log 2(cbHeight)−Log 2(cbWidth) is calculated in a derivation process for a second control point motion vector, where cbHeight is a height of the third video block and cbWidth is a width of the third video block,
wherein the second control point motion vector of the affine mode is derived as:
cpMvLXCorner[1][0]=(cpMvLXCorner[0][0]<<7)+((cpMvLXCorner[2][1]−cpMvLXCorner[0][1])<<(7+Log 2(cbWidth)−Log 2(cbHeight)))
wherein cpMvLXCorner[1][0] indicates a horizontal direction value of the second control point motion vector, cpMvLXCorner[0][0] indicates a horizontal direction value of a first control point motion vector, cpMvLXCorner[0][1] indicates a vertical direction value of the first control point motion vector, cpMvLXCorner[2][1] indicates a vertical direction value of a third control point motion vector.
|