# US 12,003,748 B2 · Determination of a maximum number of merge candidates in subblock based merge candidate lists

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

- Number: US 12,003,748 B2
- Document ID: US12003748B2
- Status: Granted
- Kind: B2
- Application number: 17/854,212
- Filed: 2022-06-30
- Published: 2022-10-20
- Granted: 2024-06-04
- Earliest claimed: 2020-04-06
- Assignees: Tencent America LLC
- Applicants: Tencent America LLC
- Inventors: Guichun Li; Xiang Li; Xiaozhong Xu; Shan Liu
- Web page: https://patentgrep.com/patent/US12003748B2

## CPC

- H04N 19/44: Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
- 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/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/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method for video encoding includes determining a parameter corresponding to the coded video bitstream based on a calculated maximum number of candidates. The parameter is in a range from 0 to 5-sps_sbtmvp_enabled_flag, where the sps_sbtmvp_enabled_flag equal to 1 specifies that subblock based temporal motion vector predictors are used. The sps_sbtmvp_enabled_flag equal to 0 specifies that the subblock based temporal motion vector predictors are not used. In response to a current block being in a subblock based prediction mode, the method includes encoding samples of the current block based on a candidate selection from a constructed subblock based merge candidate list of the current block. The constructed subblock based merge candidate list of the current block is constrained by the maximum number of candidates in the subblock based merge candidate lists.

## Claims

### Claim 1

A method for video encoding, comprising:
calculating, by processing circuitry of a video encoder, a maximum number of candidates in subblock based merge candidate lists for coding a video bitstream,
determining a parameter corresponding to the coded video bitstream based on the calculated maximum number of candidates, the parameter being in a range from 0 to 5-sps_sbtmvp_enabled_flag, wherein the sps_sbtmvp_enabled_flag equal to 1 specifies that subblock based temporal motion vector predictors are used in decoding of pictures with slices having slice type not equal to I (intra coded) in a coded video, and wherein the sps_sbtmvp_enabled_flag equal to 0 specifies that the subblock based temporal motion vector predictors are not used in the coded video; and
in response to a current block being in a subblock based prediction mode, encoding samples of the current block based on a candidate selection from a constructed subblock based merge candidate list of the current block, the constructed subblock based merge candidate list of the current block being constrained by the maximum number of candidates in the subblock based merge candidate lists.

### Claim 2 (depends on 1)

The method of claim 1, wherein the determining further comprises:
determining the parameter by subtracting the calculated maximum number of candidates in the subblock based merge candidate lists from a default number.

### Claim 3 (depends on 2)

The method of claim 2, wherein the default number is 5.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
transmitting the determined parameter with the coded video bitstream.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
implying the determined parameter based on a default number and the sps_sbtmvp_enabled_flag and not signaling the determined parameter in the coded video bitstream.

### Claim 6 (depends on 1)

The method of claim 1, wherein the sps_sbtmvp_enabled_flag is included at a sequence parameter set (SPS) level of the coded video bitstream.

### Claim 7 (depends on 1)

The method of claim 1, wherein the sps_sbtmvp_enabled_flag is included at a sequence parameter set (SPS) level of the coded video bitstream and the range is further based on a flag indicative of an enable/disable status of temporal motion vector prediction at a picture header (PH) level of the coded video bitstream.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
implying the parameter based on a default number, the sps_sbtmvp_enabled_flag, and the flag indicative of the enable/disable status of temporal motion vector prediction and not signaling the parameter in the coded video bitstream.

### Claim 9 (depends on 1)

The method of claim 1, further comprising
implying the determined parameter and not signaling the determined parameter in the coded video bitstream when the determined parameter is equal to an upper limit of the range.

### Claim 10

An apparatus for video encoding, comprising:
processing circuitry configured to:
calculate a maximum number of candidates in subblock based merge candidate lists for coding a video bitstream,
determine a parameter corresponding to the coded video bitstream based on the calculated maximum number of candidates, the parameter being in a range from 0 to 5-sps_sbtmvp_enabled_flag, wherein the sps_sbtmvp_enabled_flag equal to 1 specifies that subblock based temporal motion vector predictors are used in decoding of pictures with slices having slice type not equal to I (intra coded) in a coded video, and wherein the sps_sbtmvp_enabled_flag equal to 0 specifies that the subblock based temporal motion vector predictors are not used in the coded video; and
in response to a current block being in a subblock based prediction mode, encode samples of the current block based on a candidate selection from a constructed subblock based merge candidate list of the current block, the constructed subblock based merge candidate list of the current block being constrained by the maximum number of candidates in the subblock based merge candidate lists.

### Claim 11 (depends on 10)

The apparatus of claim 10, wherein the processing circuitry is further configured to:
determine the parameter by subtracting the calculated maximum number of candidates in the subblock based merge candidate lists from a default number.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein the default number is 5.

### Claim 13 (depends on 10)

The apparatus of claim 10, wherein the processing circuitry is configured to
transmit the determined parameter with the coded video bitstream.

### Claim 14 (depends on 10)

The apparatus of claim 10, wherein the processing circuitry is configured to:
imply the determined parameter based on a default number and the sps_sbtmvp_enabled_flag without signaling the determined parameter in the coded video bitstream.

### Claim 15 (depends on 10)

The apparatus of claim 10, wherein the sps_sbtmvp_enabled_flag is included at a sequence parameter set (SPS) level of the coded video bitstream.

### Claim 16 (depends on 10)

The apparatus of claim 10, wherein the sps_sbtmvp_enabled_flag is included at a sequence parameter set (SPS) level of the coded video bitstream and the range is further based on a flag indicative of an enable/disable status of temporal motion vector prediction at a picture header (PH) level of the coded video bitstream.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein the processing circuitry is configured to:
imply the parameter based on a default number, the sps_sbtmvp_enabled_flag, and the flag indicative of the enable/disable status of temporal motion vector prediction without signaling the parameter in the coded video bitstream.

### Claim 18 (depends on 10)

The apparatus of claim 10, wherein the processing circuitry is configured to:
imply the determined parameter without signaling the determined parameter in the coded video bitstream when the determined parameter is equal to an upper limit of the range.

### Claim 19

A non-transitory computer-readable medium storing instructions which, when executed by a computer for video encoding, cause the computer to perform:
calculating a maximum number of candidates in subblock based merge candidate lists for coding a video bitstream;
determining a parameter corresponding to the coded video bitstream based on the calculated maximum number of candidates, the parameter being in a range from 0 to 5-sps_sbtmvp_enabled_flag, wherein the sps_sbtmvp_enabled_flag equal to 1 specifies that subblock based temporal motion vector predictors are used in encoding of pictures with slices having slice type not equal to I (intra coded) in a coded video, and wherein the sps_sbtmvp_enabled_flag equal to 0 specifies that the subblock based temporal motion vector predictors are not used in the coded video; and
in response to a current block being in a subblock based prediction mode, encoding samples of the current block based on a candidate selection from a constructed subblock based merge candidate list of the current block, the constructed subblock based merge candidate list of the current block being constrained by the maximum number of candidates in the subblock based merge candidate lists.

### Claim 20 (depends on 19)

The non-transitory computer-readable medium of claim 19, wherein the instructions further cause the computer to perform:
determining the parameter by subtracting the calculated maximum number of candidates in the subblock based merge candidate lists from a default number.
