IP Library › Granted Patent US 12,477,155
Granted Patent B2
US 12,477,155 · App. 18/319,126 · Granted Nov 18, 2025

Coding enhancement in cross-component sample adaptive offset

Inventors: Che-Wei Kuo (Beijing, CN); Xiaoyu Xiu (Beijing, CN); Wei Chen (Beijing, CN); Xianglin Wang (Beijing, CN); Yi-Wen Chen (Beijing, CN); Hong-Jheng Jhu (Beijing, CN); Ning Yan (Beijing, CN); Bing Yu (Beijing, CN)
Assignee: BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO., LTD.
H04N19/82H04N19/117H04N19/172H04N19/186
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,477,155
App. No.
18/319,126
Granted
Nov 18, 2025
Kind
B2
Abstract

An electronic apparatus performs a method of decoding video data. The method includes: receiving, from the video signal, a picture frame that includes a first component and a second component; reconstructing samples of the first component through a first in-loop filter; reconstructing samples of the second component through a second in-loop filter; determining a classifier for the first component from one or more reconstructed samples of the second component relative to a respective reconstructed sample of the first component; selecting a first sample offset for the respective reconstructed sample of the first component according to the classifier; applying a plurality of filters in parallel with the selection of the first sample offset to obtain a plurality of parallel offsets; and clipping an output of a combination of the respective reconstructed sample of the first component, the first sample offset, and the plurality of parallel offsets from the plurality of filters.

Claims (73)

1 . A method of decoding a video signal, comprising:

receiving, from the video signal, a picture frame that includes a first component and a second component;

reconstructing samples of the first component through a first in-loop filter;

reconstructing samples of the second component through a second in-loop filter;

determining a classifier for the first component from one or more reconstructed samples of the second component relative to a respective reconstructed sample of the first component;

selecting a first sample offset for the respective reconstructed sample of the first component according to the classifier;

applying one or more filters in parallel with the selecting of the first sample offset after the first in-loop filter to obtain one or more parallel offsets; and

clipping an output of a combination of the respective reconstructed sample of the first component after the first in-loop filter, the first sample offset, and the one or more parallel offsets from the one or more filters,

wherein the output of the combination is within a bit depth dynamic range as a modified respective reconstructed sample of the first component.

2 . The method of claim 1 , wherein the first component is a luma component and the second component is a chroma component, or the first component is a chroma component and the second component is a luma component, or the first component is a first chroma component and the second component is a second chroma component.

3 . The method of claim 1 , wherein one of the one or more filters which are applied in parallel with the selecting of the first sample offset is a Bilateral Filter (BIF) after the first in-loop filter, and one of the one or more parallel offsets is a second sample offset, and wherein the method of decoding the video signal further comprising:

determining, through the BIF, the second sample offset of the respective reconstructed sample of the first component.

4 . The method of claim 1 , wherein one of the one or more filters which are applied in parallel with the selecting of the first sample offset is a Sample Adaptive Offset (SAO) filter after the first in-loop filter, and one of the one or more parallel offsets is a third sample offset, and wherein the method of decoding the video signal further comprising:

receiving, through the SAO filter, a plurality of SAO sample offsets, and selecting the third sample offset from the plurality of SAO sample offsets according to an SAO classifier of the respective reconstructed sample of the first component.

5 . The method of claim 3 , wherein one of the one or more filters which are applied in parallel with the selecting of the first sample offset is a Sample Adaptive Offset (SAO) filter after the first in-loop filter, and one of the one or more parallel offsets is a third sample offset through the SAO filter, and wherein clipping the output of the combination of the respective reconstructed sample of the first component after the first in-loop filter, the first sample offset, and the one or more parallel offsets from the one or more filters comprises:

applying a clipping function to a combination of the respective reconstructed sample of the first component, the first sample offset, the second sample offset, and the third sample offset.

6 . The method of claim 3 , wherein one of the one or more filters which are applied in parallel with the selecting of the first sample offset is a Sample Adaptive Offset (SAO) filter after the first in-loop filter, and one of the one or more parallel offsets is a third sample offset through the SAO filter, and wherein clipping the output of the combination of the respective reconstructed sample of the first component after the first in-loop filter, the first sample offset, and the one or more parallel offsets from the one or more filters comprises:

applying a first clipping function to a first combination of the respective reconstructed sample of the first component after the first in-loop filter, and the third sample offset to get a first output;

applying a second clipping function to a second combination of the first output, and the second sample offset to get a second output; and

applying a third clipping function to a third combination of the second output, and the first sample offset.

7 . The method of claim 3 , wherein one of the one or more filters which are applied in parallel with the selecting of the first sample offset is a Sample Adaptive Offset (SAO) filter after the first in-loop filter, and one of the one or more parallel offsets is a third sample offset through the SAO filter, and wherein clipping the output of the combination of the respective reconstructed sample of the first component after the first in-loop filter, the first sample offset, and the one or more parallel offsets from the one or more filters comprises:

applying a first clipping function to a first combination of the respective reconstructed sample of the first component after the first in-loop filter, the second sample offset, and the third sample offset to get a first output; and

applying a second clipping function to a second combination of the first output, and the first sample offset.

8 . The method of claim 3 , wherein clipping the output of the combination of the respective reconstructed sample of the first component after the first in-loop filter, the first sample offset, and the one or more parallel offsets from the one or more filters comprises:

applying a clipping function to a combination of the respective reconstructed sample of the first component, the first sample offset, and the second sample offset.

9 . The method of claim 3 , wherein clipping the output of the combination of the respective reconstructed sample of the first component after the first in-loop filter, the first sample offset, and the one or more parallel offsets from the one or more filters comprises:

applying a first clipping function to a first combination of the respective reconstructed sample of the first component after the first in-loop filter, and the second sample offset to get a first output; and

applying a second clipping function to a second combination of the first output, and the first sample offset.

10 . The method of claim 1 , wherein the first in-loop filter is a luma Deblocking Filter (DBF) and the second in-loop filter is a chroma DBF, or the first in-loop filter is a chroma DBF and the second in-loop filter is a luma DBF, or the first in-loop filter is a first chroma DBF and the second in-loop filter is a second chroma DBF.

11 . An electronic apparatus comprising:

one or more processing units;

a memory coupled to the one or more processing units; and

a plurality of programs stored in the memory that, when executed by the one or more processing units, cause the electronic apparatus to perform operations for decoding a video signal comprising:

receiving, from the video signal, a picture frame that includes a first component and a second component;

reconstructing samples of the first component through a first in-loop filter;

reconstructing samples of the second component through a second in-loop filter;

determining a classifier for the first component from one or more reconstructed samples of the second component relative to a respective reconstructed sample of the first component;

selecting a first sample offset for the respective reconstructed sample of the first component according to the classifier;

applying one or more filters in parallel with the selecting of the first sample offset after the first in-loop filter to obtain one or more parallel offsets; and

clipping an output of a combination of the respective reconstructed sample of the first component after the first in-loop filter, the first sample offset, and the one or more parallel offsets from the one or more filters,

wherein the output of the combination is within a bit depth dynamic range as a modified respective reconstructed sample of the first component.

12 . The electronic apparatus of claim 11 , wherein one of the one or more filters which are applied in parallel with the selecting of the first sample offset is a Bilateral Filter (BIF) after the first in-loop filter, and one of the one or more parallel offsets is a second sample offset, and wherein the operations for decoding the video signal further comprising:

determining, through the BIF, the second sample offset of the respective reconstructed sample of the first component.

13 . The electronic apparatus of claim 11 , wherein one of the one or more filters which are applied in parallel with the selecting of the first sample offset is a Sample Adaptive Offset (SAO) filter after the first in-loop filter, and one of the one or more parallel offsets is a third sample offset, and wherein the operations for decoding the video signal further comprising:

receiving, through the SAO filter, a plurality of SAO sample offsets, and selecting the third sample offset from the plurality of SAO sample offsets according to an SAO classifier of the respective reconstructed sample of the first component.

14 . The electronic apparatus of claim 12 , wherein one of the one or more filters which are applied in parallel with the selecting of the first sample offset is a Sample Adaptive Offset (SAO) filter after the first in-loop filter, and one of the one or more parallel offsets is a third sample offset through the SAO filter, and wherein clipping the output of the combination of the respective reconstructed sample of the first component after the first in-loop filter, the first sample offset, and the one or more parallel offsets from the one or more filters comprises:

applying a clipping function to a combination of the respective reconstructed sample of the first component, the first sample offset, the second sample offset, and the third sample offset.

15 . The electronic apparatus of claim 12 , wherein one of the one or more filters which are applied in parallel with the selecting of the first sample offset is a Sample Adaptive Offset (SAO) filter after the first in-loop filter, and one of the one or more parallel offsets is a third sample offset through the SAO filter, and wherein clipping the output of the combination of the respective reconstructed sample of the first component after the first in-loop filter, the first sample offset, and the one or more parallel offsets from the one or more filters comprises:

applying a first clipping function to a first combination of the respective reconstructed sample of the first component after the first in-loop filter, and the third sample offset to get a first output;

applying a second clipping function to a second combination of the first output, and the second sample offset to get a second output; and

applying a third clipping function to a third combination of the second output, and the first sample offset.

16 . A method for storing a bitstream, comprising:

performing an encoding method to generate a bitstream; and

storing the bitstream,

wherein the encoding method comprises:

determining, from a video signal, a picture frame that includes a first component and a second component;

reconstructing samples of the first component through a first in-loop filter;

reconstructing samples of the second component through a second in-loop filter;

determining a classifier for the first component from one or more reconstructed samples of the second component relative to a respective reconstructed sample of the first component;

selecting a first sample offset for the respective reconstructed sample of the first component according to the classifier;

applying one or more filters in parallel with the selecting of the first sample offset after the first in-loop filter to obtain a one or more parallel offsets; and

clipping an output of a combination of the respective reconstructed sample of the first component after the first in-loop filter, the first sample offset, and the one or more parallel offsets from the one or more filters,

wherein the output of the combination is within a bit depth dynamic range as a modified respective reconstructed sample of the first component.

17 . The method for storing a bitstream of claim 16 , wherein one of the one or more filters which are applied in parallel with the selecting of the first sample offset is a Bilateral Filter (BIF) after the first in-loop filter, and one of the one or more parallel offsets is a second sample offset, and wherein the method of decoding the video signal further comprising:

determining, through the BIF, the second sample offset of the respective reconstructed sample of the first component.

18 . The method for storing a bitstream of claim 16 , wherein one of the one or more filters which are applied in parallel with the selecting of the first sample offset is a Sample Adaptive Offset (SAO) filter after the first in-loop filter, and one of the one or more parallel offsets is a third sample offset, and wherein the method of decoding the video signal further comprising:

receiving, through the SAO filter, a plurality of SAO sample offsets, and selecting the third sample offset from the plurality of SAO sample offsets according to an SAO classifier of the respective reconstructed sample of the first component.

19 . The method for storing a bitstream of claim 17 , wherein one of the one or more filters which are applied in parallel with the selecting of the first sample offset is a Sample Adaptive Offset (SAO) filter after the first in-loop filter, and one of the one or more parallel offsets is a third sample offset through the SAO filter, and wherein clipping the output of the combination of the respective reconstructed sample of the first component after the first in-loop filter, the first sample offset, and the one or more parallel offsets from the one or more filters comprises:

applying a clipping function to a combination of the respective reconstructed sample of the first component, the first sample offset, the second sample offset, and the third sample offset.

20 . The method for storing a bitstream of claim 17 , wherein one of the one or more filters which are applied in parallel with the selecting of the first sample offset is a Sample Adaptive Offset (SAO) filter after the first in-loop filter, and one of the one or more parallel offsets is a third sample offset through the SAO filter, and wherein clipping the output of the combination of the respective reconstructed sample of the first component after the first in-loop filter, the first sample offset, and the one or more parallel offsets from the one or more filters comprises:

applying a first clipping function to a first combination of the respective reconstructed sample of the first component after the first in-loop filter, and the third sample offset to get a first output;

applying a second clipping function to a second combination of the first output, and the second sample offset to get a second output; and

applying a third clipping function to a third combination of the second output, and the first sample offset.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2023
From: KUO, CHE-WEI; XIU, XIAOYU; CHEN, WEI; WANG, XIANGLIN; CHEN, YI-WEN; JHU, HONG-JHENG; YAB, NING; YU, BING
To: BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO., LTD.
Reel/Frame 064013/0815 →
Continuity (3)
Continuation PCTUS2022031044 · May 26, 2022
Provisional Application 63193539 · May 26, 2021
Related Publication 20230319315A1 · Oct 5, 2023
References Cited (23)
US 20150117528A1 · Kim et al. · 2015 [cited by applicant]
US 20180063527A1 · Chen et al. · 2018 [cited by applicant]
US 20180352233A1 · Alshina et al. · 2018 [cited by applicant]
US 20190297350A1 · Lin et al. · 2019 [cited by applicant]
US 20200304785A1 · Hu et al. · 2020 [cited by applicant]
US 20210092402A1 · Park et al. · 2021 [cited by applicant]
US 20220109832A1 · Du · 2022 [cited by examiner]
JP 2019521571A · 2019 [cited by applicant]
JP 2020501434A · 2020 [cited by applicant]
WO 2021083257A1 · 2021 [cited by applicant]
Fu (NPL, “Sample Adaptive Offset in the HEVC Standard,” IEEE Dec. 2012). [cited by examiner]
Strom (NPL, “Bilateral Loop Filter in Combination with SAO,” IEEE 2019). [cited by examiner]
Chen (NPL, “Algorithm description for Versatile Video coding and Test Model 12,” JVET-U2002, Jan. 2021). [cited by examiner]
Kuo et al., “Cross-component Sample Adaptive Offset,” 2022 Data Compression Conference IEEE. [cited by examiner]
Gao, “Video Coding with Cross-Component Sample Offset,” IEEE Transactions on Image Processing (2024). [cited by examiner]
Misra, Kiran , et al., “Cross-Component Adaptive Loop Filter for chroma”, Joint Video Experts Team (JVET) of ITU-T SG 16WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 15th Meeting: Gothenburg, SE, Jul. 3-12, 2019, 9 pages. [cited by applicant]
“International Search Report and Written Opinion for PCT/US2021/031044”, mailed Aug. 17, 2021, 9 pages. [cited by applicant]
Kuo, C. W., et al., “AHG12:Cross-component Sample Adaptive Offset”, JVET-V0153-V2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC29, 22nd Meeting, by teleconference, 4 pages, Apr. 2021. [cited by applicant]
Strom, Jacob , et al., “EE2: Bilateral filter in VTM, EE2 and VVenC”, JVET-V0094_v4, Joint Video Experts Team (JVET) of ITU-T SG 16 WP3 and ISO/IEC JTC 1/SC 29, 22 meeting by teleconference, 10 pages, Apr. 2021. [cited by applicant]
Extended European Search Report corresponding to European Patent Application No. 21899180.0 (12 pages) (dated Apr. 22, 2024). [cited by applicant]
Kuo , et al., “CE4-1: Cross-component sample adaptive offset”, AVS Video Group Meeting; Video Subgroup Meeting; Oct. 19-21, 2020, pp. 1-9. [cited by applicant]
Yang, et al., “CE5-related: Joint chroma cross-component adaptive loop filtering”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 16th Meeting: Geneva, CH, Oct. 1-11, 2019, pp. 1-7. [cited by applicant]
Japanese Office Action corresponding to Japanese Patent Application No. 2023-572668 (Foreign Text, 3 Pages, English Translation Thereof, 3 Pages) (Dec. 3, 2024). [cited by applicant]