# US 12,120,356 B2 · Systems and methods for video decoding with partial-block deblocking filtering for use by constrained directional enhancement filter

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

- Number: US 12,120,356 B2
- Document ID: US12120356B2
- Status: Granted
- Kind: B2
- Application number: 17/875,317
- Filed: 2022-07-27
- Published: 2024-02-01
- Granted: 2024-10-15
- Earliest claimed: 2022-07-27
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Vikrant Mahajan; Sandeep Nellikatte Srivatsa; Ashish Mishra; Lingfeng Li; Apoorva Nagarajan
- Web page: https://patentgrep.com/patent/US12120356B2

## CPC

- H04N 19/423: characterised by memory arrangements (H04N19/433 takes precedence)
- H04N 19/86: involving reduction of coding artifacts, e.g. of blockiness
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/82: involving filtering within a prediction loop
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Video decoding systems and techniques are described. The decoder applies a deblocking (DB) filter to the plurality of sub-blocks of a block of video data to generate a DB-filtered plurality of sub-blocks. The decoder applies the DB filter to one or more lines (e.g., columns) of pixels in an additional sub-block of the block to generate a DB-filtered portion of the additional sub-block. The one or more lines of pixels in the additional sub-block are filtered without filtering an entirety of the additional sub-block using the DB filter. The additional sub-block is adjacent to at least one of the plurality of sub-blocks. The decoder applies a constrained directional enhancement filter (CDEF) to the DB-filtered plurality of sub-blocks and the DB-filtered portion of the additional sub-block to generate a CDEF-filtered plurality of sub-blocks.

## Claims

### Claim 1

An apparatus for video decoding, the apparatus comprising:
at least one memory configured to store video data; and
at least one processor coupled to the at least one memory, the at least one processor configured to:
apply a deblocking (DB) filter to a plurality of sub-blocks of a block of the video data to generate a DB-filtered plurality of sub-blocks, the plurality of sub-blocks being less than an entirety of sub-blocks within the block;
apply the DB filter to at least two lines of pixels in an additional sub-block of the block to generate a DB-filtered portion of the additional sub-block, wherein the at least two lines of pixels in the additional sub-block are filtered without filtering an entirety of the additional sub-block using the DB filter and the at least two lines of pixels are adjacent to one another, and wherein the additional sub-block is adjacent to at least one of the plurality of sub-blocks; and
apply a constrained directional enhancement filter (CDEF) to the DB-filtered plurality of sub-blocks and the DB-filtered portion of the additional sub-block to generate a CDEF-filtered plurality of sub-blocks.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the at least two lines of pixels in the block include at least two columns of pixels in the block that are adjacent to one another.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the at least two lines of pixels in the block include are each at least six pixels away from an edge of the block.

### Claim 4 (depends on 3)

The apparatus of claim 3, wherein the edge of the block is a vertical edge along a side of the block, and wherein the at least two lines of pixels include at least two columns of pixels that are each at least six pixels horizontally away from the vertical edge.

### Claim 5 (depends on 4)

The apparatus of claim 4, wherein the side of the block is a right side of the block, and wherein the at least two columns of pixels are each at least six pixels leftward of the vertical edge along the right side of the block.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein the at least one processor is configured to apply the DB filter to the plurality of sub-blocks and at least one of the at least two lines of pixels in the additional sub-block to filter the plurality of sub-blocks to generate the DB-filtered plurality of sub-blocks.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein the additional sub-block and each of the plurality of sub-blocks have a size of [4] N pixels by [4]] N pixels.

### Claim 8 (depends on 1)

The apparatus of claim 1, wherein the at least one processor is configured to:
store a partially-DB-filtered portion of the block in a neighboring block buffer; and
apply at least one filter to the partially-DB-filtered portion of the block from the neighboring block buffer and to a second block that neighbors the block to filter the second block.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the partially-DB-filtered portion of the block includes the additional sub-block.

### Claim 10 (depends on 8)

The apparatus of claim 8, wherein the partially-DB-filtered portion of the block includes the DB-filtered portion of the additional sub-block.

### Claim 11 (depends on 8)

The apparatus of claim 8, wherein a height of the partially-DB-filtered portion of the block is a height of the block, and wherein a width of the partially-DB-filtered portion of the block is less than a width of four sub-blocks.

### Claim 12 (depends on 8)

The apparatus of claim 8, wherein a height of the partially-DB-filtered portion of the block is a height of the block, and wherein a width of the partially-DB-filtered portion of the block is at most 10 pixels.

### Claim 13 (depends on 1)

The apparatus of claim 1, wherein the at least one processor is configured to:
upscale the CDEF-filtered plurality of sub-blocks to generate an upscaled-CDEF-filtered plurality of sub-blocks; and
apply a loop restoration (LR) filter to the upscaled-CDEF-filtered plurality of sub-blocks to generate output block data.

### Claim 14 (depends on 13)

The apparatus of claim 13, wherein the at least one processor is configured to:
output the output block data for storage in the at least one memory.

### Claim 15 (depends on 13)

The apparatus of claim 13, further comprising:
a display configured to display the output block data according to the video data.

### Claim 16 (depends on 13)

The apparatus of claim 13, further comprising:
a communication interface configured to transmit the output block data to a recipient device.

### Claim 17 (depends on 1)

The apparatus of claim 1, further comprising:
a video encoder configured to encode the video data, wherein the at least one processor is configured to receive the video data from the video encoder before applying the DB filter to the plurality of sub-blocks of the block.

### Claim 18 (depends on 1)

The apparatus of claim 1, wherein the apparatus includes at least one of a head-mounted display (HMD), a mobile handset, or a wireless communication device.

### Claim 19

A method for video decoding, the method comprising:
applying a deblocking (DB) filter to a plurality of sub-blocks of a block of video data to generate a DB-filtered plurality of sub-blocks, the plurality of sub-blocks being less than an entirety of sub-blocks within the block;
applying the DB filter to at least two lines of pixels in an additional sub-block of the block to generate a DB-filtered portion of the additional sub-block, wherein the at least two lines of pixels in the additional sub-block are filtered without filtering an entirety of the additional sub-block using the DB filter and the at least two lines of pixels are adjacent to one another, and wherein the additional sub-block is adjacent to at least one of the plurality of sub-blocks; and
applying a constrained directional enhancement filter (CDEF) to the DB-filtered plurality of sub-blocks and the DB-filtered portion of the additional sub-block to generate a CDEF-filtered plurality of sub-blocks.

### Claim 20 (depends on 19)

The method of claim 19, wherein the at least two lines of pixels in the block include at least two columns of pixels in the block that are adjacent to one another.

### Claim 21 (depends on 19)

The method of claim 19, wherein the at least two lines of pixels in the block include are each at least six pixels away from an edge of the block.

### Claim 22 (depends on 21)

The method of claim 21, wherein the edge of the block is a vertical edge along a side of the block, and wherein the at least two lines of pixels include at least two columns of pixels that are each at least six pixels horizontally away from the vertical edge.

### Claim 23 (depends on 22)

The method of claim 22, wherein the side of the block is a right side of the block, and wherein the at least two columns of pixels are each at least six pixels leftward of the vertical edge along the right side of the block.

### Claim 24 (depends on 19)

The method of claim 19, further comprising applying the DB filter to the plurality of sub-blocks and at least one of the at least two lines of pixels in the additional sub-block to filter the plurality of sub-blocks to generate the DB-filtered plurality of sub-blocks.

### Claim 25 (depends on 19)

The method of claim 19, further comprising:
storing a partially-DB-filtered portion of the block in a neighboring block buffer; and
applying at least one filter to the partially-DB-filtered portion of the block from the neighboring block buffer and to a second block that neighbors the block to filter the second block.

### Claim 26 (depends on 25)

The method of claim 25, wherein the partially-DB-filtered portion of the block includes the DB-filtered portion of the additional sub-block.

### Claim 27 (depends on 25)

The method of claim 25, wherein a height of the partially-DB-filtered portion of the block is a height of the block, and wherein a width of the partially-DB-filtered portion of the block is less than a width of four sub-blocks.

### Claim 28 (depends on 25)

The method of claim 25, wherein a height of the partially-DB-filtered portion of the block is a height of the block, and wherein a width of the partially-DB-filtered portion of the block is at most 10 pixels.

### Claim 29 (depends on 19)

The method of claim 19, further comprising:
upscaling the CDEF-filtered plurality of sub-blocks to generate an upscaled-CDEF-filtered plurality of sub-blocks; and
applying a loop restoration (LR) filter to the upscaled-CDEF-filtered plurality of sub-blocks to generate output block data.

### Claim 30 (depends on 29)

The method of claim 29, further comprising:
outputting the output block data for storage in at least one memory.
