# US 2020/0404301 A1 · Rules for intra-picture prediction modes when wavefront parallel processing is enabled

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

- Number: US 2020/0404301 A1
- Document ID: US20200404301A1
- Status: Published application
- Kind: A1
- Application number: 17/009,495
- Filed: 2020-09-01
- Published: 2020-12-24
- Earliest claimed: 2017-03-29
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Bin Li; Jizheng Xu
- Web page: https://patentgrep.com/patent/US20200404301A1

## CPC

- H04N 19/436: using parallelised computational arrangements
- H04N 19/11: among a plurality of spatial predictive coding modes
- H04N 19/129: Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
- H04N 19/174: the region being a slice, e.g. a line of blocks or a group of blocks
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/186: the unit being a colour or a chrominance component
- H04N 19/463: by compressing encoding parameters before transmission
- H04N 19/55: Motion estimation with spatial constraints, e.g. at image or region borders
- H04N 19/593: involving spatial prediction techniques
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 19/96: Tree coding, e.g. quad-tree coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Various innovations facilitate the use of intra-picture prediction modes such as palette prediction mode, intra block copy mode, intra line copy mode and intra string copy mode by an encoder or decoder when wavefront parallel processing (“WPP”) is enabled. For example, for a palette coding/decoding mode, an encoder or decoder predicts a palette for an initial unit in a current WPP row of a picture using previous palette data from a previous unit in a previous WPP row of the picture. Or, as another example, for an intra copy mode (e.g., intra block copy mode, intra string copy mode, intra line copy mode), an encoder enforces one or more constraints attributable to the WPP, or a decoder receives and decodes encoded data that satisfies one or more constraints attributable to WPP.

## Claims

### Claim 1

(canceled)

### Claim 2

In a computing system, a method comprising:
receiving encoded data as part of a bitstream; and
decoding the encoded data with wavefront parallel processing (“WPP”) enabled, wherein the decoding reconstructs a picture, including, for a palette decoding mode, predicting a palette for an initial unit in a current WPP row of the picture using previous palette data from a previous unit in a previous WPP row of the picture.

### Claim 3 (depends on 2)

The method of claim 2, wherein:
the palette for the initial unit in the current WPP row represents at least some colors used in the initial unit in the current WPP row;
the previous palette data from the previous unit in the previous WPP row (a) represents at least some colors used in a palette for the previous unit in the previous WPP row or (b) was inherited by the previous unit in the previous WPP row;
the previous WPP row is immediately above the current WPP row; and
the previous unit in the previous WPP row is above the initial unit in the current WPP row or above and to the right of the initial unit in the current WPP row.

### Claim 4 (depends on 2)

The method of claim 2, further comprising:
predicting a palette for a subsequent unit in the current WPP row of the picture using palette data from the palette for the initial unit in the current WPP row of the picture.

### Claim 5 (depends on 2)

The method of claim 2, wherein the current WPP row and the previous WPP row are rows of coding tree units, and wherein the initial unit in the current WPP row and the previous unit in the previous WPP row are coding units.

### Claim 6 (depends on 2)

The method of claim 2, wherein the previous palette data from the previous unit in the previous WPP row includes, for each of C colors, one or more color component values, and wherein C is limited by a threshold count for the previous palette data from the previous unit in the previous WPP.

### Claim 7 (depends on 2)

The method of claim 2, wherein the predicting includes one or more of:
determining whether to reuse the previous palette data from the previous unit in the previous WPP row as the palette for the initial unit in the current WPP row; and
selecting one or more colors from the previous palette data from the previous unit in the previous WPP row to include in the palette for the initial unit in the current WPP row.

### Claim at position 8

-20. (canceled)

### Claim 21 (depends on 2)

The method of claim 2, wherein the current WPP row and the previous WPP row are rows of coding tree units, the previous WPP row is immediately above the current WPP row, and the previous unit in the previous WPP row is an initial unit in the previous WPP row.

### Claim 22 (depends on 2)

The method of claim 2, wherein the predicting the palette for the initial unit in the current WPP row does not use previous palette data from a last unit in the previous WPP row.

### Claim 23 (depends on 2)

The method of claim 2, wherein the encoded data includes a flag that indicates whether or not WPP is enabled, the flag being part of a picture parameter set syntax structure or sequence parameter set syntax structure.

### Claim 24

A computer system comprising a processor and memory, the computer system implementing a video encoder configured to perform operations comprising:
encoding a picture with wavefront parallel processing (WPP) enabled, wherein the encoding produces encoded data, including, for a palette coding mode, predicting a palette for an initial unit in a current WPP row of the picture using previous palette data from a previous unit in a previous WPP row of the picture; and
outputting the encoded data as part of a bitstream.

### Claim 25 (depends on 24)

The computer system of claim 24, wherein:
the palette for the initial unit in the current WPP row represents at least some colors used in the initial unit in the current WPP row;
the previous palette data from the previous unit in the previous WPP row (a) represents at least some colors used in a palette for the previous unit in the previous WPP row or (b) was inherited by the previous unit in the previous WPP row;
the previous WPP row is immediately above the current WPP row; and
the previous unit in the previous WPP row is above the initial unit in the current WPP row or above and to the right of the initial unit in the current WPP row.

### Claim 26 (depends on 24)

The computer system of claim 24, further comprising:
predicting a palette for a subsequent unit in the current WPP row of the picture using palette data from the palette for the initial unit in the current WPP row of the picture.

### Claim 27 (depends on 24)

The computer system of claim 24, wherein the current WPP row and the previous WPP row are rows of coding tree units, and wherein the initial unit in the current WPP row and the previous unit in the previous WPP row are coding units.

### Claim 28 (depends on 24)

The computer system of claim 24, wherein the previous palette data from the previous unit in the previous WPP row includes, for each of C colors, one or more color component values, and wherein C is limited by a threshold count for the previous palette data from the previous unit in the previous WPP.

### Claim 29 (depends on 24)

The computer system of claim 24, wherein the predicting includes one or more of:
determining whether to reuse the previous palette data from the previous unit in the previous WPP row as the palette for the initial unit in the current WPP row; and
selecting one or more colors from the previous palette data from the previous unit in the previous WPP row to include in the palette for the initial unit in the current WPP row.

### Claim 30 (depends on 24)

The computer system of claim 24, wherein the current WPP row and the previous WPP row are rows of coding tree units, the previous WPP row is immediately above the current WPP row, and the previous unit in the previous WPP row is an initial unit in the previous WPP row.

### Claim 31 (depends on 24)

The computer system of claim 24, wherein the predicting the palette for the initial unit in the current WPP row does not depend on previous palette data from a last unit in the previous WPP row.

### Claim 32 (depends on 24)

The computer system of claim 24, wherein the encoded data includes a flag that indicates whether or not WPP is enabled, the flag being part of a picture parameter set syntax structure or sequence parameter set syntax structure.

### Claim 33

One or more computer-readable media having stored thereon encoded data as part of a bitstream, wherein the encoded data includes a flag that indicates whether or not wavefront parallel processing (WPP) is enabled, the flag being part of a picture parameter set syntax structure or sequence parameter set syntax structure, and wherein the encoded data is organized to facilitate decoding the encoded data with WPP enabled by operations comprising, for a palette decoding mode, predicting a palette for an initial unit in a current WPP row of the picture using previous palette data from a previous unit in a previous WPP row of the picture.

### Claim 34 (depends on 33)

The one or more computer-readable media of claim 33, wherein the current WPP row and the previous WPP row are rows of coding tree units, the previous WPP row is immediately above the current WPP row, and the previous unit in the previous WPP row is an initial unit in the previous WPP row.
