IP Library Granted Patent US 12695904
Granted Patent B2
US 12695904 · App. 18/743,661 · Granted Jul 28, 2026

Explicit signaling of scaling factors for joint coding of motion vector difference

Inventors: Liang Zhao (Sunnyvale, CA); Xin Zhao (San Jose, CA); Shan Liu (San Jose, CA)
Assignee: TENCENT AMERICA LLC
H04N19/573H04N19/105H04N19/139H04N19/172H04N19/176H04N19/30H04N19/52H04N19/70
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 12695904
App. No.
18/743,661
Granted
Jul 28, 2026
Kind
B2
Abstract

Systems and methods for receiving a coded video bitstream including a current frame, a first reference frame and a second reference frame associated with a current block in the current frame, a joint motion vector difference (JMVD) associated with the first reference frame and the second reference frame, and a flag indicating whether one or more scaling factors are used to derive a motion vector difference (MVD) from the JMVD. A first/second MVD associated with the first/second reference frame may be derived based on applying a first/second scaling factor in the one or more scaling factors to the JMVD or based on a distance between the first/second reference frame and the current frame. The current block may be decoded based on the first MVD and the second MVD.

Claims (234)

1 . A method for video decoding in a decoder, the method comprising:

receiving a video bitstream comprising a current block, in a current frame, a first variable, a first reference frame associated with the current block, and a second reference frame associated with the current block;

deriving a first motion vector difference (MVD) associated with the first reference frame based on the first variable indicating a first scaling factor in a joint motion vector difference (JMVD) mode;

deriving a second MVD associated with the second reference frame based on the first variable indicating any of the first scaling factor and a second scaling factor in the JMVD mode; and

decoding the current block based on the first MVD and the second MVD.

2 . The method of claim 1 ,

wherein the video bitstream is associated with the JMVD and a second variable indicating whether the one or more scaling factors are used to derive the MVD from the JMVD, and

wherein the second variable indicates a pair of scaling factors for the first reference frame and the second reference frame.

3 . The method of claim 1 , wherein the one or more scaling factors are restricted to at least one of:

values of 2 n , where n is an integer value, and

values of m/M, where M=2 n and m and n are integer values.

4 . The method of claim 1 ,

wherein the one or more scaling factors comprises a first scaling factor and a second scaling factor,

wherein depending on whether a second variable associated with the video bitstream indicates that the first scaling factor is equal to a first default value, the first scaling factor is used to derive one of the first MVD and the second MVD, and the second scaling factor used to derive the other one of the first MVD and the second MVD and is a second default value different than the first default value.

5 . The method of claim 1 , wherein a context of the one or more scaling factors is based on encoded information of the current block or one or more neighboring blocks to the current block.

6 . The method of claim 1 , wherein at least one of the first MVD and the second MVD is derived according to

derived_mvd

=

td

1

td

0

*

scaled_factor

*

joint_mvd

,

when td1 is greater than td0, and according to

derived_mvd

=

td

0

td

1

*

scaled_factor

*

joint_mvd

,

when td0 is greater than td1,

wherein td0 corresponds to the distance between the first reference frame and the current frame, and td1 corresponds to a distance between the second reference frame and the current frame.

7 . The method of claim 1 , wherein both of first MVD and the second MVD are derived according to

derived_mvd

=

td

1

td

0

*

scaled_factor

M

*

joint_mvd

,

when td1 is greater than td0, and

according to

derived_mvd

=

td

0

td

1

*

scaled_factor

M

*

joint_mvd

,

 when td0 is greater than td1,

wherein td0 corresponds to a distance between the current frame and the first reference frame, td1 corresponds to a distance between the current frame and the second reference frame, and M corresponds to 2 n where n is an integer.

8 . A method of video encoding, the method comprising:

receiving video data; and

encoding the video data into a bitstream representing a current block, in a current frame, a first reference frame, associated with the current block, and a second reference frame associated with the current block, and, based on at least a first variable signaled with the bitstream, the encoded video data signals whether to:

derive a first motion vector difference (MVD) associated with the first reference frame based on the first variable indicating a first scaling factor in a joint motion vector difference (JMVD) mode, and

derive a second MVD associated with the second reference frame based on the first variable indicating a second scaling factor in the JMVD mode.

9 . The method of claim 8 ,

wherein the bitstream is associated with the JMVD and a second variable indicating whether the one or more scaling factors are used to derive the MVD from the JMVD, and

wherein the second variable indicates a pair of scaling factors for the first reference frame and the second reference frame.

10 . The method of claim 8 , wherein the one or more scaling factors are restricted to at least one of:

values of 2 n , where n is an integer value, and

values of m/M, where M=2 n and m and n are integer values.

11 . The method of claim 8 ,

wherein the one or more scaling factors comprises a first scaling factor and a second scaling factor,

wherein depending on whether a second variable associated with the bitstream indicates that the first scaling factor is equal to a first default value, the first scaling factor is used to derive one of the first MVD and the second MVD, and the second scaling factor used to derive the other one of the first MVD and the second MVD and is a second default value different than the first default value.

12 . The method of claim 8 , wherein a context of the one or more scaling factors is based on information of the current block or one or more neighboring blocks to the current block.

13 . The method of claim 8 , wherein at least one of the first MVD and the second MVD is derived according to

derived_mvd

=

td

1

td

0

*

scaled_factor

*

joint_mvd

,

when td1 is greater than td0, and according to

derived_mvd

=

td

0

td

1

*

scaled_factor

*

joint_mvd

,

when td0 is greater than td1,

wherein td0 corresponds to the distance between the first reference frame and the current frame, and td1 corresponds to a distance between the second reference frame and the current frame.

14 . The method of claim 8 , wherein both of first MVD and the second MVD are derived according to

derived_mvd

=

td

1

td

0

*

scaled_factor

M

*

joint_mvd

,

when td1 is greater than td0, and

according to

derived_mvd

=

td

0

td

1

*

scaled_factor

M

*

joint_mvd

,

 when td0 is greater than td1,

wherein td0 corresponds to a distance between the current frame and the first reference frame, td1 corresponds to a distance between the current frame and the second reference frame, and M corresponds to 2 n where n is an integer.

15 . A method of encoding visual medial data, the method comprising:

generating a bitstream of the visual media data according to an encoding process,

the bitstream of the visual media data representing a current block, in a current frame, a first reference frame, associated with the current block, and a second reference frame associated with the current block, based on at least a first variable signaled with the bitstream, the encoded video data signals whether to:

derive a first motion vector difference (MVD) associated with the first reference frame based on the first variable indicating a first scaling factor in a joint motion vector difference (JMVD) mode, and

derive a second MVD associated with the second reference frame based on the first variable indicating any of the first scaling factor and a second scaling factor in the JMVD mode; and

transmitting the generated bitstream of the visual media data.

16 . The method of claim 15 ,

wherein the bitstream is associated with the JMVD and a second variable indicating whether the one or more scaling factors are used to derive the MVD from the JMVD, and

wherein the second variable indicates a pair of scaling factors for the first reference frame and the second reference frame.

17 . The method of claim 15 , wherein the one or more scaling factors are restricted to at least one of:

values of 2 n , where n is an integer value, and

values of m/M, where M=2 n and m and n are integer values.

18 . The method of claim 15 ,

wherein the one or more scaling factors comprises a first scaling factor and a second scaling factor,

wherein depending on whether a second variable associated with the bitstream indicates that the first scaling factor is equal to a first default value, the first scaling factor is used to derive one of the first MVD and the second MVD, and the second scaling factor used to derive the other one of the first MVD and the second MVD and is a second default value different than the first default value.

19 . The method of claim 15 , wherein at least one of the first MVD and the second MVD is derived according to

derived_mvd

=

td

1

td

0

*

scaled_factor

*

joint_mvd

,

when td1 is greater than td0, and according to

derived_mvd

=

td

0

td

1

*

scaled_factor

*

joint_mvd

,

when td0 is greater than td1,

wherein td0 corresponds to the distance between the first reference frame and the current frame, and td1 corresponds to a distance between the second reference frame and the current frame.

20 . The method of claim 15 , wherein both of first MVD and the second MVD are derived according to

derived_mvd

=

td

1

td

0

*

scaled_factor

M

*

joint_mvd

,

when td1 is greater than td0, and

according to

derived_mvd

=

td

0

td

1

*

scaled_factor

M

*

joint_mvd

,

 when td0 is greater than td1,

wherein td0 corresponds to a distance between the current frame and the first reference frame, td1 corresponds to a distance between the current frame and the second reference frame, and M corresponds to 2 n where n is an integer.