# US 2020/0404259 A1 · Early intra coding decision (pph)

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

- Number: US 2020/0404259 A1
- Document ID: US20200404259A1
- Status: Published application
- Kind: A1
- Application number: 16/799,983
- Filed: 2020-02-25
- Published: 2020-12-24
- Earliest claimed: 2019-06-20
- Assignees: Pexip AS
- Applicants: Pexip AS
- Inventors: Lars Petter ENDRESEN
- Web page: https://patentgrep.com/patent/US20200404259A1

## CPC

- H04N 19/107: between spatial and temporal predictive coding, e.g. picture refresh
- H04N 19/11: among a plurality of spatial predictive coding modes
- H04N 19/122: Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
- H04N 19/14: Coding unit complexity, e.g. amount of activity or edge presence estimation (H04N19/146 takes precedence)
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/18: the unit being a set of transform coefficients
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

The present invention uses large intra blocks coding for uniform regions of the video by making early decision of intra block coding based on DCT and DC calculations. This has shown to increase the visual quality of uniform areas significantly, and by utilizing a possibility of parallel calculation, the extra processing cost for the early decision is insignificant.

## Claims

### Claim 1

A method of video coding implemented in a processor device for preparing to determine whether a M×M pixel block in a video image, which can be divided into an integer number of N×N blocks, should be coded by means of intra coding, the method comprising:
calculating DCT coefficients of the N×N blocks;
calculating DC values of the N×N blocks;
comparing the DCT coefficients of the N×N blocks with a predefined first threshold, if all the DCT coefficients of the N×N blocks are below a predefined first threshold, then assigning a “0” to the respective N×N block, if not, assigning a “1” to the respective N×N block, resulting in a first (M/N)×(M/N) block with one corresponding first assignment for each (M/N)×(M/N) block; and
calculating DCT coefficients of the DC values of the N×N blocks, if all the DCT coefficients of the DC values of N×N blocks are below a predefined second threshold, then assigning a “0” to the respective N×N block, if not, assigning a “1” to the respective N×N block, resulting in a second (M/N)×(M/N) block with one corresponding second assignment for each (M/N)×(M/N) block, if the first assignment for each (M/N)×(M/N) block and the corresponding second assignment for each (M/N)×(M/N) block are zero, then the M×M pixel block is determined to be coded by means of intra coding.

### Claim 2 (depends on 1)

The method of claim 1, wherein the DCT coefficients of the respective N×N blocks are stored in a first 64 bit bitmask.

### Claim 3 (depends on 1)

The method of claim 1, wherein the respective (M/N)×(M/N) blocks are stored in a second 64 bit bitmask.

### Claim 4 (depends on 1)

The method of claim 1, wherein M=128, M=64, or M=32.

### Claim 5 (depends on 1)

The method of claim 1, wherein N=4, N=8, N=16, or N=32.

### Claim 6 (depends on 1)

The method of claim 1, wherein the steps of calculating are implemented by the SAD instructions of 512 bit AVX512.

### Claim 7

A video processor device for video coding adjusted to determine whether a M×M pixel block in a video image, which can be divided into an integer number of N×N blocks, should be coded by means of intra coding, where the video processor device is adjusted to implement the following steps:
calculating DCT coefficients of the N×N blocks;
calculating DC values of the N×N blocks;
comparing the DCT coefficients of the N×N blocks with a predefined first threshold, if all the DCT coefficients of the N×N blocks are below a predefined first threshold, then assigning a “0” to the respective N×N block, if not, assigning a “1” to the respective N×N block, resulting in a (M/N)×(M/N) block with one corresponding first assignment for each (M/N)×(M/N) block; and
calculating DCT coefficients of the DC values of N×N blocks, if all the DCT coefficients of the DC values of N×N blocks are below a predefined second threshold, then assigning a “0” to the respective N×N block, if not, assigning a “1” to the respective N×N block, resulting in a (M/N)×(M/N) block with one corresponding second assignment for each (M/N)×(M/N) block, if the first assignment for each (M/N)×(M/N) block and the corresponding second assignment for each (M/N)×(M/N) block are zero, then the M×M pixel block is determined to be coded by means of intra coding.

### Claim 8 (depends on 7)

The video processor device of claim 7, wherein the DCT coefficients of the respective N×N blocks are stored in a first 64 bit bitmask.

### Claim 9 (depends on 7)

The video processor device of claim 7, wherein the respective (M/N)×(M/N) blocks are stored in a second 64 bit bitmask.

### Claim 10 (depends on 7)

The video processor device of claim 7, wherein M=128, M=64, or M=32.

### Claim 11 (depends on 7)

The video processor device of claim 7, wherein N=4, N=8, N=16, or N=32.

### Claim 12 (depends on 7)

The video processor device of claim 7, wherein the steps of calculating are implemented by the SAD instructions of 512 bit AVX512.
