IP Library › Granted Patent US 10,841,794
Granted Patent B2
US 10,841,794 · App. 16/018,550 · Granted Nov 17, 2020

Adaptive motion vector resolution

Inventors: Shan Liu (San Jose, CA); Jiali Fu (Shenzhen, CN)
Assignee: Futurewei Technologies, Inc.
H04W12/06G06K9/00744G06K9/00899G06K9/00912G06K9/2036G06K9/4642H04L63/0861H04N19/117H04N19/184H04N19/46H04N19/52H04N19/523H04N19/573H04N19/70H04N19/91G06K9/00013G06K9/00208G06K9/00255
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,841,794
App. No.
16/018,550
Granted
Nov 17, 2020
Kind
B2
Abstract

A mechanism of video coding is provided. The mechanism includes determining a motion vector predictor (MVP), a horizontal motion vector difference component (MVDx), and a vertical motion vector difference component (MVDy) associated with a motion vector (MV). A horizontal MV resolution (MVR) and a vertical MVR are also determined for the MV. A horizontal component of the MVP is rounded to a precision specified by the horizontal MVR and a vertical component of the MVP is rounded to a precision specified by the vertical MVR. The MV is determined based on the MVP, the MVDx, and the MVDy. The MV is then employed to position a current block in a current frame relative to a reference block in a reference frame. A video stream including the current frame is generated for display on a screen.

Claims (33)

1. A method, implemented in a computing device, the method comprising:

receiving, by a receiver coupled to a processor in a computing device, a bitstream comprising a horizontal motion vector (MV) resolution (MVR) and a separately signaled vertical MVR for a MV, wherein the horizontal MVR and the vertical MVR are separately signaled according to flags indicating the horizontal MVR and a horizontal to vertical MVR ratio indicating a ratio between the horizontal MVR and the vertical MVR;

determining, by the processor, a motion vector predictor (MVP), a horizontal motion vector difference component (MVDx), and a vertical motion vector difference component (MVDy) associated with the MV;

obtaining, by the processor, the horizontal MVR and the vertical MVR for the MV from the bitstream;

rounding, by the processor, a horizontal component of the MVP to a horizontal precision specified by the horizontal MVR and rounding a vertical component of the MVP to a vertical precision specified by the vertical MVR, wherein the vertical precision of the MVP is smaller than the horizontal precision of the MVP;

determining the MV based on the MVP, the MVDx, and the MVDy;

employing, by the processor, the MV to position a current block in a current frame relative to a reference block in a reference frame; and

generating, by the processor, a video stream including the current frame for display on a screen.

2. The method of claim 1 , wherein the flags are signaled in the bitstream in a sequence parameter set (SPS), in a picture parameter set (PPS), in a slice header, in a coding unit (CU), or in a prediction unit (PU).

3. The method of claim 1 , wherein the flags are signaled in the bitstream in slice header flags that depend from sequence parameter set (SPS) flags or picture parameter set (PPS) flags.

4. The method of claim 1 , wherein the flags are signaled in the bitstream in coding unit (CU) flags that depend from slice header flags.

5. A method, implemented in a computing device, the method comprising:

determining, by a processor in the computing device, a motion vector (MV) to predict a position of a current block in a current frame relative to a reference block in a reference frame;

selecting, by the processor, a motion vector predictor (MVP) to predict the MV;

determining, by the processor, a horizontal motion vector difference component (MVDx) and a vertical motion vector difference component (MVDy) that indicate a difference between the MVP and the MV;

determining, by the processor, a horizontal MV resolution (MVR) and a vertical MVR for the MV, wherein the vertical MVR indicates a vertical precision of the MVP that is smaller than a horizontal precision of the MVP indicated by the horizontal MVR;

encoding an index of the MVP, the MVDx, the MVDy, and an indication of the horizontal MVR for the MV and a separately signaled indication of the vertical MVR for the MV in a bitstream to support determination of the MV at a decoder, wherein the indication of the horizontal MVR and the indication of the vertical MVR are separately signaled according to flags indicating the horizontal MVR and a horizontal to vertical MVR ratio indicating a ratio between the horizontal MVR and the vertical MVR; and

transmitting, via a transmitter coupled to the processor, the bitstream toward the decoder.

6. A computing device comprising:

a receiver to receive a bitstream comprising a horizontal motion vector (MV) resolution (MVR) and a separately signaled vertical MVR for a MV, wherein the horizontal MVR and the vertical MVR are separately signaled according to flags indicating the horizontal MVR and a horizontal to vertical MVR ratio indicating a ratio between the horizontal MVR and the vertical MVR; and

a processor coupled to the receiver, the processor configured to:

determine a motion vector predictor (MVP), a horizontal motion vector difference component (MVDx), and a vertical motion vector difference component (MVDy) based on data coded in the bitstream;

determine a MV based on the MVP, the MVDx, and the MVDy;

determine the horizontal MVR and the vertical MVR for the MV;

round a horizontal component of the MV to a horizontal precision specified by the horizontal MVR and round a vertical component of the MV to a vertical precision specified by the vertical MVR, wherein the vertical precision of the MVP is smaller than the horizontal precision of the MVP;

position a current block in a current frame relative to a reference block in a reference frame based on the MV; and

generate a video stream including the current frame for display on a screen.

7. The computing device of claim 6 , wherein the flags are signaled in the bitstream in a sequence parameter set (SPS), in a picture parameter set (PPS), or in a slice header.

8. The computing device of claim 6 , wherein the flags are signaled in the bitstream in slice header flags that depend from sequence parameter set (SPS) flags or picture parameter set (PPS) flags.

9. The computing device of claim 6 , wherein the flags are signaled in the bitstream in coding unit (CU) flags that depend from slice header flags.

10. The method of claim 5 , wherein the flags are signaled in the bitstream in a sequence parameter set (SPS), in a picture parameter set (PPS), or in a slice header.

11. The method of claim 5 , wherein the flags are signaled in the bitstream in slice header flags that depend from sequence parameter set (SPS) flags or picture parameter set (PPS) flags.

12. The method of claim 5 , wherein the flags are signaled in the bitstream in coding unit (CU) flags that depend from slice header flags.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2018
From: LIU, SHAN; FU, JIALI
To: FUTUREWEI TECHNOLOGIES, INC.
Reel/Frame 047371/0486 →
Continuity (2)
Provisional Application 62560037 · Sep 18, 2017
Related Publication 20190089975A1 · Mar 21, 2019
Cited By (1)
US 12,335,516