Patent ID: 11910024
Assignee: QUALCOMM INCORPORATED
Field: Audio-visual technology (Electrical engineering)
Classification: CPC H | IPC H

Claim 27:
28. A non-transitory computer-readable storage medium storing instructions that, when executed, cause one or more processors configured to:
reconstruct a block of video data to create a reconstructed block of video data;
determine a plurality of gradient values for a window that covers the reconstructed block of video data, the window including samples of the reconstructed block of video data and samples that surround the reconstructed block of video data, wherein to determine the plurality of gradient values, the one or more processors are further configured to determine gradient values of a plurality of gradient directions for a sample in the reconstructed block of video data, wherein to determine the gradient values of the plurality of gradient directions, the one or more processors are further configured to perform a gradient calculation of a gradient value of a gradient direction for the sample based at least in part on a plurality of neighboring samples that includes an unavailable sample, wherein to perform the gradient calculation, the one or more processors are further configured to use a sample value of an available neighboring sample that corresponds to the unavailable sample in place of the unavailable sample for the performance of the gradient calculation for the sample, wherein the unavailable sample is outside of one of: a picture, a slice, a tile, or a tile group that includes the reconstructed block of video data;
determine an adaptive loop filter for the reconstructed block of video data based at least in part on the determined plurality of gradient values for the window, including the determined gradient values of a plurality of gradient directions for the sample; and
apply the determined adaptive loop filter to the reconstructed block of video data to generate a filtered block of video data, wherein to apply the determined adaptive loop filter, the one or more processors are further configured to determine a weighted average of a particular sample in the reconstructed block of video data and a sample of the filtered block of video data based at least in part on at least one of:
whether a determination of one or more gradient values for the particular sample includes a performance of one or more gradient calculations for the particular sample using one or more unavailable samples, or
whether the determination of the plurality of gradient values for the window that covers the reconstructed block of video data includes a determination of one or more gradient values for one or more samples within the window that are outside a boundary of one of: the picture, the slice, the tile, or the tile group, wherein the reconstructed block of video data is inside the boundary.