IP Library Granted Patent US 11,394,969
Granted Patent B2
US 11,394,969 · App. 17/570,682 · Granted Jul 19, 2022

Sample determination for adaptive loop filtering

Inventors: Li Zhang (San Diego, CA); Kai Zhang (San Diego, CA); Hongbin Liu (Beijing, CN); Yue Wang (Beijing, CN)
Assignees: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.; BYTEDANCE INC.
H04N19/117H04N19/132H04N19/14H04N19/176H04N19/82H04N19/96
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,394,969
App. No.
17/570,682
Granted
Jul 19, 2022
Kind
B2
Abstract

A method of video processing includes determining a classification of samples of a block in a video picture of a video according to a rule, wherein the video picture is divided into multiple regions, and wherein the rule disallows use of neighboring samples of a current sample across one or more boundaries of the multiple regions for the classification. The one or more boundaries of the multiple regions comprises a virtual boundary for an adaptive loop filtering (ALF) process. The method also includes performing a conversion between the block and a bitstream representation of the video by selectively applying the ALF process according to the classification.

Claims (56)

1. 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 filtering process is applied to a current coding tree block of the one or more coding tree blocks;

determining a classification of an M×N region of the current coding tree block based on gradients derived from a P×Q region including the M×N region according to a rule, wherein the rule disallows use of a sample in the P×Q region across one or more boundaries of multiple kinds of video regions, and wherein the picture is divided into multiple kinds of video regions and the one or more boundaries at least comprise a 360-degree virtual boundary or a picture boundary, where M, N, P, Q are positive integers, P is greater than M and Q is greater than N; and

performing the conversion by applying the first filtering process according to the determined classification, wherein the first filtering process comprises:

deriving a filtering coefficient set for the M×N region based on the determined classification;

determining a clipping value set for the M×N region; and

performing a filtering operation based on the filtering coefficient set and the clipping value set.

2. The method of claim 1 , wherein a one-side padding process is applied to generate one or more virtual samples for the sample across the one or more boundaries, wherein the one or more virtual samples are copied from available samples inside a video region where the M×N region is located in.

3. The method of claim 1 , wherein the one or more boundaries conditionally further comprise at least one of: a slice boundary, a tile boundary, or a sub-picture boundary.

4. The method of claim 2 , further comprising determining whether a virtual boundary is enabled for the current coding tree block based on a relationship between a bottom boundary of the current coding tree block and a bottom boundary of the picture.

5. The method of claim 4 , wherein the virtual boundary is enabled in case the bottom boundary of the current coding tree block is not the bottom boundary of the picture.

6. The method of claim 4 , wherein the virtual boundary is used to determine the classification, and wherein samples outside the virtual boundary are not used to determine the classification.

7. The method of claim 1 , wherein the M×N region is a 4*4 region and the P×Q region is a 10*10 region.

8. The method of claim 1 , wherein 1:2 sub sampling is used when determining the classification.

9. The method of claim 1 , wherein the first filtering process is an adaptive loop filtering process.

10. The method of claim 1 , wherein the conversion includes encoding the video into the bitstream.

11. The method of claim 1 , wherein the conversion includes decoding the bitstream into the video.

12. 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 filtering process is applied to a current coding tree block of the one or more coding tree blocks;

determine a classification of an M×N region of the current coding tree block based on gradients derived from a P×Q region including the M×N region according to a rule, wherein the rule disallows use of a sample in the P×Q region across one or more boundaries of multiple kinds of video regions, and wherein the picture is divided into multiple kinds of video regions and the one or more boundaries at least comprise a 360-degree virtual boundary or a picture boundary, where M, N, P, Q are positive integers, P is greater than M and Q is greater than N; and

perform the conversion by applying the first filtering process according to the determined classification, wherein the first filtering process comprises:

deriving a filtering coefficient set for the M×N region based on the determined classification;

determining a clipping value set for the M×N region; and

performing a filtering operation based on the filtering coefficient set and the clipping value set.

13. The apparatus of claim 12 , wherein a one-side padding process is applied to generate one or more virtual samples for the sample across the one or more boundaries, wherein the one or more virtual samples are copied from available samples inside a video region where the M×N region is located in; and

wherein the one or more boundaries conditionally further comprise at least one of: a slice boundary, a tile boundary, or a sub-picture boundary.

14. The apparatus of claim 12 , wherein the processor is further caused to determine whether a virtual boundary is enabled for the current coding tree block based on a relationship between a bottom boundary of the current coding tree block and a bottom boundary of the picture;

wherein the virtual boundary is enabled in case the bottom boundary of the current coding tree block is not the bottom boundary of the picture;

wherein the virtual boundary is used to determine the classification, and wherein samples outside the virtual boundary are not used to determine the classification; and

wherein the first filtering process is an adaptive loop filtering process.

15. 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 filtering process is applied to a current coding tree block of the one or more coding tree blocks;

determine a classification of an M×N region of the current coding tree block based on gradients derived from a P×Q region including the M×N region according to a rule, wherein the rule disallows use of a sample in the P×Q region across one or more boundaries of multiple kinds of video regions, and wherein the picture is divided into multiple kinds of video regions and the one or more boundaries at least comprise a 360-degree virtual boundary or a picture boundary, where M, N, P, Q are positive integers, P is greater than M and Q is greater than N; and

perform the conversion by applying the first filtering process according to the determined classification, wherein the first filtering process comprises:

deriving a filtering coefficient set for the M×N region based on the determined classification;

determining a clipping value set for the M×N region; and

performing a filtering operation based on the filtering coefficient set and the clipping value set.

16. The non-transitory computer-readable storage medium of claim 15 , wherein a one-side padding process is applied to generate one or more virtual samples for the sample across the one or more boundaries, wherein the one or more virtual samples are copied from available samples inside a video region where the M×N region is located in; and

wherein the one or more boundaries conditionally further comprise at least one of: a slice boundary, a tile boundary, or a sub-picture boundary.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the processor is further caused to determine whether a virtual boundary is enabled for the current coding tree block based on a relationship between a bottom boundary of the current coding tree block and a bottom boundary of the picture;

wherein the virtual boundary is enabled in case the bottom boundary of the current coding tree block is not the bottom boundary of the picture;

wherein the virtual boundary is used to determine the classification, and wherein samples outside the virtual boundary are not used to determine the classification; and

wherein the first filtering process is an adaptive loop filtering process.

18. 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 a video comprising one or more coding tree blocks, that a first filtering process is applied to a current coding tree block of the one or more coding tree blocks;

determining a classification of an M×N region of the current coding tree block based on gradients derived from a P×Q region including the M×N region according to a rule, wherein the rule disallows use of a sample in the P×Q region across one or more boundaries of multiple kinds of video regions, and wherein the picture is divided into multiple kinds of video regions and the one or more boundaries at least comprise a 360-degree virtual boundary or a picture boundary, where M, N, P, Q are positive integers, P is greater than M and Q is greater than N;

generating the bitstream by applying the first filtering process according to the determined classification, wherein the first filtering process comprises:

deriving a filtering coefficient set for the M×N region based on the determined classification;

determining a clipping value set for the M×N region; and

performing a filtering operation based on the filtering coefficient set and the clipping value set.

19. The non-transitory computer-readable storage medium of claim 18 , wherein a one-side padding process is applied to generate one or more virtual samples for the sample across the one or more boundaries, wherein the one or more virtual samples are copied from available samples inside a video region where the M×N region is located in; and

wherein the one or more boundaries conditionally further comprise at least one of: a slice boundary, a tile boundary, or a sub-picture boundary.

20. The non-transitory computer-readable storage medium of claim 18 , wherein the method further comprises determining whether a virtual boundary is enabled for the current coding tree block based on a relationship between a bottom boundary of the current coding tree block and a bottom boundary of the picture;

wherein the virtual boundary is enabled in case the bottom boundary of the current coding tree block is not the bottom boundary of the picture;

wherein the virtual boundary is used to determine the classification, and wherein samples outside the virtual boundary are not used to determine the classification; and

wherein the first filtering process is an adaptive loop filtering process.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2022
From: ZHANG, LI; ZHANG, KAI
To: BYTEDANCE INC.
Reel/Frame 058591/0110 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2022
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 058591/0285 →
Priority Claims (1)
WO PCT/CN2019/095330 · Jul 9, 2019 · international
Continuity (2)
Continuation PCTCN2020100962 · Jul 9, 2020
Related Publication 20220132117A1 · Apr 28, 2022