Picture prediction method and related apparatus
Abstract
A picture prediction method and a related apparatus are disclosed. The picture prediction method includes: determining motion vector predictors of K pixel samples in a current picture block, where K is an integer greater than 1, the K pixel samples include a first vertex angle pixel sample in the current picture block, a motion vector predictor of the first vertex angle pixel sample is obtained based on a motion vector of a preset first spatially adjacent picture block of the current picture block, and the first spatially adjacent picture block is spatially adjacent to the first vertex angle pixel sample; and performing, based on a non-translational motion model and the motion vector predictors of the K pixel samples, pixel value prediction on the current picture block. Solutions in the embodiments of the present application are helpful in reducing calculation complexity of picture prediction based on a non-translational motion model.
Claims
exact text as granted — not AI-modified1 . A picture prediction method for a video coding process, the method comprising:
determining, by an encoding apparatus, motion vector predictors (MVPs) of K pixel samples in a current picture block, wherein K is an integer greater than 1; obtaining, by the encoding apparatus, respective motion vectors of the K pixel samples via motion estimation; obtaining, by the encoding apparatus, motion vector differences (MVDs) of the K pixel samples based on the respective motion vectors of the K pixel samples and corresponding MVPs; based on the MVDs of the K pixel samples all being zero, writing, by the encoding apparatus, a flag into a bitstream, wherein the value of the flag indicates that the MVDs of the K pixel samples all being zero; and calculating, based on a non-translational motion model , a motion vector of each pixel or each sub-block in the current picture block; and performing, based on the calculated motion vector of each pixel or each sub-block in the current picture block, pixel value prediction on the current picture block. wherein the non-translational motion model is represented by v x =a×x+b×y+e and v y =c×x+d×y+f, where (x,y) corresponds to the coordinates of a respective pixel or sub-block in the current picture block, and a, b, e, c, d and f are parameters of the non-translational motion model and are derived based on the respective motion vectors of the K pixel samples of the current picture block and a width and a height of the current picture bloc and wherein (v x , v y ) represents a respective motion vector of a respective pixel or sub-block calculated based on the non-translational motion model.
2 . The method according to claim 1 , wherein:
the K pixel samples comprise at least two pixel samples in an upper left pixel sample, an upper right pixel sample, or a lower left pixel sample in the current picture block; and the upper left pixel sample in the current picture block is an upper left vertex of the current picture block or a pixel block that is in the current picture block and that comprises an upper left vertex of the current picture block, the lower left pixel sample in the current picture block is a lower left vertex of the current picture block or a pixel block that is in the current picture block and that comprises a lower left vertex of the current picture block, and the upper right pixel sample in the current picture block is an upper right vertex of the current picture block or a pixel block that is in the current picture block and that comprises an upper right vertex of the current picture block.
3 . The method according to claim 1 , wherein a respective motion vector of a respective pixel whose coordinates are (x, y) is calculated as follows:
{
vx
=
vx
1
-
vx
0
S
1
x
+
vx
2
-
vx
0
S
2
y
+
vx
0
vy
=
vy
1
-
vy
0
S
1
x
+
vy
2
-
vy
0
S
2
y
+
vy
0
wherein the size of the current picture block is S 1 ×S 2 , and wherein the respective motion vectors of the K pixel samples comprises motion vectors (vx 0 , vy 0 ), (vx 1 , vy 1 ), and (vx 2 , vy 2 ) of three vertices whose coordinates are (0, 0) (S 1 , 0) and (0, S 2 ) where S 1 is the width of the current picture block and S 2 is the height of the current picture block, and wherein (v x , v y ) represents a respective motion vector of a respective pixel or a sub-block calculated based on the non-translational motion model.
4 . The method according to claim 1 , wherein the flag indicates:
whether or not any MVD of a pixel sample of the K pixel samples is written into the bitstream; or whether or not all MVDs of the K pixel samples in the current picture block are 0.
5 . The method according to claim 1 , wherein obtaining the MVDs of the K pixel samples comprises:
obtaining the MVDs of the K pixel samples by performing subtraction between the respective motion vectors of the K pixel samples and the corresponding MVPs.
6 . The method according to claim 1 , wherein the non-translational motion model is an affine transformation model, a parabolic motion model, a rotary motion model, a perspective motion model, a shearing motion model, or a scalable motion model.
7 . An encoding apparatus, comprising:
a non-transitory memory having processor-executable instructions stored thereon; and a processor, coupled to the non-transitory memory, configured to execute the processor-executable instructions to facilitate: determining motion vector predictors (MVPs) of K pixel samples in a current picture block, wherein K is an integer greater than 1; obtaining respective motion vectors of the K pixel samples via motion estimation; obtaining motion vector differences (MVDs) of the K pixel samples based on the respective motion vectors of the K pixel samples and corresponding MVPs; based on the MVDs of the K pixel samples all being zero, writing a flag into a bitstream, wherein the value of the flag indicates that the MVDs of the K pixel samples all being zero; calculating, based on a non-translational motion model , a motion vector of each pixel or each sub-block in the current picture block; and performing, based on the calculated motion vector of each pixel or each sub-block in the current picture block, pixel value prediction on the current picture block. wherein the non-translational motion model is represented by v x =a×x+b×y+e and v y =c×x+d×y+f, where (x,y) corresponds to the coordinates of a respective pixel or sub-block in the current picture block, and a, b, e, c, d and f are parameters of the non-translational motion model and are derived based on the respective motion vectors of the K pixel samples of the current picture block and a width and a height of the current picture bloc and wherein (v x , v y ) represents a respective motion vector of a respective pixel or sub-block calculated based on the non-translational motion model.
8 . The apparatus according to claim 7 , wherein:
the K pixel samples comprise at least two pixel samples in an upper left pixel sample, an upper right pixel sample, or a lower left pixel sample in the current picture block; and the upper left pixel sample in the current picture block is an upper left vertex of the current picture block or a pixel block that is in the current picture block and that comprises an upper left vertex of the current picture block, the lower left pixel sample in the current picture block is a lower left vertex of the current picture block or a pixel block that is in the current picture block and that comprises a lower left vertex of the current picture block, and the upper right pixel sample in the current picture block is an upper right vertex of the current picture block or a pixel block that is in the current picture block and that comprises an upper right vertex of the current picture block.
9 . The apparatus according to claim 7 , wherein a respective motion vector of a respective pixel whose coordinates are (x, y) is calculated as follows:
{
vx
=
vx
1
-
vx
0
S
1
x
+
vx
2
-
vx
0
S
2
y
+
vx
0
vy
=
vy
1
-
vy
0
S
1
x
+
vy
2
-
vy
0
S
2
y
+
vy
0
wherein the size of the current picture block is S 1 ×S 2 , and wherein the respective motion vectors of the K pixel samples comprises motion vectors (vx 0 , vy 0 ), (vx 1 , vy 1 ), and (vx 2 , vy 2 ) of three vertices whose coordinates are (0, 0) (S 1 , 0) and (0, S 2 ) where S 1 is the width of the current picture block and S 2 is the height of the current picture block, and wherein (v x , v y ) represents a respective motion vector of a respective pixel or a sub-block calculated based on the non-translational motion model.
10 . The apparatus according to claim 7 , wherein the flag indicates:
whether or not any MVD of a pixel sample of the K pixel samples is written into the bitstream; or whether or not all MVDs of the K pixel samples in the current picture block are 0.
11 . The apparatus according to claim 7 , wherein obtaining the MVDs of the K pixel samples comprises obtaining the MVDs of the K pixel samples by performing subtraction between the respective motion vectors of the K pixel samples and the corresponding MVPs.
12 . The apparatus according to claim 7 , wherein the non-translational motion model is an affine transformation model, a parabolic motion model, a rotary motion model, a perspective motion model, a shearing motion model, or a scalable motion model.
13 . A picture prediction method for a video decoding process, comprising:
determining, by a decoding apparatus, motion vector predictors (MVPs) of K pixel samples in a current picture block, wherein K is an integer greater than 1; decoding a flag of the current picture block from a bitstream; based on the value of the flag indicating that the MVDs of the K pixel samples all being zero, determining the MVDs of the K pixel samples are all 0; and obtaining respective motion vectors of the K pixel samples based on the MVDs of the K pixel samples and corresponding MVPs of the K pixel samples; calculating, based on a non-translational motion model, a motion vector of each pixel or each sub-block in the current picture block; and performing, based on the calculated motion vector of each pixel or each sub-block in the current picture block, pixel value prediction on the current picture block. wherein the non-translational motion model is represented by v x =a×x+b×y+e and v y =c×x+d×y+f, where (x,y) corresponds to the coordinates of a respective pixel or sub-block in the current picture block, and a, b, e, c, d and f are parameters of the non-translational motion model and are derived based on the respective motion vectors of the K pixel samples of the current picture block and a width and a height of the current picture bloc and wherein (v x , v y ) represents a respective motion vector of a respective pixel or sub-block calculated based on the non-translational motion model.
14 . The method according to claim 13 , wherein:
the K pixel samples comprise at least two pixel samples in an upper left pixel sample, an upper right pixel sample, or a lower left pixel sample in the current picture block; and the upper left pixel sample in the current picture block is an upper left vertex of the current picture block or a pixel block that is in the current picture block and that comprises an upper left vertex of the current picture block, the lower left pixel sample in the current picture block is a lower left vertex of the current picture block or a pixel block that is in the current picture block and that comprises a lower left vertex of the current picture block, and the upper right pixel sample in the current picture block is an upper right vertex of the current picture block or a pixel block that is in the current picture block and that comprises an upper right vertex of the current picture block.
15 . The method according to claim 13 , wherein a respective motion vector of a respective pixel whose coordinates are (x, y) is calculated as follows:
{
vx
=
vx
1
-
vx
0
S
1
x
+
vx
2
-
vx
0
S
2
y
+
vx
0
vy
=
vy
1
-
vy
0
S
1
x
+
vy
2
-
vy
0
S
2
y
+
vy
0
wherein the size of the current picture block is S 1 ×S 2 , and wherein the respective motion vectors of the K pixel samples comprises motion vectors (vx 0 , vy 0 ), (vx 1 , vy 1 ), and (vx 2 , vy 2 ) of three vertices whose coordinates are (0, 0) (S 1 , 0) and (0, S 2 ) where S 1 is the width of the current picture block and S 2 is the height of the current picture block, and wherein (v x , v y ) represents a respective motion vector of a respective pixel or a sub-block calculated based on the non-translational motion model.
16 . The method according to claim 13 , wherein the flag indicates:
whether or not any MVD of a pixel sample of the K pixel samples is written into the bitstream; or whether or not all MVDs of the K pixel samples in the current picture block are 0.
17 . The method according to claim 13 , wherein the non-translational motion model is an affine transformation model, a parabolic motion model, a rotary motion model, a perspective motion model, a shearing motion model, or a scalable motion model.
18 . A decoding apparatus, comprising:
a non-transitory memory having processor-executable instructions stored thereon; and a processor, coupled to the non-transitory memory, configured to execute the processor-executable instructions to facilitate: determining motion vector predictors (MVPs) of K pixel samples in a current picture block, wherein K is an integer greater than 1; decoding a flag of the current picture block from a bitstream; based on the value of the flag indicating that the MVDs of the K pixel samples all being zero, determining the MVDs of the K pixel samples are all 0; and obtaining respective motion vectors of the K pixel samples based on the MVDs of the K pixel samples and corresponding MVPs of the K pixel samples; calculating, based on a non-translational motion model, a motion vector of each pixel or each sub-block in the current picture block; and performing, based on the calculated motion vector of each pixel or each sub-block in the current picture block, pixel value prediction on the current picture block. wherein the non-translational motion model is represented by v x =a×x+b×y+e and v y =c×x+d×y+f, where (x,y) corresponds to the coordinates of a respective pixel or sub-block in the current picture block, and a, b, e, c, d and f are parameters of the non-translational motion model and are derived based on the respective motion vectors of the K pixel samples of the current picture block and a width and a height of the current picture bloc and wherein (v x , v y ) represents a respective motion vector of a respective pixel or sub-block calculated based on the non-translational motion model.
19 . The apparatus according to claim 18 , wherein:
the K pixel samples comprise at least two pixel samples in an upper left pixel sample, an upper right pixel sample, or a lower left pixel sample in the current picture block; and the upper left pixel sample in the current picture block is an upper left vertex of the current picture block or a pixel block that is in the current picture block and that comprises an upper left vertex of the current picture block, the lower left pixel sample in the current picture block is a lower left vertex of the current picture block or a pixel block that is in the current picture block and that comprises a lower left vertex of the current picture block, and the upper right pixel sample in the current picture block is an upper right vertex of the current picture block or a pixel block that is in the current picture block and that comprises an upper right vertex of the current picture block.
20 . The apparatus according to claim 18 , wherein a respective motion vector of a respective pixel whose coordinates are (x, y) is calculated as follows:
{
vx
=
vx
1
-
vx
0
S
1
x
+
vx
2
-
vx
0
S
2
y
+
vx
0
vy
=
vy
1
-
vy
0
S
1
x
+
vy
2
-
vy
0
S
2
y
+
vy
0
wherein the size of the current picture block is S 1 ×S 2 , and wherein the respective motion vectors of the K pixel samples comprises motion vectors (vx 0 , vy 0 ), (vx 1 , vy 1 ), and (vx 2 , vy 2 ) of three vertices whose coordinates are (0, 0) (S 1 , 0) and (0, S 2 ) where S 1 is the width of the current picture block and S 2 is the height of the current picture block, and wherein (v x , v y ) represents a respective motion vector of a respective pixel or a sub-block calculated based on the non-translational motion model.
21 . The apparatus according to claim 18 , wherein the flag indicates:
whether or not any MVD of a pixel sample of the K pixel samples is written into the bitstream; or whether or not all MVDs of the K pixel samples in the current picture block are 0.
22 . The apparatus according to claim 18 , wherein the non-translational motion model is an affine transformation model, a parabolic motion model, a rotary motion model, a perspective motion model, a shearing motion model, or a scalable motion model.Join the waitlist — get patent alerts
Track US2021006818A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.