Method and apparatus for adaptive loop filtering (ALF) and fixed filter for video coding
By performing fixed filtering of the brightness and chrominance components in video encoding and decoding, the problem of poor chrominance component processing is solved, and the quality and efficiency of video encoding and decoding are improved.
Patent Information
- Application Number
- CN202380082378.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-12-02
- Filing Date
- 2023-12-01
- Publication Date
- 2025-07-25
AI Technical Summary
In the existing video encoding and decoding technology, loop filtering processing of chroma component fails to effectively improve the video quality, resulting in poor encoding and decoding efficiency and effect.
Adaptive loop filtering (ALF) technology is used to perform fixed filtering of brightness and chrominance components, filtering and filtering using a fixed filter classifier and set of filtering coefficients, filtering reconstruction blocks are generated, and filtering is performed through signaling or analytical coefficients.
It improves the quality and efficiency of video encoding and decoding, especially the processing effect of chroma component, and enhances the clarity and detail fidelity of video reconstruction.
Smart Images

Figure CN120380765A_ABST
Abstract
Description
[0001]
Cross - reference
[0002] This invention is a non - provisional application of U.S. Provisional Patent Application No. 63 / 385,790, and claims its priority. The provisional patent application was filed on December 2, 2022. This U.S. provisional patent application is incorporated herein by reference in its entirety.
Technical Field
[0003] This invention relates to video coding and decoding systems using adaptive loop filtering (ALF). In particular, this invention relates to applying a classified ALF filter to chrominance components.
Background Art
[0004] Versatile Video Coding (VVC) is the latest international video coding and decoding standard developed by the Joint Video Experts Team (JVET) of the International Telecommunication Union - Telecommunication Standardization Sector (ITU - T) Video Coding Experts Group (VCEG) and the International Organization for Standardization / International Electrotechnical Commission (ISO / IEC) Moving Picture Experts Group (MPEG). This standard has been published as an ISO standard: ISO / IEC 23090 - 3:2021, Information technology - Coding representation of immersive media - Part 3: Versatile Video Coding, published in February 2021. VVC is developed based on its predecessor, High Efficiency Video Coding (HEVC), by adding more coding and decoding tools to improve coding and decoding efficiency and handle various types of video sources, including three - dimensional (3D) video signals.
[0005] Figure 1AShows an exemplary adaptive intra / inter-frame video coding system incorporating loop processing. For intra prediction 110 (Intra Pred.), the predicted data is derived based on previously encoded video data in the current picture. For inter prediction 112 (Inter Pred.), motion estimation (ME) is performed at the encoder side, and motion compensation (MC) is based on the result of ME to provide predicted data derived from other pictures and motion data. Switch 114 selects either intra prediction 110 or inter prediction 112 and supplies the selected predicted data to adder 116 to form a prediction error, also known as a residual. The prediction error is then processed by a transform (T) 118, followed by quantization (Q) 120. The transformed and quantized residual is then encoded by entropy encoder 122 to be included in the video bitstream corresponding to the compressed video data. The bitstream associated with the transform coefficients is then packed together with side information, such as motion and coding / decoding modes related to intra and inter prediction, and parameters related to the in-loop filter applied to the underlying image region. The side information related to intra prediction 110, inter prediction 112, and in-loop filter (ILPF) 130 is provided to entropy encoder 122 as shown in Figure 1A When using the inter prediction mode, the reference picture or pictures must be reconstructed at the encoder side. Therefore, the transformed and quantized residual is processed by inverse quantization (IQ) 124 and inverse transformation (IT) 126 to recover the residual. The residual is then added back to the predicted data 136 at reconstruction (REC) 128 to reconstruct the video data. The reconstructed video data can be stored in the reference picture buffer (Ref.Pic.Buffer) 134 and used for prediction of other frames.
[0006] As Figure 1AAs shown, the input video data undergoes a series of processes in the encoding system. The reconstructed video data from REC 128 may be subject to various impairments due to a series of processes. Therefore, the loop filter 130 is typically applied to the reconstructed video data before it is stored in the reference picture buffer 134 to improve the video quality. For example, a deblocking filter (DF), Sample Adaptive Offset (SAO), and Adaptive Loop Filter (ALF) can be used. The loop filter information may need to be included in the bitstream so that the decoder can correctly recover the required information. Therefore, the loop filter information is also provided to the entropy encoder 122 to be included in the bitstream. In Figure 1A the loop filter 130 is applied to the reconstructed video before the reconstructed samples are stored in the reference picture buffer 134. Figure 1A The system in
[0007] is designed to show the exemplary structure of a typical video encoder. It may correspond to a High Efficiency Video Coding (HEVC) system, VP8, VP9, H.264, or VVC. Figure 1B As shown, the decoder can use the same or partially the same functional blocks as the encoder, except for the transform 118 and quantization 120, because the decoder only needs inverse quantization 124 and inverse transform 126. The decoder uses an entropy decoder 140 instead of the entropy encoder 122 to decode the video bitstream into quantized transform coefficients and the required coding information (such as ILPF information, intra prediction information, and inter prediction information). Intra prediction 150 at the decoder side does not require a mode search. Instead, the decoder only needs to generate an intra prediction based on the intra prediction information received from the entropy decoder 140. In addition, for inter prediction, the decoder only needs to perform motion compensation (MC152) based on the inter prediction information received from the entropy decoder 140, without performing motion estimation.
[0008] According to VVC, the input picture is divided into non - overlapping square regions called Coding Tree Units (CTUs), similar to HEVC. Each CTU can be divided into one or more Coding Units (CUs) of smaller sizes. The generated CU partitions can be square or rectangular in shape. In addition, VVC divides the CTU into Prediction Units (PUs) as the units to which the prediction process, such as inter prediction, intra prediction, etc., is applied.
[0009] In VVC and ECM ALF, classification is only applied to the luma component. In the present invention, a classification method for the chroma component is developed to improve performance.
Summary of the Invention
[0010] A method and apparatus for adaptively loop filtering (ALF) processing of chroma components for video coding and decoding are disclosed. According to the method, reconstructed pixels are received, where the reconstructed pixels include a current color block, and the current color block includes a current luma block and a current chroma block. A first fixed filtering process is applied to the current luma block, where the first fixed filtering process includes: a) performing a first fixed filtering classification using a plurality of luma fixed filtering classifiers; b) applying a first fixed filtering with a plurality of sets of luma fixed filtering coefficients to generate a first fixed filtering result, where the sets of luma fixed filtering coefficients are not signaled or parsed in the bitstream; c) applying the first fixed filtering with a plurality of first signaled or parsed coefficients to generate a filtered reconstructed luma block. A second fixed filtering process is applied to the current chroma block, where the second fixed filtering process includes: d) performing a second fixed filtering classification; e) applying a second fixed filtering with a plurality of sets of second fixed filtering coefficients to generate a second fixed filtering result, where the sets of second fixed filtering coefficients are not signaled or parsed in the bitstream; f) applying the second fixed filtering with a plurality of second signaled or parsed coefficients to generate a filtered reconstructed chroma block. The filtered reconstructed luma block and the filtered reconstructed chroma block are provided.
[0011] In one embodiment, the second fixed filtering classification is applied to the current chroma block or the current luma block. In another embodiment, the second fixed filtering classification is performed by using the luma fixed filtering classifiers. In yet another embodiment, the second fixed filtering classification is performed by using a subset of the luma fixed filtering classifiers or by using chroma fixed filtering classifiers different from the luma fixed filtering classifiers.
[0012] In one embodiment, the sets of second fixed filtering coefficients are the same as the sets of luma fixed filtering coefficients. In another embodiment, the sets of second fixed filtering coefficients are a subset of the sets of luma fixed filtering coefficients or are different from the sets of luma fixed filtering coefficients. In yet another embodiment, the second fixed filtering with the second signaled or parsed coefficients is selected according to the second fixed filtering result or the first fixed filtering result.
[0013] In one embodiment, the method further includes performing APS classification by using an Adaptation Parameter Set (APS) classifier, and selecting the second fixed filter having the second signaling or parsing coefficients according to the APS classification. In another embodiment, the second fixed filter classification uses the luminance fixed filter classifiers to be applied to the current chrominance block, and the second fixed filter uses the set of luminance fixed filter coefficients to be applied to the current chrominance block. In yet another embodiment, the Adaptation Parameter Set (APS) classification uses a plurality of APS classifiers to be applied to the current chrominance block, and the second fixed filter having the second signaling or parsing coefficients is selected according to the APS classification.
[0014] In one embodiment, a flag is signaled or parsed in a Sequence Parameter Set (SPS), a slice or picture header, or a combination thereof to select a different plurality of fixed filter sets for the current chrominance block. In another embodiment, the flag is predefined or depends on the first flag signaled or parsed for the current luminance block.
[0015] In one embodiment, the second fixed filter classification uses a subset of the luminance fixed filter classifiers to be applied to the current chrominance block, and the second fixed filter uses a subset of the set of luminance fixed filter coefficients to be applied to the current chrominance block.
[0016] In one embodiment, the second fixed filter classification uses the luminance fixed filter classifiers to be applied to the current luminance block, and the second fixed filter is applied to the first fixed filter result.
BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1A Illustrates an exemplary adaptive Inter / Intra video codec system including loop processing.
[0018] Figure 1B Illustrates Figure 1A the corresponding decoder of the encoder in
[0019] Figure 2 Illustrates the ALF filter shapes for chrominance (left) and luminance (right) components.
[0020] Figure 3A -D illustrates the subsampled Laplacian calculation of g v (3A), g h (3B), g d1 (3C), and g d2 (3D).
[0021] Figure 4A Illustrates the placement of CC-ALF relative to other loop filters.
[0022] Figure 4B Illustrates the diamond filter for chrominance samples.
[0023] Figure 5 Illustrates a flowchart of an exemplary video coding and decoding system that applies ALF with band classification to chrominance components according to an embodiment of the present invention.
DETAILED DESCRIPTION
[0024] It can be easily understood that the components of the present invention, as generally described and illustrated in the figures, can be arranged and designed in various different configurations. Therefore, the following more detailed description of the embodiments of the system and method of the present invention, as shown in the figures, is not intended to limit the scope of the claimed invention, but merely represents selected embodiments of the present invention. References throughout the specification to "an embodiment", "one embodiment", or similar language mean that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the present invention. Thus, the phrases "in an embodiment" or "in one embodiment" appearing throughout the specification do not necessarily all refer to the same embodiment.
[0025] In addition, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Those skilled in the relevant art will recognize that the present invention can be practiced without one or more of the specific details, or with other methods, components, etc. In other instances, well-known structures or operations are not shown or described in detail to avoid obscuring aspects of the present invention. The embodiments of the present invention will be best understood by reference to the accompanying drawings, in which like parts are designated by like numerals throughout. The following description is only illustrative and simply describes certain selected embodiments of devices and methods consistent with the present invention.
[0026] Adaptive Loop Filter (ALF) in VVC
[0027] In VVC, Adaptive Loop Filter (ALF) with block-based filtering adaptability is applied. For the luminance component, a filter is selected for each 4×4 block based on the direction and activity of the local gradient, with a selection range of 25 filters.
[0028] Filter Shape
[0029] Two diamond filter shapes are used (as Figure 2 shown). The 7×7 diamond shape 220 is applied to the luminance component, and the 5×5 diamond shape 210 is applied to the chrominance component.
[0030] Block classification
[0031] For the luminance component, each 4×4 block is classified into one of 25 categories. The classification index C is derived based on the quantization values of its directionality D and activity as follows: Derivation is as follows:
[0032]
[0033] To calculate D and First, the gradients in the horizontal, vertical, and two diagonal directions are calculated using a one-dimensional Laplacian:
[0034]
[0035] where the indices i and j refer to the coordinates of the top-left sample within the 4×4 block, and R(i, j) represents the reconstructed sample at the coordinates (i, j).
[0036] To reduce the complexity of block classification, subsampled one-dimensional Laplacian calculations in the vertical direction ( Figure 3A ) and horizontal direction ( Figure 3B ) are applied. As shown in Figure 3C -D, the same subsampling positions are used for gradient calculations in all directions ( Figure 3C g in d1 and Figure 3D g in d2 ).
[0037] Then, the maximum and minimum values of the horizontal and vertical direction gradients are set to:
[0038]
[0039] The maximum and minimum values of the two diagonal direction gradients are set to:
[0040]
[0041] To derive the directionality value D, these values are compared with each other and with two thresholds t1 and t2.
[0042] Step 1. If and are both true, then D is set to 0.
[0043] Step 2. If 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 follows:
[0047]
[0048] A is further quantized to the range from 0 to 4 (including 0 and 4), and the quantization value is denoted as
[0049] For the chrominance components in the picture, no classification is performed.
[0050] Geometric transformation of the filter coefficients and clipping values
[0051] Before filtering each 4×4 luminance block, according to the gradient value calculated for the block, geometric transformations such as rotation or diagonal and vertical flipping are performed on the filter coefficient f(k, l) and the corresponding filter clipping value c(k, l). This is equivalent to applying these transformations to the samples in the filter support region. The purpose is to make the different blocks to which ALF is applied more similar by aligning the directionality.
[0052] Three geometric transformations are introduced, including diagonal, vertical flipping, and rotation:
[0053] Diagonal: f D (k, l) = f(l, k), c D (k, l) = c(l, k),
[0054] Vertical flipping: f V (k, l) = f(k, K - l - 1), c V (k, l) = c(k, K - l - 1),
[0055] Rotation: f R (k, l) = f(K - l - 1, k), c R (k, l) = c(K - l - 1, k),
[0056] Where K is the size of the filter, 0 ≤ k, l ≤ K - 1 are the coefficient coordinates, such that the position (0, 0) is in the upper left corner and the position (K - 1, K - 1) is in the lower right corner. According to the gradient values calculated for the block, transformations are applied to the filter coefficient f(k, l) and the clipping value c(k, l). The relationship between the transformation and the four gradients in the four directions is summarized in the following table.
[0057] Table 1. Mapping of gradients calculated for a block to the transformation
[0058]
[0059] Filtering Process
[0060] At the decoder side, when ALF is enabled for a CTB, each sample R(i,j) within a CU is filtered and the resulting sample value R′(i,j) is as follows:
[0061]
[0062] where f(k,l) represents the decoded filter coefficients, K(x,y) is the clipping function, and c(k,l) represents the decoded clipping parameters. 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)) corresponds to the function Clip3(–y,y,x). The clipping operation introduces non-linearity to make ALF more effective by reducing the impact of neighboring sample values that are too different from the current sample value to improve efficiency.
[0063] Cross-Component Adaptive Loop Filtering
[0064] CC-ALF uses the luminance sample values to refine each chrominance component by applying an adaptive linear filter to the luminance channel and then uses the output of this filtering operation for chrominance refinement. Figure 4A A system-level diagram of the CC-ALF process relative to the SAO, luminance ALF, and chrominance ALF processes is provided. As Figure 4A shown, each color component (i.e., Y, Cb, and Cr) is processed by its corresponding SAO (i.e., SAO luminance 410, SAO Cb 412, and SAO Cr 414). After SAO, ALF luminance 420 is applied to the SAO-processed luminance, and ALF chrominance 430 is applied to the SAO-processed Cb and Cr. However, there is a cross-component term (i.e., CC-ALF Cb 422 and CC-ALF Cr 424) from the luminance to the chrominance components. The outputs of the cross-component ALF are added to the outputs of ALF chrominance 430 via adders 432 and 434, respectively.
[0065] In CC-ALF, filtering is done by applying a linear diamond filter (e.g., Figure 4B filters 440 and 442 in Figure 4B ) to the luminance channel. In
[0066]
[0067] where (x,y) is the position of chrominance component i being refined, (x Y ,y Y) is the luminance position based on (x, y), S i is the filtering support region in the luminance component, c i (x0, y0) represents the filtering coefficients.
[0068] As Figure 4B shown, the luminance filtering support region is the region co - located with the current chroma sample, taking into account the spatial scaling factor between the luminance and chroma planes.
[0069] In the VVC reference software, the CC - ALF filtering coefficients are calculated by minimizing the mean - square error of each chroma channel with respect to the original chroma content. To achieve this, the VTM (VVC Test Model) algorithm uses a coefficient derivation process similar to that of chroma ALF. Specifically, the correlation matrix is derived and the coefficients are calculated using a Cholesky decomposition solver to attempt to minimize the mean - square error metric. When designing the filter, up to 8 CC - ALF filters can be designed and transmitted per picture. Then the resulting filters are indicated for the two chroma channels on a CTU basis.
[0070] Other features of CC - ALF include:
[0071] Designed to use a 3x4 diamond shape with 8 taps.
[0072] Seven filtering coefficients are transmitted in the APS.
[0073] Each transmitted coefficient has a 6 - bit dynamic range and is limited to a power of 2 value.
[0074] The eighth filtering coefficient is derived at the decoder such that the sum of the filtering coefficients equals 0.
[0075] The APS can be referenced in the slice header.
[0076] CC - ALF filter selection controls each chroma component at the CTU level.
[0077] The boundary filling of the horizontal virtual boundary uses the same memory access pattern as luminance ALF.
[0078] As an additional feature, the reference encoder can enable some basic subjective tuning via a configuration file. When enabled, the VTM attenuates the application of CC - ALF in regions encoded with a high QP, which are either close to mid - gray or contain a large amount of luminance high - frequency. Algorithmically, this is achieved 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 whose local contrast is greater than (1<<(bitDepth–2))–1 over the CTU height, where the local contrast is the difference between the maximum and minimum luminance sample values within the filter support region.
[0081] More than a quarter of the chroma samples are in the range between (1<<(bitDepth–1))–16 and (1<<(bitDepth–1))+16.
[0082] The motivation for this feature is to provide some assurance that CC-ALF will not amplify artifacts introduced early in the decoding path (which is mainly because VTM does not currently explicitly optimize chroma subjective quality). It is expected that alternative encoder implementations may not use this feature or may incorporate alternative strategies suitable for their encoding characteristics.
[0083] Filter parameter signaling
[0084] The ALF filter parameters are signaled in the Adaptive Parameter Set (APS). In one APS, up to 25 sets of luminance filter coefficients and clip value indices, and up to 8 sets of chroma filter coefficients and clip value indices can be signaled. To reduce the bit overhead, the luminance component filter coefficients of different classifications can be merged. In the slice header, the APS index for the current slice is signaled.
[0085] The clip value index decoded from the APS allows the clip values to be determined using the clip value tables for the luminance and chroma components. These clip values depend on the internal bit depth. More precisely, the clip values are obtained by the following formula:
[0086] AlfClip = {round(2 B-α*n ) for n ∈ [0..N-1]}
[0087] where B is the internal bit depth, ( is a predefined constant value equal to 2.35, and N is equal to 4, which is the number of clip values allowed in VVC. Then AlfClip is rounded to the nearest power-of-2 format.
[0088] In the slice header, up to 7 APS indices can be signaled to specify the luminance 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 ALF is applied to the luminance CTB. The luminance CTB can select a filter set from 16 fixed filter sets and the filter sets in the APS. A filter set index is signaled for the luminance CTB to indicate which filter set to apply. The 16 fixed filter sets are predefined and hard-coded in the encoder and decoder.
[0089] For the chrominance component, an APS index is signaled in the slice header to indicate the chrominance filter set used for the current slice. At the CTB level, if there are multiple chrominance filter sets in the APS, a filter index is signaled for each chrominance CTB. The filter coefficients are quantized with a scale of 128. To limit the multiplication complexity, bitstream consistency is applied such that the coefficient values at non-central positions should be in the range of -2 7 to 2 7 -1, including the endpoints. The central position coefficient is not signaled in the bitstream and is considered equal to 128.
[0090] Adaptive Loop Filtering in ECM
[0091] In ECM7 (Muhammed Coban et al., "Algorithm Description of Enhanced Compression Model 7 (ECM 7)", ITU-TSG 16 WP3 and ISO / IEC JTC 1 / SC 29 Joint Video Experts Team (JVET), 28th Meeting, Mainz, Germany, October 20 - 28, 2022, Document: JVET-AB2025), some changes related to VVC ALF are disclosed. A brief overview is as follows.
[0092] ALF Simplification
[0093] The ALF gradient subsampling and ALF virtual boundary processing are removed. The classified block size is reduced from 4x4 to 2x2. The luminance and chrominance filter sizes for signaling ALF coefficients are increased to 9x9.
[0094] ALF with Fixed Filters
[0095] To filter a luminance sample, three different classifiers (C0, C1, 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 filter coefficients in set F2 are signaled. Using classifier C i The class C assigned to a given sample i determines which filter to use from set F i .
[0096] Filtering
[0097] First, two 13x13 diamond-shaped fixed filters F0 and F1 are applied to derive two intermediate samples R0(x,y) and R1(x,y). After that, F2 is applied to R0(x,y), R1(x,y), and neighboring samples to derive a filtered sample as follows:
[0098]
[0099] where f i,jis the clipping difference between the neighboring sample and the current sample R(x,y), g i is R i-20 (x,y) and the clipping difference between the current sample. The filter coefficient c i , i = 0, … 21, is signaled.
[0100] Classification
[0101] Based on the directionality D i and activity Assign a class C to each 2x2 block i :
[0102]
[0103] where M D,i represents the total number of directionality D i . As in VVC, the values of the horizontal, vertical, and two diagonal gradients are calculated using a one-dimensional Laplacian for each sample. The sum of the sample gradients within the 4×4 window covering the target 2x2 block is used for classifier C0, and the sum of the sample gradients within the 12×12 window is used for classifiers C1 and C2. The sums of the horizontal, vertical, and two diagonal gradients are denoted as and The directionality D is determined by comparison i :
[0104]
[0105] Using a set of thresholds. The directionality D2 is derived using thresholds 2 and 4.5 as in VVC. For D0 and D1, first calculate the horizontal / vertical edge strength and the diagonal edge strength Using the thresholds Th = [1.25, 1.5, 2, 3, 4.5, 8]. The edge strength is 0 if Otherwise, is the largest integer such that The edge strength is 0 if Otherwise, is the largest integer such that When i.e., when the horizontal / vertical edge is dominant, D i is derived by using Table 2A; otherwise, the diagonal edge is dominant, D i is derived by using Table 2B.
[0106] Table 2A. Mapping and to D i
[0107]
[0108] Table 2B. Mapping and to D i
[0109]
[0110]
[0111] To obtain the sum A of the vertical and horizontal gradients i is mapped to the range from 0 to n, where n is equal to 4 for and equal to 15.
[0112] In ALF_APS, at most 4 luminance filter sets are signaled, with each set having at most 25 filters.
[0113] Chrominance ALF with fixed filters
[0114] For ALF in ECM, the fixed filters are only applied to the luminance component. In the present invention, various chrominance ALFs with fixed filters are disclosed.
[0115] In one embodiment, the fixed filtering result is applied to the chrominance filtering process with signaling coefficients. The following steps can be applied:
[0116] Classify through a fixed filtering classifier,
[0117] Filter through a set of fixed filtering coefficients, where the set of fixed filtering coefficients is not signaled in the bitstream,
[0118] Perform a chrominance filtering process through signaling coefficients with a fixed filtering result.
[0119] In the above embodiment, the step of "classify through a fixed filtering classifier" can be the following or a combination of the following:
[0120] Apply a fixed filtering classifier to classify chrominance samples,
[0121] Apply a fixed filtering classifier to classify luminance samples,
[0122] The fixed filtering classifier is the same as the luminance fixed filtering classifier,
[0123] The fixed filtering classifier is a subset of the luminance fixed filtering classifier, where "subset of the luminance fixed filtering classifier" means having fewer numbers of classes, directions, and / or activities compared to the luminance fixed filtering classifier.
[0124] The fixed filtering classifier is different from the luminance fixed filtering classifier.
[0125] In the above embodiments, in the step of "filtering by a set of fixed filtering coefficients, where the set of fixed filtering coefficients is not signaled in the bitstream", the set of fixed filtering coefficients can be the following or a combination of the following:
[0126] The set of fixed filtering coefficients is the same as the set of luminance fixed filtering coefficients,
[0127] The set of fixed filtering coefficients is a subset of the set of luminance fixed filtering coefficients,
[0128] The set of fixed filtering coefficients is different from the set of luminance fixed filtering coefficients,
[0129] When filtering chrominance samples by a set of fixed filtering coefficients, the filtering selection is determined by the following or a combination of the following:
[0130] The chrominance fixed filtering classification result,
[0131] The corresponding luminance fixed filtering classification result.
[0132] In the above embodiments, classification by an APS classifier can also be applied:
[0133] Classification by a fixed filtering classifier,
[0134] Filtering by a set of fixed filtering coefficients, where the set of fixed filtering coefficients is not signaled in the bitstream,
[0135] Classification by an APS classifier,
[0136] Using signaling coefficients with fixed filtering results for chrominance filtering processing and classifying by an APS classifier to select the signaling coefficients.
[0137] The APS classifiers refer to the classifiers that identify relevant classifier information in the APS.
[0138] The first example is as follows:
[0139] Classifying chrominance samples using fixed filtering classifiers, where the fixed filtering classifiers are the same as the luminance fixed filtering classifiers,
[0140] Filtering chrominance samples using a set of fixed filtering coefficients, where the set of fixed filtering coefficients is the same as the set of luminance fixed filtering coefficients,
[0141] Using signaling coefficients with fixed filtering results for chrominance filtering processing.
[0142] The second example is as follows:
[0143] Classify chrominance samples using fixed filter classifiers, where the fixed filter classifiers are a subset of the luminance fixed filter classifiers,
[0144] Filter chrominance samples using a set of fixed filter coefficients, where the set of fixed filter coefficients is a subset of the luminance fixed filter coefficient set,
[0145] Perform chrominance filtering using signaling coefficients with fixed filtering results.
[0146] The third example is as follows:
[0147] Classify luminance samples using fixed filter classifiers,
[0148] Filter chrominance samples using a set of fixed filter coefficients with corresponding luminance fixed filter classification results,
[0149] Perform chrominance filtering using signaling coefficients with fixed filtering results.
[0150] The fourth example is as follows:
[0151] Classify chrominance samples using fixed filter classifiers, where the fixed filter classifiers are the same as the luminance fixed filter classifiers,
[0152] Filter chrominance samples through a set of fixed filter coefficients, where the set of fixed filter coefficients is the same as the luminance fixed filter coefficient set,
[0153] Classify chrominance samples using an APS classifier,
[0154] Perform chrominance filtering using signaling coefficients with fixed filtering results, and classify through the APS classifier to select the signaling coefficients.
[0155] In one embodiment, the luminance fixed filtering result is used in the chrominance filtering process with signaling coefficients.
[0156] In the above embodiment, classify through the APS classifier to select the signaling coefficients.
[0157] In one embodiment, the flags signaled in the SPS, slice, or picture header can be used to select different fixed filter sets for the chrominance component.
[0158] In the above embodiment, the flag can be predefined or follow the flag signaled for the luminance component.
[0159] Any of the above chrominance ALF classification methods can be implemented in an encoder and / or decoder. For example, any proposed method can be in the loop filter module of the encoder or decoder (e.g. Figure 1A andFigure 1B It is implemented in the ILPF 130) in []. Alternatively, any proposed method can be implemented as a circuit coupled to a merger candidate derivative module of an encoder and / or a motion compensation module and a decoder. The ALF method can also be implemented using executable software or firmware code stored on a medium, such as a hard disk or a flash memory, for a CPU (Central Processing Unit) or a programmable device (such as a DSP (Digital Signal Processor) or an FPGA (Field Programmable Gate Array)).
[0160] Figure 5 FIG. shows a flowchart of an exemplary video codec system applying chroma ALF with a fixed filter according to an embodiment of the present invention. 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 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 execute the steps in the flowchart. According to this method, reconstructed pixels are received in step 510, where the reconstructed pixels include a current color block, and the current color block includes a current luminance block and a current chrominance block. In step 520, a first fixed filtering process is applied to the current luminance block, where the first fixed filtering process includes: a) performing a first fixed filtering classification using a luminance fixed filtering classifier; b) applying a first fixed filtering with a set of luminance fixed filtering coefficients to generate a first fixed filtering result, where the set of luminance fixed filtering coefficients is not signaled or parsed in the bitstream; c) applying a first fixed filtering with a first signaled or parsed coefficient to generate a filtered reconstructed luminance block. In step 530, a second fixed filtering process is applied to the current chrominance block, where the second fixed filtering process includes: d) performing a second fixed filtering classification; e) applying a second fixed filtering with a set of second fixed filtering coefficients to generate a second fixed filtering result, where the set of second fixed filtering coefficients is not signaled or parsed in the bitstream; f) applying a second fixed filtering with a second signaled or parsed coefficient to generate a filtered reconstructed chrominance block. In step 540, the filtered reconstructed luminance block and the filtered reconstructed chrominance block are provided.
[0161] The flowchart shown is intended to illustrate an example of video coding and decoding according to the present invention. A person skilled in the art can modify each step, rearrange steps, split steps or combine steps to practice the present invention without departing from the spirit of the present invention. In this disclosure, specific syntax and semantics are used to illustrate examples of implementing the present invention. A person skilled in the art can practice the present invention by replacing with equivalent syntax and semantics without departing from the spirit of the present invention.
[0162] The foregoing description is intended to enable a person skilled in the art to practice the present invention 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 can be applied to other embodiments. Thus, the present invention is not intended to be limited to the particular embodiments shown and described, but should be accorded the widest scope consistent with the principles and novel features disclosed herein. In the foregoing detailed description, various specific details are set forth to provide a thorough understanding of the present invention. However, those skilled in the art will understand that the present invention may be practiced.
[0163] Embodiments of the present invention as described above may be implemented in various hardware, software code, or a combination of both. For example, an embodiment of the present invention may be one or more circuits integrated into 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 relate to multiple functions performed by a computer processor, a digital signal processor, a microprocessor, or a field programmable gate array (FPGA). These processors may be configured to perform specific tasks by executing machine-readable software code or firmware code that defines the particular methods embodied by the present invention. The software code or firmware code may be developed in different programming languages and different formats or styles. The software code may also be compiled for different target platforms. However, different software code formats, styles, and languages, as well as other methods of configuring code to perform the tasks according to the present invention, will not depart from the spirit and scope of the present invention.
[0164] The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are illustrative only and not restrictive in all respects. Thus, the scope of the present invention is indicated by the appended claims rather than the foregoing description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims
1. A method for adaptive loop filtering (ALF) processing for video reconstruction, the method comprising: Receiving reconstructed pixels, wherein the reconstructed pixels include a current color block, and the current color block includes a current luminance block and a current chrominance block; Applying a first fixed filtering process to the current luminance block, wherein the first fixed filtering process includes: Performing a first fixed filtering classification using a plurality of luminance fixed filtering classifiers; Applying a first fixed filtering with a plurality of luminance fixed filtering coefficient sets to generate a first fixed filtering result, wherein the luminance fixed filtering coefficient sets are not signaled or parsed in the bitstream; and Applying the first fixed filtering with a plurality of first signaling or parsing coefficients to generate a filtered reconstructed luminance block; Applying a second fixed filtering process to the current chrominance block, wherein the second fixed filtering process includes: Performing a second fixed filtering classification; Applying a second fixed filtering with a plurality of second fixed filtering coefficient sets to generate a second fixed filtering result, wherein the second fixed filtering coefficient sets are not signaled or parsed in the bitstream; and Applying the second fixed filtering with a plurality of second signaling or parsing coefficients to generate a filtered reconstructed chrominance block; Providing the filtered reconstructed luminance block and the filtered reconstructed chrominance block.
2. The method according to claim 1, wherein the second fixed filtering classification is applied to the current chrominance block or the current luminance block.
3. The method according to claim 1, wherein the second fixed filtering classification is performed by using the luminance fixed filtering classifiers.
4. The method according to claim 1, wherein the second fixed filtering classification is performed by using a subset of the luminance fixed filtering classifiers or a chrominance fixed filtering classifier different from the luminance fixed filtering classifiers.
5. The method according to claim 1, wherein the second fixed filtering coefficient sets are the same as the luminance fixed filtering coefficient sets.
6. The method according to claim 1, wherein the second fixed filtering coefficient sets are a subset of the luminance fixed filtering coefficient sets or different from the luminance fixed filtering coefficient sets.
7. The method according to claim 1, wherein the second fixed filtering with the second signaling or parsing coefficients is selected according to the second fixed filtering result or the first fixed filtering result.
8. The method according to claim 1, further comprising performing APS classification by using an adaptation parameter set (APS) classifier, wherein the second fixed filtering with the second signaling or parsing coefficients is selected according to the APS classification.
9. The method according to claim 1, wherein the second fixed filtering classification is applied to the current chrominance block by using the luminance fixed filtering classifiers, and the second fixed filtering is applied to the current chrominance block by using the luminance fixed filtering coefficient sets.
10. The method according to claim 1, wherein the second fixed filtering classification is applied to the current chrominance block using the luminance fixed filtering classifiers, the second fixed filtering is applied to the current chrominance block using the sets of luminance fixed filtering coefficients, the Adaptation Parameter Set (APS) classification is applied to the current chrominance block using a plurality of APS classifiers, and the second fixed filtering with the second signaling or parsing coefficients is selected according to the APS classification.
11. The method according to claim 1, wherein a flag is signaled or parsed in a Sequence Parameter Set (SPS), a slice or picture header, or a combination thereof, to select different plural sets of fixed filtering for the current chrominance block.
12. The method according to claim 11, wherein the flag is predefined or depends on the first flag signaled or parsed for the current luminance block.
13. The method according to claim 1, wherein the second fixed filtering classification is applied to the current chrominance block using a subset of the luminance fixed filtering classifiers, and the second fixed filtering is applied to the current chrominance block using a subset of the sets of luminance fixed filtering coefficients.
14. The method according to claim 1, wherein the second fixed filtering classification is applied to the current luminance block using the luminance fixed filtering classifiers, and the second fixed filtering is applied to the first fixed filtering result.
15. An apparatus for video coding and decoding, the apparatus comprising one or more electronic devices or processors arranged to: receive reconstructed pixels, wherein the reconstructed pixels comprise a current color block, the current color block comprising a current luminance block and a current chrominance block; apply a first fixed filtering process to the current luminance block, wherein the first fixed filtering process comprises: performing a first fixed filtering classification using a plurality of luminance fixed filtering classifiers; applying a first fixed filtering with a plurality of sets of luminance fixed filtering coefficients to generate a first fixed filtering result, wherein the sets of luminance fixed filtering coefficients are not signaled or parsed in the bitstream; and applying the first fixed filtering with a plurality of first signaling or parsing coefficients to generate a filtered reconstructed luminance block; apply a second fixed filtering process to the current chrominance block, wherein the second fixed filtering process comprises: performing a second fixed filtering classification; applying a second fixed filtering with a plurality of sets of second fixed filtering coefficients to generate a second fixed filtering result, wherein the sets of second fixed filtering coefficients are not signaled or parsed in the bitstream; and applying the second fixed filtering with a plurality of second signaling or parsing coefficients to generate a filtered reconstructed chrominance block; provide the filtered reconstructed luminance block and the filtered reconstructed chrominance block.