# US 2019/0320172 A1 · Hardware-friendly sample adaptive offset (sao) and adaptive loop filter (alf) for video coding

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

- Number: US 2019/0320172 A1
- Document ID: US20190320172A1
- Status: Published application
- Kind: A1
- Application number: 16/381,958
- Filed: 2019-04-11
- Published: 2019-10-17
- Earliest claimed: 2018-04-12
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Li Zhang; Cheng-Teh Hsieh; Kai Zhang; Akshay Gadde; Wei-Jung Chien; Marta Karczewicz
- Web page: https://patentgrep.com/patent/US20190320172A1

## CPC

- H04N 19/117: Filters, e.g. for pre-processing or post-processing (sub-band filter banks H04N19/635)
- H04N 19/119: Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
- H04N 19/167: Position within a video image, e.g. region of interest [ROI]
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/1883: {the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]}
- H04N 19/189: characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 19/82: involving filtering within a prediction loop
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A video decoder configured to determine filter information for a region of a picture of video data; for a largest coding unit (LCU) of the region, determine a size for a current unit based on a location of the LCU within the picture, wherein the size for the current unit is different than a size of the LCU; and based on the determined filter information, determine a filter for the current unit of the region; and filter the current unit with the determined filter.

## Claims

### Claim 1

A method for decoding video data, the method comprising:
determining filter information for a region of a picture of video data;
for a largest coding unit (LCU) of the region, determining a size for a current unit based on a location of the LCU within the picture, wherein the size for the current unit is different than a size of the LCU;
based on the determined filter information, determining a filter for the current unit of the region; and
filtering the current unit with the determined filter.

### Claim 2 (depends on 1)

The method of claim 1, wherein the filter information comprises one or more of a filter coefficient, an on/off control flag, or an indication of filter support.

### Claim 3 (depends on 1)

The method of claim 1, wherein the region corresponds to one or more largest coding units (LCUs).

### Claim 4 (depends on 1)

The method of claim 1, wherein determining the size for the current unit comprises:
determining that the current unit is positioned in a first row of LCUs; and
responsive to determining that the current unit comprises a first LCU in the first row of LCUs, setting unit sizes for filters other than deblocking filters according to the formula (LcuW−VT)*(LcuH−HT), wherein LcuW is a width of the LCU, VT is a number of right columns needed to filter a left boundary of the LCU, LcuH is a height of the LCU, and HT is a number of above rows needed to filter a top boundary of the LCU.

### Claim 5 (depends on 1)

The method of claim 1, wherein determining the size for the current unit comprises:
determining that the current unit is positioned in a first row of LCUs; and
responsive to determining the current unit comprises a last LCU in the first row of LCUs, setting the current unit size according to the formula (min (W+T, (PicW % W)+T)))*(W−T), wherein T is a number of lines required to filter the LCU, and W is a width of the LCU, and PicW is a width of the picture.

### Claim 6 (depends on 1)

The method of claim 1, wherein determining the size for the current unit comprises:
determining that the current unit is positioned in a first row of LCUs; and
responsive to determining the current unit comprises neither the first LCU nor the last LCU in the first row of LCUs, setting the current unit size according to the formula W*(W−T), wherein T is a number of lines required to filter the LCU, and W is a width of the LCU.

### Claim 7 (depends on 1)

The method of claim 1, wherein determining the size for the current unit comprises:
determining that the current unit is positioned in a last row of LCUs; and
responsive to determining that the current unit comprises a first LCU in the last row of LCUs, setting the current unit size according to the formula (LcuW−VT)*(LcuH−HT), wherein LcuW is a width of the LCU, VT is a number of right columns needed to filter a left boundary of the LCU, LcuH is a height of the LCU, and HT is a number of above rows needed to filter a top boundary of the LCU.

### Claim 8 (depends on 1)

The method of claim 1, wherein determining the size for the current unit comprises:
determining that the current unit is positioned in a last row of LCUs; and
responsive to determining the current unit comprises a last LCU in the last row of LCUs, setting the current unit size according to the formula W*(min (W+T, (PicH % W)+T))), wherein PicH is a height of the picture, T is a number of lines required to filter the LCU, and W is a width of the LCU.

### Claim 9 (depends on 1)

The method of claim 1, wherein determining the size for the current unit comprises:
determining that the current unit is positioned in a last row of LCUs; and
responsive to determining the current unit comprises neither the first LCU nor the last LCU in the last row of LCUs, setting the current unit size according to the formula (min (W+T, (PicW % W)+T)))*(min (W+T, (PicH % W)+T))) wherein PicH is a height of the picture, T is a number of lines required to filter the LCU, and W is a width of the LCU.

### Claim 10 (depends on 1)

The method of claim 1, wherein determining the size for the current unit comprises:
determining that the current unit is positioned in a row of LCUs that comprises neither a first row of LCUs nor a last row of LCUs; and
responsive to determining that the current unit comprises a first LCU in the row of LCUs, setting the current unit size according to the formula (W−T)*W, wherein T is a number of lines required to filter the LCU, and W is a width of the LCU.

### Claim 11 (depends on 1)

The method of claim 1, wherein determining the size for the current unit comprises:
determining that the current unit is positioned in a row of LCUs that is neither a first row of LCUs nor a last row of LCUs; and
responsive to determining the current unit comprises a last LCU in the row of LCUs, setting the current unit size according to the formula W*W, wherein W is a width and a height of the LCU.

### Claim 12 (depends on 1)

The method of claim 1, wherein determining the size for the current unit comprises:
determining that the current unit is positioned in a row of LCUs that is neither a first row of LCUs nor a last row of LCUs; and
responsive to determining the current unit comprises neither the first LCU nor the last LCU in the row of LCUs, setting the current unit size according to the formula (min (W+T, (PicW % W)+T)))*W, wherein T is a number of lines required to filter the LCU, and W is a width of the LCU, and PicW is a width of the picture.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
receiving a syntax element that indicates whether or not a unit-based filtering technique is applied to a current unit of the video data.

### Claim 14 (depends on 1)

The method of claim 1, wherein the LCU comprises a coding tree unit.

### Claim 15

A device for decoding video data, the device comprising:
a memory configured to store video data; and
one or more processors configured to:
determine filter information for a region of a picture of the video data;
for a largest coding unit (LCU) of the region, determine a size for a current unit based on a location of the LCU within the picture, wherein the size for the current unit is different than a size of the LCU;
based on the determined filter information, determine a filter for the current unit of the region; and
filter the current unit with the determined filter.

### Claim 16 (depends on 15)

The device of claim 15, wherein the filter information comprises one or more of a filter coefficient, an on/off control flag, or an indication of filter support.

### Claim 17 (depends on 15)

The device of claim 15, wherein the region corresponds to one or more largest coding units (LCUs).

### Claim 18 (depends on 15)

The device of claim 15, wherein to determine the size for the current unit, the one or more processors are configured to:
determine that the current unit is positioned in a first row of LCUs; and
responsive to determining that the current unit comprises a first LCU in the first row of LCUs, set unit sizes for filters other than deblocking filters according to the formula (LcuW−VT)*(LcuH−HT), wherein LcuW is a width of the LCU, VT is a number of right columns needed to filter a left boundary of the LCU, LcuH is a height of the LCU, and HT is a number of above rows needed to filter a top boundary of the LCU.

### Claim 19 (depends on 15)

The device of claim 15, wherein to determine the size for the current unit, the one or more processors are configured to:
determine that the current unit is positioned in a first row of LCUs; and
responsive to determining the current unit comprises a last LCU in the first row of LCUs, set the current unit size according to the formula (min (W+T, (PicW % W)+T)))*(W−T), wherein T is a number of lines required to filter the LCU, and W is a width of the LCU, and PicW is a width of the picture.

### Claim 20 (depends on 15)

The device of claim 15, wherein to determine the size for the current unit, the one or more processors are configured to:
determine that the current unit is positioned in a first row of LCUs; and
responsive to determining the current unit comprises neither the first LCU nor the last LCU in the first row of LCUs, set the current unit size according to the formula W*(W−T), wherein T is a number of lines required to filter the LCU, and W is a width of the LCU.

### Claim 21 (depends on 15)

The device of claim 15, wherein to determine the size for the current unit, the one or more processors are configured to:
determine that the current unit is positioned in a last row of LCUs; and
responsive to determining that the current unit is a first LCU in the last row of LCUs, set the current unit size according to the formula (LcuW−VT)*(LcuH−HT), wherein LcuW is a width of the LCU, VT is a number of right columns needed to filter a left boundary of the LCU, LcuH is a height of the LCU, and HT is a number of above rows needed to filter a top boundary of the LCU.

### Claim 22 (depends on 15)

The device of claim 15, wherein to determine the size for the current unit, the one or more processors are configured to:
determine that the current unit is positioned in a last row of LCUs; and
responsive to determining the current unit comprises a last LCU in the last row of LCUs, set the current unit size according to the formula W*(min (W+T, (PicH % W)+T))), wherein PicH is a height of the picture, wherein T is a number of lines required to filter the LCU, and W is a width of the LCU.

### Claim 23 (depends on 15)

The device of claim 15, wherein to determine the size for the current unit, the one or more processors are configured to:
determine that the current unit is positioned in a last row of LCUs; and
responsive to determining the current unit comprises neither the first LCU nor the last LCU in the last row of LCUs, set the current unit size according to the formula (min (W+T, (PicW % W)+T)))*(min (W+T, (PicH % W)+T))), wherein PicH is a height of the picture, wherein T is a number of lines required to filter the LCU, and W is a width of the LCU, and PicW is a width of the picture, and PicH is a height of the picture.

### Claim 24 (depends on 15)

The device of claim 15, wherein to determine the size for the current unit, the one or more processors are configured to:
determine that the current unit is positioned in a row of LCUs that is neither a first row of LCUs nor a last row of LCUs; and
responsive to determining that the current unit comprises a first LCU in the row of LCUs, set the current unit size according to the formula (W−T)*W, wherein T is a number of lines required to filter the LCU, and W is a width of the LCU.

### Claim 25 (depends on 15)

The device of claim 15, wherein to determine the size for the current unit, the one or more processors are configured to:
determine that the current unit is positioned in a row of LCUs that is neither a first row of LCUs nor a last row of LCUs; and
responsive to determining the current unit comprises a last LCU in the row of LCUs, set the current unit size according to the formula W*W, wherein W is a width and a height of the LCU.

### Claim 26 (depends on 15)

The device of claim 15, wherein to determine the size for the current unit, the one or more processors are configured to:
determine that the current unit is positioned in a row of LCUs that is neither a first row of LCUs nor a last row of LCUs; and
responsive to determining the current unit comprises neither the first LCU nor the last LCU in the row of LCUs, set the current unit size according to the formula (min (W+T, (PicW % W)+T)))*W, wherein T is a number of lines required to filter the LCU, and W is a width of the LCU, and PicW is a width of the picture.

### Claim 27 (depends on 15)

The device of claim 15, wherein, the one or more processors are configured to:
receive a syntax element that indicates whether or not a unit-based filtering technique is applied to a current unit of the video data.

### Claim 28 (depends on 15)

The device of claim 15, wherein the LCU comprises a coding tree unit.

### Claim 29

An apparatus for coding video data, the apparatus comprising:
means for determining filter information for a region of a picture of video data;
means for determining a size for a current unit based on a location of a largest coding unit (LCU) of the region within the picture, wherein the size for the current unit is different than a size of the LCU;
means for determining a filter for the current unit of the region based on the determined filter information; and
means for filtering the current unit with the determined filter.

### Claim 30

A computer readable storage medium storing instructions that when executed cause one or more processors to:
determine filter information for a region of a picture of the video data;
for a largest coding unit (LCU) of the region, determine a size for a current unit based on a location of the LCU within the picture, wherein the size for the current unit is different than a size of the LCU;
based on the determined filter information, determine a filter for the current unit of the region; and
filter the current unit with the determined filter.
