ALF Adaptive Parameter Method and Apparatus for Video Coding

BR112025021191A2Pending Publication Date: 2026-09-08
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
BR112025021191
Authority / Receiving Office
BR · BR
Patent Type
Applications
Publication Date
2026-09-08

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

1 / 24 ALF Adaptive Parameter Method and Apparatus for Video Coding CROSS-REFERENCE TO RELATED REQUESTS

[0001] The present invention is a Non-Provisional Application and claims priority from U.S. Provisional Patent Application No. 63 / 495,135, filed April 10, 2023. The U.S. Provisional Patent Application is incorporated herein by reference in its entirety. FIELD OF THE INVENTION

[0002] The present invention relates to a video encoding system using ALF (Adaptive Loop Filter). In particular, the present invention discloses adaptive parameters for the ALF classifier to improve ALF processing performance. BACKGROUND AND RELATED STATE OF THE ART

[0003] Versatile Video Coding (VVC) is the latest international video coding standard developed by the Joint Video Expert Team (JVET) of the ITU-T Video Coding Expert Group (VCEG) and the IEC / ISO Moving Picture (MPEG) Expert Group. The standard was published as an ISO standard: ISO / IEC 23090-3:2021, Information technology - Encoded representation of immersive media - Part 3: Versatile video coding, published in February 2021. VVC was developed based on its predecessor HEVC (High Efficiency Video Coding), adding more coding tools to improve coding efficiency and also to handle various types of video sources, including three-dimensional (3D) video signals.

[0004] Fig. 1A illustrates an exemplary adaptive Inter / Intra video coding system incorporating loop processing. For Intraprediction 110, prediction data are derived based on previously encoded video data in Petition 870250089405, dated 10 / 01 / 2025, page 21 / 60 2 / 24 current image. For Interprediction 112, Motion Estimation (ME) is performed on the encoder side and Motion Compensation (MC) is performed based on the ME result to provide prediction data derived from other images and motion data. The Switch 114 selects Intraprediction 110 or Interprediction 112 and the selected prediction data is provided to the Adder 116 to form prediction errors, also called residuals. The prediction error is then processed by the Transform (T) 118, followed by Quantization (Q) 120. The transformed and quantized residuals are then encoded by the Entropy Encoder 122 to be included in a video bitstream corresponding to the compressed video data.The bitstream associated with the transform coefficients is then packaged with secondary information, such as motion and encoding modes associated with intraprediction and interprediction, and other information, such as parameters associated with loop filters applied to the underlying image area. The secondary information associated with intraprediction 110, interprediction 112, and loop filter 130 is provided to the Entropy Encoder 122, as shown in Figure 1A. When an interprediction mode is used, a reference image or images also need to be reconstructed at the encoder end. Consequently, the transformed and quantized residues are processed by Inverse Quantization (IQ) 124 and Inverse Transform (IT) 126 to recover the residues. The residues are then added back to the prediction data 136 in Reconstruction (REC) 128 to reconstruct the video data.The reconstructed video data can be stored in Reference Image Buffer 134 and used for predicting other frames.

[0005] As shown in Fig. 1A, the received video data undergoes a series of processing steps in the encoding system. The reconstructed video data from REC 128 may be subject to Petition 870250089405, dated 10 / 01 / 2025, page 22 / 60 3 / 24 due to various compromises resulting from a series of processing steps. Consequently, loop filtering 130 is frequently applied to the reconstructed video data before it is stored in the Reference Image Buffer 134 in order to improve video quality. For example, deblocking filtering (DF), Adaptive Sample Shifting (SAO), and Adaptive Loop Filtering (ALF) can be used. Loop filter information may need to be incorporated into the bitstream so that a decoder can properly recover the necessary information. Therefore, loop filter information is also provided to the Entropy Encoder 122 for incorporation into the bitstream. In Figure 1A, Loop Filtering 130 is applied to the reconstructed video before the reconstructed samples are stored in the reference image buffer 134. The system in Figure 1A is intended to illustrate an exemplary structure of a typical video encoder.It may correspond to the High Efficiency Video Coding (HEVC), VP8, VP9, ​​H.264, or VVC system.

[0006] The decoder, as shown in Fig. 1B, can use similar functional blocks or parts of the same functional blocks as the encoder, except for the Transform 118 and Quantization 120, since the decoder only needs Inverse Quantization 124 and Inverse Transform 126. Instead of Entropy Encoder 122, the decoder uses an Entropy Decoder 140 to decode the video bitstream into quantized transform coefficients and necessary encoding information (e.g., ILPF information, intraprediction information, and interprediction information). Intraprediction 150 on the decoder side does not need to perform mode search. Instead, the decoder only needs to generate the intraprediction according to the intraprediction information received from the Entropy Decoder 140. Furthermore, for interprediction, the decoder needs Petition 870250089405, dated 10 / 01 / 2025, page 23 / 60 4 / 24 only perform motion compensation (MC 152) according to the interprediction information received from Entropy Decoder 140, without the need for motion estimation.

[0007] According to VVC, an input image is partitioned into non-overlapping square block regions, called CTUs (Coding Tree Units), similar to HEVC. Each CTU can be partitioned into one or multiple smaller coding units (CUs). The resulting CU partitions can be square or rectangular in shape. Furthermore, VVC divides a CTU into prediction units (PUs) as a unit for applying prediction processes such as interprediction, intraprediction, etc. Adaptive Loop Filter in VVC

[0008] In VVC, an Adaptive Loop Filter (ALF) with block-based filter adaptation is applied. For the luma component, a filter is selected from 25 filters for each 4x4 block, based on the direction and activity of the local gradients. Filter format

[0009] Two diamond filter formats (as shown in Fig. 2) are used. The 7x7 220 diamond format is applied to the luma component and the 5x5 210 diamond format is applied to the chroma components. Block classification

[0010] For the luma component, each 4x4 block is categorized into one of 25 classes. The classification index C is derived based on its directionality D and a quantized activity value A, as follows: C = 5D + A .

[0011] To calculate D and A, the gradients in the horizontal, vertical, and two diagonal directions are first calculated using the 1-D Laplacian: Petition 870250089405, dated 10 / 01 / 2025, p. 24 / 60 5 / 24 ί+3j + 3gv= Σ Σ ^ki = l2R(k,l) - R(k,l — 1) — R(k,l + 1)1, k=í-2i=j-2 ί + 3j + 3 9=Σ Σ #k'i' #k,i = |2R(k,l) - R(k — 1,l) — R(k + 1,l)|, k=í-2i=j-2 ί+3j + 3 9di= Σ ΣD1k'i' D1k,i = |2R(k, l) — R(k — 1, l — 1) — R(k + 1, l + 1)|, k=í-2i=j-3 ί+3j + 3gd2 = Σ Σ D2k,i. D2k,i = |2R(k,l)-R(k-1,l + 1)-R(k + 1,l-1)|. k=i-2 j=j-2 where the indices i and j refer to the coordinates of the upper left sample within the 4x4 block and R(i,j) indicates a sample reconstructed at coordinate (i,j~).

[0012] To reduce the complexity of block classification, the 1-D subsampled Laplacian calculation is applied to the vertical direction (Fig. 3A) and the horizontal direction (Fig. 3B). As shown in Figs. 3C-D, the same subsampled positions are used for the gradient calculation of all directions (gdlna Fig. 3C and gd2na Fig. 3D).

[0013] Next, the maximum and minimum values ​​of the gradients in the horizontal and vertical directions are defined as: g()X= max(gh,gv), g(™ = min(gh,gv).

[0014] The maximum and minimum values ​​of the gradient in two diagonal directions are defined as: g^i = max(gd0, g^, g(li = min(gd0, gaJ .

[0015] To derive the directionality value D, these values ​​are compared with each other and with two thresholds 2% and t2: Step 1. If both g(* < t% · g(.eg(a* < ti · 0½) are true, D is defined as 0. (aX(T1ΊΪΤΙ ()^ (T1ΊΪΤΙStep 2·IfSh,v / Sh,v >gdo,di / gdo,di , continue fromStep 3; otherwise, continue from Step 4. Step 3. If g^* > t2· g(., D is defined as 2 ; case Petition 870250089405, dated 10 / 01 / 2025, p. 25 / 60 6 / 24 contrary to D, is defined as 1. Step 4. If g^ > t2· g^ opposite D, it is defined as 3. D is defined as 4; case

[0016] The value of activity A is calculated as: í+3j+3a = Σ Σ +ηά · k=í-2l=j-2

[0017] A is further quantized for the range from 0 to 4 inclusive, and the quantized value is denoted as A.

[0018] For chroma components in an image, no classification is applied. Geometric transformations of filter coefficients and clipping values.

[0019] Before filtering each 4x4 luma block, geometric transformations such as rotation or diagonal and vertical inversion are applied to the filter coefficients f(k,l) and the corresponding filter clipping values ​​c(k,l) depending on the gradient values ​​calculated for that block. This is equivalent to applying these transformations to the samples in the filter support region. The idea is to make the different blocks to which ALF is applied more similar by aligning their directionality.

[0020] Three geometric transformations, including diagonal inversion, vertical inversion, and rotation, are introduced: Diagonal: f=(k, l) = f(l, k), c=(k,l) = c(l,k), Vertical inversion: fv(k,t) = f(k,K — l — 1), cv(k,l) = c(k,K — l — 1), Rotation: f@(k,l) = f(K — l — 1, k), c@(k,l) = c(K — l — 1, k), where K is the filter size and 0 <k,l<K — 1 são coordenadas de coeficientes, de modo que a localização (0,0) esteja no canto superior esquerdo e a localização (K — 1,K — 1) esteja no canto inferior direito. As transformadas são aplicadas aos coeficientes de filtro f (k, l) e aos valores de recorte c(k, l) Petition 870250089405, dated 10 / 01 / 2025, page 26 / 60 7 / 24 depending on the gradient values ​​calculated for that block. The relationship between the transform and the four gradients in the four directions is summarized in the following table. Table 1. Mapping of the calculated gradient for a block and the transformations Gradient values ​​Transformation Transposition indices gd2 < gai and gh < gv No transformation 0 gd2 < gdi and gv < gh Diagonal 1 gdi < gd2 and gh < gv Vertical inversion 2 gai < gd2 and gv < gh Rotation 3 Filtration process

[0021] On the decoder side, when ALF is enabled for a CTB, each sample R(i,j) within the CU is filtered, resulting in the sample value R^i,') as shown below, R'(iJ) = R(i,j) + ((ΣΣ \\kDOIDO f(k, l) x K(R(i + k, j + l) - R(i,j) c(k, l)) + 64 )”) where / (k,l) denotes the decoded filter coefficients, K(x,y) is the clipping function and c(k, l) denotes the decoded clipping parameters. The variables kel range between -L / 2 and L / 2, where L denotes the filter length. The clipping function K(x,y) = min (y,max(-y,x)) which corresponds to the function Clip3 (-y,y,x). The clipping operation introduces non-linearity to make ALF more efficient, reducing the impact of neighboring sample values ​​that are very different from the current sample value. Cross-Component Adaptive Loop Filter

[0022] CC-ALF uses luma sample values ​​to refine each chroma component by applying an adaptive linear filter to the luma channel and then using the output of this filtering operation for chroma refinement. Figure 4A presents a system-level diagram of the CCALF process in relation to luma ALF, chroma ALF, and processes. Petition 870250089405, dated 10 / 01 / 2025, p. 27 / 60 8 / 24 SAO. As shown in Figure 4A, each color component (i.e., Y, Cb, and Cr) is processed by its respective SAO (i.e., luma SAO 410, SAO Cb 412, and SAO Cr 414). After the SAO, ALF Luma 420 is applied to the luma processed by SAO, and ALF Chroma 430 is applied to the Cb and Cr processed by SAO. However, there is a cross-component luma term for a chroma component (i.e., CC-ALF Cb 422 and CC-ALF Cr 424). The outputs of the cross-component ALF are added (using adders 432 and 434, respectively) to the outputs of ALF Chroma 430.

[0023] Filtering in CC-ALF is performed by applying a linear diamond-shaped filter (e.g., filters 440 and 442 in Fig. 4B) to the luma channel. In Fig. 4B, a blank circle indicates a luma sample and a circle filled with dots indicates a chroma sample. One filter is used for each chroma channel, and the operation is expressed as: P / í(x,y) = ^ ΑΛ-κ + -0,yy + yo) <i(-o,yo) (x0,y0)eSw onde (x,y) i é a localização de componente de croma sendo refinada, (xR,yR) i é a localização de luma com base em (x,y), Si é a área de suporte de filtro no componente de luma, e i <i(xo,yo) representa os coeficientes de filtro.

[0024] As shown in Fig. 4B, the luma filter support is the colocalized region with the actual chroma sample after considering the spatial scale factor between the luma and chroma planes.

[0025] In the VVC reference software, the CC-ALF filter coefficients are calculated by minimizing the mean squared error of each chroma channel relative to the original chroma content. For this, the VTM (VVC Test Model) algorithm uses a coefficient derivation process similar to that used for chroma ALF. Specifically, a correlation matrix is ​​derived, and the coefficients are calculated using a Cholesky decomposition solver, in an attempt to Petition 870250089405, dated 10 / 01 / 2025, page 28 / 60 9 / 24 minimize the mean squared error metric. When designing the filters, a maximum of 8 CC-ALF filters can be designed and transmitted per image. The resulting filters are then indicated for each of the two chroma channels based on a CTU.

[0026] Additional features of the CC-ALF include: • The project uses a 3x4 diamond format with 8 branches. • Seven filter coefficients are transmitted in the APS. Each of the transmitted coefficients has a dynamic range of 6 bits and is restricted to power-of-2 values. • The eighth filter coefficient is derived in the decoder so that the sum of the filter coefficients equals 0. • An APS can be referenced in the slice header. • The CC-ALF filter selection is controlled at the level of CTU for each chroma component • Boundary padding for horizontal virtual boundaries uses the same memory access pattern as the luma ALF.

[0027] As an additional feature, the reference encoder can be configured to enable some basic subjective adjustment via the configuration file. When enabled, the VTM attenuates the application of CC-ALF in encoded regions with high QP that are close to mid-gray or contain a large amount of high luma frequencies. Algorithmically, this is achieved by disabling the application of CC-ALF in CTUs where any of the following conditions is met. Petition 870250089405, dated 10 / 01 / 2025, page 29 / 60 10 / 24 true: • The slice QP value minus 1 is less than or equal to the base QP value. • The number of chroma samples for which the local contrast is greater than ( 1 << ( bitDepth - 2 ) ) - 1 exceeds the CTU height, where the local contrast is the difference between the maximum and minimum luma sample values ​​within the filter support region. • More than a quarter of the chroma samples are in the range between ( 1 << ( bitDepth - 1 ) ) - 16 and ( 1 << ( bitDepth - 1 ) ) + 16

[0028] The motivation for this functionality is to provide some assurance that CC-ALF does not amplify artifacts previously introduced in the decoding path (this is largely due to the fact that VTM currently does not explicitly optimize subjective chroma quality). It is anticipated that alternative encoder implementations may not use this functionality or may incorporate alternative strategies suitable for their encoding characteristics. Filter parameter signaling

[0029] The ALF filter parameters are signaled in the Adaptation Parameter Set (APS). In an APS, up to 25 sets of luma filter coefficients and clipping value indices, and up to eight sets of chroma filter coefficients and clipping value indices, can be signaled. To reduce bit overhead, filter coefficients of different ranks for the luma component can be merged. In the slice header, the indices of the APSs used for the current slice are signaled.

[0030] The clipping value indices, which are decoded from APS, allow the clipping values ​​to be determined using a Petition 870250089405, dated 10 / 01 / 2025, page 30 / 60 11 / 24 clipping values ​​table for luma and chroma components. These clipping values ​​depend on the internal bit depth. More precisely, the clipping values ​​are obtained by the following formula: AlfClip = {round√2B~a*n) for n E [0. .N — 1]} with B equal to the internal bit depth, α is a predefined constant value equal to 2.35, and N equal to 4, which is the number of clipping values ​​allowed in VVC. The AlfClip is then rounded to the nearest value using the power of 2 format.

[0031] In the slice header, up to 7 APS indices can be flagged to specify the luma filter sets used for the current slice. The filtering process can be further controlled at the CTB level. A flag is always set to indicate whether ALF is applied to a luma CTB. A luma CTB can choose a filter set from 16 fixed filter sets and the APS filter sets. A filter set index is flagged for a luma CTB to indicate which filter set is applied. The 16 fixed filter sets are predefined and hardcoded in both the encoder and decoder.

[0032] For the chroma component, an APS index is assigned in the slice header to indicate the chroma filter sets being used for the current slice. At the CTB level, a filter index is assigned for each chroma CTB if there is more than one chroma filter set in the APS.

[0033] The filter coefficients are quantized with a norm equal to 128. To restrict multiplication complexity, a bitstream conformity is applied, so that the non-central position coefficient value is in the range of -27 to 27-1, inclusive. The central position coefficient is not signed in the bitstream and is considered equal to 128. Adaptive Loop Filter in ECM Petition 870250089405, dated 10 / 01 / 2025, page 31 / 60 12 / 24

[0034] In ECM7 (Muhammed Coban, et al., “Description of the Enhanced Compression Model 7 (ECM 7) algorithm”, Joint Video Expert Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29), 28th meeting, Mainz, DE, October 20-28, 2022, document: JVET-AB2025), some changes to the VVC ALF are disclosed. A brief overview is shown below. Simplification of ALF

[0035] ALF gradient subsampling and ALF virtual boundary processing are removed. The block size for classification is reduced from 4x4 to 2x2. The filter size for luma and chroma, for which ALF coefficients are signed, is increased to 9x9. ALF with fixed filters

[0036] To filter a luma sample, three different classifiers (C0, Ci, and C2) and three different sets of filters (F0, F1, and F2) are used. Sets F0 and F1 contain fixed filters, with coefficients trained for classifiers C0 and C1. The coefficients of the filters in F2 are signaled. Which filter from a set Fi is used for a given sample is decided by a class Q assigned to this sample using classifier Ci. Filtration

[0037] First, two fixed 13x13 diamond-shaped filters F0 and F1 are applied to derive two intermediate samples Ro(x,y) and R1(x,y). After that, F2 is applied to Ro(x,y), R1(x,y), and neighboring samples to derive a filtered sample as R(x,y) = R(x,y) + [Σ + ^1)] + [Σ ^] where fij is the clipped difference between a neighboring sample and the current sample R(x,y) and gi is the clipped difference between Ri_2O(x,y) and the current sample. The filter coefficients ^1 = 0,...21, are Petition 870250089405, dated 10 / 01 / 2025, page 32 / 60 13 / 24 flagged. Classification

[0038] Based on the directionality Di and activity, Ai a class Q is assigned to each 2x2 block: G = A ^ MDi + Di, where MD,i represents the total number of directionalities Di.

[0039] As in VVC, the values ​​of the horizontal, vertical, and two diagonal gradients are calculated for each sample using 1-D Laplacian. The sum of the sample gradients within a 4x4 window covering the 2x2 target block is used for classifier C0, and the sum of the sample gradients within a 12x12 window is used for classifiers C1 and C2. The sums of the horizontal, vertical, and two diagonal gradients are denoted, respectively, as g1, g2, gd, and gd2. The directionality Di is determined by comparing _max(g1, g2) _max(gd1, gd2) _max(gd1, gd2) _r, v = 'rd1, d2 = min{g1, g1, v2) min{g1, g2, gd2) with a set of thresholds. The directionality D2 is derived as in VVC using thresholds 2 and 4.5. For D1 and D%, the horizontal / vertical edge force and the diagonal edge force E= are calculated first. Thresholds Th = [1.25,1.5,2, 3,4.5,8] are used.The edge strength ε is 0 if r, < Th[0]; otherwise, ε is the maximum integer such that rdv > Th[E^ > — 1]. The edge strength E= is 0 if rdld2 < Th[0]; otherwise, E= is the maximum integer such that rdld2 > Thj - 1]. When r, > ζ$1$2, i.e., horizontal / vertical edges are dominant, Di is derived using Table 2A; otherwise, diagonal edges are dominant, Di is derived using Table 2B. Table 2A. Mapping of ElDe E'HV to Dq E= Ekv 0 1 2 3 4 5 6 Petition 870250089405, dated 10 / 01 / 2025, p. 33 / 60 14 / 24 1 0 0 23 24 25 26 27 Table 2B. Mapping of ElD and ElHV to Dq jk> IT\ 0 1 2 3 4 5 6 0 28 0 0 0 0 0 0 1 29 30 0 0 0 0 0 2 31 32 33 0 0 0 0 3 34 35 36 37 0 0 0 4 38 39 40 41 42 0 0 5 43 44 45 46 47 48 0 6 49 50 51 52 53 54 55

[0040] To obtain Aj, the sum of the vertical and horizontal gradients Aj is mapped to the range 0 an, where n equals 4 for A2 and 15 for Ao and Λ-

[0041] In an ALF_APS, up to 4 sets of luma filters are As indicated, each set can have up to 25 filters. Alternative ALF 2x2 classifier

[0042] Classification in ALF is extended with an additional alternative classifier. For a signaled luma filter set, a flag is set to indicate whether the alternative classifier is applied. The geometric transform is not applied to the alternative band classifier. When the band-based classifier is applied, the sum of the sample values ​​of a 2x2 luma block is calculated first. Then, the class index is calculated as below, class_index = (sum * 25) >> (sample bit depth) Petition 870250089405, dated 10 / 01 / 2025, page 34 / 60 15 / 24 + 2) .

[0043] In the present invention, methods and apparatus for improving the performance of ALF processing using adaptive parameters for the ALF classifier are disclosed. BRIEF SUMMARY OF THE INVENTION

[0044] A method and apparatus for video encoding using ALF (Adaptive Loop Filter) are described. According to this method, reconstructed pixels are received, wherein the reconstructed pixels comprise a current block. One or more parameters for an ALF classifier are determined according to the encoding information associated with the current block or one or more statistical sample values ​​in a region. The ALF classifier, with a parameter set including one or more derived parameters, is applied to the target data associated with the current block to determine an ALF index. A target ALF is selected from a set of ALFs according to the ALF index. The target ALF is applied to the current block to generate a filtered reconstructed current block. The filtered reconstructed current block is provided.

[0045] In one embodiment, the application of the ALF classifier comprises summing the target data within a window size (W) to obtain a sample sum, scaling the sample sum by a scaling factor (α) to determine a scaled sample sum, and shifting the scaled sample sum to the right by a shift factor (β) to determine a band index.

[0046] In one embodiment, the encoding information comprises a slice type. For example, a β value used for intra slices is larger than that used for non-intra slices. In another example, an α value used for intra slices is smaller than that used for non-intra slices. In yet another example, the window size for intra slices is smaller than that for non-intra slices. Petition 870250089405, dated 10 / 01 / 2025, page 35 / 60 16 / 24

[0047] In one embodiment, the encoding information comprises a QP (Quantization Parameter) at the slice level or CU level. In one example, a β value used for low QP slices is greater than that used for high QP slices. In another example, an α value used for low QP slices is less than that used for high QP slices. In yet another example, the window size for low QP slices is smaller than that for high QP slices.

[0048] In one embodiment, one or more statistical sample values ​​in the region correspond to an average sample value in a CTB. Furthermore, a lookup table is used to determine (α, β) based on the average sample value in the CTB. In another embodiment, one or more statistical sample values ​​in the region correspond to a minimum and a maximum value of a sum of samples in a CTB. Furthermore, a lookup table is used to determine (α, β) based on the minimum and maximum values ​​of the sum of samples in the CTB.

[0049] In one embodiment, the encoding information comprises a slice type or a QP (Quantization Parameter) at the slice level or CU level.

[0050] In one embodiment, the target data correspond to pre-ALF sample values.

[0051] In one embodiment, the target data correspond to absolute residual sample values. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] Fig. 1A illustrates an exemplary adaptive Inter / Intra video coding system incorporating loop processing.

[0053] Figure 1B illustrates a corresponding decoder for the encoder in Figure 1A.

[0054] Figure 2 illustrates the ALF filter shapes for the chroma (left) and luminance (right) components.

[0055] Figures 3A-D illustrate Laplacian calculations Petition 870250089405, dated 10 / 01 / 2025, page 36 / 60 17 / 24 subsampled for gv(3A) , gh (3B) , gdi (3C) and gd2 (3D) .

[0056] Figure 4A illustrates the positioning of the CC-ALF in relation to other loop filters.

[0057] Figure 4B illustrates a diamond-shaped filter for chroma samples.

[0058] Figure 5 illustrates a flowchart of an exemplary video coding system that uses adaptive parameters for the ALF classifier, according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0059] It will be readily understood that the components of the present invention, as generally described and illustrated in the figures herein, can be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of embodiments of the systems and methods of the present invention, as represented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. References throughout this descriptive report to one embodiment, an embodiment, or similar language mean that a specific feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the present invention. Thus, appearances of the phrases in one embodiment or in an embodiment in various places throughout this descriptive report do not necessarily refer to the same embodiment.

[0060] Furthermore, the resources, structures, or features described can be combined in any suitable manner in one or more embodiments. A person skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, etc. In other cases, well-known structures or operations are not shown or described in detail to avoid Petition 870250089405, dated 10 / 01 / 2025, page 37 / 60 18 / 24 obscure aspects of the invention. The illustrated embodiments of the invention will be better understood by reference to the drawings, in which similar parts are designated by similar numerals throughout the text. The following description serves only as an example and simply illustrates certain selected embodiments of apparatus and methods that are consistent with the invention as claimed herein. Adaptive Parameters for ALF Classification

[0061] Different ALF classifiers provide different block clustering results in a frame, and different clustering results lead to different optimized sum-of-squares (SSD) distortion values. In ECM ALF, a filter set can select a VVC-type gradient-based classifier or a band classifier. In JVET-AC0173 (Ikram Jumakulyyev, et al., “Non-EE2: Residual Data-Based ALF Classification”, Joint Video Experts (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29, 29th Meeting, by teleconference, January 11-20, 2023, Document: JVETAC0173), a new residual classifier is introduced, where the class is derived based on the sum of the absolute values ​​of neighboring residual samples. In the current project, the classifier parameters are fixed.However, it would be beneficial if the parameters could be adapted to change according to the content and / or coding information, since the distribution of samples can be very different. Several methods related to this idea are illustrated in this proposal.

[0062] In general, the classification rule of a band classifier can be written as bandindex = (« * / Si ) V h / »β, classindex = fm{bandindex), Petition 870250089405, dated 10 / 01 / 2025, pp. 38 / 60 19 / 24 where Si is the sample value at position i, W is a set of positions in a window, eae β are positive integers, f is a mapping function, and classIndex is the final classification result.

[0063] Based on this notation, the classifiers already proposed are summarized in Table 3. Table 3. Band Classifier and Residual Classifier Band Classifier Parameters Residual Classifier Si Pre-ALF Sample Values ​​Absolute Residual Sample Values ​​W 2 by 2 8 by 8 to 25 1 β Bitdepth + 2 Bitdepth - 4 fm(-) - (identical function) (->24)? 24:- (clipping function)

[0064] Note that the sample value in the notation can be from any available source, not limited to pre-ALF or residual sample values. The sample value (Si) is also referred to as target data in this disclosure.

[0065] We propose several methods related to adaptive parameters of a classifier in the following sections, where parameters of a classifier refer to W, a, β, and the parameters used in fm. According to the present invention, one or more parameters of a classifier are derived adaptively.

[0066] In one modality, the parameters of a classifier are adaptedly altered according to the slice type.

[0067] For example, in the residual classifier, since intra-slices tend to have larger absolute residual values, the parameters can be adaptedly altered in the following ways: 1. The β value used for intra-slices is greater than the one used Petition 870250089405, dated 10 / 01 / 2025, pp. 39 / 60 20 / 24 for non-intra slices. 2. The value 'a' used for intra-slices is smaller than the value used for non-intra-slices. 3. The window size of W for intra slices is smaller than for non-intra slices.

[0068] In another embodiment, the parameters of a classifier are adaptedly altered according to a QP value, where the QP can be slice-level QP or CU-level QP.

[0069] For example, in the residual classifier, since slices with low QP tend to have larger absolute residual values, the parameters can be adaptedly changed in the following ways: 1. The β value used for low QP slices is larger than the one used for high QP slices. 2. The value 'a' used for low QP slices is smaller than the value used for high QP slices. 3. The window size of W for low QP slices is smaller than for high QP slices.

[0070] In another embodiment, one or more statistical values ​​of sample values ​​in a region are calculated first, and the parameters of a classifier are adaptedly altered according to the one or more statistical values.

[0071] For example, an average value of sample values ​​in a CTB is calculated, and a lookup table is used to determine the parameters (α,β) given the average value.

[0072] In another example, the sample sum of each window in a CTB is calculated first, and the minimum and maximum of the sample sums are derived. A lookup table is used to determine the parameters (α,β) given the derived minimum and maximum values. Petition 870250089405, dated 10 / 01 / 2025, pp. 40 / 60 21 / 24

[0073] The above modalities can be combined. That is, the parameters of a classifier are adaptedly altered according to more than one factor from the above modalities.

[0074] For example, the parameters of a classifier are adaptedly changed according to the slice type and the QP value, where QP can be slice-level QP or CU-level QP.

[0075] The previously proposed adaptive parameter methods for ALF classifiers can be implemented in encoders and / or decoders. For example, any of the proposed methods can be implemented in the loop filter module (e.g., ILPF 130 in Fig. 1A and Fig. 1B) of an encoder or decoder. Alternatively, any of the proposed methods can be implemented as a circuit coupled to reconstructed samples of an encoder or decoder. ALF methods can also be implemented using executable software or firmware code stored on a medium such as a hard disk or flash memory, for a CPU (Central Processing Unit) or programmable devices (e.g., DSP (Digital Signal Processor) or FPGA (Field Programmable Gate Array)).

[0076] Figure 5 illustrates a flowchart of an exemplary video coding system that uses adaptive parameters for the ALF classifier, according to an embodiment of the present invention. The steps shown in the flowchart can be implemented as executable program codes on one or more processors (e.g., one or more CPUs) on the encoder side. The steps shown in the flowchart can also be implemented based on hardware, such as one or more electronic devices or processors arranged to perform the steps in the flowchart. According to the method, the reconstructed pixels are received at step 510, where the reconstructed pixels comprise a current block. One or more parameters for a Petition 870250089405, dated 10 / 01 / 2025, page 41 / 60 22 / 24 ALF classifiers are determined according to the encoding information associated with the current block or one or more statistical sample values ​​in a region in step 520. The ALF classifier, with a parameter set including one or more derived parameters, is applied to the target data associated with the current block to determine an ALF index 530. A target ALF is selected from an ALF set according to the ALF index in step 540. The target ALF is applied to the current block to generate a filtered reconstructed current block in step 550. The filtered reconstructed current block is provided in step 560.

[0077] The flowchart shown is intended to illustrate an example of video encoding according to the present invention. A person skilled in the art may modify each step, rearrange the steps, divide a step, or combine steps to practice the present invention without departing from the spirit of the present invention. In the disclosure, specific syntax and semantics have been used to illustrate examples of implementing embodiments of the present invention. A person skilled in the art may practice the present invention by replacing the syntax and semantics with equivalent syntax and semantics without departing from the spirit of the present invention.

[0078] The above description is presented to enable a person skilled in the art to practice the present invention as provided in the context of a particular application and its requirements. Various modifications to the described embodiments will be apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments. Therefore, the present invention is not intended to be limited to the particular embodiments shown and described, but should be given the broadest scope consistent with the principles and novel features disclosed herein. In the detailed description above, several specific details are illustrated. Petition 870250089405, dated 10 / 01 / 2025, page 42 / 60 23 / 24 in order to provide a complete understanding of the present invention. However, it will be understood by those skilled in the art that the present invention can be practiced.

[0079] The embodiment of the present invention, as described above, can be implemented in various hardware, software, or a combination of both. For example, an embodiment of the present invention may be one or more integrated circuits on a video compression chip or program code integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program code to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also involve a series of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or a field-programmable gate array (FPGA).These processors can be configured to perform particular tasks according to the invention, executing machine-readable software code or firmware code that defines the particular methods incorporated by the invention. The software code or firmware code can be developed in different programming languages ​​and different formats or styles. The software code can also be compiled for different target platforms. However, different code formats, styles, and languages ​​of software code and other means of configuring code to perform the tasks according to the invention will not depart from the spirit and scope of the invention.

[0080] The invention can be embodied in other specific forms without departing from its spirit or essential characteristics. The examples described should be considered in all respects only as illustrative and not restrictive. The scope of the invention is therefore indicated by the appended claims and not by the preceding description. All changes that may be made Petition 870250089405, dated 10 / 01 / 2025, page 43 / 60 24 / 24 falls within the meaning and equivalence range of the claims and should be adopted within their scope. Petition 870250089405, dated 10 / 01 / 2025, pp. 44 / 60

Claims

1 / 3 CLAIMS 1. A method for processing an Adaptive Loop Filter (ALF) of reconstructed video, the method characterized in that it comprises: receiving reconstructed pixels, wherein the reconstructed pixels comprise a current block; determining one or more parameters for an ALF classifier according to the encoding information associated with the current block or one or more statistical sample values ​​in a region; applying the ALF classifier, with a set of parameters including one or more derived parameters, to the target data associated with the current block to determine an ALF index; selecting a target ALF from a set of ALFs according to the ALF index; applying the target ALF to the current block to generate a filtered reconstructed current block; and providing the filtered reconstructed current block.

2. Method, according to claim 1, characterized in that the application of the ALF classifier comprises summing the target data within a window size (W) to obtain a sample sum, scaling the sample sum by a scaling factor (α) to determine a scaled sample sum, and shifting the scaled sample sum to the right by a shift factor (β) to determine a band index.

3. Method according to claim 2, characterized in that the encoding information comprises a slice type.

4. Method, according to claim 3, characterized in that a β value used for intra slices is greater than that used for non-intra slices.

5. Method, according to claim 3, characterized in that a value α used for intra slices is smaller than that used for non-intra slices.

6. Method according to claim 3, characterized in that the window size for intra slices is smaller than that for non-intra slices.

7. Method according to claim 2, characterized in that the encoding information comprises a QP (Quantization Parameter) at slice level or CU level.

8. Method, according to claim 2, characterized in that one or more statistical sample values ​​in the region correspond to an average sample value in a CTB.

9. Method according to claim 8, characterized in that a lookup table is used to determine (α, β) based on the average value of samples in the CTB.

10. Method, according to claim 2, characterized in that one or more statistical sample values ​​in the region correspond to a minimum and a maximum value of a sum of samples in a CTB.

11. Method, according to claim 10, characterized in that a lookup table is used to determine (α, β) based on the minimum and maximum values ​​of the sum of samples in the CTB.

12. Method, according to claim 1, characterized in that the encoding information comprises a slice type or a QP (Quantization Parameter) at the slice level or CU level.

13. Method, according to claim 1, characterized in that the target data correspond to pre-ALF sample values.

14. Method according to claim 1, characterized in that the target data correspond to absolute residual sample values.

15. Video encoding apparatus, as described in Petition 870250089405, dated 10 / 01 / 2025, page 56 / 60 3 / 3, characterized in that it comprises one or more electronic components or processors arranged to: receive reconstructed pixels, wherein the reconstructed pixels comprise a current block; determine one or more parameters for an ALF classifier according to the encoding information associated with the current block or one or more statistical sample values ​​in a region; apply the ALF classifier, with a set of parameters including one or more derived parameters, to the target data associated with the current block to determine an ALF index; select a target ALF from a set of ALFs according to the ALF index; apply the target ALF to the current block to generate a filtered reconstructed current block; and provide the filtered reconstructed current block. Petition 870250089405, dated 10 / 01 / 2025, pages 57 / 60