Method and apparatus for adaptive loop filter including tap constraints for video coding

By using an adaptive loop filter (ALF) with tap constraints in the video encoding and decoding system, the video quality recovery problem is solved, and a more efficient video encoding and decoding process is achieved, reducing quality loss and artifacts.

CN119586142APending Publication Date: 2025-03-07MEDIATEK INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380054626.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-07-18
Filing Date
2023-07-17
Publication Date
2025-03-07

AI Technical Summary

Technical Problem

When existing video encoding and codec systems process video data, it is difficult to effectively restore video quality, especially in inter-picture prediction and loop filtering processing, where quality loss and artifacts are problems.

Method used

Adaptive loop filter (ALF) containing tap constraints is used, which is processed by input terms related to adjacent fixed filtered samples, deduces the filtered output of the current sample in the current block, and provides filtered reconstructed pixels to improve video quality.

Benefits of technology

By using tap-constrained ALF, the quality loss of video data during encoding and decoding can be effectively reduced, video quality can be improved, and the occurrence of artifacts can be reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119586142A_ABST
    Figure CN119586142A_ABST
Patent Text Reader

Abstract

Methods and apparatus for video coding and decoding. According to one method, a current filtered output of a current sample in a current block is derived with an adaptive loop filter (ALF). The current filtered output is derived with an ALF for the current sample, where the ALF includes an input term associated with one or more adjacent fixed filtered samples from a restricted region associated with the current sample. According to another method, the ALF includes an input term associated with a modification term corresponding to an output filtered using a plurality of filter coefficients of a fixed filter set to a cut plurality of adjacent value differences, where the plurality of adjacent value differences are determined between a plurality of adjacent samples and a sample to be processed.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references

[0002] This application is a non-provisional application based on and claims priority to U.S. Provisional Application No. 63 / 368,673, filed on July 18, 2022. The U.S. Provisional Application is incorporated herein by reference in its entirety. Technical Field

[0003] The present invention relates to a video codec decoding system using an adaptive loop filter. In particular, the present invention relates to an ALF using simplified processing. Background Art

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

[0005] Figure 1AAn adaptive inter / intra video coding system including loop processing is shown. For intra prediction, prediction data is derived based on previously encoded and decoded video data in the current picture. For inter prediction 112, motion estimation (ME) is performed at the encoder end, and motion compensation (MC) is performed based on the results of ME to provide prediction data and motion data derived from other pictures. Switch 114 selects intra prediction 110 or inter prediction 112, and the selected prediction data is provided to adder 116 to form a prediction error, also known as a residual. It is then processed by transform (Transform, T) 118 and quantization (Quantization, Q) 120 in sequence. The transformed and quantized residuals are then encoded and decoded by an 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 together with auxiliary information such as motion mode and coding mode associated with intra prediction and inter prediction, and other information such as parameters associated with the loop filter applied to the underlying image area. As shown Figure 1A As shown, auxiliary information related to intra-picture prediction 110, inter-picture prediction 112 and in-loop filter (ILPF) 130 is provided to entropy encoder 122. When inter-picture prediction mode is used, one or more reference pictures must also be reconstructed at the encoder end. Therefore, the transformed and quantized residual is processed by inverse quantization (IQ) 124 and inverse transformation (IT) 126 to recover the residual. Then, at reconstruction (REC) 128, the residual is added back to the prediction data 136 to reconstruct the video data. The reconstructed video data can be stored in the reference picture buffer 134 and used for prediction of other pictures.

[0006] like Figure 1AAs shown, the input video data undergoes a series of processes in the encoding system. The reconstructed video data from REC 128 may suffer various losses due to the series of processes. Therefore, in order to improve the video quality, an in-loop filter 130 is usually applied to the reconstructed video data before the reconstructed video data is stored in the reference picture buffer 134. For example, a deblocking filter (DF), a sample adaptive offset (SAO), and an adaptive loop filter (ALF) may be used. The loop filter information may need to be incorporated into the bitstream so that the decoder can properly recover the required information. Therefore, the loop filter information is also provided to the entropy encoder 122 for incorporation into the bitstream. Figure 1A In , an in-loop filter 130 is applied to the reconstructed video before the reconstructed samples are stored in a reference picture buffer 134 . Figure 1A The system in is intended to illustrate an exemplary structure of a typical video encoder. It may correspond to a High Efficiency Video Coding (HEVC) system, VP8, VP9, ​​H.264, VVC, or any other video codec standard.

[0007] like Figure 1B As shown, since the decoder only needs inverse quantization 124 and inverse transform 126, the decoder can use similar or partially identical functional blocks as the encoder except for transform 118 and quantization 120. The decoder uses an entropy decoder 140 instead of an entropy encoder 122 to decode the video bitstream into quantized transform coefficients and required coding information (e.g., ILPF information, intra-picture prediction information, and inter-picture prediction information). The intra-picture prediction 150 on the decoder side does not need to perform a pattern search. Instead, the decoder only needs to generate an intra-picture prediction based on the intra-picture prediction information received from the entropy decoder 140. In addition, for inter-picture prediction, the decoder only needs to perform motion compensation 152 based on the inter-picture prediction information received from the entropy decoder 140, without the need for motion estimation.

[0008] According to VVC, similar to HEVC, the input picture is divided into a plurality of non-overlapping square block areas, called coding tree units (CTU). Each CTU can be divided into one or more coding units (CU) of smaller size. The resulting CU segmentation can be square or rectangular. At the same time, VVC divides the CTU into a plurality of prediction units (PU) as units to apply prediction processing, such as inter-picture prediction, intra-picture prediction, etc.

[0009] In the present invention, an adaptive loop filter including tap constraints is disclosed for the development of emerging video codecs beyond VVC. Summary of the invention

[0010] The present invention discloses a method and apparatus for video encoding and decoding using an adaptive loop filter (ALF). According to the method, a plurality of reconstructed pixels are received, wherein the plurality of reconstructed pixels include a current block. A current filtering output of a current sample in the current block is derived using an ALF, wherein the ALF includes input items related to one or more adjacent fixed filtering samples, and the one or more adjacent fixed filtering samples are from a restricted area related to the current sample. A plurality of filtered reconstructed pixels are provided, wherein the plurality of filtered reconstructed pixels include the current filtering output.

[0011] In one embodiment, the restricted area corresponds to the same 2x2 luma block as the current sample. In another embodiment, the restricted area corresponds to a predefined area or a plurality of luma classification blocks. In another embodiment, the restricted area corresponds to the causal area of ​​the current processing unit containing the current sample. In one example, the current processing unit corresponds to the current sample. In another example, the current processing unit corresponds to the block containing the current sample.

[0012] In one embodiment, the ALF comprises a second input term associated with one or more adjacent intermediate ALF filtered samples, wherein the one or more adjacent intermediate ALF filtered samples are from a second restricted region relative to the current sample.

[0013] The present invention discloses another method and apparatus for video encoding and decoding using an adaptive loop filter (ALF). According to the method, a plurality of reconstructed pixels are received, wherein the plurality of reconstructed pixels include a current block. A current filtering output of a current sample in the current block is derived using an ALF, wherein the ALF includes an input item associated with a modification item, wherein the modification item corresponds to an output of filtering a plurality of clipped adjacent differences using a plurality of filter coefficients of a fixed filter set, wherein the plurality of adjacent differences are determined between the plurality of adjacent samples and a sample to be processed. A plurality of filtered reconstructed pixels are provided, wherein the plurality of filtered reconstructed pixels include the current filtering output.

[0014] In one embodiment, the modification term is used directly without being clipped to determine the current filter output. In another embodiment, the modification term is used after being clipped to reduce the required bit depth. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1A An adaptive inter / intra video coding system incorporating loop processing is shown.

[0016] Figure 1B Shows Figure 1A The corresponding decoder of the encoder.

[0017] Figure 2 The ALF filter shapes for the chroma components (left) and the luma components (right) are shown.

[0018] Figure 3A -D shows the subsampled Laplace calculations for gv(3A), gh(3B), gd1(3C) and gd2(3D).

[0019] Figure 4A The position relationship of CC-ALF relative to other loop filters is shown.

[0020] Figure 4B Diamond filter with chroma samples labeled.

[0021] Figure 5A -D shows examples of various restricted regions of adjacent fixed filtered samples for ALF according to an embodiment of the present invention.

[0022] Figure 6 A flow chart of an exemplary video coding system utilizing an ALF with adjacent fixed filtered samples according to an embodiment of the present invention is shown.

[0023] Figure 7 A flow chart of an exemplary video codec system utilizing an ALF with restricted adjacent fixed filtered samples according to an embodiment of the present invention is shown. DETAILED DESCRIPTION

[0024] It is readily understood that, as generally described and illustrated in the figures herein, the components of the present invention may be arranged and designed in a variety of different configurations. As shown, the following detailed description of embodiments of the systems and methods of the present invention is not intended to limit the scope of the present invention as claimed, but is merely representative of selected embodiments of the present invention. In the specification, references to "one embodiment," "an embodiment," or similar language mean that a particular feature, structure, or characteristic described in conjunction with the embodiment may be included in at least one embodiment of the present invention. Therefore, the phrases "in one embodiment" or "in an embodiment" appearing in various places in the specification do not necessarily all refer to the same embodiment.

[0025] In addition, the described features, structures or characteristics may be combined in any suitable manner in one or more embodiments. However, those of ordinary skill in the art will recognize that the present invention may be implemented without one or more specific details, or using other methods, components, etc. In other cases, in order to avoid confusing the various aspects of the present invention, known structures or operations are not shown or described in detail. The illustrated embodiments of the present invention will be best understood by reference to the drawings, in which the same parts are represented by the same numerals throughout. The following description is by way of example only, and simply illustrates certain selected embodiments of the apparatus and methods consistent with the claimed invention.

[0026] Adaptive loop filter in VVC

[0027] In VVC, an adaptive loop filter (ALF) with block-based filter adaptation is applied. For the luminance component, a filter is selected from 25 filters in each 4×4 block based on the direction and activity of the local gradient.

[0028] Filter shape

[0029] Two diamond filter shapes ( Figure 2 ) is adopted. The 7×7 diamond 220 is used for the luma component and the 5×5 diamond 210 is used for the chroma component.

[0030] Block Classification

[0031] For the luminance component, each 4×4 block is classified into one of 25 classes. The class index C is based on its directionality D and activity The quantized value of is derived as follows:

[0032]

[0033] To calculate D and First, use one-dimensional Laplace to calculate the gradients in the horizontal, vertical, and two diagonal directions:

[0034]

[0035] where index i and index j are the coordinates of the top left sample in the 4×4 block, and R(i,j) is the reconstructed sample at coordinate (i,j).

[0036] In order to reduce the complexity of block classification, the vertical direction ( Figure 3A ) and horizontal direction ( Figure 3B ) applies a subsampled 1D Laplace computation. Figure 3C and Figure 3D , the same subsampling position is used for gradient calculation in all directions ( Figure 3C g in d1 and Figure 3D g in d2 ).

[0037] Then, the maximum and minimum values ​​of the gradient D in the horizontal and vertical directions are set to:

[0038]

[0039] The maximum and minimum values ​​of the gradients in the two diagonal directions are set to:

[0040]

[0041] To derive the value of the directivity D, these values ​​are compared with each other and with the thresholds t1 and t2:

[0042] Step 1. If and are all true, then D is set to 0.

[0043] Step 2. If Then proceed to step 3; otherwise proceed to step 4.

[0044] Step 3. If Then D is set to 2; otherwise D is set to 1.

[0045] Step 4. If Then D is set to 4; otherwise D is set to 3.

[0046] The activity value A is calculated as:

[0047]

[0048] A is further quantized to the range of 0 to 4, inclusive, and the quantized values ​​are labeled

[0049] No classification is performed on the chrominance components within the image.

[0050] Geometric Transformation of filter coefficients and clipping values

[0051] Before filtering each 4×4 luma block, the filter coefficients f(k,l) and the corresponding filter clipping values ​​c(k,l) are geometrically transformed, such as rotation, diagonal and vertical flipping, depending on the gradient value calculated for the block. This is equivalent to applying these transformations to the samples within the filter support region. The principle is to make different blocks to which the ALF is applied more similar by aligning their directionality.

[0052] Introduce three geometric transformations, including diagonal, vertical flip and rotation, as follows:

[0053] Diagonal: f D (k,l)=f(l,k),c D (k,l)=c(l,k),

[0054] Flip vertically: f V (k,l)=f(k,Kl-1),c V (k,l)=c(k,Kl-1),

[0055] Rotation: f R (k,l)=f(Kl-1,k),c R (k,l)=c(Kl-1,k),

[0056] where K is the size of the filter and 0≤k,l≤K-1 are the coefficient coordinates, so that position (0,0) is at the top left corner and position (K-1,K-1) is at the bottom right corner. The transformation applied to the filter coefficients f(k,l) and the clipping values ​​c(k,l) depends on the gradient values ​​calculated for the block. The following table summarizes the relationship between the transformation and the four gradients in the four directions

[0057] Table 1 shows the mapping of gradients and transformations for a block gradient calculation.

[0058] Gradient Value Transform <![CDATA[g d2 <g d1 And g h <g v ]]> No transformation <![CDATA[g d2 <g d1 And g v <g h ]]> Diagonal <![CDATA[g d1 <g d2 And g h <g v ]]> Flip Vertically <![CDATA[g d1 <g d2 And g v <g h ]]> Rotation

[0059] Filtering process

[0060] At the decoder side, when ALF is enabled for the Coding Tree Block (CT B), each sample R(i, j) in the CU is filtered to obtain the sample value R′(i, j) as shown below,

[0061]

[0062] Where f(k,l) represents the decoded filter index, K(x,y) represents the clipping function, and c(k,l) represents the decoded clipping parameter. The variables k and l vary between –L / 2 and L / 2, where L represents the filter length. The clipping function K(x,y) = min(y,max(-y,x)), corresponding to the function Clip3(-y,y,x). The clipping operation introduces nonlinearity to make the ALF more effective by reducing the impact of neighboring sample values ​​that differ too much from the current sample value.

[0063] Cross Component Adaptive Loop Filter

[0064] The Cross Component Adaptive Loop Filter (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 A system-level diagram of the CC-ALF process relative to the SAO process, the luma ALF process, and the chroma ALF process. Figure 4A As shown, each color component (i.e., Y, Cb, and Cr) is processed by a respective SAO (i.e., SAO Luma 410, SAO Cb 412, and SAO Cr 414). After SAO, ALF Luma 420 is applied to the SAO processed Luma, and ALF Chroma 430 is applied to the SAO processed Cb and Cr. However, there are cross-component terms from Luma to Chroma components (i.e., CC-ALF Cb 422 and CC-ALF Cr 424). The output of the cross-component ALFs (using adders 432 and 434, respectively) is added to the output of the ALF Chroma 430.

[0065] The filtering in CC-ALF is achieved by applying a linear diamond filter (such as Figure 4B This is accomplished by applying filters 440 and 442) in the luminance channel. Figure 4B In , the empty circles represent luma samples and the dot-filled circles represent chroma samples. One filter is used for each chroma channel and the operation is expressed as follows:

[0066]

[0067] Where (x, y) represents the position of the chrominance component i being refined, (x Y ,y Y ) is based on the brightness position of (x, y), S i is the filter support area in the luminance component, c i (x0,y0) represents the filter coefficients.

[0068] See also Figure 4B As shown, after taking into account the spatial scaling factor between the luma plane and the chroma plane, the luma filter support is the area that is collocated with the current chroma sample.

[0069] In the VVC reference software, the CC-ALF filter coefficients are calculated by minimizing the mean squared error of each chroma channel with respect to the original chroma content. To implement this, the VTM (VVC Test Model) algorithm uses a coefficient derivation process similar to the systematic derivation process used for chroma ALF. Specifically, a correlation matrix is ​​derived in an attempt to minimize the mean squared error metric, and then the coefficients are calculated using a Cholesky decomposition solver. When designing the filters, up to 8 CC-ALF filters per picture can be designed and transmitted. Then, based on the CTU, the filters are indicated for both chroma channels.

[0070] Additional features of CC-ALF include:

[0071] • The design uses a 3x4 diamond with 8 taps.

[0072] The seven filter coefficients are transmitted in an Adaptation Parameter Set (APS).

[0073] The dynamic range of each transmitted coefficient is 6 bits and is limited to power-of-2 values.

[0074] The eighth filter coefficient is derived at the decoder side such that the sum of the filter coefficients is equal to zero.

[0075] APS can be referenced in the slice header.

[0076] • CC-ALF filter selection is controlled at CTU level for each chroma component.

[0077] The border padding for the horizontal virtual border uses the same memory access pattern as the luma ALF.

[0078] As an additional feature, the reference encoder can be configured via a configuration file to enable some basic subjective adjustments. When enabled, VTM attenuates the application of CC-ALF in areas that are encoded with high Quantization Parameters (QP) and are close to mid-grey or contain a lot of luminance high frequencies. Algorithmically, this is done by disabling the application of CC-ALF in CTUs where any of the following conditions are true:

[0079] The slice QP value minus 1 is less than or equal to the base QP value.

[0080] The number of chroma samples with a local contrast greater than (1<<(bitdepth–2))–1 exceeds the CTU height, where local contrast is the difference between the maximum and minimum luma sample values ​​in the filter support area.

[0081] More than a quarter of the chroma samples are in the range (1<<(bitdepth–1))–16 to (1<<(bitdepth–1))+16.

[0082] The motivation for this feature is to somewhat ensure that CC-ALF does not amplify artifacts introduced earlier in the decoding path (this is mainly due to the fact that VTM currently does not explicitly optimize chrominance subjective quality). It is expected that alternative encoder implementations may not use this feature, or will include alternative strategies suitable for their encoding characteristics.

[0083] Filter parameter labeling

[0084] ALF filter parameters are indicated in an Adaptation Parameter Set (APS). In one APS, a set of up to 25 luma filter coefficients and clipping value indices, and a set of up to 8 chroma filter coefficients and clipping value indices are indicated. In order to reduce bit overhead, filter coefficients of different classes of luma components can be merged. In the slice header, the index of the APS for the current slice is indicated.

[0085] Using the clipping values ​​tables for luma and chroma components, the clipping value indices decoded from the APS allow to determine the clipping values. These clipping values ​​depend on the internal bit depth. More precisely, the clipping values ​​are given by the following formula:

[0086] AlfClip = {round(2 B-α*n )where n∈[0..N-1]}

[0087] Where B is equal to the internal bit depth, α is a predefined constant equal to 2.35, and N is equal to 4, the number of clipping values ​​allowed in VVC. AlfClip is then rounded to the nearest value in power-of-two format.

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

[0089] For chroma components, the APS index is indicated in the slice header to indicate the chroma filter set being used for the current slice. At the CTB level, if there are multiple chroma filter sets in the APS, the filter index is indicated in each chroma CTB.

[0090] The filter coefficients are quantized with a normalization (norm) equal to 128. In order to limit the multiplication complexity, bitstream consistency is applied so that the coefficient values ​​at non-central positions fall within -2 7 to 2 7 In the range of -1 (including -2 7 and 2 7 -1). The center position coefficient is not signalled in the bitstream and is considered equal to 128.

[0091] Adaptive Loop Filter in Enhanced Compression Model (ECM)

[0092] ALF Simplification

[0093] ALF gradient subsampling and ALF virtual boundary processes 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 labeled, is increased to 9x9.

[0094] ALF with fixed filter

[0095] To filter the luminance samples, three different classifiers (C0, C1 and C2) and three different filter sets (F0, F1 and F2) are used. Filter sets F0 and F1 consist of fixed filters with coefficients trained for classifiers C0 and C1. The coefficients of the filters in F2 are indicated. Filter set F i Which filter will be used for a given sample is determined by using the classifier C i The class C assigned to this sample i decided.

[0096] Filtering

[0097] First, two 13x13 diamond shape fixed filters F0 and F1 are applied to derive two intermediate samples R0(x,y) and R1(x,y). Then, F2 is applied to R0(x,y), R1(x,y) and adjacent samples to derive the filtered samples as follows,

[0098]

[0099] where f i,j is the cropping difference between the adjacent sample and the current sample R(x,y), g i Department R i-20 The clipping difference between (x,y) and the current sample. Filter coefficient c i ,i=0,…21 are marked.

[0100] Classification

[0101] According to the directionality D i and activity Class C i is assigned to each 2x2 block:

[0102]

[0103] Among them, M D,i Indicates directionality D i The total number of

[0104] As in VVC, a one-dimensional Laplacian is used to calculate the horizontal gradient, vertical gradient, and two diagonal gradient values ​​for each sample. The sum of the sample gradients in the 4×4 window covering the target 2×2 block is used for classifier C0, while the sum of the sample gradients in the 12×12 window is used for classifiers C1 and C2. The sum of the horizontal gradient, vertical gradient, and two diagonal gradients are respectively and By comparing with the threshold set as follows, the directionality D is determined i :

[0105]

[0106] Directivity D2 is derived as in VVC using thresholds 2 and 4.5. For D0 and D1, first calculate the horizontal / vertical edge strength and diagonal edge strength Use threshold Th=[1.25,1.5,2,3,4.5,8]. If The edge strength is 0; otherwise, is the largest integer, so if The edge strength is 0; otherwise, is the largest integer, so when That is, when horizontal edges / vertical boundaries dominate, D i is derived using Table 2A; otherwise, when diagonal edges dominate, D i Derived using Table 2B.

[0107] Table 2A and To D i Mapping

[0108]

[0109]

[0110] Table 2B and To D i Mapping

[0111]

[0112] To obtain Vertical gradient and horizontal gradient A i The sum is mapped to the range 0 to n, where n is equal to 4 for n is equal to 15 for and

[0113] In ALF_APS, more than 4 luma filter sets are represented and each filter set may have more than 25 filters.

[0114] The present invention discloses a technique for improving the ALF performance as follows.

[0115] ALF filter tap constraints

[0116] In ECM, the ALF reconstruction process can be expressed as follows:

[0117]

[0118] Where R(x,y) is the sample value before ALF filtering. is the sample value after ALF filtering, c i is the i-th filter coefficient, n i is the i-th filter tap input. Specifically, n i The adjacent difference of the clipping, where g i is the clipped difference between R(x,y) and the filtered sample value after applying one of the fixed filters.

[0119] In the filtering process, when the adjacent fixed filter samples are extended to be used as taps, additional filtering delay will be introduced because the filtering processes of the fixed filter and the APS filter cannot be completed in parallel in terms of implementation. Therefore, in the present invention, in order to solve this problem, the filter taps are constrained.

[0120] In one embodiment, neighboring fixed filtered samples are used as additional taps, but these samples should be located in the same 2x2 luma block as the current sample, e.g. Figure 5A As shown. Figure 5A -D, the sample marked with an "X" indicates the current sample, and the area filled with dots indicates the available area where fixed filter samples can be used to generate the ALF filter taps for the current sample. In addition, Figure 5A - The bold lines in D indicate 2x2 block boundaries. In another embodiment, neighboring fixed filter samples are used as additional taps, but these samples should be located in the same region as the current sample. Figure 5B , which can use a predefined region (e.g., splitting the current CTB into a plurality of 4x4 regions or 8x8 regions) or a plurality of luma classification blocks (e.g., four 4x4 blocks in VVC or four 2x2 blocks in ECM). In another embodiment, neighboring fixed filtered samples are used as additional taps, but these samples should be within the causal region of the current processing unit. For example, if filtering is performed on a sample-by-sample basis, the current processing unit is a single sample, and the causal region available for using fixed filtered samples as taps is as follows: Figure 5C As another example, if filtering is performed on a block-by-block basis, the current processing unit is a block, and the causal area available for using fixed filtering samples as taps is as follows: Figure 5D As shown. Figure 5C -D, the causal region corresponds to the result of the vertical scan order of the ALF filtering.

[0121] The above method can also be applied to other ALF filter taps generated by using the intermediate ALF filtering results.

[0122] According to equation (1), the value of R(x,y) is further clipped to a valid range (e.g. [0,1023] for 10-bit data, [0,255] for 8-bit data). i Previously, a clipping operation has been introduced to ensure that the output values ​​of the filtering results from the fixed filter set are within the same valid range, as shown in equation (2):

[0123]

[0124] Where R(x,y) is the sample value before ALF filtering. is the sample value after ALF filtering using a fixed filter set, c fi is the i-th filter coefficient of the fixed filter, n i is the i-th filter tap input. Specifically, n i It is the clipped adjacent difference between the adjacent samples and the sample to be processed.

[0125] In order to reduce the complexity, it is proposed to directly use the correction term of the fixed filter set in equation (2), that is, Instead of recalculating and R(x,y). In other words, the correction term (i.e. ) is directly used in the ALF derivation shown in equation (1), and by using fixed filter coefficients (i.e., c fi ) The adjacent differences between the adjacent samples and the samples to be processed (i.e. n i ) to filter and determine the correction term. In another embodiment, the correction term It is further clipped to a predefined range, such as [-1023, 1023], [-512, 511], or [-256, 255], to reduce the required bit depth.

[0126] Any of the above ALF methods can be implemented in an encoder and / or decoder. For example, an in-loop filter module (such as Figure 1A and Figure 1B Any proposed method may be implemented in the ILPF 130 in the encoder. Alternatively, any proposed method may be implemented as a circuit coupled to the inter-picture coding module and / or motion compensation module of the encoder, and the merge candidate derivation module of the decoder. The ALF method may also be implemented using executable software or firmware code stored on a medium such as a hard disk or flash memory of a central processing unit (CPU) or a programmable device (e.g., a digital signal processor (DSP) or a field programmable gate array (FGPA)).

[0127] Figure 6A flowchart of an exemplary video encoding and decoding system using an ALF with restricted adjacent fixed filtered samples according to an embodiment of the present invention is shown. The steps shown in the flowchart can be executed as program code on one or more processors (such as one or more CPUs) at the encoder end. The steps shown in the flowchart can also be implemented based on hardware, such as one or more electronic devices or processors to perform the steps in the flowchart. According to the method, a plurality of reconstructed pixels are received in step 610, wherein the plurality of reconstructed pixels include a current block. In step 620, a current filtered output of a current sample in the current block is derived using an ALF, wherein the ALF includes input items related to one or more adjacent fixed filtered samples, and the one or more adjacent fixed filtered samples are from a restricted area related to the current sample. A plurality of filtered reconstructed pixels are provided in step 630, wherein the plurality of filtered reconstructed pixels include the current filtered output.

[0128] Figure 7 A flow chart of an exemplary video coding system using an ALF with restricted adjacent fixed filtered samples according to an embodiment of the present invention is shown. The steps shown in the flow chart can be implemented as program code that can be executed on one or more processors (e.g., one or more CPUs) on the encoder side. According to the method, a plurality of reconstructed pixels are received in step 710, wherein the plurality of reconstructed pixels include a current block. In step 720, a current filtered output of a current sample in the current block is derived using an ALF, wherein the ALF includes an input term associated with a modification term, wherein the modification term corresponds to the output of filtering a plurality of clipped adjacent differences using a plurality of filter coefficients of a fixed filter set, wherein the plurality of adjacent differences are determined between the plurality of adjacent samples and the sample to be processed. A plurality of filtered reconstructed pixels are provided in step 730, wherein the plurality of filtered reconstructed pixels include the current filtered output.

[0129] The flowchart shown is used to illustrate an example of video encoding and decoding according to the present invention. Without departing from the spirit of the present invention, a person of ordinary skill in the art can modify each step, reorganize the steps, separate a step, or combine the steps to implement the present invention. In the present invention, specific syntax and semantics have been used to illustrate different examples to implement embodiments of the present invention. Without departing from the spirit of the present invention, a person of ordinary skill in the art can implement the present invention by replacing the syntax and semantics with equivalent syntax and semantics.

[0130] The above description enables the ordinary skilled person in the art to implement the present invention in the content and requirements of a specific application. It will be apparent to the skilled person in the art that various variations of the described embodiments will be apparent, and the general principles defined herein may be applied in other embodiments. Therefore, the present invention is not limited to the specific embodiments shown and described, but will be given the maximum scope consistent with the principles and novel features disclosed herein. In the above detailed description, various specific details are described in order to thoroughly understand the present invention. Nevertheless, it will be understood by the skilled person in the art that the present invention can be put into practice.

[0131] The embodiments of the present invention as described above can be implemented in various hardware, software codes or a combination of the two. For example, an embodiment of the present invention can be a circuit integrated into a video compression chip, or a program code integrated into the video compression software to perform the processing described herein. An embodiment of the present invention can also be a program code executed on a digital signal processor (Digital Signal Processor, DSP) to perform the processing described herein. The present invention can also include several functions executed by a computer processor, a digital signal processor, a microprocessor or a field programmable gate array (fieldprogrammable gate array, FPGA). According to the present invention, these processors can be configured to perform specific tasks by executing machine-readable software code or firmware code that defines the specific method implemented by the present 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 codes and other forms of configuration codes for performing the tasks of the present invention will not deviate from the spirit and scope of the present invention.

[0132] The invention may be implemented in other specific forms without departing from its spirit or essential characteristics. The examples described are illustrative in all respects and are not restrictive. Therefore, the scope of the invention is indicated by the appended claims rather than the foregoing description. The meaning of the claims and all variations within the same scope are intended to be included within their scope.

Claims

1. A method for reconstructing a video using an adaptive loop filter (ALF), characterized in that: The method includes: receiving a plurality of reconstructed pixels, wherein the plurality of reconstructed pixels comprises a current block; deriving a current filter output for a current sample in the current block using an ALF, wherein the ALF includes input terms associated with one or more neighboring fixed filtered samples, and the one or more neighboring fixed filtered samples are from a restricted region associated with the current sample; and A plurality of filtered reconstructed pixels are provided, wherein the plurality of filtered reconstructed pixels include the current filtered output.

2. The method according to claim 1, characterized in that: in, The restricted area corresponds to the same 2x2 luma block as the current sample.

3. The method according to claim 1, characterized in that: in, The restricted area corresponds to a predefined area or a plurality of brightness classification blocks.

4. The method according to claim 1, characterized in that: in, The restricted area corresponds to the causal area of ​​the current processing unit including the current sample.

5. The method according to claim 4, characterized in that in, The current processing unit corresponds to the current sample.

6. The method according to claim 4, characterized in that: in, The current processing unit corresponds to a block including the current sample.

7. The method according to claim 1, characterized in that: in, The ALF includes a second input item associated with one or more adjacent intermediate ALF filtered samples, wherein the one or more adjacent intermediate ALF filtered samples are from a second restricted region relative to the current sample.

8. A device for adaptive loop filter (ALF) processing of reconstructed video, the device comprising one or more electronic circuits or processors, characterized in that: Used for: receiving a plurality of reconstructed pixels, wherein the plurality of reconstructed pixels comprises a current block; deriving a current filter output for a current sample in the current block using an ALF, wherein the ALF includes input items associated with one or more neighboring fixed filtered samples, and the one or more neighboring fixed filtered samples are from a restricted region associated with the current sample; as well as A plurality of filtered reconstructed pixels are provided, wherein the plurality of filtered reconstructed pixels include the current filtered output.

9. A method for reconstructing an adaptive loop filter (ALF) processing of a video, characterized in that: The method includes: receiving a plurality of reconstructed pixels, wherein the plurality of reconstructed pixels comprises a current block; deriving a current filtered output for a current sample in the current block using an ALF, wherein the ALF includes an input term associated with a modification term corresponding to an output of filtering a plurality of clipped adjacent differences using a plurality of filter coefficients of a fixed filter set, the plurality of adjacent differences being determined between a plurality of adjacent samples and a sample to be processed; and A plurality of filtered reconstructed pixels are provided, wherein the plurality of filtered reconstructed pixels include the current filtered output.

10. The method according to claim 9, characterized in that in, The correction term is used directly without being clipped to determine the current filter output.

11. The method according to claim 9, characterized in that: in, This modifier is used after cropping to reduce the required bit depth.

12. A device for adaptive loop filter (ALF) processing of reconstructed video, the device comprising one or more electronic circuits or processors, characterized in that: Used for: receiving a plurality of reconstructed pixels, wherein the plurality of reconstructed pixels comprises a current block; deriving a pre-filtered output of a current sample in the current block using an ALF, wherein the ALF includes an input term associated with a modification term corresponding to an output of filtering a plurality of clipped adjacent differences using a plurality of filter coefficients of a fixed filter set, the plurality of adjacent differences being determined between a plurality of adjacent samples and a sample to be processed; as well as A plurality of filtered reconstructed pixels are provided, wherein the plurality of filtered reconstructed pixels include the current filtered output.