# US 11,909,969 B2 · Methods and apparatus of video coding for triangle prediction

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

- Number: US 11,909,969 B2
- Document ID: US11909969B2
- Status: Granted
- Kind: B2
- Application number: 17/975,546
- Filed: 2022-10-27
- Published: 2023-03-30
- Granted: 2024-02-20
- Earliest claimed: 2018-12-30
- Assignees: Beijing Dajia Internet Information Technology Co., Ltd.
- Applicants: Beijing Dajia Internet Information Technology Co., Ltd.
- Inventors: Xianglin Wang; Yi-Wen Chen
- Web page: https://patentgrep.com/patent/US11909969B2

## CPC

- H04N 19/119: Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 19/115: Selection of the code volume for a coding unit prior to coding
- H04N 19/52: by predictive encoding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method for video coding is provided. The method includes: partitioning video pictures into a plurality of coding units (CUs), at least one of which is further portioned into two prediction units (PUs) including at least one triangular shaped PU with a partitioning orientation in one of: from top-left corner to bottom-right corner, and from top-right corner to bottom-left corner; constructing a uni-prediction motion vector candidate list; determining whether a current CU is coded as triangle prediction mode according to coded information; signaling a partition orientation flag indicating the partitioning orientation; and signaling index values that indicate selected entries in the constructed uni-prediction motion vector candidate list.

## Claims

### Claim 1

A method for video encoding comprising:
partitioning a video picture into a plurality of coding units (CUs), wherein at least one of the plurality of CUs is further partitioned into two prediction units (PUs); and
in response to determining that a current CU is coded in an inter prediction mode,
signaling coded information for inferring whether the current CU is coded in triangle prediction mode; and
in response to determining that the current CU is coded in the triangle prediction mode, signaling a partition orientation syntax element indicating a partitioning orientation, and signaling index values corresponding to uni-prediction motion vector candidates;
wherein the coded information comprises a triangle prediction tool enable/disable flag signaled in sequence parameter set (SPS), and the current CU is inferred as not being coded in the triangle prediction mode in response to determining that the triangle prediction tool enable/disable flag is false.

### Claim 2 (depends on 1)

The method of claim 1, wherein the uni-prediction motion vector candidates comprise two uni-prediction motion vector candidates.

### Claim 3 (depends on 1)

The method of claim 1, wherein the partition orientation syntax element is coded as Context-based Adaptive Binary Arithmetic Coding (CABAC) bypass bin.

### Claim 4 (depends on 1)

The method of claim 1, wherein the coded information further comprises flags for indicating whether all other merge related modes are enabled, and the current CU is inferred as being coded in the triangle prediction mode in response to determining the triangle prediction tool enable/disable flag is true and the flags indicate all other merge related modes are disabled.

### Claim 5 (depends on 4)

The method of claim 4, wherein the all other merge related modes comprise Combined Inter and Intra Prediction (CIIP) mode, sub-block merge mode and Merge Mode with Motion Vector Difference (MMVD) mode.

### Claim 6 (depends on 1)

The method of claim 1, wherein a triangle prediction flag is inferred to be 0 or 1 according to the coded information, wherein the triangle prediction flag indicates whether the current CU is coded in the triangle prediction mode.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
inter-predicting each PU based on each PU's uni-prediction motion vector and reference frame index.

### Claim 8

An apparatus for video encoding, comprising:
a processor; and
a memory configured to store instructions executable by the processor;
wherein the processor, upon execution of the instructions, is configured to:
partition a video picture into a plurality of coding units (CUs), wherein at least one of the plurality of CUs is further partitioned into two prediction units (PUs); and
in response to that a current CU is coded in an inter prediction mode,
signal coded information for inferring whether the current CU is coded in triangle prediction mode; and
in response to determining that the current CU is coded in the triangle prediction mode, signal a partition orientation syntax element indicating a partitioning orientation, and signal index values corresponding to uni-prediction motion vector candidates;
wherein the coded information comprises a triangle prediction tool enable/disable flag signaled in sequence parameter set (SPS), and the current CU is inferred as not being coded in the triangle prediction mode in response to determining that the triangle prediction tool enable/disable flag is false.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the uni-prediction motion vector candidates comprises two uni-prediction motion vector candidates.

### Claim 10 (depends on 8)

The apparatus of claim 8, wherein the partition orientation syntax element is coded as Context-based Adaptive Binary Arithmetic Coding (CABAC) bypass bin.

### Claim 11 (depends on 8)

The apparatus of claim 8, wherein the coded information further comprises flags for indicating whether all other merge related modes are enabled, and the current CU is inferred as being coded in the triangle prediction mode in response to determining the triangle prediction tool enable/disable flag is true and the flags indicate all other merge related modes are disabled.

### Claim 12 (depends on 8)

The apparatus of claim 8, wherein a triangle prediction flag is inferred to be 0 or 1 according to the coded information, wherein the triangle prediction flag indicates whether the current CU is coded in the triangle prediction mode.

### Claim 13 (depends on 8)

The apparatus of claim 8, wherein the all other merge related modes comprise Combined Inter and Intra Prediction (CIIP) mode, sub-block merge mode and Merge Mode with Motion Vector Difference (MMVD) mode.

### Claim 14 (depends on 8)

The apparatus of claim 8, wherein the processor is further configured to:
inter-predict each PU based on each PU's uni-prediction motion vector and reference frame index.

### Claim 15

A non-transitory computer readable storage medium storing encoded video data, wherein the encoded video data is generated by operations comprising:
partitioning a video picture into a plurality of coding units (CUs), wherein at least one of the plurality of CUs is further partitioned into two prediction units (PUs); and
in response to determining that a current CU is coded in an inter prediction mode,
signaling coded information for inferring whether the current CU is coded in triangle prediction mode; and
in response to determining that the current CU is coded in the triangle prediction mode, signaling a partition orientation syntax element indicating a partitioning orientation, and signaling index values corresponding to uni-prediction motion vector candidates;
wherein the coded information comprises a triangle prediction tool enable/disable flag signaled in sequence parameter set (SPS), and the current CU is inferred as not being coded in the triangle prediction mode in response to determining that the triangle prediction tool enable/disable flag is false.

### Claim 16 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein the uni-prediction motion vector candidates comprise two uni-prediction motion vector candidates.

### Claim 17 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein the partition orientation syntax element is coded as Context-based Adaptive Binary Arithmetic Coding (CABAC) bypass bin.

### Claim 18 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein the coded information further comprises flags for indicating whether all other merge related modes are enabled, and the current CU is inferred as being coded in the triangle prediction mode in response to determining the triangle prediction tool enable/disable flag is true and the flags indicate all other merge related modes are disabled.

### Claim 19 (depends on 18)

The non-transitory computer readable storage medium of claim 18, wherein the all other merge related modes comprise Combined Inter and Intra Prediction (CIIP) mode, sub-block merge mode and Merge Mode with Motion Vector Difference (MMVD) mode.

### Claim 20 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein a triangle prediction flag is inferred to be 0 or 1 according to the coded information, wherein the triangle prediction flag indicates whether the current CU is coded in the triangle prediction mode.
