IP Library Granted Patent US 10,609,384
Granted Patent B2
US 10,609,384 · App. 16/032,979 · Granted Mar 31, 2020

Restriction on sub-block size derivation for affine inter prediction

Inventors: Huanbang Chen (Shenzhen, CN); Haitao Yang (Shenzhen, CN); Shan Gao (Shenzhen, CN); Yin Zhao (Shenzhen, CN); Jiantong Zhou (Shenzhen, CN); Shan Liu (San Jose, CA)
Assignee: Futurewei Technologies, Inc.
H04N19/159H04N19/119H04N19/139H04N19/176H04N19/52H04N19/54
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 10,609,384
App. No.
16/032,979
Granted
Mar 31, 2020
Kind
B2
Abstract

A video coding device selects a current block for sub-block based affine inter-prediction, and derives a sub-block size for a sub-block of the current block. The sub-block size includes a sub-block width and a sub-block height. The device determines a unidirectional width threshold (TwU), a bidirectional width threshold (TwB), a unidirectional height threshold (ThU), and a bidirectional height threshold (ThB), where a total value of TwB and ThB exceeds a total value of TwU and ThU. The device determines that the affine inter-prediction is unidirectional inter-prediction or bidirectional inter-prediction. Based on the determination, the device applies the TwU or the TwB to the sub-block width, and applies the ThU or the ThB to the sub-block height. The device then derives a motion vector for the sub-block based on motion vectors for the current block, the sub-block width, and the sub-block height.

Claims (337)

1. A method comprising:

selecting, by a processor at an encoder, a current block for sub-block based affine inter-prediction, the current block associated with a plurality of motion vectors;

deriving, by the processor, a sub-block size for a sub-block of the current block, the sub-block size including a sub-block width and a sub-block height;

determining, by the processor, a unidirectional width threshold (TwU), a bidirectional width threshold (TwB), a unidirectional height threshold (ThU), and a bidirectional height threshold (ThB), wherein a total value of TwB and ThB exceeds a total value of TwU and ThU, and wherein the total value of TwB and ThB is greater than the total value of TwU and ThU to ensure a minimum sub-block size for bidirectional inter-prediction exceeds a minimum sub-block size for unidirectional inter-prediction;

determining, by the processor, that the affine inter-prediction is unidirectional inter-prediction or bidirectional inter-prediction;

based on the determination of unidirectional inter-prediction or bidirectional inter-prediction, applying, by the processor, the TwU or the TwB to the sub-block width;

based on the determination, applying, by the processor, the ThU or the ThB to the sub-block height;

deriving, by the processor, a motion vector for the sub-block based on motion vectors for the current block, the sub-block width, and the sub-block height;

encoding, by the processor, prediction information for the sub-block in a bitstream, the prediction information based on the motion vector for the sub-block; and

transmitting, by a transmitter coupled to the processor, the bitstream toward a decoder for decoding and display.

2. The method of claim 1 , wherein a value of TwB, a value of ThB, a value of TwU, and a value of ThU are predefined in a memory coupled to the processor.

3. The method of claim 1 , further comprising encoding a value of TwB, a value of ThB, a value of TwU, a value of ThU, or combinations thereof, in a parameter set in the bitstream.

4. The method of claim 3 , wherein the parameter set is a sequence parameter set (SPS), a picture parameter set (PPS), a slice header, or combinations thereof.

5. The method of claim 1 , further comprising rounding the motion vector for the sub-block to a precision of one sixteenths accuracy.

6. The method of claim 1 , wherein the sub-block size for the sub-block of the current block is derived according to:

{

M

=

clip

3

(

Tw

,

w

,

w

×

MvPre

max

(

abs

(

v

1

x

-

v

0

x

)

,

abs

(

v

1

y

-

v

0

y

)

)

)

N

=

clip

3

(

Th

,

h

,

h

×

MvPre

max

(

abs

(

v

2

x

-

v

0

x

)

,

abs

(

v

2

y

-

v

0

y

)

)

)

where M is the sub-block width, N is the sub-block height, clip3 is a three parameter function that sets a first parameter as a lower threshold for a computation, a second parameter for an upper threshold for the computation, and a third parameter for the computation, Tw applies TwU or TwB, Th applies ThU or ThB, w is a width of the current block, h is a height of the current block, MvPre is a precision of the motion vector for the sub-block, max is a maximum function, abs is an absolute value function, and v 0x , v 1x , v 2x , v 0y , v 1y , and v 2y are motion vector components in a motion vector field derived based on the motion vectors for the current block.

7. An apparatus comprising:

a receiver to receive a bitstream;

a processor coupled to the receiver and configured to:

select a current block from the bitstream for decoding by sub-block based affine inter-prediction;

obtain a plurality of motion vectors for the current block from the bitstream;

derive a sub-block size for a sub-block of the current block, the sub-block size including a sub-block width and a sub-block height;

determine a unidirectional width threshold (TwU), a bidirectional width threshold (TwB), a unidirectional height threshold (ThU), and a bidirectional height threshold (ThB), wherein a total value of TwB and ThB exceeds a total value of TwU and ThU, and wherein the total value of TwB and ThB is greater than the total value of TwU and ThU to ensure a minimum sub-block size for bidirectional inter-prediction exceeds a minimum sub-block size for unidirectional inter-prediction;

determine that the affine inter-prediction is unidirectional inter-prediction or bidirectional inter-prediction based on the bitstream;

based on the determination of unidirectional inter-prediction or bidirectional inter-prediction, apply the TwU or the TwB to the sub-block width;

based on the determination, apply the ThU or the ThB to the sub-block height;

derive a motion vector for the sub-block based on motion vectors for the current block, the sub-block width, and the sub-block height;

employ the motion vector for the sub-block to reconstruct the sub-block based on a reference frame; and

forward a video sequence for display, the video sequence including the sub-block in a current frame.

8. The apparatus of claim 7 , further comprising a memory coupled to the processor, the memory configured to store a value of TwB, a value of ThB, a value of TwU, and a value of ThU as predefined values.

9. The apparatus of claim 7 , wherein the processor is further configured to obtain a value of TwB, a value of ThB, a value of TwU, a value of ThU, or combinations thereof, from a parameter set in the bitstream.

10. The apparatus of claim 9 , wherein the parameter set is a sequence parameter set (SPS), a picture parameter set (PPS), a slice header, or combinations thereof.

11. The apparatus of claim 7 , wherein the processor is further configured to round the motion vector for the sub-block to a precision of one sixteenths accuracy.

12. The apparatus of claim 7 , wherein the sub-block size for the sub-block of the current block is derived according to:

{

M

=

clip

3

(

Tw

,

w

,

w

×

MvPre

max

(

abs

(

v

1

x

-

v

0

x

)

,

abs

(

v

1

y

-

v

0

y

)

)

)

N

=

clip

3

(

Th

,

h

,

h

×

MvPre

max

(

abs

(

v

2

x

-

v

0

x

)

,

abs

(

v

2

y

-

v

0

y

)

)

)

where M is the sub-block width, N is the sub-block height, clip3 is a three parameter function that sets a first parameter as a lower threshold for a computation, a second parameter for an upper threshold for the computation, and a third parameter for the computation, Tw applies TwU or TwB, Th applies ThU or ThB, w is a width of the current block, h is a height of the current block, MvPre is a precision of the motion vector for the sub-block, max is a maximum function, abs is an absolute value function, and v 0x , v 1x , v 2x , v 0y , v 1y , and v 2y are motion vector components in a motion vector field derived based on the motion vectors for the current block.

13. A method comprising:

receiving, by a receiver, a bitstream;

selecting, by a processor, a current block from the bitstream for decoding by sub-block based affine inter-prediction;

obtaining, by the processor, a plurality of motion vectors for the current block from the bitstream;

deriving, by the processor, a sub-block size for a sub-block of the current block, the sub-block size including a sub-block width and a sub-block height;

determining, by the processor, a unidirectional width threshold (TwU), a bidirectional width threshold (TwB), a unidirectional height threshold (ThU), and a bidirectional height threshold (ThB), wherein a total value of TwB and ThB exceeds a total value of TwU and ThU, and wherein the total value of TwB and ThB is greater than the total value of TwU and ThU to ensure a minimum sub-block size for bidirectional inter-prediction exceeds a minimum sub-block size for unidirectional inter-prediction;

determining, by the processor, that the affine inter-prediction is unidirectional inter-prediction or bidirectional inter-prediction based on the bitstream;

based on the determination of unidirectional inter-prediction or bidirectional inter-prediction, applying, by the processor, the TwU or the TwB to the sub-block width;

based on the determination, applying, by the processor, the ThU or the ThB to the sub-block height;

deriving, by the processor, a motion vector for the sub-block based on motion vectors for the current block, the sub-block width, and the sub-block height;

employing, by the processor, the motion vector for the sub-block to reconstruct the sub-block based on a reference frame; and

forwarding, by the processor, a video sequence for display, the video sequence including the sub-block in a current frame.

14. The method of claim 13 , wherein a value of TwB, a value of ThB, a value of TwU, and a value of ThU are stored as predefined values.

15. The method of claim 13 , further comprising obtaining a value of TwB, a value of ThB, a value of TwU, a value of ThU, or combinations thereof, from a parameter set in the bitstream.

16. The method of claim 13 , further comprising round the motion vector for the sub-block to a precision of one sixteenths accuracy.

17. The method of claim 13 , wherein the sub-block size for the sub-block of the current block is derived according to:

{

M

=

clip

3

(

Tw

,

w

,

w

×

MvPre

max

(

abs

(

v

1

x

-

v

0

x

)

,

abs

(

v

1

y

-

v

0

y

)

)

)

N

=

clip

3

(

Th

,

h

,

h

×

MvPre

max

(

abs

(

v

2

x

-

v

0

x

)

,

abs

(

v

2

y

-

v

0

y

)

)

)

where M is the sub-block width, N is the sub-block height, clip3 is a three parameter function that sets a first parameter as a lower threshold for a computation, a second parameter for an upper threshold for the computation, and a third parameter for the computation, Tw applies TwU or TwB, Th applies ThU or ThB, w is a width of the current block, h is a height of the current block, MvPre is a precision of the motion vector for the sub-block, max is a maximum function, abs is an absolute value function, and v 0x , v 1x , v 2x , v 0y , v 1y , and v 2y are motion vector components in a motion vector field derived based on the motion vectors for the current block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2020
From: CHEN, HUANBANG; YANG, HAITAO; GAO, SHAN; ZHAO, YIN; ZHOU, JIANTONG; LIU, SHAN
To: FUTUREWEI TECHNOLOGIES, INC.
Reel/Frame 051708/0849 →
Continuity (2)
Provisional Application 62561603 · Sep 21, 2017
Related Publication 20190089960A1 · Mar 21, 2019
Cited By (12)
US 12,206,898 US 12,212,788 US 12,231,640 US 12,238,323 US 12,244,838 US 12,256,072 US 12,278,985 US 12,335,524 US 12,363,342 US 12,425,659 US 12,711,352 US 12,720,092