# US 12,003,784 B2 · Block-based parallel deblocking filter in video coding

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

- Number: US 12,003,784 B2
- Document ID: US12003784B2
- Status: Granted
- Kind: B2
- Application number: 17/074,308
- Filed: 2020-10-19
- Published: 2021-02-04
- Granted: 2024-06-04
- Earliest claimed: 2011-08-05
- Assignees: Texas Instruments Incorporated
- Applicants: Texas Instruments Incorporated
- Inventors: Mangesh Devidas Sadafale; Minhua Zhou
- Web page: https://patentgrep.com/patent/US12003784B2

## CPC

- H04N 19/86: involving reduction of coding artifacts, e.g. of blockiness
- H04N 19/117: Filters, e.g. for pre-processing or post-processing (sub-band filter banks H04N19/635)
- H04N 19/157: Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/436: using parallelised computational arrangements
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Deblocking filtering is provided in which an 8×8 filtering block covering eight sample vertical and horizontal boundary segments is divided into filtering sub-blocks that can be independently processed. To process the vertical boundary segment, the filtering block is divided into top and bottom 8×4 filtering sub-blocks, each covering a respective top and bottom half of the vertical boundary segment. To process the horizontal boundary segment, the filtering block is divided into left and right 4×8 filtering sub-blocks, each covering a respective left and right half of the horizontal boundary segment. The computation of the deviation d for a boundary segment in a filtering sub-block is performed using only samples from rows or columns in the filtering sub-block. Consequently, the filter on/off decisions and the weak/strong filtering decisions of the deblocking filtering are performed using samples contained within individual filtering blocks, thus allowing full parallel processing of the filtering blocks.

## Claims

### Claim 1

A method comprising:
computing a first measure of deviation at a first four-sample boundary segment based on samples in a first sub-block of a filtering block, wherein the filtering block includes portions of four sample blocks, wherein the four sample blocks include a first sample block, and wherein the filtering block is offset from the first sample block of the four sample blocks by four samples;
using the first measure of deviation in deblocking filter decisions for the first four-sample boundary segment;
computing a second measure of deviation at a second four-sample boundary segment based on samples in a second sub-block of the filtering block; and
using the second measure of deviation in deblocking filter decisions for the second four-sample boundary segment;
wherein using the first measure of deviation in deblocking filter decisions comprises:
making a filter on/off decision jointly for all rows of the first filtering sub-block using the first measure of deviation when the first filtering sub-block is a top 8×4 filtering sub-block; and
making a filter on/off decision jointly for all columns of the first filtering sub-block based on the first measure of deviation when the first filtering sub-block is a left 4×8 filtering sub-block.

### Claim 2 (depends on 1)

The method of claim 1, wherein the filtering block comprises an 8×8 filtering block.

### Claim 3 (depends on 2)

The method of claim 2,
wherein the first sub-block comprises an 8×4 sub-block within the 8×8 filtering block.

### Claim 4 (depends on 2)

The method of claim 2,
wherein the first sub-block comprises an 8×4 sub-block within a top half of the 8×8 filtering block,
wherein the second sub-block comprises an 8×4 sub-block within a bottom half of the 8×8 filtering block, and
wherein the first sub-block does not overlap the second sub-block.

### Claim 5 (depends on 2)

The method of claim 2,
wherein the first sub-block comprises an 8×4 sub-block within a left half of the 8×8 filtering block,
wherein the second sub-block comprises an 8×4 sub-block within a right half of the 8×8 filtering block, and
wherein the first sub-block does not overlap the second sub-block.

### Claim 6 (depends on 1)

The method of claim 1,
wherein the first four-sample boundary segment is a first vertical boundary segment, and
wherein the second four-sample boundary segment is a second vertical boundary segment.

### Claim 7 (depends on 1)

The method of claim 1,
wherein the first four-sample boundary segment is a first horizontal boundary segment, and
wherein the second four-sample boundary segment is a second horizontal boundary segment.

### Claim 8

A system comprising one or more processors configured to:
compute a first measure of deviation at a first four-sample boundary segment based on samples in a first sub-block of a filtering block, wherein the filtering block includes portions of four sample blocks, wherein the four sample blocks include a first sample block, and wherein the filtering block is offset from the first sample block of the four sample blocks by four samples;
use the first measure of deviation in deblocking filter decisions for the first four-sample boundary segment;
compute a second measure of deviation at a second four-sample boundary segment based on samples in a second sub-block of the filtering block; and
use the second measure of deviation in deblocking filter decisions for the second four-sample boundary segment;
wherein to use the first measure of deviation in deblocking filter decisions, the one or more processors are configured to:
make a filter on/off decision jointly for all rows of the first filtering sub-block using the first measure of deviation when the first filtering sub-block is a top 8×4 filtering sub-block; and
make a filter on/off decision jointly for all columns of the first filtering sub-block based on the first measure of deviation when the first filtering sub-block is a left 4×8 filtering sub-block.

### Claim 9 (depends on 8)

The system of claim 8, wherein the filtering block comprises an 8×8 filtering block.

### Claim 10 (depends on 9)

The system of claim 9, wherein the first sub-block comprises an 8×4 sub-block within the 8×8 filtering block.

### Claim 11 (depends on 9)

The system of claim 9,
wherein the first sub-block comprises an 8×4 sub-block within a top half of the 8×8 filtering block,
wherein the second sub-block comprises an 8×4 sub-block within a bottom half of the 8×8 filtering block, and
wherein the first sub-block does not overlap the second sub-block.

### Claim 12 (depends on 9)

The system of claim 9,
wherein the first sub-block comprises an 8×4 sub-block within a left half of the 8×8 filtering block,
wherein the second sub-block comprises an 8×4 sub-block within a right half of the 8×8 filtering block, and
wherein the first sub-block does not overlap the second sub-block.

### Claim 13 (depends on 8)

The system of claim 8,
wherein the first four-sample boundary segment is a first vertical boundary segment, and
wherein the second four-sample boundary segment is a second vertical boundary segment.

### Claim 14 (depends on 8)

The system of claim 8,
wherein the first four-sample boundary segment is a first horizontal boundary segment, and
wherein the second four-sample boundary segment is a second horizontal boundary segment.

### Claim 15

A non-transitory computer readable medium comprising instructions that when executed in a digital system, cause the digital system to:
compute a first measure of deviation at a first four-sample boundary segment based on samples in a first sub-block of a filtering block, wherein the filtering block includes portions of four sample blocks, wherein the four sample blocks include a first sample block, and wherein the filtering block is offset from the first sample block of the four sample blocks by four samples;
use the first measure of deviation in deblocking filter decisions for the first four-sample boundary segment;
compute a second measure of deviation at a second four-sample boundary segment based on samples in a second sub-block of the filtering block; and
use the second measure of deviation in deblocking filter decisions for the second four-sample boundary segment;
wherein the instructions to use the first measure of deviation in deblocking filter decisions comprises:
instructions to make a filter on/off decision jointly for all rows of the first filtering sub-block using the first measure of deviation when the first filtering sub-block is a top 8×4 filtering sub-block; and
instructions to make a filter on/off decision jointly for all columns of the first filtering sub-block based on the first measure of deviation when the first filtering sub-block is a left 4×8 filtering sub-block.

### Claim 16 (depends on 15)

The non-transitory computer readable medium of claim 15,
wherein the filtering block comprises an 8×8 filtering block,
wherein the first sub-block comprises an 8×4 sub-block within a top half of the 8×8 filtering block,
wherein the second sub-block comprises an 8×4 sub-block within a bottom half of the 8×8 filtering block, and
wherein the first sub-block does not overlap the second sub-block.

### Claim 17 (depends on 15)

The non-transitory computer readable medium of claim 15,
wherein the first four-sample boundary segment is a first horizontal boundary segment, and
wherein the second four-sample boundary segment is a second horizontal boundary segment.

### Claim 18 (depends on 1)

The method of claim 1,
wherein the four samples comprise four luma samples.

### Claim 19 (depends on 8)

The system of claim 8,
wherein the four samples comprise four luma samples.

### Claim 20 (depends on 15)

The non-transitory computer readable medium of claim 15,
wherein the four samples comprise four luma samples.
