US 11,991,354 B2
Clipping levels for non-linear adaptive loop filter
Victor Alexeevich Stepin, Moscow (RU); Sergey Yurievich Ikonin, Moscow (RU); and Elena Alexandrovna Alshina, Munich (DE)
Assigned to HUAWEI TECHNOLOGIES CO., LTD., Shenzhen (CN)
Filed by HUAWEI TECHNOLOGIES CO., LTD., Guangdong (CN)
Filed on Dec. 23, 2021, as Appl. No. 17/561,087.
Application 17/561,087 is a continuation of application No. PCT/CN2020/098229, filed on Jun. 24, 2020.
Claims priority of provisional application 62/871,200, filed on Jul. 7, 2019.
Claims priority of application No. PCT/RU2019/000454 (WO), filed on Jun. 24, 2019; application No. PCT/RU2019/000456 (WO), filed on Jun. 25, 2019; application No. PCT/RU2019/000476 (WO), filed on Jul. 3, 2019; and application No. PCT/RU2019/000483 (WO), filed on Jul. 8, 2019.
Prior Publication US 2022/0116598 A1, Apr. 14, 2022
Int. Cl. H04N 19/117 (2014.01); H04N 19/136 (2014.01); H04N 19/172 (2014.01); H04N 19/196 (2014.01); H04N 19/82 (2014.01)
CPC H04N 19/117 (2014.11) [H04N 19/136 (2014.11); H04N 19/172 (2014.11); H04N 19/196 (2014.11); H04N 19/82 (2014.11)] 20 Claims
OG exemplary drawing
 
1. A method for in-loop filtering by performing adaptive loop filtering on a reconstructed frame of a video stream, implemented by an encoding device or a decoding device, the method comprising:
forming differences between at least one of luma and chroma components of a pixel of the reconstructed frame and the at least one of luma and chroma components of neighboring pixels in a connected area of the pixel;
clipping the differences according to respective clipping levels;
forming a weighted sum of the clipped differences; and
adding the weighted sum to the at least one of luma and chroma components of the pixel to determine a filtered respective component of the pixel,
wherein the respective clipping levels are chosen from a same set of clipping levels for the luma and chroma components when luma bit depth, BitDepthLuma, is same as chroma bit depth, BitDepthChroma;
wherein the set of clipping levels for the luma and chroma components is determined according to the following equations:
Lim(i,j)=[1<<(BitDepthLuma−ShiftConst[Idx(i,j)])] for luma component
Lim(i,j)=[1<<(BitDepthChroma−ShiftConst[Idx(i,j)])] for chroma components
Idx(i,j)=0,1,2,3
ShiftConst[0]=0,ShiftConst[1]=3,ShiftConst[2]=5,ShiftConst[3]=7
Or
ShiftConst[0]=0,ShiftConst[1]=2,ShiftConst[2]=4,ShiftConst[3]=6
through variation of the bit depth of the luma component BitDepthLuma and the chroma components BitDepthChroma as well as an index Idx(i,j).