# US 12,120,293 B2 · Mmvd mode separation and interpolation reordering

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

- Number: US 12,120,293 B2
- Document ID: US12120293B2
- Status: Granted
- Kind: B2
- Application number: 17/977,466
- Filed: 2022-10-31
- Published: 2023-06-22
- Granted: 2024-10-15
- Earliest claimed: 2021-12-16
- Assignees: Mediatek Inc.
- Applicants: MediaTek Inc.
- Inventors: Cheng-Yen Chuang; Man-Shu Chiang; Chun-Chia Chen; Chih-Wei Hsu; Tzu-Der Chuang; Ching-Yeh Chen; Yu-Wen Huang
- Web page: https://patentgrep.com/patent/US12120293B2

## CPC

- 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/117: Filters, e.g. for pre-processing or post-processing (sub-band filter banks H04N19/635)
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/423: characterised by memory arrangements (H04N19/433 takes precedence)
- H04N 19/52: by predictive encoding
- H04N 19/523: with sub-pixel accuracy
- H04N 19/82: involving filtering within a prediction loop
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A video coding system generating candidates for Merge Mode with Motion Vector Difference (MMVD) with reduced resource usage is provided. The system receives data to be encoded or decoded as a current block of a current picture of a video. The system identifies multiple MMVD candidates for different offset positions based on a merge candidate of the current block. The system generates reference samples for the identified MMVD candidates. The system reconstructs the current block or encodes the current block into a bitstream by using the generated reference samples. The system processes the MMVD candidates in separate groups: a first group of vertical MMVD candidates and a second group of horizontal MMVD candidates. The system generates the reference samples for the identified MMVD candidates by applying a vertical filter to source reference samples of horizontal MMVD candidates and then applying a horizontal filter to outputs of the vertical filter.

## Claims

### Claim 1

A video encoding method comprising:
receiving raw pixel data for a block of pixels to be encoded as a current block of a current picture of a video into a bitstream;
identifying a first Merge Mode with Motion Vector Difference (MMVD) candidate group and a second MMVD candidate group for a merge candidate of the current block, wherein the first MMVD candidate group comprises more than one MMVD candidates having a first offset attribute, and the second MMVD candidate group comprises more than one MMVD candidates having a second offset attribute;
generating reference samples based on the first MMVD candidate group and the second MMVD candidate group; and
encoding the current block into the bitstream by using the generated reference samples.

### Claim 2 (depends on 1)

The video encoding method of claim 1, wherein generating the reference samples comprises deriving a first set of reference samples for the more than one MMVD candidates in the first MMVD candidate group and a second set of reference samples for the more than one MMVD candidates in the second MMVD candidate group.

### Claim 3 (depends on 2)

The video encoding method of claim 2, wherein deriving the first set of reference samples comprises accessing reference samples confined to a first access range and deriving the second set of reference samples comprises accessing reference samples confined to a second, different access range.

### Claim 4 (depends on 1)

The video encoding method of claim 1, wherein the first MMVD candidate group comprises two or more vertical MMVD candidates having vertical offset positions from the merge candidate and the second MMVD candidate group comprises two or more horizontal MMVD candidates having horizontal offset positions from the merge candidate.

### Claim 5 (depends on 4)

The video encoding method of claim 4, wherein the first MMVD candidate group comprises all vertical MMVD candidates for coding the current block and the second MMVD candidate group comprises all horizontal MMVD candidates for coding the current block.

### Claim 6 (depends on 1)

The video encoding method of claim 1, wherein generating the reference samples comprises applying a vertical filter to source reference samples of horizontal MMVD candidates and applying a horizontal filter to outputs of the vertical filter.

### Claim 7 (depends on 6)

The video encoding method of claim 6, wherein the source reference samples are stored in a shift register for the vertical filter.

### Claim 8 (depends on 6)

The video encoding method of claim 6, wherein each source reference sample has fewer bits than a filtered result of each reference sample.

### Claim 9 (depends on 6)

The video encoding method of claim 6, wherein at least some of the outputs of the horizontal filter are reused for different horizontal filter candidates.

### Claim 10 (depends on 1)

The video encoding method of claim 1, wherein at least one of the first MMVD candidate group and the second MMVD candidate group comprises MMVD candidates having fractional offsets and MMVD candidates having integer offsets.

### Claim 11 (depends on 1)

The video encoding method of claim 1, wherein the first offset attribute and the second offset attribute are associated with an offset sign or an offset direction.

### Claim 12 (depends on 1)

The video encoding method of claim 1, wherein the first offset attribute is associated with vertical direction and the second offset attribute is associated with horizontal direction.

### Claim 13

A video decoding method comprising:
receiving to-be-decoded data from a bitstream for a block of pixels to be decoded as a current block of a current picture of a video;
identifying a Merge Mode with Motion Vector Difference (MMVD) candidate having an offset positions based on a merge candidate of the current block;
generating reference samples for the identified MMVD candidate by applying a vertical filter to source reference samples of a horizontal MMVD candidate and applying a horizontal filter to outputs of the vertical filter; and
reconstructing the current block by using the generated reference samples.

### Claim 14 (depends on 13)

The video decoding method of claim 13, wherein the source reference samples are stored in a shift register for the vertical filter.

### Claim 15 (depends on 13)

The video decoding method of claim 13, wherein each source reference sample has fewer bits than a filtered result of each reference sample.

### Claim 16 (depends on 13)

The video decoding method of claim 13, wherein the identified MMVD candidate has a fractional offset or an integer offset.

### Claim 17

An electronic apparatus comprising:
an encoder circuit configured to perform operations comprising:
receiving raw pixel data for a block of pixels to be encoded as a current block of a current picture of a video into a bitstream;
identifying a first Merge Mode with Motion Vector Difference (MMVD) candidate group and a second MMVD candidate group for a merge candidate of the current block, wherein the first MMVD candidate group comprises more than one MMVD candidates having a first offset attribute, and the second MMVD candidate group comprises more than one MMVD candidates having a second offset attribute;
generating reference samples based on the first MMVD candidate group and the second MMVD candidate group; and
encoding the current block into the bitstream by using the generated reference samples.
