Deblocking filter level decision method

By referencing the filtering decision method of the previous frame and utilizing the established table and error value calculation, the problems of large computational load and pipeline processing in the existing technology are solved, realizing fast and effective deblocking filtering level decision and improving hardware coding efficiency.

CN114979671BActive Publication Date: 2025-11-04REALTEK SEMICON CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110273488.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-02-26
Filing Date
2021-03-12
Publication Date
2025-11-04
Estimated Expiration
2041-03-12

AI Technical Summary

Technical Problem

Existing technologies involve a large amount of computation in the decision-making process for deblocking filtering levels, which affects the real-time encoding performance of hardware and may disrupt the hardware encoding pipeline.

Method used

The filtering level for the next frame is determined by referencing the filtering decision of the previous frame. This reduces computation and maintains the continuity of pipeline processing by using an established table lookup and error value calculation.

Benefits of technology

It enables the rapid and efficient determination of the deblocking filtering level without increasing computational load or disrupting the hardware coding pipeline, thereby improving hardware coding efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114979671B_ABST
    Figure CN114979671B_ABST
Patent Text Reader

Abstract

A deblocking filter level decision method is disclosed. The method is applied to an image encoder and used to determine deblocking filter levels of N frames. The method includes: determining whether a current quantization parameter of a current frame of the N frames is the same as a previous quantization parameter of any previous frame of the N frames; if the current quantization parameter is not the same as the previous quantization parameter, querying a table established according to the current quantization parameter to obtain M current deblocking filter reference levels, and then determining M current deblocking filter levels of the current frame according to the M current deblocking filter reference levels respectively; and if the current quantization parameter is the same as the previous quantization parameter, determining the M current deblocking filter levels of the current frame according to M previous deblocking filter levels of the previous frame respectively.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to deblocking filtering operations, and more particularly to decision of deblocking filtering levels. BACKGROUND

[0002] A deblocking filter (DBF) is a filter that reduces visual artifacts at block boundaries. Such visual artifacts can be referred to as blocking effect, which is caused by artificial boundaries (blocking artifacts) resulting from block-based codecs. There are many block-based codecs, such as H.264 / Advanced Video Coding (AVC), H.265 / High Efficiency Video Coding (HEVC), and AOMedia Video 1 (AV1), which utilize deblocking filters in the encoding and decoding processes to reduce the blocking effect and improve the quality of video images. In the decoding stage, a decoder can decode a bitstream to obtain the deblocking filtering filter level of each picture frame. In the encoding stage, an encoder needs a complex decision process to determine the deblocking filtering level of each picture frame, which is then transmitted into the bitstream.

[0003] For example, the AV1 standard defines 64 deblocking filter levels. How the AV1 encoder selects the optimal deblocking filter level from the 64 deblocking filter levels in the encoding process determines the performance of the AV1 encoder. Since the AV1 encoder has to select a vertical direction filter level for a luminance component, a horizontal direction filter level for the luminance component, a filter level for a chrominance component, and a filter level for a chroma component for each picture frame, a known approach is to select the four filter levels by full searching. However, this approach requires 64 x 4 filter calculations for deblocking filter level decision for each picture frame, which is too much computation and affects the performance of hardware real-time encoding. Another known approach is to try a deblocking filter level to filter a picture frame, then observe the filtering effect of the picture frame to determine the deblocking filter level to be tried subsequently based on the filtering effect until the optimal deblocking filter level for the picture frame is found. However, this approach requires re-reading of picture frame data for subsequent filtering attempts, which disrupts the pipeline processing of the encoder based on super block (SB) in hardware encoding and increases the burden of data reading.

[0004] The foregoing related content of the AV1 standard can be found in the following document: Peter de Rivaz, Jack Haughton, “AV1 Bitstream & Decoding Process Specification”, last edited on 2019-01-08. SUMMARY

[0005] One of the objectives of the present disclosure is to provide a deblocking filter level decision method as an improvement over the prior art.

[0006] An embodiment of the disclosed method for deciding deblocking filter levels is applied to an image encoder and is used to decide deblocking filter levels of N pictures, wherein the N pictures are associated with N quantization parameters respectively, the N pictures comprise a first picture, a second picture and a third picture according to a picture order number, the first picture has a smallest picture order number among the picture order numbers, and N is an integer greater than 2. The embodiment comprises a first step, a second step and a third step. The first step is used to query a built table according to a first quantization parameter of the first picture to obtain four first deblocking filter reference levels, and then decide four first deblocking filter levels of the first picture according to the four first deblocking filter reference levels respectively. The second step is used to decide four second deblocking filter levels of the second picture according to a second quantization parameter of the second picture, wherein in the case that the second quantization parameter is different from the first quantization parameter, the second step queries the built table according to the second quantization parameter to obtain four second deblocking filter reference levels, and then decides the four second deblocking filter levels according to the four second deblocking filter reference levels respectively; in the case that the second quantization parameter is the same as the first quantization parameter, the second step decides the four second deblocking filter levels according to the four first deblocking filter levels respectively. The third step is used to decide four third deblocking filter levels of the third picture according to a third quantization parameter of the third picture, wherein in the case that the third quantization parameter is different from each of the first quantization parameter and the second quantization parameter, the third step queries the built table according to the third quantization parameter to obtain four third deblocking filter reference levels, and then decides the four third deblocking filter levels according to the four third deblocking filter reference levels respectively; in the case that the third quantization parameter is the same as the first quantization parameter but different from the second quantization parameter, the third step decides the four third deblocking filter levels according to the four first deblocking filter levels respectively; in the case that the third quantization parameter is the same as the second quantization parameter, the third step decides the four third deblocking filter levels according to the four second deblocking filter levels respectively. The deblocking filter level decision of other pictures of the N pictures can be derived by analogy with the above description.

[0007] Another embodiment of the deblocking filter level decision method of the present disclosure is applied to an image encoder and used to decide deblocking filter levels of N image frames, where N is an integer greater than 1. The embodiment comprises the following steps: judging whether a current quantization parameter of a current image frame of the N image frames is the same as a previous quantization parameter of any previous image frame of the N image frames; if the current quantization parameter is not the same as the previous quantization parameter, querying a built table according to the current quantization parameter to obtain M current deblocking filter reference levels, so as to decide M current deblocking filter levels of the current image frame according to the M current deblocking filter reference levels respectively, where M is a positive integer; and if the current quantization parameter is the same as the previous quantization parameter, deciding the M current deblocking filter levels of the current image frame according to M previous deblocking filter levels of the previous image frame respectively.

[0008] The features, actual operations and effects of the present disclosure are described in detail below with preferred embodiments in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF DRAWINGS

[0009] Figure 1 An embodiment of the deblocking filter level decision method of the present disclosure is shown;

[0010] Figure 2 A filter decision of a previous image frame of N image frames is shown as a reference of a filter decision of a subsequent image frame;

[0011] Figure 3 A superblock in an image frame is shown; and

[0012] Figure 4 Another embodiment of the deblocking filter level decision method of the present disclosure is shown. DETAILED DESCRIPTION

[0013] The deblocking filter level decision method of the present disclosure makes a filter decision of a previous image frame a reference of a filter decision of a subsequent image frame, so the method of the present disclosure does not need a large amount of calculation and does not damage the hardware encoding pipeline processing.

[0014] Figure 1 An embodiment of the deblocking filter level decision method of the present disclosure is shown. Figure 1 The embodiment is performed by a known or self-developed image encoder and used to decide deblocking filter levels of N image frames. As shown in Figure 2As shown, the N picture frames (the first picture frame to the N picture frame) are respectively associated with N quantization parameters (QP), and the N picture frames include a first picture frame, a second picture frame and a third picture frame (for example, three consecutive picture frames) according to a picture order count (POC), and the first picture frame has the smallest order number in the picture order count, and the N is an integer greater than 2. Figure 2 The arrow dotted line represents that the filtering decision of the previous picture frame is used as the reference of the filtering decision of the subsequent picture frame.

[0015] Figure 1 The embodiments of the present application include a first step S110, a second step S120 and a third step S130, which are described as follows:

[0016] (1) The first step S110 is used to query an established table according to a first quantization parameter of the first picture frame to obtain four first deblocking filter reference levels, so as to determine four first deblocking filter levels of the first picture frame according to the four first deblocking filter reference levels, respectively. The established table and the table lookup operation can be realized by known or self-developed table lookup methods. The quantization parameter is, for example, the quantization parameter defined in the aforementioned document "AV1 Bitstream & Decoding Process Specification".

[0017] (2) The second step S120 is used to determine four second deblocking filter levels of the second picture frame according to a second quantization parameter of the second picture frame. In detail, in the case that the second quantization parameter is different from the first quantization parameter, the second step queries the established table according to the second quantization parameter to obtain four second deblocking filter reference levels, so as to determine the four second deblocking filter levels according to the four second deblocking filter reference levels, respectively; in the case that the second quantization parameter is the same as the first quantization parameter, the second step determines the four second deblocking filter levels according to the four first deblocking filter levels, respectively.

[0018] (3) The third step S130 is used to determine four third deblocking filter levels of the third frame according to a third quantization parameter of the third frame. In detail, in the case that the third quantization parameter is different from each of the first quantization parameter and the second quantization parameter, the third step queries the established table according to the third quantization parameter to obtain four third deblocking filter reference levels, and then determines the four third deblocking filter levels according to the four third deblocking filter reference levels respectively; in the case that the third quantization parameter is same as the first quantization parameter but different from the second quantization parameter, the third step determines the four third deblocking filter levels according to the four first deblocking filter levels respectively; in the case that the third quantization parameter is same as the second quantization parameter, since the second frame is earlier than and closest to the third frame, the third step determines the four third deblocking filter levels according to the four second deblocking filter levels respectively, regardless of whether the third quantization parameter is same as the first quantization parameter or not.

[0019] The deblocking filter level determination of other frames of the N frames can be analogized according to the above description.

[0020] As mentioned above, in an actual operation example, each group of the four first / second / third deblocking filter reference levels (obtained by table lookup) and the four first / second / third deblocking filter levels (determined by the first / second / third steps) is associated with four purpose filter levels, the four purpose filter levels are a horizontal direction filter level of a luminance component (i.e. Y component of general YUV component), a vertical direction filter level of the luminance component, a filter level of a chrominance component (i.e. U component of general YUV component), and a filter level of a chroma component (i.e. V component of general YUV component); the first / second / third steps determine a purpose deblocking filter level according to a known deblocking filter reference level / deblocking filter level of the purpose.

[0021] In an actual operation example, the four first de-blocking filter reference levels referred to in the first step are respectively a first usage reference level (e.g., a horizontal direction filter level of a luma component), a second usage reference level (e.g., a vertical direction filter level of the luma component), a third usage reference level (e.g., a filter level of a chroma component), and a fourth usage reference level (e.g., a filter level of a chroma component), each of the four reference levels is included in X preset filter levels (e.g., 64 filter levels defined in the AV1 standard); the four first de-blocking filter levels determined by the first step are respectively a first de-blocking filter first usage level, a first de-blocking filter second usage level, a first de-blocking filter third usage level, and a first de-blocking filter fourth usage level. In the actual operation example, the first step includes:

[0022] (1-1) Select Y filter levels from the X preset filter levels according to a Kth usage reference level, where X is an integer greater than Y (e.g., 64), Y is an integer greater than 1 (e.g., 4). K is any one of one, two, three, and four; therefore, the Kth usage refers to the first / second / third / fourth usage.

[0023] Sub-step (1-1) selects Y filter levels from the X preset filter levels according to each of the aforementioned four reference levels, so a total of 4xY filter levels (i.e., 4 groups of filter levels, each group has Y filter levels) are selected.

[0024] (1-2) Perform a filter operation on at least a portion of the first picture frame using each of the Y filter levels, and then calculate Y error values (e.g., Y sum of squared errors (SSEs)) corresponding to the Y filter levels according to [pixel values of the at least a portion of the first picture frame before the filter operation] and [pixel values of the at least a portion of the first picture frame after the filter operation], where the filter operation is a block-based filter operation (e.g., a de-blocking filter operation performed according to the AV1 standard).

[0025] Sub-step (1-2) performs the filter operation and calculates the error values according to the aforementioned four groups of filter levels, so a total of 4xY error values (i.e., 4 groups of error values, each group has Y error values) are generated.

[0026] For example, the first picture frame includes a plurality of super blocks (SBs), each of which includes a plurality of coding units (CUs) (or transform units (TUs) as shown in the exemplary super block 300 of Figure 3 Any two of the coding units can have the same or different sizes. Sub-step (1-2) includes performing the filtering operation on each of the plurality of super blocks using each of the Y filter levels. The Z is greater than zero, for example, an integer no less than two. Figure 3 In the super block 300 of The top-left portion of the super block.

[0027] (1-3) selecting an error value (for example, the smallest one of the Y error values) from the Y error values and taking the filter level corresponding to the error value as a first de-blocking filter level of the four first de-blocking filter levels.

[0028] Sub-step (1-3) selects one error value from each of the four groups of error values, so a total of four error values are selected, and the four filter levels corresponding to the four error values are taken as the four first de-blocking filter levels.

[0029] It is worth noting that, since sub-step (1-2) selects any one of the Y filter levels without reference to the filtering effect of any one of the Y filter levels that has been selected, the first step does not affect the pipeline processing based on super blocks during hardware encoding. In other words, the selection of the Y filter levels is independent and can be performed in parallel without a specific order. It is also worth noting that, in the case where Y equals 4 and Z equals 4, the amount of calculation required by the present practical operation example is only

[0030] In the above actual operation example, the X preset filter levels are sequentially from a 0th preset filter level to a (X-1)th preset filter level (e.g., the 0th to 63th filter levels as specified in the AV1 standard); the Y filter levels include a Pth level, a Qth level, an Rth level, and an Sth level, each of P, Q, R, and S being a positive integer. The Pth level is the Kth usage reference level as described above; the Qth level is a (P+T)th level among the X preset filter levels, T being a positive integer; if (P+T) is greater than or equal to X, (P+T) is set to (X-1) or X, but this is not a limitation; the Rth level is a (P-T)th level among the X preset filter levels; if (P-T) is less than 0, (P-T) is set to 0, but this is not a limitation; the Sth level is obtained by querying the established table according to the first quantization parameter, which is the same as the Kth usage reference level as described above. Through the filtering operations and error value calculation and selection in steps (1-2) and (1-3) above, one of the Pth, Qth, Rth, and Sth levels is selected as the first de-blocking filter Kth usage level.

[0031] It is worth noting that the Y filter levels can include other levels (e.g., a (P+2T)th level and a (P-2T)th level) for selection; any one or more of the Pth, Qth, Rth, and Sth levels can be omitted as needed; the values of P, Q, R, S, and T can be determined as needed. An example of T is as follows: when the current picture frame order number (F NUM ) is less than (2×Y+1), T = [(2×Y+1)-F NUM +1]; when the current picture frame order number is between (2×k×Y+1) and [2×(k+1)×Y] (i.e., (2×k×Y+1) ≤ F NUM ≤ [2×(k+1)×Y]), T is set to the greater of [(Y+1)+2×k×Y-F NUM +1] and 1, where k is a positive integer, and k increases sequentially, and T changes accordingly.

[0032] As mentioned above, for example, the X preset filter levels are 64 filter levels defined by the AVl standard; the Y filter levels are 4 filter levels; the K-th usage reference level is the 15th level among the 64 filter levels; the T is equal to [(2Y+1)-picture frame order number+1]=[(2x4+1)-1+1]=9; the Pth, Qth, Rth and Sth levels are the 15th level, the (15+9)th level=the 24th level, the (15-9)th level=the 6th level, and the 15th level, respectively; by the filtering operations and the error value calculations and selections of the sub-steps (1-2) to (1-3), one of the above levels (e.g., the 24th level) is selected as the second deblocking filter K-th usage level.

[0033] In an actual operation example, in the case that the second quantization parameter is different from the first quantization parameter, the second step is similar to the first step; one of ordinary skill in the art can understand the details and variations of the second step in this actual operation example according to the embodiments of Figure 1 and the description of the actual operation example of the first step. In an actual operation example, in the case that the third quantization parameter is different from the first quantization parameter and also different from the second quantization parameter, the third step is similar to the first step; one of ordinary skill in the art can understand the details and variations of the third step in this actual operation example according to the embodiments of Figure 1 and the description of the actual operation example of the first step.

[0034] In an actual operation example, in the case that the second quantization parameter is the same as the first quantization parameter, the second step includes:

[0035] (2-1) selecting Y filter levels from X preset filter levels according to a first deblocking filter K-th usage level, wherein the K is any one of one, two, three, and four, the X is an integer greater than the Y (e.g., 64), and the Y is an integer greater than 1 (e.g., 4).

[0036] (2-2) performing a filtering operation on at least a portion of the second picture frame using each of the Y filter levels, and then calculating Y error values (e.g., Y error sum of squares) corresponding to the Y filter levels according to "pixel values of the corresponding portion of the second picture frame before the filtering operation" and [pixel values of the corresponding portion of the second picture frame after the filtering operation"], wherein the filtering operation is a block-based filtering operation.

[0037] (2-3) selecting an error value (e.g., the smallest one among the Y error values) from the Y error values, and taking a filter level corresponding to the error value as a second deblocking filter K-th usage level among the 4 second deblocking filter levels.

[0038] Since the details and variations of the sub-steps (2-1) to (2-3) of the second step can be inferred by the person of ordinary skill in the art from the foregoing description of the first step, the repeated and redundant description is omitted here.

[0039] In the foregoing actual operation example, the X preset filter levels are sequentially from a 0th preset filter level to a (X-1)th preset filter level (for example, the 0th to 63th filter levels defined by the AV1 standard); the Y filter levels include a Pth level, a Qth level, an Rth level, and an Sth level, each of P, Q, R, and S being a positive integer. The Pth level is the first deblocking filter Kth use level described in the foregoing; the Qth level is a (P+T)th level among the X preset filter levels, T being a positive integer; if (P+T) is greater than or equal to X, (P+T) is set to (X-1) or X, but this is not a limitation on implementation; the Rth level is a (P-T)th level among the X preset filter levels; if (P-T) is less than 0, (P-T) is set to 0; the Sth level is obtained by querying the established table according to the third quantization parameter; through the filtering operation and the calculation and selection of the error value in the foregoing sub-steps (2-2) to (2-3), one of the Pth, Qth, Rth, and Sth levels is selected as the second deblocking filter Kth use level.

[0040] In the foregoing, for example, the X preset filter levels are the 64 filter levels defined by the AV1 standard; the Y filter levels are 4 filter levels; the first deblocking filter Kth use level is the 24th level among the 64 filter levels; T is equal to [(2Y+1)-picture order count+1]=[(2×4+1)-2+1]=8; the Pth, Qth, Rth, and Sth levels are sequentially the 24th level, the (24+8)th level=the 32nd level, the (24-8)th level=the 16th level, and the 15th level; through the filtering operation and the calculation and selection of the error value in the foregoing sub-steps (2-2) to (2-3), one of the above levels (for example, the 24th level) is selected as the first deblocking filter Kth use level.

[0041] In an actual operation example, in the case where the third quantization parameter is the same as the second quantization parameter (or the same as the first quantization parameter but different from the second quantization parameter), the third step includes:

[0042] (3-1) selecting Y filter levels from X preset filter levels according to a second (first) deblocking filter Kth use level, where K is any one of one, two, three, and four, X is an integer greater than Y (for example, 64), and Y is an integer greater than 1 (for example, 4).

[0043] (3-2) performing a filtering operation on at least a portion of the third frame of pictures using each of the Y filtering levels, and calculating Y error values (e.g., Y error sum of squares) corresponding to the Y filtering levels based on pixel values of the corresponding portion of the third frame of pictures before the filtering operation and pixel values of the corresponding portion of the third frame of pictures after the filtering operation, wherein the filtering operation is a block-based filtering operation.

[0044] (3-3) selecting one error value (e.g., the smallest one of the Y error values) from the Y error values, and using a filtering level corresponding to the selected error value as a third de-blocking filtering level of use of the four third de-blocking filtering levels.

[0045] Since one of ordinary skill in the art can infer details and variations of the sub-steps (3-1) to (3-3) of the third step from the foregoing descriptions of the first and second steps, repeated and redundant descriptions are omitted.

[0046] In the foregoing practical operation example, the X preset filtering levels are sequentially from a zeroth preset filtering level to a (X-1)th preset filtering level (e.g., the 0th to 63rd filtering levels specified by the AV1 standard); the Y filtering levels include a Pth level, a Qth level, an Rth level, and an Sth level, each of P, Q, R, and S being a positive integer. The Pth level is the second (first) de-blocking filtering level of use as described above; the Qth level is a (P+T)th level of the X preset filtering levels, T being a positive integer; if (P+T) is greater than or equal to X, (P+T) is set to (X-1) or X, but this is not a limitation; the Rth level is a (P-T)th level of the X preset filtering levels; if (P-T) is less than 0, (P-T) is set to 0; the Sth level is obtained by querying the established table based on the second quantization parameter; by the filtering operations and error value calculations and selections of the foregoing sub-steps (3-2) to (3-3), one of the Pth, Qth, Rth, and Sth levels is selected as the third de-blocking filtering level of use.

[0047] As mentioned above, for example, the X preset filter levels are 64 filter levels defined by the AVl standard; the Y filter levels are 4 filter levels; the second (first) de-blocking filter Kth usage level is the 24th level among the 64 filter levels; the T is equal to [(2Y+1)-picture order number+1]=[(2x4+1)-3+1]=7; the Pth, Qth, Rth and Sth levels are in sequence the 24th level, the (24+7)th level=the 31st level, the (24-7)th level=the 17th level and the 15th level; by the filtering operation and the error value calculation and selection of the aforementioned sub-steps (3-2) to (3-3), one of the above levels (for example: the 17th level) is selected as the third de-blocking filter Kth usage level.

[0048] Figure 4 Another embodiment of the de-blocking filter level decision method of the present disclosure is shown. Figure 4 An embodiment of the present disclosure is performed by a known or self-developed image encoder and used to decide de-blocking filter levels of N pictures. The embodiment comprises:

[0049] Step S410: judging whether a current quantization parameter of a current picture of the N pictures is same as a previous quantization parameter of any previous picture of the N pictures. The any previous picture is earlier than the current picture according to the order of the N pictures.

[0050] Step S420: if the current quantization parameter is different from the previous quantization parameter, querying an established table according to the current quantization parameter to obtain M (for example: 4) current de-blocking filter reference levels, so as to decide M current de-blocking filter levels of the current picture respectively according to the M current de-blocking filter reference levels. The details and variations of the present step can be derived from the sub-steps (1-1) to (1-3) of the first step of the aforementioned Figure 1 embodiment.

[0051] Step S430: if the current quantization parameter is same as the previous quantization parameter, deciding the M current de-blocking filter levels of the current picture respectively according to the M previous de-blocking filter levels of the previous picture. The details and variations of the present step can be derived from the sub-steps (2-1) to (2-3) ((3-1) to (3-3)) of the second (third) step of the aforementioned Figure 1 embodiment.

[0052] Since the person skilled in the art can understand the details and variations of the embodiment of the present disclosure by referring to the disclosure of the Figures 1 to 3 embodiment, the repeated and redundant descriptions are omitted here. Figure 4

[0053] ​Please note that, in the premise of implementation as possible, the person ordinary skill in the art can selectively implement part or all of the technical features in any of the foregoing embodiments, or selectively implement a combination of part or all of the technical features in the foregoing multiple embodiments, thereby increasing the flexibility of the implementation of the present application.

[0054] In summary, the present application does not require a large amount of calculation, and does not damage the hardware coding pipeline processing.

[0055] Although the embodiments of the present application are described as above, the embodiments are not intended to limit the present application, and the person ordinary skill in the art can change the technical features of the present application according to the explicit or implicit content of the present application, and any change can be within the scope of the patent protection sought by the present application, that is, the scope of the patent protection of the present application shall be subject to the scope defined by the claims of the present application.

[0056]

Symbol Description

[0057] S110 to S130: steps

[0058] First picture frame to Nth picture frame: first picture frame to Nth picture frame

[0059] QP: quantization parameter

[0060] POC: picture order count

[0061] 300: super block

[0062] CU: coding unit

[0063] S410 to S430: steps.

Claims

1. A method for deciding deblocking filter levels of N picture frames, applied to an image encoder, wherein the N picture frames are associated with N quantization parameters respectively, the N picture frames comprise a first picture frame, a second picture frame and a third picture frame according to a picture order number, the first picture frame has the smallest picture order number among the picture order numbers, the N is an integer greater than 2, the method comprises: a first step for querying a built table according to a first quantization parameter of the first picture frame to obtain four first deblocking filter reference levels, so as to decide four first deblocking filter levels of the first picture frame according to the four first deblocking filter reference levels respectively; a second step for deciding four second deblocking filter levels of the second picture frame according to a second quantization parameter of the second picture frame, wherein in the case that the second quantization parameter is different from the first quantization parameter, the second step queries the built table according to the second quantization parameter to obtain four second deblocking filter reference levels, so as to decide the four second deblocking filter levels according to the four second deblocking filter reference levels respectively; in the case that the second quantization parameter is the same as the first quantization parameter, the second step decides the four second deblocking filter levels according to the four first deblocking filter levels respectively; and a third step for deciding four third deblocking filter levels of the third picture frame according to a third quantization parameter of the third picture frame, wherein in the case that the third quantization parameter is different from each of the first quantization parameter and the second quantization parameter, the third step queries the built table according to the third quantization parameter to obtain four third deblocking filter reference levels, so as to decide the four third deblocking filter levels according to the four third deblocking filter reference levels respectively; in the case that the third quantization parameter is the same as the first quantization parameter but different from the second quantization parameter, the third step decides the four third deblocking filter levels according to the four first deblocking filter levels respectively; in the case that the third quantization parameter is the same as the second quantization parameter, the third step decides the four third deblocking filter levels according to the four second deblocking filter levels respectively, wherein the four first deblocking filter reference levels are a first usage reference level, a second usage reference level, a third usage reference level and a fourth usage reference level respectively, the first usage reference level, the second usage reference level, the third usage reference level and the fourth usage reference level are included in X preset filter levels, the four first deblocking filter levels are a first deblocking filter first usage level, a first deblocking filter second usage level, a first deblocking filter third usage level and a first deblocking filter fourth usage level respectively, the first step comprises: selecting Y filter levels from the X preset filter levels according to a Kth usage reference level, wherein the K is any one of one, two, three and four, the X is an integer greater than the Y, the Y is an integer greater than one. performing a filtering operation on at least one portion of the first picture frame using each of the Y filtering levels, wherein the filtering operation is a block-based filtering operation; and selecting an error value from the Y error values, and using a filtering level corresponding to the error value as a Kth first deblocking filtering level of the four first deblocking filtering levels.

2. The method of claim 1, wherein the Y error values are Y error sum of squares.

3. The method of claim 1, wherein the error value is the smallest of the Y error values.

4. The method of claim 1, wherein the first picture frame comprises a plurality of superblocks, each of the plurality of superblocks comprising a plurality of coding units; the step of performing the filtering operation on at least a portion of the first picture frame using each of the Y filtering levels comprises performing the filtering operation on each of the plurality of superblocks using each of the Y filtering levels. performing the filtering operation, Z being greater than zero.

5. The method of claim 1, wherein the four first deblocking filtering levels are a first deblocking filtering first use level, a first deblocking filtering second use level, a first deblocking filtering third use level, and a first deblocking filtering fourth use level, and wherein the second step comprises, when the second quantization parameter is equal to the first quantization parameter: selecting Y filtering levels from X preset filtering levels according to a Kth first deblocking filtering level, wherein K is any one of one, two, three, and four, X is an integer greater than Y, and Y is an integer greater than one; performing a filtering operation on at least one portion of the second picture frame using each of the Y filtering levels, wherein the filtering operation is a block-based filtering operation; and calculating Y error values from pixel values of the at least one portion of the second picture frame before the filtering operation and pixel values of the at least one portion of the second picture frame after the filtering operation, wherein each of the Y error values corresponds to one of the Y filtering levels; and selecting an error value from the Y error values, and using a filtering level corresponding to the error value as a Kth second deblocking filtering level of the four second deblocking filtering levels.

6. The method of claim 5, wherein the error value is the smallest of the Y error values.

8. The method of claim 1, wherein the four second deblocking filtering levels are a second deblocking filtering first use level, a second deblocking filtering second use level, a second deblocking filtering third use level, and a second deblocking filtering fourth use level, and wherein the third step comprises, when the third quantization parameter is equal to the second quantization parameter: selecting Y filtering levels from X preset filtering levels according to a Kth second deblocking filtering level, wherein K is any one of one, two, three, and four, X is an integer greater than Y, and Y is an integer greater than one; performing a filtering operation on at least one portion of the third picture frame using each of the Y filtering levels, wherein the filtering operation is a block-based filtering operation; and calculating Y error values from pixel values of the at least one portion of the third picture frame before the filtering operation and pixel values of the at least one portion of the third picture frame after the filtering operation, wherein each of the Y error values corresponds to one of the Y filtering levels; and selecting an error value from the Y error values, and using a filtering level corresponding to the error value as a Kth second deblocking filtering level of the four second deblocking filtering levels. ​ ​ 7. The method of claim 5, wherein the second picture frame comprises a plurality of superblocks, each of the plurality of superblocks comprising a plurality of coding units; the step of performing the filtering operation on at least a portion of the second picture frame using each of the Y filtering levels comprises performing the filtering operation on each of the plurality of superblocks using each of the Y filtering levels. performing the filtering operation, Z being greater than zero. ​ ​ ​ selecting one of the Y error values, and taking a filter level corresponding to the selected error value as a Kth filter level of the M first deblocking filter levels.

9. A method for determining deblocking filter levels of N frames of pictures, applied to an image encoder, comprising: determining whether a current quantization parameter of a current frame of the N frames of pictures is the same as a previous quantization parameter of any previous frame of the N frames of pictures; if the current quantization parameter is not the same as the previous quantization parameter, querying a table to obtain M current deblocking filter reference levels according to the current quantization parameter, and determining M current deblocking filter levels of the current frame according to the M current deblocking filter reference levels, respectively, wherein M is a positive integer; and if the current quantization parameter is the same as the previous quantization parameter, determining the M current deblocking filter levels of the current frame according to M previous deblocking filter levels of the previous frame, respectively, wherein the M current deblocking filter reference levels are a first reference level, a second reference level, a third reference level, and an Mth reference level, respectively, the first reference level, the second reference level, the third reference level, and the Mth reference level are included in X preset filter levels, the M first deblocking filter levels are a first first-use deblocking filter level, a first second-use deblocking filter level, a first third-use deblocking filter level, and a first Mth-use deblocking filter level, respectively, and wherein Y filter levels are selected from the X preset filter levels according to a Kth reference level, wherein K is any one of 1, 2, 3, and M, X is an integer greater than Y, and Y is an integer greater than 1; performing a filtering operation on at least a portion of a first frame of pictures using each of the Y filter levels, and calculating Y error values corresponding to the Y filter levels, respectively, according to pixel values of the at least a portion of the first frame of pictures before the filtering operation and pixel values of the at least a portion of the first frame of pictures after the filtering operation, wherein the filtering operation is a block-based filtering operation; and selecting one of the Y error values, and taking a filter level corresponding to the selected error value as a Kth filter level of the M first deblocking filter levels.

9. A method for determining deblocking filter levels of N frames of pictures, applied to an image encoder, comprising: determining whether a current quantization parameter of a current frame of the N frames of pictures is the same as a previous quantization parameter of any previous frame of the N frames of pictures; if the current quantization parameter is not the same as the previous quantization parameter, querying a table to obtain M current deblocking filter reference levels according to the current quantization parameter, and determining M current deblocking filter levels of the current frame according to the M current deblocking filter reference levels, respectively, wherein M is a positive integer; and if the current quantization parameter is the same as the previous quantization parameter, determining the M current deblocking filter levels of the current frame according to M previous deblocking filter levels of the previous frame, respectively, wherein the M current deblocking filter reference levels are a first reference level, a second reference level, a third reference level, and an Mth reference level, respectively, the first reference level, the second reference level, the third reference level, and the Mth reference level are included in X preset filter levels, the M first deblocking filter levels are a first first-use deblocking filter level, a first second-use deblocking filter level, a first third-use deblocking filter level, and a first Mth-use deblocking filter level, respectively, and wherein Y filter levels are selected from the X preset filter levels according to a Kth reference level, wherein K is any one of 1, 2, 3, and M, X is an integer greater than Y, and Y is an integer greater than 1; performing a filtering operation on at least a portion of a first frame of pictures using each of the Y filter levels, and calculating Y error values corresponding to the Y filter levels, respectively, according to pixel values of the at least a portion of the first frame of pictures before the filtering operation and pixel values of the at least a portion of the first frame of pictures after the filtering operation, wherein the filtering operation is a block-based filtering operation; and selecting one of the Y error values, and taking a filter level corresponding to the selected error value as a Kth filter level of the M first deblocking filter levels.

Citation Information

Patent Citations

  • Image decoding method and apparatus in image coding system

    US20180295363A1

  • Adaptive video deblocking

    US20190116358A1