# US 2019/0356930 A1 · Apparatus and method for de-blocking filtering

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

- Number: US 2019/0356930 A1
- Document ID: US20190356930A1
- Status: Published application
- Kind: A1
- Application number: 16/531,898
- Filed: 2019-08-05
- Published: 2019-11-21
- Earliest claimed: 2017-03-23
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Anand Meher KOTRA; Semih ESENLIK; Zhijie ZHAO
- Web page: https://patentgrep.com/patent/US20190356930A1

## 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/136: Incoming video signal characteristics or properties
- H04N 19/172: the region being a picture, frame or field
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/436: using parallelised computational arrangements
- H04N 19/82: involving filtering within a prediction loop
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A system and method for processing a video stream are provided. When coding or decoding a video stream a de-blocking filtering may be applied for reducing discontinuities caused by use of a block-based video coding. The de-blocking filtering is performed using a filter grid. The size of the filter grid is chosen adaptively based on the processing parameters. The adaptive size of the filtering grid is determined based on the number of samples used and modified in de-blocking filtering of an edge of a coding block. The filtering grid may be used both for vertical and horizontal edge filtering.

## Claims

### Claim 1

An apparatus for processing at least one frame of a video stream, the apparatus comprising:
a memory configured to store frames of the video stream;
a processor configured to:
process a frame of the video stream stored in the memory using a block-based coding scheme with de-blocking filtering using a filter grid, wherein the processing of the frame of the video stream comprises coding or decoding;
determine a size F×W of the filter grid, wherein:
(a) F is larger than a sum of a maximum number of samples used in edge de-blocking filtering of a vertical edge of a coding block and a maximum number of samples modified in de-blocking filtering of a vertical edge of the coding block; and
(b) W is larger than a sum of a maximum number of samples used in de-blocking filtering of a horizontal edge of the coding block and the maximum number of samples modified in de-blocking filtering edge de-blocking of a horizontal edge of the coding block, and
perform de-blocking filtering on an edge of the coding block overlapping the grid.

### Claim 2 (depends on 1)

The apparatus according to claim 1, wherein F is further a multiple of a coding block width.

### Claim 3 (depends on 1)

The apparatus according to claim 1, wherein W is further a multiple of a coding block height.

### Claim 4 (depends on 1)

The apparatus according to claim 1, wherein the coding block is a coding unit, a prediction unit or a transform unit.

### Claim 5 (depends on 1)

The apparatus according to claim 1, wherein the coding block is the smallest of a coding unit, a prediction unit or a transform unit.

### Claim 6 (depends on 1)

The apparatus according to claim 1, wherein F equals W.

### Claim 7 (depends on 1)

The apparatus according to claim 1, wherein the de-blocking filter is a luminance de-blocking filter.

### Claim 8 (depends on 1)

The apparatus according to claim 1, wherein the processor is configured to determine the size of filter grid adaptively.

### Claim 9 (depends on 1)

The apparatus according to claim 1, wherein values of F and W are at least eight and divisible by four.

### Claim 10

A method for processing at least one frame of a video stream, applied to an apparatus comprising a memory and a processor, the method comprising:
storing, by the memory of the apparatus, frames of the video stream;
processing, by the processor of the apparatus, a frame of the video stream stored in the memory using a block-based coding scheme with de-blocking filtering using a filter grid, wherein the processing of the frame of the video stream comprises coding or decoding; and
determining, by the processor of the apparatus, the size F×W of the filter grid, wherein:
(a) F is larger than a sum of a maximum number of samples used in edge de-blocking filtering of a vertical edge of a coding block and a maximum number of samples modified in de-blocking filtering of a vertical edge of the coding block; and
(b) W is larger than a sum of a maximum number of samples used in de-blocking filtering of a horizontal edge of the coding block and a maximum number of samples modified in de-blocking filtering edge de-blocking of a horizontal edge of the coding block, and
performing de-blocking filtering on an edge of the coding block overlapping the grid.

### Claim 11 (depends on 10)

The method according to claim 10, wherein F is further a multiple of a coding block width.

### Claim 12 (depends on 10)

The method according to claim 10, wherein W is further a multiple of a coding block height.

### Claim 13 (depends on 10)

The method according to claim 10, wherein the coding block is a coding unit, a prediction unit or a transform unit.

### Claim 14 (depends on 10)

The method according to claim 10, wherein the coding block is the smallest of a coding unit, a prediction unit or a transform unit.

### Claim 15 (depends on 10)

The method according to claim 10, wherein F equals W.

### Claim 16 (depends on 10)

The method according to claim 10, further comprising de-blocking filtering using a luminance de-blocking filter.

### Claim 17 (depends on 10)

The method according to claim 10, wherein the size of filter grid is determined adaptively.

### Claim 18 (depends on 10)

The method according to claim 10, wherein values of F and W are at least eight and divisible by four.

### Claim 19

A non-transitory computer-readable medium comprising a program code which when executed by a processor of a computing device, causes the computing device to perform a method for processing at least one frame of a video stream, the method comprising:
storing, frames of the video stream;
processing a frame of the video stream stored in the memory using a block-based coding scheme with de-blocking filtering using a filter grid, wherein the processing of the frame of the video stream comprises coding or decoding; and
determining the size F×W of the filter grid, wherein:
(a) F is larger than a sum of a maximum number of samples used in edge de-blocking filtering of a vertical edge of a coding block and a maximum number of samples modified in de-blocking filtering of a vertical edge of the coding block; and
(b) W is larger than a sum of a maximum number of samples used in de-blocking filtering of a horizontal edge of the coding block and a maximum number of samples modified in de-blocking filtering edge de-blocking of a horizontal edge of the coding block, and
performing de-blocking filtering on an edge of the coding block overlapping the grid.

### Claim 20 (depends on 19)

The non-transitory computer-readable medium according to claim 19, wherein F is further a multiple of a coding block width.
