# US 2021/0243467 A1 · Storage of motion information for affine mode

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0243467 A1
- Document ID: US20210243467A1
- Status: Published application
- Kind: A1
- Application number: 17/237,402
- Filed: 2021-04-22
- Published: 2021-08-05
- Earliest claimed: 2018-10-22
- Assignees: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Applicants: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Inventors: Kai ZHANG; Li ZHANG; Hongbin LIU; Yue WANG
- Web page: https://patentgrep.com/patent/US20210243467A1

## CPC

- H04N 19/52: by predictive encoding
- H04N 19/119: Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
- H04N 19/139: Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/184: the unit being bits, e.g. of the compressed video stream
- H04N 19/186: the unit being a colour or a chrominance component
- H04N 19/537: Motion estimation other than block-based
- H04N 19/54: using feature points or meshes
- H04N 19/196: being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters (processing of motion vectors H04N19/513)
- H04N 19/53: Multi-resolution motion estimation; Hierarchical motion estimation
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

The present disclosure relates to storage of motion information for affine mode. A video processing method is provided, including: selecting, during a current affine calculation step in a conversion between a current block and a bitstream representation of the current block, one or more parameters of a set of affine model parameters; storing the one or more parameters for the current block; and performing, based on the one or more parameters, the conversion between the current block and the bitstream representation of the current block.

## Claims

### Claim 1

A method of processing vide data, comprising:
selecting, during a current affine calculation step in a conversion between a current block and a bitstream of the current block, one or more parameters of a set of affine model parameters;
storing the one or more parameters for the current block; and
performing, based on the one or more parameters, the conversion between the current block and the bitstream of the current block.

### Claim 2 (depends on 1)

The method of claim 1, wherein the conversion includes decoding the current video block from the bitstream.

### Claim 3 (depends on 1)

The method of claim 1, wherein the conversion includes encoding the current video block into the bitstream.

### Claim 4 (depends on 1)

The method of claim 1, wherein a parameter a of the set of affine model parameters is calculated by
a
=
(
mv
1
h
-
mv
0
h
)
w
,
where mvh0 is a horizontal motion vector component of a top-left corner control point of the current block, mvh1 is a horizontal motion vector component of a top-right corner control point of the current block, and w is width of the current block.

### Claim 5 (depends on 1)

The method of claim 1, wherein a parameter b of the set of affine model parameters is calculated by
b
=
(
mv
1
v
-
mv
0
v
)
w
,
where mvv0 is a vertical motion vector component of a top-left corner control point of the current block, mvv1 is a vertical motion vector component of a top-right corner control point of the current block, and w is width of the current block.

### Claim 6 (depends on 1)

The method of claim 1, wherein a parameter c of the set of affine model parameters is calculated by
c
=
(
mv
2
h
-
mv
0
h
)
h
where mvh0 is a horizontal motion vector component of a top-left corner control point of the current block, mvh2 is a horizontal motion vector component of a bottom-left corner control point of the current block, and h is height of the current block.

### Claim 7 (depends on 1)

The method of claim 1, wherein a parameter d of the set of affine model parameters is calculated by
d
=
(
mv
2
v
-
mv
0
v
)
h
where mvv0 is a vertical motion vector component of a top-left corner control point of the current block, mvv2 is a vertical motion vector component of a bottom-left corner control point of the current block, and h is height of the current block.

### Claim 8 (depends on 1)

The method of claim 1, wherein a parameter e of the set of affine model parameters is calculated by e=mv0h, where mvh0 is a horizontal motion vector component of a top-left corner control point of the current block.

### Claim 9 (depends on 1)

The method of claim 1, wherein a parameter f of the set of affine model parameters is calculated by f=mv0v, where mvv0 is a vertical motion vector component of a top-left corner control point of the current block.

### Claim 10 (depends on 1)

The method of claim 1, wherein parameters e and f of the set of affine model parameters are calculated by (e, f)=(mvxi, mvyi), where (mvxi, mvyi) is a motion vector of any point.

### Claim 11 (depends on 1)

The method of claim 1, further comprising: clipping the one or more parameters, prior to the storing the one or more parameters for the current block, wherein if one of the one or more parameters, X, is stored with K bits, then X=Clip3 (−2K-1, 2K-1−1, X), where X=a or b or c or d, and K is an integer that is greater than one.

### Claim 12 (depends on 1)

The method of claim 1, wherein the set of affine model parameters comprises six variables (a, b, c, d, e, f) corresponding to a six-parameter affine model given by
{
mv
h
⁡
(
x
,
y
)
=
ax
+
cy
+
e
=
(
mv
1
h
-
mv
0
h
)
w
⁢
x
+
(
mv
2
h
-
mv
0
h
)
h
⁢
y
+
mv
0
h
mv
v
⁡
(
x
,
y
)
=
bx
+
dy
+
f
=
(
mv
1
v
-
mv
0
v
)
w
⁢
x
+
(
mv
2
v
-
mv
0
v
)
h
⁢
y
+
mv
0
v
where mvh(x,y) is a horizontal component of a motion vector of the current block, mvv(x,y) is a vertical component of a motion vector of the current block, and (x,y) represents the coordinate of a representative point relative to a top-left sample within the current block; (mvh0, mvv0) is a motion vector of a top-left corner control point (CP), and (mvh1, mvv1) is a motion vector of a top-right corner control point and (mvh2, mvv2) is a motion vector of a bottom-left corner control point for the current block,
wherein the one or more parameters are selected depending on at least one of: affine modes, inter or merge mode, block size, picture type.

### Claim 13 (depends on 1)

The method of claim 1, wherein the set of affine model parameters comprises four variables (a, b, e, f) corresponding to a four-parameter affine model given by
{
mv
h
⁡
(
x
,
y
)
=
ax
-
by
+
e
=
(
mv
1
h
-
mv
0
h
)
w
⁢
x
-
(
mv
1
v
-
mv
0
v
)
w
⁢
y
+
mv
0
h
mv
v
⁡
(
x
,
y
)
=
bx
+
ay
+
f
=
(
mv
1
v
-
mv
0
v
)
w
⁢
x
+
(
mv
1
h
-
mv
0
h
)
w
⁢
y
+
mv
0
v
where mvh(x,y) is a horizontal component of a motion vector of the current block, mvv(x,y) is a vertical component of a motion vector of the current block, and (x,y) represents the coordinate of a representative point relative to a top-left sample within the current block; (mvh0, mhv0) is a motion vector of a top-left corner control point (CP), and (mvh1, mvv1) is a motion vector of a top-right corner control point for the current block,
wherein the one or more parameters are selected depending on at least one of: affine modes, inter or merge mode, block size, picture type.

### Claim 14 (depends on 13)

The method of claim 13, wherein the one or more parameters comprise a, b, e and f.

### Claim 15 (depends on 12)

The method of claim 12, wherein the one or more parameters comprise a, b, c, d, e and f, and wherein it is restricted that c=−b and d=a, when the conversion between the current block and the bitstream of the current block is performed with a four-parameter affine mode.

### Claim 16 (depends on 12)

The method of claim 12, wherein the one or more parameters comprise a, b, c and d, and wherein it is restricted that c=−b and d=a, when the conversion between the current block and the bitstream of the current block is performed with a four-parameter affine mode.

### Claim 17 (depends on 1)

The method of claim 1, wherein for a region with a size of M×N, which includes sub-blocks with dimensions subM×subN, all the sub-blocks share same one or more parameters stored for the region, where M, N, subM and subN are integers greater than one.

### Claim 18 (depends on 17)

The method of claim 17, wherein one sub-block of the sub-blocks is selected, and the one or more parameters stored for the region are based on the set of affine model parameters of the selected one sub-block or based on the sets of affine model parameters of the selected multiple sub-blocks.

### Claim 19

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:
select, during a current affine calculation step in a conversion between a current block and a bitstream of the current block, one or more parameters of a set of affine model parameters;
store the one or more parameters for the current block; and
perform, based on the one or more parameters, the conversion between the current block and the bitstream of the current block.

### Claim 20

A non-transitory computer-readable recording medium storing a bitstream of a video which is generated by a method performed by a video processing apparatus, wherein the method comprises:
selecting, during a current affine calculation step in a conversion between a current block and a bitstream of the current block, one or more parameters of a set of affine model parameters;
storing the one or more parameters for the current block; and
generating the bitstream based on the one or more parameters.
