# US 12,192,473 B2 · Schemes for adjusting adaptive resolution for motion vector difference

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

- Number: US 12,192,473 B2
- Document ID: US12192473B2
- Status: Granted
- Kind: B2
- Application number: 17/824,193
- Filed: 2022-05-25
- Published: 2023-04-27
- Granted: 2025-01-07
- Earliest claimed: 2021-10-21
- Assignees: Tencent America LLC
- Applicants: Tencent America LLC
- Inventors: Liang Zhao; Xin Zhao; Shan Liu
- Web page: https://patentgrep.com/patent/US12192473B2

## CPC

- H04N 19/137: Motion inside a coding unit, e.g. average field, frame or block difference
- H04N 19/523: with sub-pixel accuracy
- H04N 19/105: Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
- H04N 19/139: Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
- H04N 19/159: Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/46: Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence)
- H04N 19/52: by predictive encoding
- H04N 19/59: involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

This disclosure relates generally to video coding and particularly to methods and systems for providing schemes for setting allowable motion vector different values when implementing adaptive resolution for motion vector difference. An example method for processing a current video block of a video stream is disclosed. The method may include receiving the video stream; determining that the current video block is inter-coded based on a prediction block and a motion vector (MV), wherein the MV is to be derived from a reference motion vector (RMV) and a motion vector difference (MVD) for the current video block. The method further include in response to determining that the MVD is coded with an adaptive MVD pixel resolution: determining a reference MVD pixel precision for the current video block; identifying a maximum allowed MVD pixel precision; determining a set of allowable MVD levels for the current video block based on the reference MVD pixel precision and the maximum allowed MVD pixel precision; and deriving the MVD from the video stream according to at least one MVD parameters signaled in the video stream for the current video block and the set of allowable MVD levels.

## Claims

### Claim 1

A method of video decoding, the method comprising:
receiving a video stream that includes a current frame composed of a plurality of video blocks, the plurality of video blocks including a current video block;
determining that the current video block is inter-coded based on a prediction block and a motion vector (MV), wherein the MV is to be derived from a reference motion vector (RMV) and a motion vector difference (MVD) for the current video block; and
when the MVD is coded with an adaptive MVD pixel resolution:
determining a nominal MVD pixel precision for the current frame;
identifying a maximum allowed MVD pixel precision for the current video block, wherein the maximum allowed MVD pixel precision is less than the nominal MVD pixel precision;
determining a set of allowable MVD levels for the current video block by restricting the nominal MVD pixel precision according to the maximum allowed MVD pixel precision; and
deriving the MVD having a first precision from the video stream according to at least one MVD parameter signaled in the video stream for the current video block and the set of allowable MVD levels, wherein the first precision is selected from the set of allowable MVD levels.

### Claim 2 (depends on 1)

The method of claim 1, wherein the nominal MVD pixel precision for the current video block is signaled at a a frame level.

### Claim 3 (depends on 2)

The method of claim 2, wherein the nominal MVD pixel precision for the current video block depends on an MVD class associated with the MVD of the current video block.

### Claim 4 (depends on 2)

The method of claim 2, wherein the nominal MVD pixel precision for the current video block depends on an MVD magnitude of the MVD of the current video block.

### Claim 5 (depends on 1)

The method of claim 1, wherein the maximum allowed MVD pixel precision is predefined.

### Claim 6 (depends on 2)

The method of claim 2, further comprising determining a current MVD class from a predefined set of MVD classes, wherein determining the set of allowable MVD levels comprises:
excluding, from a nominal MVD level set determined based on the nominal MVD pixel precision and the current MVD class, MVD levels associated with an MVD pixel precision at or higher than the maximum allowed MVD pixel precision, to determine the set of allowable MVD levels for the current video block.

### Claim 7 (depends on 1)

The method of claim 1, wherein the maximum allowed MVD pixel precision is ¼ pixel.

### Claim 8 (depends on 1)

The method of claim 1, wherein MVD levels associated with a ⅛ pixel or higher precision are excluded in the set of allowable MVD levels for the current video block.

### Claim 9 (depends on 1)

The method of claim 1, further comprising determining a current MVD class from a predefined set of MVD classes, wherein:
MVD levels associated with fractional MVD precision are included in the set of allowable MVD levels regardless of the nominal MVD precision when the current MVD class is at or lower than a threshold MVD class.

### Claim 10 (depends on 9)

The method of claim 9, wherein the threshold MVD class is a lowest MVD class among the predefined set of MVD classes.

### Claim 11 (depends on 1)

The method of claim 1, further comprising determining a magnitude of the MVD, wherein MVD levels associated with an MVD precision higher than a threshold MVD precision are allowed in the set of allowable MVD levels only when the magnitude of the MVD is at or lower than a threshold MVD magnitude.

### Claim 12 (depends on 11)

The method of claim 11, wherein the threshold MVD magnitude is 2 pixels or smaller.

### Claim 13 (depends on 12)

The method of claim 12, wherein the threshold MVD precision is 1 pixel.

### Claim 14 (depends on 11)

The method of claim 11, wherein MVD levels associated with an MVD precision of ¼ pixel or higher are only allowed when the magnitude of the MVD is at or lower than ½ pixel.

### Claim 15

A method of video encoding, the method comprising:
receiving video data that includes a current frame composed of a plurality of video blocks, the plurality of video blocks including a current video block;
determining that the current video block is to be inter-coded using a prediction block and a motion vector (MV), wherein the MV is to be derived from a reference motion vector (RMV) and a motion vector difference (MVD) for the current video block; and
when the MVD is coded with an adaptive MVD pixel resolution:
determining a nominal MVD pixel precision for the current frame;
identifying a maximum allowed MVD pixel precision for the current video block, wherein the maximum allowed MVD pixel precision is less than the nominal MVD pixel precision;
determining a set of allowable MVD levels for the current video block by restricting the nominal MVD pixel precision according to the maximum allowed MVD pixel precision; and
deriving the MVD having a first precision according to at least one MVD parameter for the current video block and the set of allowable MVD levels, wherein the first precision is selected from the set of allowable MVD levels.

### Claim 16 (depends on 15)

The method of claim 15, wherein the nominal MVD pixel precision for the current video block is specified at a frame level.

### Claim 17 (depends on 15)

The method of claim 15, wherein the nominal MVD pixel precision depends on an MVD class associated with the MVD of the current video block.

### Claim 18 (depends on 15)

The method of claim 15, wherein the nominal MVD pixel precision depends on an MVD magnitude of the MVD of the current video block.

### Claim 19

A method of processing visual media data, the method comprising:
obtaining a source video sequence;
performing a conversion between the source video sequence and a bitstream of visual media data according to a format rule,
wherein the bitstream comprises:
a plurality of encoded data blocks, including a current video block corresponding to a current frame;
a first indicator indicating a nominal motion vector difference (MVD) pixel precision for the current frame; and
a second indicator indicating a maximum allowed MVD pixel precision for the current video block; and
wherein the format rule specifies that, when the MVD is coded with an adaptive MVD pixel resolution:
a nominal MVD pixel precision is to be determined for the current frame;
a maximum allowed MVD pixel precision is to be identified for the current video block, wherein the maximum allowed MVD pixel precision is less than the nominal MVD pixel precision;
a set of allowable MVD levels are to be determined for the current video block by restricting the nominal MVD pixel precision according to the maximum allowed MVD pixel precision; and
the MVD having a first precision is derived according to the first and second indicators, wherein the first precision is selected from the set of allowable MVD levels.

### Claim 20 (depends on 19)

The method of claim 19, wherein the first indicator is signaled at a frame level in the bitstream.

### Claim 21 (depends on 19)

The method of claim 19, wherein the nominal MVD pixel precision depends on an MVD class associated with the MVD of the current video block.
