Method and apparatus for video coding
The video encoding device optimizes filter sequences using primary and secondary parameters to address oversmoothing and complexity issues in HEVC, enhancing encoding performance and reducing signal transmission.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2026-03-11
- Publication Date
- 2026-05-19
AI Technical Summary
Existing video encoding standards like ITU-T H.265/HEVC face issues with excessive smoothing and high computational complexity due to inconsistent behavior of video encoding tools, leading to reduced encoding performance and increased signal transmission effort.
A video encoding device and method that configures a sequence of filters using primary and secondary parameters, adjusting filter strength to meet intensity criteria, reducing oversmoothing and computational complexity by harmonizing filter effects and minimizing signal transmission.
Improves encoding performance by optimizing filter sequences to maintain appropriate smoothness levels, reducing oversmoothing and computational complexity while minimizing signal transmission effort.
Smart Images

Figure 2026083327000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a video encoding apparatus and a method for configuring a sequence of filters for video encoding.
[0002] The present invention also relates to a computer-readable storage medium storing program code. The program code includes instructions for executing a method for configuring a sequence of filters for video encoding.
Background Art
[0003] Digital video communication and storage applications are implemented by a wide range of digital devices, such as digital cameras, cellular radiotelephones, laptops, broadcast systems, video conferencing systems, and the like. One of the most important and difficult tasks of these applications is video compression. The task of video compression is complex and is constrained by two conflicting parameters: compression efficiency and computational complexity. Video encoding standards such as ITU-T H.264 / AVC or ITU-T H.265 / HEVC provide a good trade-off between these parameters.
[0004] Current state-of-the-art video encoding standards are mostly based on splitting the source picture into blocks. The processing of these blocks depends on their size, spatial position, and the encoding mode specified by the encoder. The encoding mode can be classified into two groups according to the type of prediction: intra prediction mode and inter prediction mode. The intra prediction mode generates reference samples using pixels of the same picture to calculate predicted values for the pixels of the block to be reconstructed. Intra prediction can also be referred to as spatial prediction. The inter prediction mode is designed for temporal prediction and uses reference samples of previous or next pictures to predict the pixels of a block in the current picture.
[0005] Due to the different types of redundancy, the prediction processes for intra-coding and inter-coding differ. Intra-prediction typically constructs a one-dimensional buffer of reference samples. Inter-prediction typically uses subpixel interpolation of a two-dimensional reference pixel matrix. For both intra-coding and inter-coding, additional processing can be used to improve the prediction results (e.g., smoothing of reference samples for intra-prediction, sharpening of reference samples for inter-prediction).
[0006] The recently adopted ITU-T H.265 / HEVC standard (ISO / IEC 23008-2:2013, “Information technology - High efficiency coding and media delivery in heterogeneous environments Part 2: High efficiency video coding”, November 2013) declares a set of current technology video coding tools that offer a reasonable trade-off between coding efficiency and computational complexity.
[0007] Similar to the ITU-T H.264 / AVC video coding standard, the ITU-T H.265 / HEVC video coding standard provides a division of the source picture into blocks, such as coding units (CUs). Each CU can be further divided into smaller CUs or prediction units (PUs). A PU can be intra-predicted or inter-predicted depending on the type of processing applied to the pixels of the PU. In the case of inter-prediction, a PU represents a region of pixels that will be processed by motion compensation using a motion vector specified for the PU. For intra-prediction, a PU specifies a prediction mode for a set of transform units (TUs). TUs can have different sizes (e.g., 4x4, 8x8, 16x16, and 32x32 pixels) and can be processed in different ways. For TUs, transform coding is performed, meaning the prediction error is transformed and quantized using a discrete cosine transform (DCT). Therefore, the reconstructed pixels will contain quantization noise and blocking artifacts, which can affect prediction accuracy.
[0008] To mitigate this impact on intra-prediction, reference pixel filtering is employed for HEVC / H.265. For intra-prediction, the reference pixel is calculated using subpixel interpolation. In the case of motion compensation, reference pixel smoothing can be combined with anti-aliasing filtering of the subpixel interpolation process.
[0009] A mode-adaptive intra-predictive smoothing technique has been proposed. The smoothing filter depends on the selected intra-predictive mode and the flags encoded in the video bitstream. Depending on the intra-predictive mode defined for a given block, the reference sample can be smoothed by the filter or used without modification. If the reference sample is smoothed, the selection of the smoothing filter can also be based on the intra-predictive mode. Furthermore, this selection can be performed according to the flag values reconstructed from the bitstream.
[0010] The current HEVC / H.265 standard partially uses this technique. Specifically, filter smoothing is turned off for certain combinations of intra-mode and block size.
[0011] As an extension of the reference sample filter adopted for the HEVC / H.265 standard, a reference sample adaptive filter (RSAF) has been proposed. This adaptive filter segments the reference samples before smoothing, applying different filters to different segments. Furthermore, a data hiding procedure has been used to signal the smoothing flag. A simplified version of the adaptive filter for reference samples was adopted for Joint Exploration Model 1 (JEM1). JEM1 includes several other tools that use smoothing, including: • Four-tap intra interpolation filter, · Boundary prediction filter and / or Multi-parameter intra prediction (MPI) can be replaced by position-dependent intra prediction combination (PDPC).
[0012] The problems with the above methods include high signal transmission effort and excessive smoothing of the video during encoding or decoding. [Overview of the project]
[0013] The object of the present invention is to provide a video encoding device and a method for configuring a filter sequence for video encoding. This method for configuring the video encoding device and filter sequence overcomes one or more of the problems described above.
[0014] A first aspect of the present invention is a video encoding device: • A sequence of filters configurable by one or more primary parameters and one or more secondary parameters, A filter controller configured to adjust one or more secondary parameters based on one or more primary parameters and based on the intensity criteria of the filter sequence, We provide the device.
[0015] The video encoding device of the first aspect can adjust one or more quadratic parameters so that the intensity criterion of the sequence of filters is satisfied. For example, as outlined below, the intensity criterion may relate to overall smoothness, and the filter controller can set the quadratic parameters so that the overall smoothness of the sequence of filters in the filtering stage is neither too high nor too low. In other words, the filter controller can be configured to ensure that the intensity criterion of the sequence of filters is within a predetermined range.
[0016] The first side of the video encoding device can be configured for video encoding and / or decoding.
[0017] The filter controller may be configured to partially set one or more of the secondary parameters. For example, the secondary parameters may be read from a bitstream or user settings and adjusted by the filter controller, for example, within a certain range. In other embodiments, the filter controller may also be configured to override the values of the secondary parameters derived from, for example, a bitstream or user settings in other ways.
[0018] In conventional techniques, inconsistent behavior of various video encoding tools, including RSAF, could lead to excessive smoothing. Excessive smoothing is, • The next filter does not take into account the effects caused by previous filters, thus reducing overall encoding performance, and / or • All of the above filters are always on, increasing the overall computational complexity.
[0019] This can be avoided by using a video encoding device on the first side. Furthermore, since the quadratic parameters do not need to be stored in the bitstream, signal transmission effort can be reduced in certain embodiments.
[0020] In one preferred embodiment, the first aspect video encoding device can solve the above-mentioned problem of oversmoothing by adjusting the filter parameters of the filter sequence that uses smoothing. This adjustment can be achieved, for example, by introducing a flag or some condition for the filter that uses smoothing. The flag and / or condition are • To turn the tool's smoothing mechanism on and / or • To change the smoothing strength of the filter (for example, switching from a strong filter to a weak filter) It can be used.
[0021] The first controller of the video encoding device on the first aspect can be configured to control not just a single filter but multiple filters. This can be considered as a mechanism, for example, to harmonize various filters that affect the result of intra prediction by smoothing. In particular, the filter controller can be configured to make the following adjustments: · Since some filter modules can be switched off according to a flag value and / or when meeting some conditions, the sample processing mechanism can be changed; · A new filter module can be introduced to provide control for all filters that may affect the result of intra prediction by smoothing.
[0022] In the first implementation of the video encoding device based on the first aspect, the strength criteria are: · Smoothness criteria, · The ratio of the amplification factor in the high - frequency region to the amplification factor in the low - frequency region, and / or · The ratio of the contrast value before filtering to the contrast value after filtering are included.
[0023] This allows optimizing the filter sequence for one or more of the above criteria. As outlined above, preferably, the adjustment by the filter controller can be performed so that the strength criteria of the filter sequence are within a certain range, for example, within a predetermined range.
[0024] In the second implementation of the video encoding device based on the first aspect, the one or more primary parameters are predetermined parameters, particularly parameters determined from an encoded bitstream, user settings, and / or a parameter search loop in the encoding device.
[0025] Determining quadratic parameters from primary parameters, for example, by pre-determining only the primary parameters, has the advantage of reducing signal transmission effort. For instance, if the quadratic parameters are not stored in the bitstream but can be derived from the primary parameters in the bitstream, the bitrate can be reduced.
[0026] In a third implementation of a video encoding device based on the first aspect, the filter sequence comprises one or more primary filters configurable by one or more primary parameters and one or more secondary filters configurable by one or more secondary parameters, wherein the one or more primary filters are positioned before the one or more secondary filters in the filter sequence.
[0027] Adjusting filter parameters at a later stage has the advantage that the effects of earlier filtering can potentially be canceled out, or at least not further enhanced. For example, if an earlier filter provides a certain smoothing intensity, it can be ensured that later filtering stages do not increase this smoothing effect. For instance, the smoothing flag in later filtering stages can be switched off.
[0028] In other embodiments of the present invention, the primary parameter may relate to a later filtering stage, and the secondary parameter to an earlier filtering stage.
[0029] In the fourth implementation of the video encoding device based on the first aspect, the filter sequence is: A reference sample filter configured to adaptively filter one or more neighboring samples of the current video block to obtain one or more reference samples, The system includes an interpolation filter configured to predict one or more samples of the current video block using interpolation of one or more reference samples, The one or more primary parameters include the reference parameters of the reference sample filter, the one or more secondary parameters include the selection parameters of the interpolation filter, and the interpolation filter is configured to use an interpolation method corresponding to the selection parameters.
[0030] The filter sequence of the fourth implementation of the video encoding device can be, for example, a filter sequence for intra-prediction.
[0031] Preferably, the filter controller is configured to determine the selection parameter based on the reference parameter. This has been shown to be an effective way to improve the overall filter strength criterion.
[0032] In a fifth implementation of the video coding device based on the first aspect, the one or more primary parameters include a reference sample filter flag of a reference sample filter, and the one or more secondary parameters include a filter intensity parameter of an intra predictive interpolation filter.
[0033] Preferably, the filter controller is configured to determine the filter intensity parameter based on the reference sample filter flag. This has been shown to be an effective way to improve the overall filter intensity criterion.
[0034] In a sixth implementation of a video coding device based on the first aspect, the sequence of filters includes a boundary smoothing filter configured to perform boundary smoothing on one or more transformed units belonging to one or more predicted units that satisfy a size constraint.
[0035] This has the advantage that the boundary smoothing filter makes blocking artifacts in the reconstructed blocks less visible. Prediction units typically include certain picture regions, such as edges, textures, and smoothed areas. However, for larger PUs, the probability of smoothed areas is higher. For smoothed areas, blocking artifacts are more critical, and therefore boundary smoothing is preferable for larger PUs than for smaller PUs. Consequently, it is proposed to constrain boundary smoothing by PU size (e.g., by a size of 32x32 pixels). By using this constraint, unwanted blurring for unsmoothed areas in smaller PUs is avoided on the one hand, and blocking artifacts for larger PUs on the other hand. This allows for improvements in both objective and subjective quality compared to when boundary smoothing is predefined for intra-predictions.
[0036] In the seventh implementation of the video coding device based on the first aspect, the one or more primary parameters include a direction parameter for a predictive block filter, and the one or more secondary parameters include an on-off parameter for a boundary smoothing filter.
[0037] Preferably, the filter controller is configured to determine the on / off parameters of the boundary smoothing filter based on the directional parameters of the predictive block filter. This has been shown to be an effective way to improve the overall filter strength criteria.
[0038] In the eighth implementation of the video encoding device based on the first aspect, the filter sequence is: A subpixel interpolation filter configured to adaptively filter the reference block's filter samples to obtain an interpolated reference block, It has low-pass and / or high-pass filters configured to smooth and / or sharpen the interpolated reference block to obtain a filtered reference block, The one or more primary parameters include the interpolation parameters of the interpolation filter, and the one or more secondary parameters include the selection parameters of the sharpening and / or smoothing filter, the derivation of the secondary parameters is determined by the parameters of the interpolation filter.
[0039] The filter sequence of the eighth implementation of the video coding device could be, for example, a filter sequence for interpretation.
[0040] Preferably, the filter controller is configured to determine the selection parameters for the sharpening and / or smoothing filters based on the interpolation parameters. This has been shown to be an effective way to improve the overall smoothness criterion.
[0041] It should be noted that the smoothness criterion for a filter sequence can also be position-dependent. For example, a filter might introduce strong smoothness in one region and strong sharpness in another. Thus, a filter controller may be configured to set different quadratic parameters for different regions of one or more image frames of a video.
[0042] In the ninth implementation of video coding of a video coding device based on the first aspect, the filter sequence has an adaptive loop filter configured to use a selected codebook to indicate one or more filter coefficients in the bitstream. Here, the filter controller is configured to select a codebook from a plurality of codebooks based on the one or more primary parameters.
[0043] Adaptive loop filter coefficients encoded by multiple codebooks leverage prior information about the processing applied to the adaptive loop filter's input signal. If smoothing has already been applied to the signal being processed by the adaptive loop filter, then the adaptive loop filter only needs to introduce high-pass filtering. Consequently, some combinations of adaptive loop filter coefficients become unavailable. This characteristic is used to maintain two or more codebooks in this way, for at least two cases: when the adaptive loop filter is applied to an already smoothed input signal, and when no smoothing has been applied to the input of the adaptive loop filter.
[0044] For example, the plurality of codebooks may include a first and a second codebook, where only the first codebook contains coefficients for both high-pass and low-pass filtering, and the second codebook contains coefficients only for low-pass filtering.
[0045] In one preferred embodiment, the plurality of codebooks includes three or more codebooks, and preferably, different codebooks of the plurality of codebooks correspond to different filtering intensities of filters applied before the ALF.
[0046] In the tenth implementation of the video encoding device based on the ninth implementation of the first aspect, the filter sequence is further: A deblocking filter configured to process vertical edges based on vertical filter intensity parameters and / or horizontal edges based on horizontal filter intensity parameters, It has a sample adaptive offset (SAO) filter configured to classify pixels and add an offset value to the pixels according to the SAO class parameter, The one or more primary parameters include the SAO class parameter and the SAO type parameter of the SAO filter, the one or more secondary parameters include the horizontal filter intensity parameter and the vertical intensity parameter, the filter controller is configured to derive the secondary parameters based on the SAO class parameter and / or the SAO type parameter of the SAO filter, and / or the filter controller is configured to select the codebook from the plurality of codebooks based on the SAO type parameter.
[0047] The filter sequence of the tenth implementation of the video encoding device can be, for example, a sequence of in-loop filters.
[0048] Further implementations of the video coding device of the first aspect relate to the video coding device of one of the above implementations of the first aspect, with different quadratic parameters for the vertical and horizontal edge deblocking filter strengths, and the ratio of the vertical deblocking filter strength to the horizontal deblocking filter strength is adjusted based on the SAO class.
[0049] Further implementations of the video encoding device of the first aspect relate to the video encoding device of one of the above-mentioned implementations of the first aspect, where the filter sequence does not include adaptive loop filters, or the filter controller does not adjust the parameters of the in-loop filters.
[0050] Further implementations of the video encoding device of the first aspect relate to the video encoding device of one of the above-mentioned implementations of the first aspect, where the filter sequence does not include a deblocking filter, or the filter controller does not adjust the parameters of the deblocking filter.
[0051] A second aspect of the present invention is a method for configuring a sequence of filters for video encoding: • Adjust one or more secondary parameters based on one or more primary parameters and based on the intensity criteria of the sequence of the filter, The sequence of the filter is configured using the aforementioned primary and secondary parameters. Regarding methods that include this.
[0052] In the first implementation of the second aspect of the method, the method further includes an initial step of determining one or more of the primary parameters from the bitstream.
[0053] Methods based on the second aspect of the present invention can be performed by a video encoding apparatus based on the first aspect of the present invention. Furthermore, a further feature of the implementation of the methods based on the second aspect of the present invention is that it can perform the functions of a video encoding apparatus based on the first aspect of the present invention and various implementation forms thereof.
[0054] A third aspect of the present invention relates to a computer-readable storage medium for storing program code. The program code includes instructions for performing the method of the third aspect or one of the implementations of the third aspect. [Brief explanation of the drawing]
[0055] To more clearly illustrate the technical features of embodiments of the present invention, the accompanying drawings provided to describe the embodiments are briefly introduced below. The accompanying drawings in the following description simply illustrate some embodiments of the present invention. Modifications to these embodiments are possible without departing from the scope of the present invention as defined in the claims. [Figure 1] This is a block diagram showing a video encoding device according to one embodiment of the present invention. [Figure 2] This is a flowchart of a method for configuring a filter sequence for a video encoding device according to a further embodiment of the present invention. [Figure 3] This is a structural scheme of a filter sequence for intra-prediction based on a further embodiment of the present invention. [Figure 4] This is a flowchart of a method for configuring a sequence of filters for controlled reference sample adaptive filtering, according to a further embodiment of the present invention. [Figure 5] This is a flowchart of a method for configuring a sequence of filters for intra-prediction, according to a further embodiment of the present invention. [Figure 6] This is a flowchart of a method for configuring a sequence of filters for boundary smoothing, according to a further embodiment of the present invention. [Figure 7] This is a structural scheme of a filter sequence for intra-prediction, based on a further embodiment of the present invention. [Figure 8] This is a flowchart of a method for configuring a filter sequence for intra-prediction, based on a further embodiment of the present invention. [Figure 9] This is a flowchart of a method for intra-prediction using a filter control module on the decoder side, based on a further embodiment of the present invention. [Figure 10] This is a structural scheme for a series-parallel embodiment of interpretation using a filter control module, based on a further embodiment of the present invention. [Figure 11] This is a flowchart of a method for configuring a filter sequence for interprediction using a filter control module on the decoder side, according to a further embodiment of the present invention. [Figure 12] This is a structural scheme of an in-loop filter chain based on a further embodiment of the present invention. [Figure 13] This is a flowchart of a method for configuring a sequence of filters, based on a further embodiment of the present invention, in which unblocking filtering depends on one or more SAO parameters. [Figure 14]This is a flowchart of a further method for configuring a sequence of filters, based on a further embodiment of the present invention, in which deblocking filtering depends on SAO parameters and the filtering is performed on the decoder side. [Figure 15] A flowchart of a method for configuring a filter sequence according to a further embodiment of the present invention, wherein the method adjusts one or more ALF parameters on the decoder side according to one or more SAO parameters. [Figure 16] A flowchart of a method for configuring a filter sequence according to a further embodiment of the present invention, wherein the method involves adjusting one or more ALF parameters on the decoder side according to one or more SAO parameters. [Modes for carrying out the invention]
[0056] Figure 1 shows a video encoding device 100 having a filter sequence 110 and a filter controller 120.
[0057] The filter sequence 110 can be configured by one or more primary parameters and one or more secondary parameters. For example, the first set of filters in the filter sequence can be configured by primary parameters, and the second set of filters in the filter sequence can be configured by the second set of filters. There may be overlap between the first set of filters and the second set of filters.
[0058] The filter controller 120 is configured to adjust the one or more secondary parameters based on the one or more primary parameters and the intensity criteria of the sequence of the filter 110. In particular, the filter controller 120 can be configured to adjust the one or more secondary parameters based on the one or more primary parameters. For example, the values of the secondary parameters may be based in part on predetermined values from, for example, a bitstream, and in part on the adjustments based on the primary parameters.
[0059] Figure 2 shows a method 200 for configuring a sequence of filters for video coding. Method 200 includes a first step 210 in which one or more secondary parameters are adjusted based on one or more primary parameters and based on an intensity criterion of the sequence of filters. The method further includes a second step 220 in which the sequence of filters is configured using the primary and secondary parameters.
[0060] An intra-prediction procedure can be part of a hybrid video coding toolchain on the encoder and / or decoder side. Similarly, an inter-prediction procedure can include a sequence of filters (e.g., interpolation filters and so-called predictive filters). These filters can cause over-smoothing or over-sharpening of blocks used as references, which are in fact analogues of the intra-predicted blocks for inter-prediction.
[0061] A sequence of filters can include one or more of the following filters: • Reference sample smoothing (e.g., RSAF) • Interpolation filtering for intranet prediction, • Filtering of intra-predicted blocks (e.g., MPI or PDPC) and / or ·Boundary smoothing. These filters can affect the results of intra-prediction through smoothing.
[0062] Figure 3 shows a filter sequence 300 having a filter control module 360 for adjusting filtering parameters at various stages for intra-prediction. The filter controller module 360 is a filter controller.
[0063] The parameters for intra-prediction may include, but are not limited to, the following: • Size of the prediction unit, • Predicted block size, • Intra predictive mode, • Multi-parameter intra-mode index and / or • Reference sample filtering flag. One or more of the above parameters can be primary or quadratic parameters.
[0064] Apart from the filter control module 360, the filter sequence 300 includes a reference sample smoothing unit 310, an intra-prediction unit 320, a predictive block filter unit 330, and a boundary smoothing unit 340. The reference sample smoothing unit 310 is configured to receive one or more neighboring samples 302 as input. The reference sample smoothing unit 310 is further configured to smooth and / or further process the one or more neighboring samples 302 to obtain one or more reference samples 312. The reference samples 312 are given as input to the intra-prediction unit 320. The intra-prediction unit 320 has an interpolation filter 322. The intra-prediction unit 320 gives its output 324 as input to the predictive block filter 330.
[0065] The predicted block filter 330 is configured to compute one or more predicted blocks 332. The predicted blocks 332 are given as input to the boundary smoothing unit 340. The boundary smoothing unit 340 generates one or more intra-predicted blocks 350 as output 342.
[0066] A video encoding device having a filter sequence 300 can be configured to selectively use the implicit or explicit signaling of the reference sample filter only for TUs that meet specific conditions.
[0067] The filter control module 360 can be configured to read intra-prediction parameters 362 as primary parameters. The filter control module 360 can also be configured to derive secondary parameters based on these primary parameters.
[0068] The quadtree partitioning result can be used as an instruction for reference sample filter selection using explicit or implicit signaling. Specifically, if the PU size is greater than a threshold (e.g., 32x32), the reference sample filter flag is set to 0. This assignment overrides prior art conditions. If a condition on PU size is true, then only "no filter" and "apply a weak filter" can be selected according to the PU size and / or intra-mode conditions.
[0069] Figure 4 is a flowchart of Method 400 for configuring a sequence of filters for controlled reference sample adaptive filtering.
[0070] Method 400 includes a first step 402 in which a condition relating to the size of the forecast unit is evaluated. If the evaluation of the condition is true, the method proceeds to step 404 in which a reference sample filter flag is derived. If the evaluation of the condition relating to the size of the forecast unit is false, the method proceeds to step 406 in which the reference sample filter flag is set to false. Step 404 or step 406 is followed by step 408 in which one or more conditions relating to the intra-mode and block size are evaluated.
[0071] If the evaluation result in step 408 is false, the method proceeds to step 410, where the reference sample filter flag is evaluated. If the flag is false, the method proceeds to step 414, where the reference sample adaptive filter is set to not apply a filter. If the flag is evaluated as true in step 410, a weak filter is applied in step 416. Alternatively, if the condition evaluation in step 408 is evaluated as true, the method proceeds to step 412, where the reference sample filter flag is evaluated. If the evaluation is false, a weak filter is applied in step 416. If the reference sample filter flag is evaluated as true in step 412, a strong filter is applied in step 418.
[0072] The "Apply Weak Filter" and "Apply Strong Filter" stages allow for the selection of a filter from a predefined set of filters, as soon as the selection of a particular filter from the set is mapped to the intra-mode and the expected block size. This particular embodiment, with only three filters, does not mean that the number of filters in the filter set cannot be expanded to any amount (for example, five states including "No Filter," "Weak Filter," "Strong Filter," and two intermediate filters).
[0073] In directional intra-prediction, the pixel values of the predicted block and their projections on the left and top block boundaries are calculated. However, the projections can have partial positions, i.e., they can fall between the actual positions of the reference samples on the boundaries. A weighted sum of the values of adjacent reference samples is calculated to determine the sample values of the intra-predicted block. This process is, in fact, a two-tap interpolation filter, which can be further extended to a four-tap interpolation filter.
[0074] A four-tap intra-prediction filter can be used to improve the intra-prediction accuracy of directionality. In HEVC, a two-tap linear interpolation filter was used to generate intra-prediction blocks in directionality prediction modes (i.e., excluding planar and DC predictors). Alternatively, two types of four-tap interpolation filters can be used: a cubic interpolation filter for 4x4 and 8x8 blocks, and a Gaussian interpolation filter for 16x16 and larger blocks. The filter parameters are fixed according to the block size, and the same filter is used for all predicted pixels in all directionality modes.
[0075] In HEVC, after the intra-prediction block is generated for VER and HOR intra-modes, the prediction samples for the leftmost column and topmost row are further refined, respectively. This can be further extended to several diagonal intra-modes, where up to four row or column boundary samples are further refined using two-tap filters (for intra-modes 2 & 34) or three-tap filters (for intra-modes 3-6 & 30-33).
[0076] Figures 4 and 5 illustrate two embodiments for synchronizing the selection of interpolation filter types using a reference sample filtering process. Both embodiments consider that two interpolation filter types, weak and strong, may be applicable. For example, a Gaussian filter is used for 16x16 and larger predicted blocks, while a cubic filter is selected for other block sizes. In both embodiments, the interpolation filter selection can be harmonized with the reference sample filtering process.
[0077] Figure 5 is a flowchart of Method 500 for configuring an interpolation filter for intra-prediction.
[0078] Method 500 includes a first step 502 which derives a reference sample filter flag. In step 504, the reference sample filter flag is evaluated. If it evaluates to true, the method proceeds to step 506, where a condition related to the size of the transformation block is evaluated. If the condition evaluates to false, the method proceeds to step 508, where a weak intra interpolation filter is applied. Similarly, if the reference sample filter flag evaluates to false in step 504, the method also proceeds to step 508. If the condition related to the size of the transformation block evaluates to true in step 506, the method proceeds to step 510, where a strong intra interpolation filter is applied.
[0079] Embodiments in Figures 4 and 5 differ in their derivation of the reference sample filter flag. In the embodiment of Figure 4, the reference sample filter flag is true if the predicted block based on the above conditions has different reference sample filter options. This filter selection can be signaled explicitly or implicitly (for example, by mapping to the prediction mode or by using data hiding in the quantized residual data). For the embodiment of Figure 4, the actually selected reference filter value is not considered in the derivation of the reference sample filter flag. However, if the reference sample filter selection for the predicted block is performed on the encoder side and the selection is communicated explicitly or implicitly to the decoder, the reference sample flag value is true. Otherwise, if the predicted block has a predefined reference filter or no reference sample filtering, the reference sample flag value is false.
[0080] The embodiment in Figure 5 uses the reference filter selection value as the reference sample flag value. If a strong filter is selected for the reference filter (e.g., {1 2 1} or a five-tap filter), the reference sample flag value is assigned to true. And, as in the first embodiment, for expected blocks where no reference filtering or a weak reference sample filter is selected, the reference sample flag value is false.
[0081] The beneficial effects of the embodiments described above are achieved by the harmonization of the reference sample filtering and intra-predictive interpolation processes. It can be observed that these embodiments prevent the predicted blocks from being too smooth.
[0082] Figure 6 is a flowchart of Method 600 for configuring a sequence of filters for boundary smoothing.
[0083] Method 600 includes a first step 602 in which it determines whether the predicted block filter is directional. If so, the method proceeds to step 604 in which the block size condition is evaluated. If the block size condition is evaluated as false or the predicted block filter directionality is evaluated as false, the method proceeds to step 606 in which the intra-mode condition is evaluated. If the intra-mode condition is evaluated as true, the method proceeds to step 608 in which boundary smoothing is applied. Otherwise, and if the block size condition is evaluated as true in step 604, boundary smoothing is not applied.
[0084] Boundary smoothing can be applied when the intra-prediction mode is selected as DC, horizontal, vertical, or oblique. The proposed invention synchronizes boundary smoothing with the selection of a filter for the prediction block. In particular, the orientation of the prediction block filter is used to determine whether or not to apply boundary smoothing. For example, if a two-dimensional filter has the same strength in both the vertical and horizontal directions, this filter is non-directional. In particular, boundary smoothing is not applied to non-directional filters. Multi-parameter intra-prediction can be an example of a prediction block filter. When this technique is used as a prediction block filter, the first condition in Figure 6 can be formulated as "MPI index is greater than 1".
[0085] Conversely, if the predictive block filter is directional, the present invention considers another constraint. If the size of the block being filtered is less than 32 pixels, boundary smoothing is skipped for this block, regardless of the directional nature of the predictive block filter.
[0086] Figure 7 shows the structural scheme of filter sequence 700 for intra prediction. Filter sequence 700 can be used to encode or decode video.
[0087] The filter sequence 700 has a filter control module 760 configured to adjust the parameters of several filters. Specifically, the filter sequence 700 receives one or more neighbor samples 702 as input. These neighbor samples 702 are given as input to a sample adaptive filter SAF 710. Filter 710 represents the first filter of the filter sequence 700. The sample adaptive filter 710 generates one or more reference samples 712, which are given as input to an intra-prediction unit 720. The intra-prediction unit 720 has a set of four-tap interpolation filters 722, which are configurable by one or more interpolation filter parameters.
[0088] The output 724 of the intra-prediction unit is given as input to the boundary prediction filter 730. The output 732 of the boundary prediction filter is given as input to the multi-parameter intra-prediction / position-dependent intra-prediction combination unit 740. Unit 740 generates one or more intra-predicted blocks 750 as output 742.
[0089] The reference sample adaptive filter 710, the intra prediction unit 720, the boundary prediction filter 730, and the multi-parameter intra prediction / position-dependent intra prediction combination unit 740 can each be configured with one or more parameters, which can be set by the filter control module 760.
[0090] Multi-parameter intra-prediction (MPI) is a post-processing step for intra-prediction that invokes additional smoothing using the decoded boundary.
[0091]
number
[0092]
number
[0093] A potential alternative to MPI is Position-Dependent Intra Prediction Combination (PDPC), which is a content-adaptive post-processing for intra-prediction that invokes the above intra-prediction with an unfiltered boundary. This can be implemented as follows:
[0094]
number
[0095] The strength of this post-processing can be controlled by the parameter α+β+γ=8. Different sets of {α,β,γ} constitute the dictionary summarized in Table 1. The strength of post-processing smoothing differs for blocks encoded as 2N×2N and N×N. The same post-processing can be applied to both luminance and chrominance blocks within the CU.
[0096] [Table 1] The combined intra-index that determines post-processing is signaled at the CU level using 2 bits. This syntax element is not signaled if the left or top boundary of the CU is a picture boundary. A value of 0 for this index indicates that no post-processing is used.
[0097] The problem of over-smoothing can be overcome if each tool has a flag to turn it on and off, and the RDO procedure is executed jointly for all tools that use smoothing, rather than separately for each tool. However, this solution has the drawback of redundant signal transmission, which can degrade overall encoding performance.
[0098] Figure 8 is a flowchart of Method 800 for configuring and setting up a filter sequence for intra-prediction.
[0099] Method 800 includes a first step 810 to determine whether reference sample adaptive filtering (RSAF) is being used. For example, this can be determined by evaluating the RASF flag. If it is determined that RSAF is being used, reference sample adaptive filtering is applied in step 812. Then, in step 814, interpolation using a four-tap cubic filter is applied. This can be achieved by setting the interpolation mode parameter of the interpolation filter in the filter sequence for intra-prediction to a four-tap cubic filter.
[0100] If it is determined in step 810 that RSAF is not being used, then in step 816, interpolation using a set of four-tap filters is applied. In particular, this can be a predetermined set of four-tap filters. Setting the interpolation filter to use the aforementioned set of four-tap filters can be achieved, for example, by setting the interpolation parameter of the interpolation filter to "set of four-tap filters".
[0101] In a further step 820, the MPI index variable i is set to 0. Then, in step 822, it is determined whether the variable is greater than 1. If so, in step 824, it is determined whether the current prediction unit PU size is greater than 32. If so, boundary prediction filtering is applied in step 826. Boundary prediction filtering is also applied if it is determined in step 822 that i is not greater than 1. If it is determined in step 824 that the current PU size is not greater than 32, the method proceeds to step 828, which has a multi-parameter intra-prediction / location-dependent intra-prediction combination.
[0102] Subsequently, in step 830, the rate distortion cost and RD cost J for the current configuration settings are calculated. i This is calculated. In particular, the current configuration settings can correspond to the current value of MPI index i. In other embodiments, other parameters can also be changed, and the RD cost for different parameter settings can be determined.
[0103] In step 832, it is determined whether the MPI index i is greater than 3. If not, the MPI index is incremented by 1 in step 834, and the method continues to step 822. If the MPI index is 3 or greater, the method continues to step 836 by selecting the best MPI index. This is the lowest RD cost J i This can be achieved by selecting the corresponding MPI index.
[0104] Figure 9 is a flowchart of method 900 for configuring a filter sequence for intra-prediction using a filter control module on the decoder side.
[0105] The interpretation mechanism may include, for example, the following filters: • Regular filter based on Lagrangian interpolation, • Sharpening filters using DCT-based interpolation (usually around relatively sharp edges), and / or • Smoothing, non-interpolating filter.
[0106] Preferably, only one of these filters can be selected. For quarter-pixel interpolation, the sharpening filter can be enabled by default; that is, its parameters should be obtained by parsing the bitstream on the decoder side without deriving any other flags or parameters. For half-pixel interpolation, sharpening can be turned off. For integer pixels, both the sharpening and smoothing filters are enabled and can therefore be switched off as needed. However, if either of them is turned on, its parameters should be obtained from the bitstream before performing the filtering.
[0107] Method 900 includes a first step 910 to determine whether reference sample adaptive filtering (RSAF) is being used. For example, this can be determined by evaluating the RASF flag. If it is determined that RSAF is being used, reference sample adaptive filtering is applied in step 912. Then, in step 914, interpolation using a four-tap cubic filter is applied. This can be achieved by setting the interpolation mode parameter of the interpolation filter in the filter sequence for intra-prediction to a four-tap cubic filter.
[0108] If it is determined in step 910 that RSAF is not being used, then in step 916, interpolation using a set of four-tap filters is applied. In particular, this can be a predetermined set of four-tap filters. Setting the interpolation filter to use the aforementioned set of four-tap filters can be achieved, for example, by setting the interpolation parameter of the interpolation filter to "set of four-tap filters".
[0109] In step 920, it is determined whether the MPI index is greater than 1. The MPI index may be determined, for example, by parsing the MPI index value from the bitstream or by other means. If the MPI index is greater than 1, the method proceeds to step 924 by determining whether the current PU size is greater than 32. If so and the MPI index is not greater than 1, the method proceeds to step 926 by applying boundary prediction filtering. However, if the current PU size is not greater than 32, the method proceeds to step 928 with a multi-parameter intra-prediction / location-dependent intra-prediction combination.
[0110] Figure 10 shows the structural scheme of filter sequence 1000. Sequence 1000 has a series / parallel structure.
[0111] The filter sequence 1000 is configured to process a block of sample 1002 to obtain a reference (predicted) block 1040. The sequence 1000 has one or more subpixel interpolation filters 1010 configured to interpolate between block samples 1002. The result of the subpixel interpolation 1012 is applied as input to a smoothing filter 1020 and / or a sharpening filter 1030. Preferably, the smoothing filter 1020 or the sharpening filter 1030 is used.
[0112] The output of the smoothing filter 1020 and / or the sharpening filter 1030 is the reference (predicted) block 1040. The filter sequence 1000 is controlled by the filter control module 1050. The filter control module 1050 is configured to set the parameters of the subpixel interpolation filter 1010, the smoothing filter 1020, and / or the sharpening filter 1030.
[0113] Figure 11 is a flowchart showing how to configure the filter sequence for interpretation using a filter control module on the decoder side.
[0114] Method 1100 includes a first step of determining whether 1 / 4 3 / 4 pixel interpolation is being used. If not, the method proceeds to step 1104 by determining whether 1 / 2 pixel interpolation is being used. If so, the method proceeds to step 1106 by parsing the bitstream and obtaining one or more values of the control flags. Subsequently, in step 1112, it is determined whether a sharpening filter is enabled. In particular, this can be determined from the one or more values of the control flags determined in step 1106. Alternatively, if it is determined in step 1104 that 1 / 2 pixel interpolation is not being used, the method proceeds to step 1108 by parsing the bitstream and obtaining one or more values of the one or more control flags. Subsequently, in step 1110, it is determined whether a smoothing filter is enabled. In particular, this can be determined from the one or more values of the one or more control flags.
[0115] If the smoothing filter is enabled, the method proceeds to step 1116, in which the bitstream is parsed to obtain one or more values of the smoothing filter strength parameter and the appropriate filtering is performed. Alternatively, if it is determined from the bitstream, for example, in step 1110 that the smoothing filter is not enabled, the method proceeds to step 1112, in which it is determined whether the sharpening filter is enabled. If the sharpening filter is enabled, the method proceeds to step 1114, in which the bitstream is parsed to obtain one or more values of the sharpening filter strength parameter and the appropriate filtering is performed.
[0116] Current video encoding technology also provides a filtering stage in the final stages of the encoder and decoder. As soon as the output data of this process is passed to the motion compensation loop, this filtering is called in-loop filtering.
[0117] Several sequences of filters can be used in both encoders and decoders. Preferably, the first stage of the filter sequence is configured to remove blocking artifacts by using a blocking rejection filter. A low-pass filter is applied to the edges of the TU according to a set of predefined rules. These rules have parameters called deblocking parameters, which can be specified for the entire sequence or separately for each frame.
[0118] Preferably, the second stage is configured to remove quantization noise by using a sample-adaptive offset. The frame can be subdivided into pixel regions, each of which is assigned an SAO parameter. The SAO parameters may include: ● SAO type that controls the classifier type: ○BO (band offset): This SAO type chooses to add an offset to pixels whose values fall within the range specified by the SAO category. ○EO (edge offset): This SAO type chooses to add a different offset to the pixel depending on the SAO category. ● SAO Class: Specifies the pixel pattern that should be used to derive the SAO category. ●SAO Offset: A lookup table that assigns an offset to each SAO category. The corresponding offset should be added according to the pixel category.
[0119] Preferably, one or more of these SAO parameters are derived on the encoded side and encoded into the bitstream so that the decoder can parse them.
[0120] The next step involves applying an adaptive loop filter (ALF), which is quite similar to a Wiener filter. On the encoder side, filter coefficients are derived that give the smallest mean squared error after filtering the reconstructed pixels. These coefficients are further quantized and transmitted to the decoder in the bitstream.
[0121] Preferably, a filter control module for adapting the filter strength at various stages of the intra-loop filtering chain is configured to adjust the processing at one filtering stage according to the parameter values at other stages (number or more stages).
[0122] Figure 12 shows the structural scheme of the in-loop filter chain 1200, which is a sequence of filters.
[0123] The in-loop filter chain 1200 is configured to process the reconstructed frame 1202 to obtain the reference picture buffer 1240. The reconstructed frame 1202 is fed as input to the reject-blocking filter 1210. The output of the reject-blocking filter is fed as input 1212 to the sample-adaptive offset filter 1220. The output of the sample-adaptive offset filter 1220 is fed as input 1222 to the adaptive loop filter 1230. The output of the adaptive loop filter 1230 is fed as input 1232 to the reference picture 1240.
[0124] The deblocking filter 1210, the sample-adaptive offset filter 1220, and the adaptive loop filter 1230 are configurable with parameters that can be set by the filter control module 1250. The filter control module 1250 is configured to determine these parameters based on input parameters, including one or more deblocking filter parameters 1252, one or more SAO parameters 1254, and one or more ALF parameters 1256. For example, these parameters can be user-defined or obtained from a bitstream.
[0125] The blocking removal filter 1210 may depend on one or more SAO parameters. Preferably, if the encoder side selects that the SAO type is EO (edge offset) and the pixel pattern (SAO class) is assigned horizontally or vertically, the blocking removal operation is disabled for edges that have a direction perpendicular to the selected pixel pattern direction.
[0126] Figure 13 is a flowchart of Method 1300 for configuring a filter sequence when blocking removal filtering depends on one or more SAO parameters.
[0127] Method 1300 includes a first step 1302 for estimating one or more SAO parameters. The SAO parameters may include edge offset parameters and SAO classes.
[0128] Step 1304 determines whether the edge offset parameter is set to true. If so, in step 1306, the SAO class parameter is evaluated. If the SAO class parameter is set to vertical, the method disables horizontal blocking removal in step 1308. If the SAO class parameter is set to horizontal, vertical edge blocking removal is disabled in step 1310. If the SAO class is set to a different value, or if the edge offset parameter is determined to be false in step 1304, the method proceeds to step 1312, which applies a blocking removal filter according to the configuration setting determined above. The method then proceeds to step 1314 of sample-adaptive offset filtering and possibly further filtering steps.
[0129] Figure 14 is a flowchart of a further method 1400 for configuring the filter sequence when blocking removal filtering depends on SAO parameters and filtering is performed on the decoder side.
[0130] In the first stage 1402, one or more SAO parameters are extracted from the bitstream.
[0131] In step 1404, it is determined whether the edge offset parameter is set to true. If so, in step 1406, the SAO class parameter is evaluated. If the SAO class parameter is set to vertical, the method disables horizontal edge blocking removal in step 1408. If the SAO class parameter is set to horizontal, vertical edge blocking removal is disabled in step 1410. If the SAO class is set to a different value, or if the edge offset parameter is determined to be false in step 1404, the method proceeds to step 1412, which applies a blocking removal filter according to the configuration setting determined above. The method then proceeds to step 1414 of sample-adaptive offset filtering and possibly further filtering steps.
[0132] Figure 15 is a flowchart of method 1500 for configuring the filter sequence. Here, method 1500 adjusts one or more adaptive loop filter parameters on the decoder side based on one or more SAO parameters.
[0133] In particular, method 1500 includes a first step 1502 for estimating the SAO parameters. In the second step 1504, it is determined whether the edge offset flag is set. If it is set, in step 1506, the smoothing filter in the adaptive loop filter ALF is disabled.
[0134] Subsequently, in steps 1508 to 1514, blocking removal, sample-adaptive offset filtering, adaptive loop filter parameter estimation, and adaptive loop filtering are applied.
[0135] For example, the codebook selection for encoding and decoding ALF parameters differs compared to the methods shown in Figures 13 and 14, particularly for edge offset and band offset SAOs.
[0136] Figure 16 is a flowchart of method 1600 for adjusting one or more ALF parameters in response to one or more SAO parameters on the encoder side.
[0137] In the first stage 1602, the SAO parameters are derived from the bitstream. In the second stage 1604, it is determined whether the edge offset flag is set. If it is not set, in stage 1606, the first ALF parameter codebook is selected. If the edge offset flag is not set, in stage 1608, the second ALF parameter codebook is selected.
[0138] Subsequently, in steps 1610 to 1616, ALF parameters are obtained from the bitstream, blocking removal filters are applied, sample-adaptive offset filtering is applied, and adaptive loop filtering is applied.
[0139] Embodiments of the present invention may relate to the following further aspects: [Side view 1] a. Configure the filter parameters for the following stages according to the intra-prediction parameters. b. Prepare reference samples by adaptively applying filters to neighboring blocks of the predicted block. c. Using the interpolated values of the reference sample, calculate the predicted value for each sample in the predicted block. d. Applying filters to predicted blocks. e. Perform boundary smoothing. A method for encoding and decoding video data, including an intra-prediction process consisting of the following. [Side view 2] The method described in Aspect 1, wherein the quadtree partitioning result is used as an instruction for reference sample filter selection using explicit or implicit signaling. [Side view 3] The method described in Aspect 1, wherein the predicted value for each sample of the predicted block is calculated using an interpolation filter selected according to a reference sample filtering process. [Side view 4] The method according to aspect 3, wherein interpolation filter selection is performed on predicted blocks calculated without implicit or explicit signaling of reference sample filter selection. [Side view 5] The method according to side 3, wherein interpolation filter selection is performed on predicted blocks obtained from reference samples filtered by a weak reference sample filter. [Side view 6] The method according to side 1, wherein boundary smoothing is performed on TUs belonging to PUs that satisfy the size constraints. [Side 7] The method described in Aspect 6, wherein the orientation of the predictive block filter influences the decision to apply boundary smoothing. [Side view 8] a. Configure the filter parameters for the following stages according to the intra-prediction parameters. b. Prepare reference samples by adaptively applying filters to the search region used to find blocks to be used as references after processing with interpolation and predictive filters. c. Apply an interpolation filter to the block currently being processed. d. Apply a predictive filter to the block currently being processed. A method for encoding and decoding video data, including an interpretation process comprising the following. [Side view 9] The method described in side 8, wherein step d precedes step c. [Side 10] A method for filtering signals, a. Several sequential and iterative filtering steps, wherein the filter intensity depends on additional conditions, b. Instructions relating to some of the filtering steps, including instructions specifying the filtering strength in the relevant step, c. A control unit that overrides additional conditions in filtering step a depending on instructions related to a preceding step, method. [Side 11] The method described in Aspect 10, wherein a strong filter instruction in filtering stage i overrides an additional conditional check in stage k>i for selecting a weak filter.
[0140] Embodiments of the present invention provide one or more of the following advantages: • Numerous potential applications in a JEM-compatible hybrid video coding framework that forms the basis for next-generation video coding standards; Compared to JEM1, there is a lower BD rate and a subjective improvement in quality. • Reduced computational complexity for both the encoder and decoder compared to JEM1 with integrated RSAF. Therefore, this invention is potentially attractive for many mobile applications. • Avoid redundant signal transmission (syntax).
[0141] The above description merely represents an implementation of the present invention, and the scope of the present invention is not limited thereto. Any modifications or substitutions can be easily made by those skilled in the art. Therefore, the scope of protection of the present invention should be limited to the scope of protection of the appended claims.
[0142] Several aspects are described below. [Aspect 1] • A sequence of filters (110;300;700;1000;1200) that can be configured by one or more primary parameters and one or more secondary parameters, The filter controller (120) is configured to adjust the one or more secondary parameters based on the one or more primary parameters and the intensity criteria of the filter sequence, Video encoding device (100). [Aspect 2] The aforementioned strength criteria are: ·Smoothness standard, • The ratio of the amplification factor in the high-frequency region to the amplification factor in the low-frequency region, and / or • Ratio of contrast value before filtering to contrast value after filtering A video encoding device (100) according to embodiment 1, including the following. [Aspect 3] The video encoding apparatus (100) according to embodiment 1 or 2, wherein the one or more primary parameters are predetermined parameters, specifically parameters predetermined from an encoded bitstream, user-defined settings and / or a parameter lookup loop in the encoding apparatus. [Aspect 4] The video encoding apparatus (100) according to any one of embodiments 1 to 3, wherein the sequence of filters (110; 300; 700; 1000; 1200) includes one or more primary filters configurable by one or more primary parameters and one or more secondary filters configurable by one or more secondary parameters, wherein the one or more primary filters are located before the one or more secondary filters in the sequence of filters. [Aspect 5] The aforementioned sequence of filters (110;300;700;1000;1200) is: A reference sample filter (310;710) configured to adaptively filter one or more neighboring samples of the current video block to obtain one or more reference samples, - Includes an interpolation filter (320;720;1010) configured to predict one or more samples of the current video block using interpolation of the one or more reference samples, A video encoding apparatus (100) according to any one of embodiments 1 to 4, wherein the one or more primary parameters include the reference parameters of the reference sample filter, the one or more secondary parameters include the selection parameters of the interpolation filter, and the interpolation filter is configured to use an interpolation method corresponding to the selection parameters. [Aspect 6] A video coding apparatus (100) according to any one of embodiments 1 to 5, wherein the one or more primary parameters include a reference sample filter flag of a reference sample filter, and the one or more secondary parameters include a filter intensity parameter of an intra predictive interpolation filter. [Aspect 7] The video encoding apparatus (100) according to any one of embodiments 1 to 6, wherein the sequence of filters (110;300;700;1000;1200) includes a boundary smoothing filter (340;730) configured to perform boundary smoothing on one or more transformed units belonging to one or more prediction units that satisfy a size constraint. [Aspect 8] A video coding apparatus (100) according to any one of embodiments 1 to 7, wherein the one or more primary parameters include a direction parameter for a predictive block filter, and the one or more secondary parameters include an on-off parameter for a boundary smoothing filter. [Aspect 9] The aforementioned sequence of filters (110;300;700;1000;1200) is: A subpixel interpolation filter configured to adaptively filter the reference block's filter samples to obtain an interpolated reference block, • Includes low-pass and / or high-pass filters configured to smooth and / or sharpen the interpolated reference block to obtain a filtered reference block, The one or more primary parameters include the interpolation parameters of the interpolation filter, and the one or more secondary parameters include the selection parameters of the sharpening and / or smoothing filter, and the filter controller (120) is configured to derive the secondary parameters based on the interpolation parameters of the interpolation filter. A video encoding device (100) according to any one of the embodiments 1 to 8. [Aspect 10] The video encoding apparatus (100) according to any one of embodiments 1 to 9, wherein the sequence of filters (110; 300; 700; 1000; 1200) includes an adaptive loop filter configured to use a selected codebook to indicate one or more filter coefficients in the bitstream, and the filter controller is configured to select a codebook from a plurality of codebooks based on the one or more primary parameters. [Aspect 11] The aforementioned sequence of filters (110;300;700;1000;1200) further: A deblocking filter (1210) configured to process vertical edges based on vertical filter intensity parameters and horizontal edges based on horizontal filter intensity parameters, A sample adaptive offset, SAO, and filter (1220) are configured to classify pixels and add an offset value to the pixels according to the SAO class parameters. Includes an adaptive loop filter (1230) configured to use two or more codebooks to specify one or more filter coefficients in the bitstream, The one or more primary parameters include the SAO class parameter and the SAO type parameter of the SAO filter, the one or more secondary parameters include the horizontal filter intensity parameter and the vertical intensity parameter, the filter controller (120) is configured to derive the secondary parameters based on the SAO class parameter and / or the SAO type parameter of the SAO filter, and / or the filter controller (120) is configured to select the two or more codebooks based on the SAO type parameter. A video encoding device (100) according to any one of the embodiments 1 to 10. [Aspect 12] A method for configuring a sequence of filters (110;300;700;1000;1200) for video encoding, wherein: • Adjust one or more secondary parameters based on one or more primary parameters and based on the intensity criteria of the sequence of the filter, The sequence of the filter is configured using the aforementioned primary and secondary parameters. Methods including (200; 400; 500; 600; 800; 900; 1100; 1300; 1400; 1500; 1600). [Aspect 13] The method according to embodiment 12 (200; 400; 500; 600; 800; 900; 1100; 1300; 1400; 1500; 1600), further comprising an initial step of determining one or more of the aforementioned primary parameters from a bitstream. [Aspect 14] A computer-readable storage medium storing program code, wherein the program code includes instructions for performing the method described in embodiment 12 or 13.
Claims
1. An encoder, wherein the encoder is: It has a sequence of filters that can be constructed from one or more primary parameters and one or more secondary parameters, The sequence of filters is: - A reference sample filter configured to adaptively filter one or more neighboring samples of the current video block to obtain one or more reference samples, - Includes an interpolation filter configured to predict one or more samples of the current video block using interpolation of one or more reference samples, The one or more primary parameters include a reference sample filter flag that signals a false value for prediction blocks that are not subjected to reference sample filtering and a true value for prediction blocks that are filtered by the {1,2,1} filter, and the one or more secondary parameters include the selection parameter for the interpolation filter. • It further has a filter controller, the filter controller is: If the aforementioned reference sample filter flag transmits a true value, a Gaussian interpolation filter is selected when the condition regarding the size of the transformation block is false, and a cubic interpolation filter is selected when the condition regarding the size of the transformation block is true. The system is configured to select the tertiary interpolation filter if the aforementioned reference sample filter flag transmits a false value. Encoder.
2. The coder according to claim 1, wherein the reference sample filter is located before the interpolation filter in the sequence of filters.
3. A video encoding method performed by an encoder, the method being: The step includes constructing a sequence of filters using one or more primary parameters and one or more secondary parameters, The sequence of filters is: - A reference sample filter as a primary filter, configured to adaptively filter one or more neighboring samples of the current video block to obtain one or more reference samples, - Includes an interpolation filter as a secondary filter configured to predict one or more samples of the current video block using interpolation of one or more reference samples, One or more primary parameters include a reference sample filter flag that signals a false value for prediction blocks that are not subjected to reference sample filtering and a true value for prediction blocks that are filtered by the {1,2,1} filter, and one or more secondary parameters include selection parameters for the interpolation filter. If the aforementioned reference sample filter flag transmits a true value, a Gaussian interpolation filter is selected when the condition regarding the size of the transformation block is false, and a cubic interpolation filter is selected when the condition regarding the size of the transformation block is true; If the aforementioned reference sample filter flag transmits a false value, the tertiary interpolation filter is selected. method.
4. The method according to claim 3, wherein the reference sample filter is located before the interpolation in the sequence of filters.
5. A decoder, and said decoder is: It has a sequence of filters that can be constructed from one or more primary parameters and one or more secondary parameters, The sequence of filters is: - A reference sample filter configured to adaptively filter one or more neighboring samples of the current video block to obtain one or more reference samples, - Includes an interpolation filter configured to predict one or more samples of the current video block using interpolation of one or more reference samples, The one or more primary parameters include a reference sample filter flag that signals a false value for prediction blocks that are not subjected to reference sample filtering and a true value for prediction blocks that are filtered by the {1,2,1} filter, and the one or more secondary parameters include the selection parameter for the interpolation filter. • It further has a filter controller, the filter controller is: If the aforementioned reference sample filter flag transmits a true value, a Gaussian interpolation filter is selected when the condition regarding the size of the transformation block is false, and a cubic interpolation filter is selected when the condition regarding the size of the transformation block is true. The system is configured to select the tertiary interpolation filter if the aforementioned reference sample filter flag transmits a false value. decoder.
6. The coder according to claim 5, wherein the reference sample filter is located before the interpolation filter in the sequence of filters.
7. A video decoding method performed by a decoder, the method being: The step includes constructing a sequence of filters using one or more primary parameters and one or more secondary parameters, The sequence of filters is: - A reference sample filter as a primary filter, configured to adaptively filter one or more neighboring samples of the current video block to obtain one or more reference samples, - Includes an interpolation filter as a secondary filter configured to predict one or more samples of the current video block using interpolation of one or more reference samples, One or more primary parameters include a reference sample filter flag that signals a false value for prediction blocks that are not subjected to reference sample filtering and a true value for prediction blocks that are filtered by the {1,2,1} filter, and one or more secondary parameters include selection parameters for the interpolation filter. If the aforementioned reference sample filter flag transmits a true value, a Gaussian interpolation filter is selected when the condition regarding the size of the transformation block is false, and a cubic interpolation filter is selected when the condition regarding the size of the transformation block is true; If the aforementioned reference sample filter flag transmits a false value, the tertiary interpolation filter is selected. method.
8. The method according to claim 7, wherein the reference sample filter is located before the interpolation in the sequence of filters.
9. A method for storing a bitstream, the method being: A step of constructing a filter sequence using one or more primary parameters and one or more secondary parameters, The sequence of filters is: - A reference sample filter as a primary filter, configured to adaptively filter one or more neighboring samples of the current video block to obtain one or more reference samples, - Includes an interpolation filter as a secondary filter configured to predict one or more samples of the current video block using interpolation of one or more reference samples, One or more primary parameters include a reference sample filter flag that signals a false value for prediction blocks that are not subjected to reference sample filtering and a true value for prediction blocks that are filtered by the {1,2,1} filter, and one or more secondary parameters include selection parameters for the interpolation filter. If the aforementioned reference sample filter flag transmits a true value, a Gaussian interpolation filter is selected when the condition regarding the size of the transformation block is false, and a cubic interpolation filter is selected when the condition regarding the size of the transformation block is true; If the aforementioned reference sample filter flag transmits a false value, the tertiary interpolation filter is selected. Stages; The steps include: encoding the current video coding block into the bitstream based on the configured filter sequence; The steps include storing the bitstream in a computer-readable storage medium. Methods that include...