# US 12,010,330 B2 · Method and apparatus of HEVC de-blocking filter

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

- Number: US 12,010,330 B2
- Document ID: US12010330B2
- Status: Granted
- Kind: B2
- Application number: 18/123,432
- Filed: 2023-03-20
- Published: 2023-07-20
- Granted: 2024-06-11
- Earliest claimed: 2013-05-20
- Assignees: Texas Instruments Incorporated
- Applicants: Texas Instruments Incorporated
- Inventors: Mihir Narendra Mody; Niraj Nandan; Hideo Tamama
- Web page: https://patentgrep.com/patent/US12010330B2

## CPC

- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/117: Filters, e.g. for pre-processing or post-processing (sub-band filter banks H04N19/635)
- H04N 19/14: Coding unit complexity, e.g. amount of activity or edge presence estimation (H04N19/146 takes precedence)
- H04N 19/82: involving filtering within a prediction loop
- H04N 19/86: involving reduction of coding artifacts, e.g. of blockiness
- H04N 19/186: the unit being a colour or a chrominance component
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method of de-blocking filtering a processed video is provided. The processed video includes a plurality of blocks and each block includes a plurality of sub-blocks. A current block of the plurality of blocks includes vertical edges and horizontal edges. The processed video further includes a set of control parameters and reconstructed pixels corresponding to the current block. A boundary strength index is estimated at the vertical edges and at the horizontal edges of the current block. The set of control parameters, the reconstructed pixels corresponding to the current block and partially filtered pixels corresponding to a set of adjacent sub-blocks are loaded. The vertical edges and the horizontal edges of the current block are filtered based on the boundary strength index and the set of control parameters such that a vertical edge of the current block is filtered before filtering at least one horizontal edge of the current block.

## Claims

### Claim 1

A system comprising:
a boundary strength circuit configured to estimate a boundary strength index at a vertical edge and at an interior horizontal edge of a current block of a plurality of blocks of a video; and
a de-blocking filter coupled to the boundary strength circuit, wherein the de-blocking filter is configured to:
filter the vertical edge based on the boundary strength index;
filter an exterior horizontal edge after filtering the vertical edge, wherein the exterior horizontal edge is positioned between a left neighboring block and a top-left neighboring block; and
filter the interior horizontal edge based on the boundary strength index after filtering the exterior horizontal edge and after filtering the vertical edge.

### Claim 2 (depends on 1)

The system of claim 1, wherein the de-blocking filter is configured to:
filter vertical pixel edges of the current block in parallel; and
filter horizontal pixel edges of the current block in parallel.

### Claim 3 (depends on 1)

The system of claim 1,
wherein the de-blocking filter is configured to filter a set of sub-blocks in a processing block, and
wherein the processing block is based on a collation of the current block and a set of sub-blocks of blocks adjacent to the current block.

### Claim 4 (depends on 1)

The system of claim 1,
wherein to filter the vertical edge, the de-blocking filter is configured to filter the vertical edge of the current block before filtering at least one horizontal edge of the current block, and
wherein the de-blocking filter is further configured to:
filter a set of vertical edges of a subsequent block after filtering the at least one horizontal edge of the current block; and
filter at least one horizontal edge of the subsequent block after filtering the set of vertical edges of the subsequent block.

### Claim 5 (depends on 4)

The system of claim 4,
wherein the set of vertical edges comprises a top-left vertical edge, a bottom-left vertical edge, a top-right vertical edge, and a bottom-right vertical edge, and
wherein the at least one horizontal edge includes a top-first horizontal edge, a top-second horizontal edge, a bottom-first horizontal edge, or a bottom-second horizontal edge.

### Claim 6 (depends on 1)

The system of claim 1,
wherein the video comprises a plurality of CUs (coding units),
wherein each CU comprises the plurality of blocks arranged in a plurality of columns,
wherein each block comprises N×N pixels, and
wherein each edge of the block comprises N/2 pixels or N/4 pixels.

### Claim 7 (depends on 6)

The system of claim 6, wherein the de-blocking filter is further configured to filter all blocks in a first column of the plurality of columns before filtering all blocks in a subsequent column of the plurality of columns in each CU.

### Claim 8 (depends on 1)

The system of claim 1, further comprising a memory coupled to the de-blocking filter,
wherein the memory is configured to store a set of left sub-blocks, a set of top sub-blocks, and a set of top-left sub-blocks, and
wherein the set of left sub-blocks, the set of top sub-blocks, and the set of top-left sub-blocks comprise the sub-blocks of blocks adjacent to the current block.

### Claim 9 (depends on 1)

The system of claim 1, further comprising a de-block controller configured to form a processing block by collating a set of sub-blocks of blocks adjacent to the current block and the current block.

### Claim 10 (depends on 9)

The system of claim 9, wherein the de-blocking filter is further configured to:
filter a set of sub-blocks in the processing block; and
store remaining sub-blocks in the processing block,
wherein the remaining sub-blocks comprise the sub-blocks in a last column and a last row of the processing block.

### Claim 11 (depends on 1)

The system of claim 1,
wherein the current block comprises a top-left vertical edge, a bottom-left vertical edge, a top-right vertical edge, a bottom-right vertical edge, a top-first horizontal edge, a top-second horizontal edge, a bottom-first horizontal edge, and a bottom-second horizontal edge,
wherein the boundary strength circuit is configured to estimate the boundary strength index at the top-left vertical edge, the bottom-left vertical edge, the top-right vertical edge, the bottom-right vertical edge, the top-first horizontal edge, the top-second horizontal edge, the bottom-first horizontal edge, and the bottom-second horizontal edge,
wherein the de-blocking filter is configured to filter the top-left vertical edge and the bottom-left vertical edge followed by filtering an edge between a left sub-block and a left top sub-block and the top-first horizontal edge,
wherein the left sub-block is a sub-block in a set of left sub-blocks, and
wherein the left top sub-block is a sub-block in the set of left top sub-blocks.

### Claim 12

A method comprising:
estimating a boundary strength index at a vertical edge and at an interior horizontal edge of a current block of a plurality of blocks of a video;
forming a processing block based on a collation of the current block and a set of sub-blocks of blocks adjacent to the current block;
filtering the vertical edge based on the boundary strength index;
filtering an exterior horizontal edge after filtering the vertical edge, wherein the exterior horizontal edge is positioned between a left neighboring block and a top-left neighboring block;
filtering the interior horizontal edge based on the boundary strength index; and
filtering a set of sub-blocks in the processing block.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
filtering vertical pixel edges of the current block in parallel; and
filtering horizontal pixel edges of the current block in parallel.

### Claim 14 (depends on 12)

The method of claim 12,
wherein filtering the vertical edge comprises filtering the vertical edge before filtering the exterior horizontal edge and before filtering the interior horizontal edge, and
wherein filtering the interior horizontal edge comprises filtering the interior horizontal edge after filtering the exterior horizontal edge and after filtering the vertical edge.

### Claim 15 (depends on 12)

The method of claim 12,
wherein filtering the vertical edge comprises filtering the vertical edge of the current block before filtering at least one horizontal edge of the current block, and
wherein the method further comprises:
filtering a set of vertical edges of a subsequent block after filtering the at least one horizontal edge of the current block; and
filtering at least one horizontal edge of the subsequent block after filtering the set of vertical edges of the subsequent block.

### Claim 16 (depends on 15)

The method of claim 15,
wherein the set of vertical edges comprises a top-left vertical edge, a bottom-left vertical edge, a top-right vertical edge, and a bottom-right vertical edge, and
wherein the at least one horizontal edge includes a top-first horizontal edge, a top-second horizontal edge, a bottom-first horizontal edge, or a bottom-second horizontal edge.

### Claim 17 (depends on 12)

The method of claim 12,
wherein the video comprises a plurality of CUs (coding units),
wherein each CU comprises the plurality of blocks arranged in a plurality of columns,
wherein each block comprises N×N pixels, and
wherein each edge of the block comprises N/2 pixels or N/4 pixels.

### Claim 18 (depends on 17)

The method of claim 17, further comprising filtering all blocks in a first column of the plurality of columns before filtering all blocks in a subsequent column of the plurality of columns in each CU.

### Claim 19 (depends on 12)

The method of claim 12, further comprising:
filtering a set of sub-blocks in the processing block; and
storing remaining sub-blocks in the processing block,
wherein the remaining sub-blocks comprise the sub-blocks in a last column and a last row of the processing block.

### Claim 20

A system comprising:
a decoder configured to:
filter a vertical edge of a current block of an image;
filter an exterior horizontal edge after filtering the vertical edge, wherein the exterior horizontal edge is positioned between a left neighboring block of the image and a top-left neighboring block of the image, wherein the left neighboring block is adjacent to the current block, and wherein the top-left neighboring block is adjacent to the left neighboring block; and
filter an interior horizontal edge of the current block after filtering the exterior horizontal edge and after filtering the vertical edge; and
a display coupled to the decoder and configured to display the image.
