Sample padding in adaptive loop filtering
AssigneesBeijing Bytedance Network Technology Co., Ltd., Bytedance Inc.
InventorsLi Zhang, Kai Zhang, Hongbin Liu, Yue Wang
Life of this patent
Estimating the term…
Abstract
A method of video processing includes determining, for a conversion between a block that is in a video picture of a video and a bitstream representation of the video, a manner of padding a first set of samples located across boundaries of multiple video regions of the video picture for a current sample in an adaptive loop filter process. The method also includes performing the conversion according to the determining.
Claims20
A method of processing video data, comprising:
- determining, for a conversion between a picture of a video comprising one or more coding tree blocks and a bitstream of the video, that a first sample is unavailable in a classification operation for a first filtering process for a current sample of a current coding tree block because the first sample is located in a slice that is different from a slice of the current sample and samples across slices are disallowed in the first filtering process, wherein all slices of the picture are rectangular slices;
- applying a padding process for the first sample, wherein a value of the first sample is padded from a second sample which is a nearest available sample located within a same slice of the current sample, wherein the value of the first sample padded from the second sample is used to determine a classification filter index in the classification operation, wherein the classification filter index of a 4×4 region including the current sample is derived based on gradients calculated from a 10×10 region including the 4×4 region, wherein the value of the first sample padded from the second sample is also used in the filter of the first filtering process, and wherein a position of the second sample is determined based on:
- when the first sample is unavailable due to a vertical coordinate of the first sample being outside of the same slice of the current sample, clipping the vertical coordinate of the first sample to a new vertical coordinate, which is a nearest vertical position located within the same slice of the current sample;
- and
- when the first sample is unavailable due to a horizontal coordinate of the first sample being outside of the same slice of the current sample, clipping the horizontal coordinate of the first sample to a new horizontal coordinate, which is a nearest horizontal position located within the same slice of the current sample;
- and
- performing the conversion by applying the first filtering process based on the value of the first sample padded from the second sample, wherein the first filtering process comprises:
- determining, based on the classification operation, a filtering coefficient set for the current sample;
- determining a clipping value set for the current sample;
- and
- applying a filter on the current sample based on the filtering coefficient set and the clipping value set.
An apparatus for processing video data comprising a processor and a non-transitory memory with instructions thereon, wherein the instructions upon execution by the processor, cause the processor to:
- determine, for a conversion between a picture of a video comprising one or more coding tree blocks and a bitstream of the video, that a first sample for a current sample of a current coding tree block is unavailable in a classification operation for a first filtering process for a current sample of a current tree block because the first sample is located in a slice that is different from a slice of the current sample and samples across slices are disallowed in the first filtering process, wherein all slices of the picture are rectangular slices;
- apply a padding process for the first sample, wherein a value of the first sample is padded from a second sample which is a nearest available sample located within a same slice of the current sample, wherein the value of the first sample padded from the second sample is used to determine a classification filter index in the classification operation, wherein the classification filter index of a 4×4 region including the current sample is derived based on gradients calculated from a 10×10 region including the 4×4 region, wherein the value of the first sample padded from the second sample is also used in the filter of the first filtering process, and wherein a position of the second sample is determined based on:
- when the first sample is unavailable due to a vertical coordinate of the first sample being outside of the same slice of the current sample, clipping the vertical coordinate of the first sample to a new vertical coordinate, which is a nearest vertical position located within the same slice of the current sample;
- and
- when the first sample is unavailable due to a horizontal coordinate of the first sample being outside of the same slice of the current sample, clipping the horizontal coordinate of the first sample to a new horizontal coordinate, which is a nearest horizontal position located within the same slice of the current sample;
- and
- perform the conversion by applying the first filtering process based on the value of the first sample padded from the second sample, wherein the first filtering process comprises:
- determining, based on the classification operation, a filtering coefficient set for the current sample;
- determining a clipping value set for the current sample;
- and
- applying a filter on the current sample based on the filtering coefficient set and the clipping value set.
A non-transitory computer-readable storage medium storing instructions that cause a processor to:
- determine, for a conversion between a picture of a video comprising one or more coding tree blocks and a bitstream of the video, that a first sample for a current sample of a current coding tree block is unavailable in a classification operation for a first filtering process for a current sample of a current coding tree block because the first sample is located in a slice that is different from a slice of the current sample and samples across slices are disallowed in the first filtering process, wherein all slices of the picture are rectangular slices;
- apply a padding process for the first sample, wherein a value of the first sample is padded from a second sample which is a nearest available sample located within a same slice of the current sample, wherein the value of the first sample padded from the second sample is used to determine a classification filter index in the classification operation, wherein the classification filter index of a 4×4 region including the current sample is derived based on gradients calculated from a 10×10 region including the 4×4 region, wherein the value of the first sample padded from the second sample is also used in the filter of the first filtering process, and wherein a position of the second sample is determined based on:
- when the first sample is unavailable due to a vertical coordinate of the first sample being outside of the same slice of the current sample, clipping the vertical coordinate of the first sample to a new vertical coordinate, which is a nearest vertical position located within the same slice of the current sample;
- and
- when the first sample is unavailable due to a horizontal coordinate of the first sample being outside of the same slice of the current sample, clipping the horizontal coordinate of the first sample to a new horizontal coordinate, which is a nearest horizontal position located within the same slice of the current sample;
- and
- perform the conversion by applying the first filtering process based on the value of the first sample padded from the second sample, wherein the first filtering process comprises:
- determining, based on the classification operation, a filtering coefficient set for the current sample;
- determining a clipping value set for the current sample;
- and
- applying a filter on the current sample based on the filtering coefficient set and the clipping value set.
A non-transitory computer-readable recording medium storing a bitstream of a video which is generated by a method performed by a video processing apparatus, wherein the method comprises:
- determining, for a picture of the video comprising one or more coding tree blocks, that a first sample for a current sample of a current coding tree block is unavailable in a classification operation for a first filtering process for a current sample of a current coding tree block because the first sample is located in a slice that is different from a slice of the current sample and samples across slices are disallowed in the first filtering process, wherein all slices of the picture are rectangular slices;
- apply a padding process for the first sample, wherein a value of the first sample is padded from a second sample which is a nearest available sample located within a same slice of the current sample, wherein the value of the first sample padded from the second sample is used to determine a classification filter index in the classification operation, wherein the classification filter index of a 4×4 region including the current sample is derived based on gradients calculated from a 10×10 region including the 4×4 region, wherein the value of the first sample padded from the second sample is also used in the filter of the first filtering process, and wherein a position of the second sample is determined based on:
- when the first sample is unavailable due to a vertical coordinate of the first sample being outside of the same slice of the current sample, clipping the vertical coordinate of the first sample to a new vertical coordinate, which is a nearest vertical position located within the same slice with the current sample;
- and
- when the first sample is unavailable due to a horizontal coordinate of the first sample being outside of the same slice of the current sample, clipping the horizontal coordinate of the first sample to a new horizontal coordinate, which is a nearest horizontal position located within the same slice of the current sample;
- and
- generating the bitstream by applying the first filtering process based on the value of the first sample padded from the second sample, wherein the first filtering process comprises:
- determining, based on the classification operation, a filtering coefficient set for the current sample;
- determining a clipping value set for the current sample;
- and
- applying a filter on the current sample based on the filtering coefficient set and the clipping value set.
Dependencies are inferred from the claim text.