IP Library Granted Patent US 11,611,747
Granted Patent B2
US 11,611,747 · App. 17/399,839 · Granted Mar 21, 2023

Adaptive loop filtering for video coding

Inventors: Hongbin Liu (Beijing, CN); Li Zhang (San Diego, CA); Kai Zhang (San Diego, CA); Hsiao Chiang Chuang (San Diego, CA); Zhipin Deng (Beijing, CN)
Assignees: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.; BYTEDANCE INC.
H04N19/117H04N19/132H04N19/176H04N19/70
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,611,747
App. No.
17/399,839
Granted
Mar 21, 2023
Kind
B2
Abstract

Devices, systems and methods for adaptive loop filtering are described. In an exemplary aspect, a method for video processing includes performing, for a current video block of a video, a filtering process that uses filter coefficients and comprises two or more operations with at least one intermediate result, applying a clipping operation to the at least one intermediate result, and performing, based on the at least one intermediate result, a conversion between the current video block and a bitstream representation of the video, wherein the at least one intermediate result is based on a weighted sum of the filter coefficients and differences between a current sample of the current video block and neighboring samples of the current sample.

Claims (45)

1. A method of processing video data, comprising:

determining, for a conversion between a first video region of a video and a bitstream of the video, a first syntax element corresponding to the first video region is present in the bitstream, wherein the first syntax element indicates an index of a first adaptation parameter set that first video region refers to, and wherein the first video region is a video picture or a video slice, when the first video region is the video picture, the first syntax element is present in a picture header syntax element set, and when the first video region is a video slice, the first syntax element is present in a slice header syntax element set; and

performing the conversion based on the determining;

wherein, in response to the first syntax element being present in the picture header syntax element set or the slice header syntax element set, a value of a second syntax element included in the first adaptation parameter set is 1, and wherein the second syntax element indicates whether to include a luma filter set in the first adaptation parameter set, and

wherein, for a sample of the first video region, a filter index is derived based on multiple sample differences in different directions, and a specific luma filter is selected, based on the filter index, from the luma filter set in the first adaption parameter set and other luma filters which are not included in the luma filter set,

wherein the video region includes multiple video coding tree blocks, and the video coding tree block is split into multiple M*M video block, M is equal to 2 or 4, and

wherein same filter index is applied for samples in a same M*M video block;

wherein the multiple sample differences in different directions are derived for every M*M video region based on 1:2 subsampling rate.

2. The method of claim 1 , wherein the first adaptation parameter set includes an adaptive loop filtering adaptation parameter set.

3. The method of claim 1 , wherein a maximum value of the filter index is indicated by N, and a number of luma filters in the luma filter set is smaller than or equal to N+1.

4. The method of claim 3 , wherein in response to the number of luma filters in the luma filter set is smaller than N+1, at least two luma filter with different filter indices have same filter coefficients.

5. The method of claim 1 , wherein the conversion includes encoding the current video block into the bitstream.

6. The method of claim 1 , wherein the conversion includes decoding the current video block from the bitstream.

7. 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 first video region of a video and a bitstream of the video, a first syntax element corresponding to the first video region is present in the bitstream, wherein the first syntax element indicates an index of a first adaptation parameter set that first video region refers to, and wherein the first video region is a video picture or a video slice, when the first video region is the video picture, the first syntax element is present in a picture header syntax element set, and when the first video region is a video slice, the first syntax element is present in a slice header syntax element set; and

perform the conversion based on the determining;

wherein, in response to the first syntax element being present in the picture header syntax element set or the slice header syntax element set, a value of a second syntax element included in the first adaptation parameter set is 1, and wherein the second syntax element indicates whether to include a luma filter set in the first adaptation parameter set, and

wherein, for a sample of the first video region, a filter index is derived based on multiple sample differences in different directions, and a specific luma filter is selected, based on the filter index, from the luma filter set in the first adaption parameter set and other luma filters which are not included in the luma filter set;

wherein the video region includes multiple video coding tree blocks, and the video coding tree block is split into multiple M*M video block, M is equal to 2 or 4, and

wherein same filter index is applied for samples in a same M*M video block;

wherein the multiple sample differences in different directions are derived for every M*M video region based on 1:2 subsampling rate.

8. The apparatus of claim 7 , wherein the first adaptation parameter set includes an adaptive loop filtering adaptation parameter set.

9. The apparatus of claim 7 , wherein a maximum value of the filter index is indicated by N, and a number of luma filters in the luma filter set is smaller than or equal to N+1.

10. The apparatus of claim 9 , wherein in response to the number of luma filters in the luma filter set is smaller than N+1, at least two luma filter with different filter indices have same filter coefficients.

11. A non-transitory computer-readable storage medium storing instructions that cause a processor to:

determine, for a conversion between a first video region of a video and a bitstream of the video, a first syntax element corresponding to the first video region is present in the bitstream, wherein the first syntax element indicates an index of a first adaptation parameter set that first video region refers to, and wherein the first video region is a video picture or a video slice, when the first video region is the video picture, the first syntax element is present in a picture header syntax element set, and when the first video region is a video slice, the first syntax element is present in a slice header syntax element set; and

perform the conversion based on the determining;

wherein, in response to the first syntax element being present in the picture header syntax element set or the slice header syntax element set, a value of a second syntax element included in the first adaptation parameter set is 1, and wherein the second syntax element indicates whether to include a luma filter set in the first adaptation parameter set, and

wherein, for a sample of the first video region, a filter index is derived based on multiple sample differences in different directions, and a specific luma filter is selected, based on the filter index, from the luma filter set in the first adaption parameter set and other luma filters which are not included in the luma filter set;

wherein the video region includes multiple video coding tree blocks, and the video coding tree block is split into multiple M*M video block, M is equal to 2 or 4, and

wherein same filter index is applied for samples in a same M*M video block;

wherein the multiple sample differences in different directions are derived for every M*M video region based on 1:2 subsampling rate.

12. 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 first video region of the video, a first syntax element corresponding to the first video region is present in the bitstream, wherein the first syntax element indicates an index of a first adaptation parameter set that first video region refers to, and wherein the first video region is a video picture or a video slice, when the first video region is the video picture, the first syntax element is present in a picture header syntax element set, and when the first video region is a video slice, the first syntax element is present in a slice header syntax element set; and

generating the bitstream based on the determining;

wherein, in response to the first syntax element being present in the picture header syntax element set or the slice header syntax element set, a value of a second syntax element included in the first adaptation parameter set is 1, and wherein the second syntax element indicates whether to include a luma filter set in the first adaptation parameter set, and

wherein, for a sample of the first video region, a filter index is derived based on multiple sample differences in different directions, and a specific luma filter is selected, based on the filter index, from the luma filter set in the first adaption parameter set and other luma filters which are not included in the luma filter set;

wherein the video region includes multiple video coding tree blocks, and the video coding tree block is split into multiple M*M video block, M is equal to 2 or 4, and

wherein same filter index is applied for samples in a same M*M video block;

wherein the multiple sample differences in different directions are derived for every M*M video region based on 1:2 subsampling rate.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the first adaptation parameter set includes an adaptive loop filtering adaptation parameter set.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the first adaptation parameter set includes an adaptive loop filtering adaptation parameter set.

15. The non-transitory computer-readable storage medium of claim 11 , wherein a maximum value of the filter index is indicated by N, and a number of luma filters in the luma filter set is smaller than or equal to N+1.

16. The non-transitory computer-readable storage medium of claim 15 , wherein in response to the number of luma filters in the luma filter set is smaller than N+1, at least two luma filter with different filter indices have same filter coefficients.

17. The non-transitory computer-readable storage medium of claim 12 , wherein the first adaptation parameter set includes an adaptive loop filtering adaptation parameter set.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2021
From: ZHANG, LI; ZHANG, KAI; CHUANG, HSIAO CHIANG
To: BYTEDANCE INC.
Reel/Frame 057153/0069 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2021
From: LIU, HONGBIN; DENG, ZHIPIN
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 057153/0076 →
Priority Claims (1)
WO PCT/CN2019/082855 · Apr 16, 2019 · international
Continuity (2)
Continuation PCTCN2020085075 · Apr 16, 2020
Related Publication 20210385446A1 · Dec 9, 2021