IP Library › Granted Patent US 12,382,101
Granted Patent B2
US 12,382,101 · App. 17/977,160 · Granted Aug 5, 2025

Adaptive application of generalized sample offset

Inventors: Madhu Peringassery Krishnan (Mountain View, CA); Xin Zhao (San Jose, CA); Liang Zhao (Sunnyvale, CA); Shan Liu (San Jose, CA)
Assignee: Tencent America LLC
H04N19/70H04N19/176H04N19/186H04N19/46
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 12,382,101
App. No.
17/977,160
Granted
Aug 5, 2025
Kind
B2
Abstract

This disclosure relates to adaptive loop filtering (ALF) for cross-component sample offset (CCSO), local sample offset (LSO), and generalized sample offset (GSO). ALF uses reconstructed samples of a first color component as input (e.g., Y or Cb or Cr). At least one of the GSO, LSO, or CCSO is determined to be enabled for a frame based on a syntax value in a coded video stream. The coded video stream is decoded by applying the at least one of the GSO, the LSO, or the CCSO at a block level.

Claims (45)

1. A method comprising:

receiving a coded video stream comprising a syntax element indicating whether a sample offset filtering process is applied to a frame in the coded video stream at a block level;

determining that at least one of: a generalized sample offset (GSO), a local sample offset (LSO), or a cross component sample offset (CCSO) is enabled for the frame at the block level based on the syntax element being a predefined value;

receiving a block-level flag indicating that one of the GSO, the LSO, or the CCSO is enabled for a block of the frame, wherein the block-level flag also indicates that another of the GSO, the LSO, or the CCSO is enabled for the block; and

decoding the coded video stream by applying the at least one of the GSO, the LSO, or the CCSO at the block level.

2. The method of claim 1 , wherein determining that the at least one of the GSO, the LSO, or the CCSO is enabled comprises determining that the GSO is enabled based on the syntax element being the predefined value.

3. The method of claim 1 , wherein determining that the at least one of the GSO, the LSO, or the CCSO is enabled comprises determining that the LSO is enabled based on the syntax element being the predefined value.

4. The method of claim 1 , wherein determining that the at least one of the GSO, the LSO, or the CCSO is enabled comprises determining that the CCSO is enabled based on the syntax element being the predefined value.

5. The method of claim 1 , further comprising:

receiving a signal indicating a first block-level flag for a luma component having a first block size that is the same as or smaller than a second block size of a chroma component when a second block-level flag for the chroma component having the second block size is signaled.

6. The method of claim 1 , further comprising:

receiving, in a high-level syntax, a signal indicating a granularity of at least one of a chroma component or a luma component for application of the GSO, wherein the high-level syntax comprises: a video parameter set (VPS), a picture parameter set (PPS), a sequence parameter setting (SPS), an adaptation parameter set (APS), a frame header, a slice header, a picture header, a tile header, a superblock header, or a coding tree unit (CTU) header.

7. The method of claim 1 , wherein the syntax element comprises a high-level syntax, the GSO enabled by the high-level syntax, the method further comprising:

receiving a signal comprising an additional high-level syntax to indicate a maximum number of bands used for a band offset.

8. The method of claim 7 , wherein the high-level syntax comprises: a video parameter set (VPS), a picture parameter set (PPS), a sequence parameter setting (SPS), an adaptation parameter set (APS), a frame header, a slice header, a picture header, a tile header, a superblock header, or a coding tree unit (CTU) header.

9. The method of claim 1 , wherein:

the block-level flag enables the GSO for the block,

the method further comprises:

receiving a signal comprising an additional high-level syntax to indicate a number of bands used for a band offset in the block.

10. The method of claim 9 , wherein the number of bands for the band offset in the block is less than a number of bands signaled at a frame level.

11. The method of claim 9 , wherein the syntax element comprises a high-level syntax, the method further comprising:

receiving a signal comprising a flag to indicate whether a single band or a maximum number of bands specified in the high-level syntax is applied for a current block.

12. The method of claim 1 , wherein a block size of the frame in the coded video stream is different for a luma component and a chroma component corresponding to the frame.

13. An apparatus for encoding a video stream, the apparatus comprising:

a memory storing a plurality of instructions; and

a processor configured to execute the plurality of instructions, and upon execution of the plurality of instructions, is configured to:

receive a video stream;

determine a syntax element indicating whether a sample offset filtering process is applied to a frame in the video stream at a block level, the syntax element being a predefined value;

determine that at least one of: a generalized sample offset (GSO), a local sample offset (LSO), or a cross component sample offset (CCSO) is enabled for the frame at the block level based on the syntax element;

determine a block-level flag indicating that one of the GSO, the LSO, or the CCSO is enabled for a block of the frame, wherein the block-level flag also indicates that another of the GSO, the LSO, or the CCSO is enabled for the block; and

encode the video stream by application of the at least one of the GSO, the LSO, or the CCSO at the block level.

14. The apparatus of claim 13 , wherein application of the at least one of the GSO, the LSO, or the CCSO comprises application of the GSO, and wherein a first block size of a luma component is the same as or smaller than a second block size of the chroma component.

15. The apparatus of claim 13 , wherein the processor, upon execution of the plurality of instructions, is further configured to:

determine a signal indicating a first block-level flag for a luma component having a first block size that is the same as or smaller than a second block size of a chroma component when a second block-level flag for the chroma component having the second block size is signaled.

16. The apparatus of claim 13 , wherein the processor, upon execution of the plurality of instructions, is further configured to

determine, in a high-level syntax, a signal indicating a granularity of at least one of a chroma component or a luma component for application of the GSO, wherein the high-level syntax comprises: a video parameter set (VPS), a picture parameter set (PPS), a sequence parameter setting (SPS), an adaptation parameter set (APS), a frame header, a slice header, a picture header, a tile header, a superblock header, or a coding tree unit (CTU) header.

17. The apparatus of claim 13 , wherein at least one of:

the syntax element comprises a high-level syntax, the GSO is enabled by the high-level syntax, and the processor, upon execution of the plurality of instructions, is further configured to receive a signal comprising an additional high-level syntax to indicate a maximum number of bands used for a band offset; or

the block-level flag enables the GSO for the block, and the processor, upon execution of the plurality of instructions, is further configured to: determine a signal comprising an additional high-level syntax to indicate a number of bands used for a band offset in the block.

18. A non-transitory computer readable storage medium storing a plurality of instructions executable by a processor, wherein upon execution by the processor, the plurality of instructions is configured to cause the processor to perform a conversion between video data and a bitstream by:

receiving the video data;

determining a syntax element indicating whether a sample offset filtering process is applied to a frame in the video data at a block level, the syntax element being a predefined value;

determine that at least one of: a generalized sample offset (GSO), a local sample offset (LSO), or a cross component sample offset (CCSO) is enabled for the frame at the block level based on the syntax element;

determine a block-level flag indicating that one of the GSO, the LSO, or the CCSO is enabled for a block of the frame, wherein the block-level flag also indicates that another of the GSO, the LSO, or the CCSO is enabled for the block; and

encode the video data into the bitstream by application of the at least one of the GSO, the LSO, or the CCSO at the block level.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2023
From: PERINGASSERY KRISHNAN, MADHU; ZHAO, XIN; ZHAO, LIANG; LIU, SHAN
To: TENCENT AMERICA LLC
Reel/Frame 064778/0911 →
Continuity (3)
Provisional Application 63289139 · Dec 13, 2021
Provisional Application 63280503 · Nov 17, 2021
Related Publication 20230156232A1 · May 18, 2023
References Cited (20)
US 20130195199A1 · Guo · 2013 [cited by examiner]
US 20140146891A1 · Chuang · 2014 [cited by examiner]
US 20170054976A1 · Li · 2017 [cited by examiner]
US 20170272757A1 · Xu · 2017 [cited by examiner]
US 20190289323A1 · Wiegand · 2019 [cited by examiner]
US 20200195976A1 · Zhao · 2020 [cited by examiner]
US 20210037258A1 · Zhang · 2021 [cited by examiner]
US 20210274201A1 · Xu · 2021 [cited by examiner]
US 20210321143A1 · Kim · 2021 [cited by examiner]
US 20220038726A1 · Kuo · 2022 [cited by examiner]
US 20220078422A1 · Park · 2022 [cited by examiner]
US 20230276056A1 · Sharman · 2023 [cited by examiner]
US 20230319271A1 · Lim · 2023 [cited by examiner]
CN 113409560A · 2021 [cited by applicant]
WO WO2022197794A1 · 2022 [cited by applicant]
WO WO2023086214A1 · 2023 [cited by applicant]
Japanese Office Action with English machine translation regarding 2023-555642 dated Sep. 30, 2024, 4 pages. [cited by applicant]
Kuo et al., Joint Video Experts Team (JVET) Joint Video Experts Team (JVET), Of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, “AHG12: Cross-component Sample Adaptive Offset,” Document: JVET-V0153-v2, 22nd Meeting, by teleco… [cited by applicant]
Kuo et al., EE2-5.1 : Cross-component Sample Adaptive Offset, Input document to JVET, Joint Video Experts Team (JVET) of ITU-T SG 16 WP3 and ISO/IEC JTC 1/SC 29, 23 [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US22/48415 mailed Mar. 1, 2023 (9 pages). [cited by applicant]