# US 11,451,829 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,829 B2
- Document ID: US11451829B2
- Status: Granted
- Kind: B2
- Application number: 17/118,240
- Filed: 2020-12-10
- Published: 2021-03-25
- Granted: 2022-09-20
- Earliest claimed: 2018-12-12
- Assignees: Tencent America LLC
- Applicants: Tencent America LLC
- Inventors: Meng Xu; Xiang Li; Shan Liu
- Web page: https://patentgrep.com/patent/US11451829B2

## CPC

- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- 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/109: among a plurality of temporal predictive coding modes
- H04N 19/119: Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
- H04N 19/17: the unit being an image region, e.g. an object
- H04N 19/176: the region being a block, e.g. a macroblock
- 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/577: Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

An apparatus for video decoding includes processing circuitry configured to receive a split direction syntax element, a first index syntax element, and a second index syntax element that are associated with a coding block coded with a triangular prediction mode. The coding block can be partitioned into two triangular prediction units according to a split direction indicated by the split direction syntax element. The first and second index syntax elements can indicate a first merge index and a second merge index to a merge candidate list constructed for the two triangular prediction units. The coding block can be reconstructed according to the split direction, the first merge index, and second merge index.

## Claims

### Claim 1

A method for video decoding in a decoder, comprising:
receiving and decoding a split direction syntax element, a first index syntax element, and a second index syntax element that are associated with a coding block of a picture,
the coding block being coded according to a triangular prediction mode and partitioned into a first prediction unit and a second prediction unit according to a split direction,
the first index syntax element being coded according to first one or more bins, and
the second index syntax element being coded according to second one or more bins;
deriving a triangular prediction index for the coding block based on a first value indicated by the first index syntax element, a second value indicated by the second index syntax element, and a third value indicated by the split direction syntax element, wherein the split direction syntax element, the first index syntax element, and the second index syntax element are transmitted in a bitstream in the order of the split direction syntax element followed by the first index syntax element followed by the second index syntax element;
determining the split direction by processing the triangular prediction index;
determining a first merge index by processing the triangular prediction index, the first merge index identifying first motion information in a merge candidate list constructed for the coding block;
determining a second merge index by processing the triangular prediction index, the second merge index identifying second motion information in the merge candidate list constructed for the coding block;
determining first prediction samples of the first prediction unit according to the first motion information;
determining second prediction samples of the second prediction unit according to the second motion information; and
reconstructing the coding block according to the first prediction samples of the first prediction unit and the second prediction samples of the second prediction unit.

### Claim 2 (depends on 1)

The method of claim 1, wherein
a first one of the first one or more bins is context coded.

### Claim 3 (depends on 1)

The method of claim 1, wherein
a first one of the second one or more bins is context coded.

### Claim 4 (depends on 1)

The method of claim 1, wherein
the split direction syntax element indicates the third value that is 0 or 1.

### Claim 5 (depends on 1)

The method of claim 1, wherein the determining the split direction comprises:
determining the split direction is from a top-left corner to a bottom-right corner in a case that the third value indicated by the split direction syntax element is 0; and
determining the split direction is from a top-right corner to a bottom-left corner in a case that the third value indicated by the split direction syntax element is 1.

### Claim 6 (depends on 1)

The method of claim 1, wherein
the first index syntax element indicates the first value that is 0, 1, 2, 3, or 4, and
the second index syntax element indicates the second value that is 0, 1, 2, or 3.

### Claim 7 (depends on 1)

The method of claim 1, wherein
the first index syntax element indicates the first value m,
the second index syntax element indicates the second value n,
the determining the first merge index comprises setting the first merge index to m, and
the determining the second merge index comprises:
setting the second merge index to n in a case that n is less than m, and
setting the second merge index to (n+1) in a case that n is equal to or greater than in.

### Claim 8 (depends on 1)

The method of claim 1, wherein the split direction syntax element, the first index syntax element, and the second index syntax element are coded according to different binarization methods.

### Claim 9 (depends on 1)

The method of claim 1, wherein the first index syntax element is coded according to a binarization method selected from truncated unary coding, truncated binary coding, and a combined prefix and fixed-length coding.

### Claim 10 (depends on 1)

The method of claim 1, wherein the second index syntax element is coded according to a binarization method selected from truncated unary coding and binary coding.

### Claim 11 (depends on 1)

The method of claim 1, wherein the deriving the triangular prediction index is performed according to an equation of
the triangular prediction index=a*the first value indicated by the first index syntax element+b*the second value indicated by the second index syntax element+c*the third value indicated by the split direction syntax element,
a, b, and c being integers.

### Claim 12 (depends on 11)

The method of claim 11, wherein a equals 8, b equals 2, and c equals 1.

### Claim 13

An apparatus of video decoding, comprising:
processing circuitry configured to:
receive and decode a split direction syntax element, a first index syntax element, and a second index syntax element that are associated with a coding block of a picture,
the coding block being coded according to a triangular prediction mode and partitioned into a first prediction unit and a second prediction unit according to a split direction,
the first index syntax element being coded according to first one or more bins, and
the second index syntax element being coded according to second one or more bins;
derive a triangular prediction index for the coding block based on a first value indicated by the first index syntax element, a second value indicated by the second index syntax element, and a third value indicated by the split direction syntax element, wherein the split direction syntax element, the first index syntax element, and the second index syntax element are transmitted in a bitstream in the order of the split direction syntax element followed by the first index syntax element followed by the second index syntax element;
determine the split direction by processing the triangular prediction index;
determine a first merge index by processing the triangular prediction index, the first merge index identifying first motion information in a merge candidate list constructed for the coding block;
determine a second merge index by processing the triangular prediction index, the second merge index identifying second motion information in the merge candidate list constructed for the coding block;
determine first prediction samples of the first prediction unit according to the first motion information;
determine second prediction samples of the second prediction unit according to the second motion information; and
reconstruct the coding block according to the first prediction samples of the first prediction unit and the second prediction samples of the second prediction unit.

### Claim 14 (depends on 13)

The apparatus of claim 13, wherein
a first one of the first one or more bins is context coded.

### Claim 15 (depends on 13)

The apparatus of claim 13, wherein
a first one of the second one or more bins is context coded.

### Claim 16 (depends on 13)

The apparatus of claim 13, wherein
the split direction syntax element indicates the third value that is 0 or 1.

### Claim 17 (depends on 13)

The apparatus of claim 13, wherein the processing circuitry is further configured to:
determine the split direction is from a top-left corner to a bottom-right corner in a case that the third value indicated by the split direction syntax element is 0; and
determine the split direction is from a top-right corner to a bottom-left corner in a case that the third value indicated by the split direction syntax element is 1.

### Claim 18 (depends on 13)

The apparatus of claim 13, wherein
the first index syntax element indicates the first value that is 0, 1, 2, 3, or 4, and
the second index syntax element indicates the second value that is 0, 1, 2, or 3.

### Claim 19 (depends on 13)

The apparatus of claim 13, wherein
the first index syntax element indicates the first value m,
the second index syntax element indicates the second value n, and
wherein the processing circuitry is further configured to:
set the first merge index to m;
set the second merge index to n in a case that n is less than m; and
set the second merge index to (n+1) in a case that n is equal to or greater than m.

### Claim 20

A non-transitory computer-readable medium storing instructions which, when executed by a computer for video decoding, cause the computer to perform a method of video decoding, the method comprising:
receiving and decoding a split direction syntax element, a first index syntax element, and a second index syntax element that are associated with a coding block of a picture,
the coding block being coded according to a triangular prediction mode and partitioned into a first prediction unit and a second prediction unit according to a split direction,
the first index syntax element being coded according to first one or more bins, and
the second index syntax element being coded according to second one or more bins;
deriving a triangular prediction index for the coding block based on a first value indicated by the first index syntax element, a second value indicated by the second index syntax element, and a third value indicated by the split direction syntax element, wherein the split direction syntax element, the first index syntax element, and the second index syntax element are transmitted in a bitstream in the order of the split direction syntax element followed by the first index syntax element followed by the second index syntax element;
determining the split direction by processing the triangular prediction index;
determining a first merge index by processing the triangular prediction index, the first merge index identifying first motion information in a merge candidate list constructed for the coding block;
determining a second merge index by processing the triangular prediction index, the second merge index identifying second motion information in the merge candidate list constructed for the coding block;
determining first prediction samples of the first prediction unit according to the first motion information;
determining second prediction samples of the second prediction unit according to the second motion information; and
reconstructing the coding block according to the first prediction samples of the first prediction unit and the second prediction samples of the second prediction unit.
