# US 11,451,807 B2 · Method and apparatus for video coding

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

- Number: US 11,451,807 B2
- Document ID: US11451807B2
- Status: Granted
- Kind: B2
- Application number: 16/435,034
- Filed: 2019-06-07
- Published: 2020-02-13
- Granted: 2022-09-20
- Earliest claimed: 2018-08-08
- Assignees: Tencent America LLC
- Applicants: Tencent America LLC
- Inventors: Meng Xu; Xiang Li; Shan Liu
- Web page: https://patentgrep.com/patent/US11451807B2

## CPC

- H04N 19/44: Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
- H04N 19/503: involving temporal prediction (adaptive coding with adaptive selection between spatial and temporal predictive coding H04N19/107; adaptive coding with adaptive selection among a plurality of temporal predictive coding modes H04N19/109)
- 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/132: Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
- H04N 19/137: Motion inside a coding unit, e.g. average field, frame or block difference
- 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/513: Processing of motion vectors
- H04N 19/52: by predictive encoding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Aspects of the disclosure provide methods and apparatuses for video encoding and decoding. In some examples, an apparatus for video decoding includes processing circuitry. The processing circuitry decodes prediction information of a current block in a current picture from a coded video bitstream. The prediction information indicates an inter prediction mode for reconstructing the current block. The processing circuitry identifies a reference block for the current block where the reference block is one of a plurality of blocks in a motion vector compression unit (MVCU) that is already reconstructed. The processing circuitry further determines current motion information of the current block based on representative motion information for the MVCU and reconstructs at least one sample in the current block based on the current motion information.

## Claims

### Claim 1

A method for video decoding in a decoder, comprising:
decoding prediction information of a current block in a current picture from a coded video bitstream, the prediction information indicating an inter prediction mode for reconstructing the current block,
identifying a reference block for the current block, the reference block being one of a plurality of blocks in a motion vector compression unit (MVCU) that is already reconstructed, wherein a size of the MVCU is 2M×2N and a size of each of the plurality of blocks is 2X×2X, where M, N, and X are positive integers, and X is less than either M or N, the reference block is a spatial neighbor of the current block, and the MVCU is in the current picture;
determining current motion information of the current block based on representative motion information for an entirety of the MVCU and not based on motion information of the reference block, wherein a same motion vector compression mechanism is used to compress respective motion information for the current picture and a reference picture for the current block; and
reconstructing at least one sample in the current block based on the current motion information,
wherein the method further comprises, prior to determining the current motion information, determining the representative motion information for the entirety of the MVCU from multiple pieces of motion information, the multiple pieces of motion information including first MVs associated with a first reference list and second MVs associated with a second reference list; and
determining the representative motion information further includes
selecting one of the first MVs occurring most frequently in the first MVs to be a representative first MV for the MVCU;
selecting one of the second MVs occurring most frequently in the second MVs to be a representative second MV for the MVCU; and
determining the representative motion information for the MVCU based on the representative first MV and the representative second MV.

### Claim 2 (depends on 1)

The method of claim 1, wherein
the MVCU includes a top left 2M-1×2N-1 part, a top right 2M-1×2N-1 part, a bottom left 2M-1×2N-1 part, and a bottom right 2M-1×2N-1 part; and
determining the representative motion information further includes selecting one of the multiple pieces of motion information that is associated with a center block of the plurality of blocks to be the representative motion information for the MVCU, the center block being one of: (1) a bottom right block of the top left 2(M-1)×2(N-1) part, (2) a bottom left block of the top right 2(M-1)×2(N-1) part, (3) a top right block of the bottom left 2(M-1)×2(N-1) part, and (4) a top left block of the bottom right 2(M-1)×2(N-1) part.

### Claim 3 (depends on 1)

The method of claim 1, wherein selecting the representative motion information further comprises:
selecting, based on a scan order, a first available one of the multiple pieces of motion information to be the representative motion information for the MVCU, the scan order being one of: (1) a raster scan order, (2) a Z scan order, and (3) a decoding order for the MVCU.

### Claim 4 (depends on 1)

The method of claim 1, wherein
one of the plurality of blocks has no motion information; and
the method further includes:
determining that motion information for the one of the plurality of blocks is unavailable;
setting one or more MVs for the one of the plurality of blocks as zero and assigning a reference index to the one of the plurality of blocks;
determining the motion information for the one of the plurality of blocks from a spatial neighbor of the one of the plurality of blocks, the spatial neighbor being another one of the plurality of blocks in the MVCU;
determining the motion information for the one of the plurality of blocks from a collocated block in a collocated picture; or
selecting the representative motion information for the MVCU to be the motion information for the one of the plurality of blocks.

### Claim 5 (depends on 1)

The method of claim 1, wherein
the MVCU is included in a coding tree block (CTB); and
determining the representative motion information for the MVCU further includes, after reconstructing the CTB, determining the representative motion information for the MVCU from the multiple pieces of motion information selected from the plurality of blocks.

### Claim 6 (depends on 1)

The method of claim 1, wherein
the MVCU is in a decoder side motion vector derivation (DMVD) mode;
the multiple pieces of motion information selected from the plurality of blocks include unrefined pieces of motion information and refined pieces of motion information corresponding to the plurality of blocks, the refined pieces of motion information being determined from the respective unrefined pieces of motion information using the DMVD; and
determining the representative motion information for the MVCU includes one of: (1) selecting one of the unrefined pieces of motion information to be the representative motion information for the MVCU, (2) selecting one of the refined pieces of motion information to be the representative motion information for the MVCU, and (3) selecting one of the unrefined pieces of motion information and one of the refined pieces of motion information to be the representative motion information for the MVCU.

### Claim 7 (depends on 6)

The method of claim 6, wherein the representative motion information for the MVCU includes the one of the unrefined pieces of motion information, and determining the current motion information includes determining the current motion information based on the one of the unrefined pieces of motion information for the MVCU.

### Claim 8

An apparatus for video decoding, comprising:
processing circuitry configured to:
decode prediction information of a current block in a current picture from a coded video bitstream, the prediction information indicating an inter prediction mode for reconstructing the current block;
identify a reference block for the current block, the reference block being one of a plurality of blocks in a motion vector compression unit (MVCU) that is already reconstructed, wherein a size of the MVCU is 2M×2N and a size of each of the plurality of blocks is 2X×2X, where M, N, and X are positive integers, and X is less than either M or N, the reference block is a spatial neighbor of the current block, and the MVCU is in the current picture;
determine current motion information of the current block based on representative motion information for an entirety of the MVCU and not based on motion information of the reference block, wherein a same motion vector compression mechanism is used to compress respective motion information for the current picture and a reference picture for the current block; and
reconstruct at least one sample in the current block based on the current motion information, wherein
the processing circuitry is further configured to, prior to determining the current motion information, determine the representative motion information for the entirety of the MVCU from multiple pieces of motion information, the multiple pieces of motion information including first MVs associated with a first reference list and second MVs associated with a second reference list; and
the processing circuitry is further configured to determine the representative motion information by
selecting one of the first MVs occurring most frequently in the first MVs to be a representative first MV for the MVCU;
selecting one of the second MVs occurring most frequently in the second MVs to be a representative second MV for the MVCU; and
determining the representative motion information for the MVCU based on the representative first MV and the representative second MV.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein
the MVCU includes a top left 2M-1×2N-1 part, a top right 2M-1×2N-1 part, a bottom left 2M-1×2N-1 part, and a bottom right 2M-1×2N-1 part; and
the processing circuitry is further configured to select one of the multiple pieces of motion information that is associated with a center block of the plurality of blocks to be the representative motion information for the MVCU, the center block being one of: (1) a bottom right block of the top left 2(M-1)×2(N-1) part, (2) a bottom left block of the top right 2(M-1)×2(N-1) part, (3) a top right block of the bottom left 2(M-1)×2(N-1) part, and (4) a top left block of the bottom right 2(M-1)×2(N-1) part.

### Claim 10 (depends on 8)

The apparatus of claim 8, wherein the processing circuitry is further configured to select, based on a scan order, a first available one of the multiple pieces of motion information to be the representative motion information for the MVCU, the scan order being one of: (1) a raster scan order, (2) a Z scan order, and (3) a decoding order for the MVCU.

### Claim 11 (depends on 8)

The apparatus of claim 8, wherein
one of the plurality of blocks has no motion information; and
the processing circuitry is further configured to:
determine that motion information for the one of the plurality of blocks is unavailable;
set one or more MVs for the one of the plurality of blocks as zero and assigning a reference index to the one of the plurality of blocks;
determine the motion information for the one of the plurality of blocks from a spatial neighbor of the one of the plurality of blocks, the spatial neighbor being another one of the plurality of blocks in the MVCU;
determine the motion information for the one of the plurality of blocks from a collocated block in a collocated picture; or
select the representative motion information for the MVCU to be the motion information for the one of the plurality of blocks.

### Claim 12 (depends on 8)

The apparatus of claim 8, wherein
the MVCU is in a decoder side motion vector derivation (DMVD) mode;
the multiple pieces of motion information selected from the plurality of blocks include unrefined pieces of motion information and refined pieces of motion information corresponding to the plurality of blocks, the refined pieces of motion information being determined from the respective unrefined pieces of motion information using the DMVD; and
the processing circuitry is further configured to perform one of: (1) selecting one of the unrefined pieces of motion information to be the representative motion information for the MVCU, (2) selecting one of the refined pieces of motion information to be the representative motion information for the MVCU, and (3) selecting one of the unrefined pieces of motion information and one of the refined pieces of motion information to be the representative motion information for the MVCU.

### Claim 13

A non-transitory computer-readable storage medium storing a program executable by at least one processor to perform a method comprising:
decoding prediction information of a current block in a current picture from a coded video bitstream, the prediction information indicating an inter prediction mode for reconstructing the current block,
identifying a reference block for the current block, the reference block being one of a plurality of blocks in a motion vector compression unit (MVCU) that is already reconstructed, wherein a size of the MVCU is 2M×2N and a size of each of the plurality of blocks is 2X×2X, where M, N, and X are positive integers, and X is less than either M or N, the reference block is a spatial neighbor of the current block, and the MVCU is in the current picture;
determining current motion information of the current block based on representative motion information for an entirety of the MVCU and not based on motion information of the reference block, wherein a same motion vector compression mechanism is used to compress respective motion information for the current picture and a reference picture for the current block; and
reconstructing at least one sample in the current block based on the current motion information,
wherein the method further comprises, prior to determining the current motion information, determining the representative motion information for the entirety of the MVCU from multiple pieces of motion information, the multiple pieces of motion information including first MVs associated with a first reference list and second MVs associated with a second reference list; and
determining the representative motion information further includes
selecting one of the first MVs occurring most frequently in the first MVs to be a representative first MV for the MVCU;
selecting one of the second MVs occurring most frequently in the second MVs to be a representative second MV for the MVCU; and
determining the representative motion information for the MVCU based on the representative first MV and the representative second MV.
