Search

US-12621445-B2 - Sample determination for adaptive loop filtering

US12621445B2US 12621445 B2US12621445 B2US 12621445B2US-12621445-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.

Inventors

  • Li Zhang
  • Kai Zhang
  • Hongbin Liu
  • Yue Wang

Assignees

  • BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
  • BYTEDANCE INC.

Dates

Publication Date
20260505
Application Date
20231107
Priority Date
20190709

Claims (20)

  1. 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 an adaptive loop 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, and Q are positive integers, P is greater than M, and Q is greater than N; and performing the conversion by applying the adaptive loop filtering process according to the determined classification, wherein the adaptive loop 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, wherein the one or more boundaries conditionally further comprise at least one of: a slice boundary, a tile boundary, or a sub-picture boundary.
  2. 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 in which the M×N region is located.
  3. 3 . 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.
  4. 4 . The method of claim 3 , wherein the virtual boundary is enabled if the bottom boundary of the current coding tree block is not the bottom boundary of the picture.
  5. 5 . The method of claim 3 , wherein the virtual boundary is used to determine the classification, and wherein samples outside the virtual boundary are not used to determine the classification.
  6. 6 . 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.
  7. 7 . The method of claim 1 , wherein 1:2 subsampling is used when determining the classification.
  8. 8 . The method of claim 1 , wherein the conversion includes encoding the video into the bitstream.
  9. 9 . The method of claim 1 , wherein the conversion includes decoding the bitstream into the video.
  10. 10 . 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 an adaptive loop 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, and Q are positive integers, P is greater than M, and Q is greater than N; and perform the conversion by applying the adaptive loop filtering process according to the determined classification, wherein the adaptive loop 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, wherein the one or more boundaries conditionally further comprise at least one of: a slice boundary, a tile boundary, or a sub-picture boundary.
  11. 11 . The apparatus of claim 10 , 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 in which the M×N region is located.
  12. 12 . The apparatus of claim 10 , 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 if the bottom boundary of the current coding tree block is not the bottom boundary of the picture; and wherein the virtual boundary is used to determine the classification, and wherein samples outside the virtual boundary are not used to determine the classification.
  13. 13 . The apparatus of claim 10 , wherein the M×N region is a 4×4 region and the P×Q region is a 10×10 region.
  14. 14 . 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 an adaptive loop 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, and Q are positive integers, P is greater than M, and Q is greater than N; and perform the conversion by applying the adaptive loop filtering process according to the determined classification, wherein the adaptive loop 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, wherein the one or more boundaries conditionally further comprise at least one of: a slice boundary, a tile boundary, or a sub-picture boundary.
  15. 15 . The non-transitory computer-readable storage medium of claim 14 , 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 in which the M×N region is located.
  16. 16 . The non-transitory computer-readable storage medium of claim 14 , 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 if the bottom boundary of the current coding tree block is not the bottom boundary of the picture; and wherein the virtual boundary is used to determine the classification, and wherein samples outside the virtual boundary are not used to determine the classification.
  17. 17 . The non-transitory computer-readable storage medium of claim 14 , wherein the M×N region is a 4×4 region and the P×Q region is a 10×10 region.
  18. 18 . A method for storing a bitstream of a video, comprising: determining, for a picture of a video comprising one or more coding tree blocks, that an adaptive loop 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, and Q are positive integers, P is greater than M, and Q is greater than N; generating the bitstream by applying the adaptive loop filtering process according to the determined classification; and storing the bitstream in a non-transitory computer-readable recording medium, wherein the adaptive loop 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, wherein the one or more boundaries conditionally further comprise at least one of: a slice boundary, a tile boundary, or a sub-picture boundary.
  19. 19 . The method 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 in which the M×N region is located.
  20. 20 . The method 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 if the bottom boundary of the current coding tree block is not the bottom boundary of the picture; and wherein the virtual boundary is used to determine the classification, and wherein samples outside the virtual boundary are not used to determine the classification.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS This application is a continuation of U.S. application Ser. No. 17/856,601, filed on Jul. 1, 2022, which is a continuation of U.S. application Ser. No. 17/570,682, filed on Jan. 7, 2022, now U.S. Pat. No. 11,553,179, which is a continuation of International Patent Application No. PCT/CN2020/100962, filed on Jul. 9, 2020, which claims the priority to and benefits of International Patent Application No. PCT/CN2019/095330, filed on Jul. 9, 2019. All the aforementioned patent applications are hereby incorporated by reference in their entireties. TECHNICAL FIELD The present disclosure is directed generally to video coding and decoding technologies. BACKGROUND Video coding standards have evolved primarily through the development of the well-known International Telecommunication Union (ITU) Telecommunication Standardization Sector (ITU-T) and International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC) standards. The ITU-T produced H.261 and H.263, ISO/IEC produced Moving Picture Experts Group (MPEG)-1 and MPEG-4 Visual, and the two organizations jointly produced the H.262/MPEG-2 Video and H.264/MPEG-4 Advanced Video Coding (AVC) and H.265/High Efficiency Video Coding (HEVC) standards. Since H.262, the video coding standards are based on the hybrid video coding structure wherein temporal prediction plus transform coding are utilized. To explore the future video coding technologies beyond HEVC, Joint Video Exploration Team (JVET) was founded by Video Coding Experts Group (VCEG) and MPEG jointly in 2015. Since then, many new methods have been adopted by JVET and put into the reference software named Joint Exploration Model (JEM). In April 2018, the JVET between VCEG (Q6/16) and ISO/IEC JTC1 SC29/WG11 (MPEG) was created to work on the next generation Versatile Video Coding (VVC) standard targeting at 50% bitrate reduction compared to HEVC. SUMMARY Using the disclosed video coding, transcoding or decoding techniques, embodiments of video encoders or decoders can handle virtual boundaries of coding tree blocks to provide better compression efficiency and simpler implementations of coding or decoding tools. In one example aspect, a method of video processing is disclosed. The method includes determining a classification of samples of a block in a video picture of a video according to a rule. The video picture is divided into multiple regions. 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 comprise 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 an adaptive loop filter according to the classification. In another example aspect, a method of video processing is disclosed. The method includes performing a conversion between video blocks of a video picture and a bitstream representation thereof. Here, the video blocks are processed using logical groupings of coding tree blocks and the coding tree blocks are processed based on whether a bottom boundary of a bottom coding tree block is outside a bottom boundary of the video picture. In another example aspect, another video processing method is disclosed. The method includes determining, based on a condition of a coding tree block of a current video block, a usage status of virtual samples during an in-loop filtering and performing a conversion between the video block and a bitstream representation of the video block consistent with the usage status of virtual samples. In yet another example aspect, another video processing method is disclosed. The method includes determining, during a conversion between a video picture that is logically grouped into one or more video slices or video bricks, and a bitstream representation of the video picture, to disable a use of samples in another slice or brick in the adaptive loop filter process and performing the conversion consistent with the determining. In yet another example aspect, another video processing method is disclosed. The method includes determining, during a conversion between a current video block of a video picture and a bitstream representation of the current video block, that the current video block includes samples located at a boundary of a video unit of the video picture and performing the conversion based on the determining, wherein the performing the conversion includes generating virtual samples for an in-loop filtering process using a unified method that is same for all boundary types in the video picture. In yet another example aspect, another method of video processing is disclosed. The method includes determining to apply, during a conversion between a current video block of a video picture and a bitstream representation thereof, one of mu