Temporal prediction of parameters in nonlinear adaptive loop filters
By optimizing nonlinear adaptive loop filtering parameters and employing improved filtering techniques, the method addresses bandwidth and quality challenges in video encoding, enhancing efficiency and quality in existing and future video encoding standards.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-11-29
- Publication Date
- 2026-03-25
AI Technical Summary
Existing video encoding standards face challenges in efficiently managing bandwidth demand and video quality, particularly in handling high-resolution video, due to complex relationships between bitrate, encoding complexity, data loss sensitivity, and error sensitivity, while existing nonlinear adaptive loop filtering methods suffer from inaccurate classification, inefficient signal notification, and suboptimal clipping parameter determination.
The proposed method involves configuring nonlinear adaptive loop filtering parameters based on video block characteristics, using temporal prediction to optimize filter coefficients and clipping operations, and employing improved filtering techniques such as geometric transformations and adaptive parameter sets to enhance encoding efficiency.
This approach improves video encoding efficiency by reducing bandwidth demand and enhancing video quality through accurate filtering and reduced signal overhead, applicable to both current and future video encoding standards.
Smart Images

Figure 0007835720000026 
Figure 0007835720000027 
Figure 0007835720000028
Abstract
Description
Technical Field
[0001] Cross - reference to related applications Book This application claims This is based on Japanese Patent Application No. 2021-539619, filed on October 6, 2021, which in turn is based on International Patent Application PCT / CN2020 / 084876, filed on April 15, 2020, which in turn is based on Japanese Patent Application No. the priority and benefit of International Patent Application No. PCT / CN2019 / 082626, filed on April 15, 2019 Main and claims All of the aforementioned patent applications are incorporated herein by reference in their entirety.
[0002] This patent specification relates to video encoding / decoding technologies, devices, and systems.
Background Art
[0003] Despite the progress of video compression, digital video still occupies the largest bandwidth usage in the Internet and other digital communication networks. As the number of connected user devices capable of receiving and displaying video increases, the bandwidth demand for digital video is predicted to continue to increase.
Summary of the Invention
[0004] Regarding digital video encoding, specifically, devices, systems, and methods related to temporal prediction in non - linear adaptive loop filtering are described. The described methods can be applied to both existing video encoding standards (e.g., High Efficiency Video Coding (HEVC)) and future video encoding standards (e.g., Versatile Video Coding (VVC)), or both coders.
[0005] In one representative aspect, the disclosed technology may be used to provide a method of visual media processing. This method includes configuring one or more parameters of a clipping operation that is part of a non - linear filtering operation for a current video block, and the above - mentioned 1 Based on more than one parameter, the current video block and the video of the current video block This includes performing a conversion to and from a stream representation, and the one or more parameters are: It is encoded according to the rules.
[0006] In another representative embodiment, the disclosed technology provides a method for processing visual media. It may be used for this purpose. This method uses nonlinear fill based on the characteristics of the current video block. Determining one or more parameters of the taring operation, and based on one or more parameters The conversion between the current video block and the bitstream representation of the current video block is performed. This includes the act of doing something.
[0007] In yet another representative embodiment, the disclosed technology provides a method for processing visual media. This method may be used to apply a nonlinear filter to the current video block. Configuring one or more parameters of the clipping operation, which is part of the ring operation, and before Based on one or more of the parameters, the current video block and the current video block This includes performing a conversion between a bitstream representation of and one or more parameters This is the value of at least one filter coefficient associated with the nonlinear filtering operation. Regardless of that, it is presented in the aforementioned bitstream representation.
[0008] In yet another representative embodiment, the disclosed technology provides a method for processing visual media. This method may be used to apply a nonlinear filter to the current video block. Configuring one or more parameters of the clipping operation, which is part of the ring operation, and before Based on one or more of the parameters, the current video block and the current video block This includes performing a conversion between the bitstream representation and the current video block. , inherit the filter coefficients from the i-th filter, and one or more of the clipping operations The first rule associated with the inheritance of parameters is associated with the inheritance of filter coefficients. This is different from the second rule.
[0009] In yet another representative embodiment, the above method is in the form of code that the processing unit can execute. It is executed and stored in a computer-readable program medium.
[0010] In yet another representative embodiment, the video encoder device is as described herein. You may implement a different method.
[0011] In yet another representative embodiment, the video decoder device is as described herein. You may implement the method.
[0012] The above and other aspects and features of the disclosed technology are described in the drawings, description and claims. This will be explained in more detail later. [Brief explanation of the drawing]
[0013] [Figure 1] Figure 1 shows an example of an encoder block diagram for video encoding. [Figure 2A] Figure 2A shows an example of a shape-transformed adaptive loop filter (GALF) filter shape. [Figure 2B] Figure 2B shows an example of a shape-transformed adaptive loop filter (GALF) filter shape. [Figure 2C] Figure 2C shows an example of a shape-transformed adaptive loop filter (GALF) filter shape. [Figure 3] Figure 3 shows an example of a flow graph for GALF encoder determination. [Figure 4A] Figure 4A shows an exemplary subsampled Laplacian calculation for adaptive loop filter (ALF) classification. [Figure 4B] Figure 4B shows an exemplary subsampled Laplacian calculation for adaptive loop filter (ALF) classification. [Figure 4C] Figure 4C shows an exemplary subsampled Laplacian calculation for adaptive loop filter (ALF) classification. [Figure 4D] Figure 4D shows an exemplary subsampled Laplacian calculation for adaptive loop filter (ALF) classification. [Figure 5] Figure 5 shows an example of neighboring samples used in a bilateral filter. [Figure 6] Figure 6 shows an example of a window containing two samples used in weight calculation. [Figure 7] Figure 7 shows an example of a scanning pattern. [Figure 8A] Figure 8A shows a flowchart illustrating an exemplary method for temporal prediction of parameters in nonlinear adaptive loop filtering. [Figure 8B] Figure 8B shows a flowchart illustrating an exemplary method for temporal prediction of parameters in nonlinear adaptive loop filtering. [Figure 8C] Figure 8C shows a flowchart illustrating an exemplary method for temporal prediction of parameters in nonlinear adaptive loop filtering. [Figure 9] Figure 9 is a block diagram showing an example of a hardware platform for realizing the video decoding or video encoding technology described in this patent specification. [Figure 10] Figure 10 is a block diagram showing an exemplary image processing system that can implement the disclosed technology. [Figure 11] Figure 11 is a flowchart showing an example of a video media processing method. [Figure 12] Figure 12 is a flowchart showing an example of a video media processing method. [Figure 13] Figure 13 is a flowchart showing an example of a video media processing method. [Figure 14] Figure 14 is a flowchart showing an example of a video media processing method. [Modes for carrying out the invention]
[0014] Due to the increasing demand for higher resolution video, modern technology is developing video encoding methods. Video codecs are ubiquitous. Video codecs generally compress or expand digital video. Includes open electronic circuits or software, and is constantly modified to provide higher coding efficiency. It is being improved. Video codecs convert uncompressed video to a compressed format, or so The opposite is true. Video quality, the number of data points used to represent the video (in bitrate) (determined), complexity of encoding and decoding algorithms, data loss And sensitivity to errors, ease of editing, random access, and end-to-end There is a complex relationship between the delays (latency) of the data. This compression format is usually standard Quasi-video compression specifications, for example, the High Efficiency Video Coding (HEVC) standard (H.265 or M Also known as PEG-H Part 2), a general-purpose video encoding that should be completed (VV C) Complies with the standard or other current and / or future video encoding standards.
[0015] Video encoding standards are primarily developed through the development of well-known ITU-T and ISO / IEC standards. The ITU-T created H.261 and H.263, and ISO / IEC developed MPEG- 1 and MPEG-4 Visual were created, and the two organizations worked together on H.262 / MPEG-2 Video. o and H.264 / MPEG-4 AVC(Advanced Video Coding ) and the H.265 / HEVC standard were jointly created. Since H.262, video encoding standards have evolved over time. It is based on a hybrid video coding structure that utilizes interpretation and transformation coding. In 2015, VCEG and MPEG collaborated to explore future video encoding technologies. I established JVET (Joint Video Exploration Team). Since then, many new methods have been adopted by JVET, including JEM (Joint Exp It has been incorporated into reference software called (Lorration Mode). In April 2008, VCEG (Q6 / 16) and ISO / IEC JTC1 SC29 / WG1 During 1 (MPEG), the Joint Video Expert Team (JVET) The organization was established and began working on developing the VVC standard with the goal of reducing the bitrate by 50% compared to HEVC. They're working together.
[0016] The disclosed embodiments of the technology improve runtime performance by using existing video coding This specification may be applied to standards (e.g., HEVC, H.265) and future standards. Chapter headings are used to improve the readability of the description or embodiment. (and / or implementation forms) are not limited to each chapter.
[0017] 1. Examples of color space and saturation subsampling
[0018] A color space, also known as a color model (or color system), defines a range of colors using numerical values. It is an abstract mathematical model that can be simply described as a tuple, and is generally a 3-way tuple. These are four values or color components (e.g., RGB). Basically, a color space is a coordinate system and subspace. It is a refined version of the concept of space and intervals.
[0019] In video compression, the most frequently used color spaces are YCbCr and RGB.
[0020] YCbCr, Y'CbCr, or Y Pb / Cb Pr / Cr are YCBCR or Also known as Y'CBCR, it is a color image pipeline for video and digital photography systems. It is a family of color spaces used as part of the color space. Y' is the luminance component, and CB and C R is the blue difference and red difference chromatic component. Y' (which has a prime number) is distinct from Y. This represents luminance, and the light intensity is non-linearly encoded based on gamma-corrected RGB primary colors. It means that.
[0021] Chroma subsampling is based on the fact that the human visual system perceives color difference less than brightness. By utilizing this, the chroma information is implemented to have a lower resolution than the luminance information, and the image is created. This is a method of encoding.
[0022] 1.1 4:4:4 Color Format
[0023] Each of the three Y'CbCr components has the same sample rate, and therefore, chromosomal subsomal No sampling is involved. This scheme uses high-end film scanners and film scanners. It is sometimes used in post-production.
[0024] 1.2 4:2:2 color format
[0025] The two chroma components are sampled at half the luminance sample rate, for example, horizontally. The chroma resolution is halved. This results in little to no visual difference, and is non-pressure. The bandwidth of the compressed video signal can be reduced to one-third.
[0026] 1.3 4:2:0 Color Format
[0027] In 4:2:0, horizontal sampling is twice as much as in 4:1:1, but this scheme Therefore, since we sample the Cb and Cr channels only on every other line, the vertical solution The image quality is halved. Therefore, the data rate remains the same. Cb and Cr are horizontal, respectively. And it is subsampled twice in both the horizontal and vertical directions. Different horizontal and vertical positions There are three variations of the 4:2:0 scheme.
[0028] ○ In MPEG-2, Cb and Cr are consequentially located horizontally. Cb and Cr are It is located between pixels in the vertical direction (located between grid lines).
[0029] ○ In JPEG / JFIF, H.261, and MPEG-1, Cb, and C r is located between the intermediate grid cells of the alternating luminance samples.
[0030] ○ In 4:2:0 DV, Cb and Cr are consituated horizontally. In that direction, they are conjoined on alternating lines.
[0031] 2. Example of a typical video codec encoding flow
[0032] Figure 1 shows three in-loop filtering blocks, i.e., non-blocking filters. VVC encoder blocks including DF, sample adaptive offset (SAO), and ALF. An example of a filter diagram is shown. Unlike DF (which uses a predefined filter), SAO and ALF uses the original sample of the current picture, adds an offset, and By applying a finite impulse response (FIR) filter, the offset and finite impulse response can be adjusted. Along with the encoded information that signals the Ruta coefficient, between the original sample and the reconstructed sample The mean squared error is reduced for each. The ALF is located in the final processing stage of each picture. It can be seen as a tool that attempts to capture and correct artifacts generated in the previous stage. It is possible.
[0033] 3. Example of a shape transformation-based adaptive loop filter in JEM
[0034] In JEM, a shape transformation-based adaptive loop using block-based filter adaptation A filter (GALF) is applied. The luminance component is based on the direction and function of the local gradient. Select one of 25 filters for every 2x2 block.
[0035] 3.1 Examples of filter shapes
[0036] In this application, the luminance component consists of up to three diamond filter shapes (shown in Figure 2A). For example, for each of the 5x5 diamond, 7x7 diamond, and 9x9 diamond... The filter type used for the luminance component can be selected (as shown in Figures 2B and 2C). To indicate the status, an index is signaled at the picture level. A 5x5 diamond shape is always used for the chroma component.
[0037] 3.1.1 Block division
[0038] Each 2x2 block is classified into one of 25 classes. The classification index C is... Based on the direction D and the quantized value of activity A^, the following is derived:
[0039]
number
[0040] To calculate D and A^, first use the 1-D Laplacian to calculate the horizontal, vertical and Next, calculate the gradients in the two diagonal directions.
[0041]
number
[0042] i and j represent the coordinates of the top-left sample in the 2x2 block, and R(i,j) represents the coordinates ( The reconstructed sample is shown in i,j). Then, set the maximum and minimum values of the horizontal and vertical gradients as follows: ru.
[0043]
number
[0044] The maximum and minimum values of the two diagonal gradients are then set as follows:
[0045]
number
[0046] To derive the value of directivity D, these values are compared with each other and with two thresholds t1 and t2. To compare. Step 1. g max h,v ≤t1·g min h,v and g Max d0,d1 ≤t1·g min d0,d1 If both are TRUE, D is set to 0. Step 2. g max h,v / g min h,v >g Max d0,d1 / g min d0,d1 In this case, continue from Step 3 or continue from Step 4. Step 3. g max h,v >t2·g min h,v If it is, D is set to 2, or D is set to 1. Step 4. g max d0,d1 >t2·g min d0,d1 If it is, D is set to 4 or D is set to 3.
[0047] The activity value A is calculated as follows.
[0048]
Equation
[0049] Further quantize A in the range of to 4, and let the quantized value be A^. For both chroma components in the picture, the classification method is not applied, that is, a single set of ALF coefficients is applied to each chroma component.
[0050] 3.1.2 Geometric Transformation of Filter Coefficients
[0051] Before filtering each 2×2 luminance block, based on the gradient value calculated for that block, geometric transformations such as rotation or diagonal and vertical direction inversion are applied to the filter coefficient f(k,l). This applies these transformations to the samples within the filter support region. Based on the gradient value calculated for the block, geometric transformations such as rotation or diagonal and vertical direction inversion are applied to the filter coefficient f(k,l). This applies these transformations to the samples within the filter support region. This is equivalent to saying that ALF applies to different blocks, and their directions The goal is to make things more similar by aligning them.
[0052] This section introduces three geometric transformations, including diagonal, vertical inversion, and rotation.
[0053]
number
[0054] Here, K is the size of the filter, 0≦k, l≦K-1 are the coefficient coordinates, and the position ( 0,0) is in the upper left corner, and position (K-1,K-1) is in the lower right corner. This transformation is that The gradient value calculated for the lock is applied to the filter coefficient f(k,l). Table 1 summarizes the relationship between the transformation and the four gradients in the four directions.
[0055] [Table 1]
[0056] 3.1.3 Signal Notification of Filter Parameters
[0057] In JEM, the GALF filter parameters are for the first CTU, i.e., The signal is announced after the slice header and before the SAO parameter of the first CTU. Up to 2 Five sets of luminance filter coefficients can be signaled. This reduces bit overhead. Therefore, filter coefficients of different classifications can be merged. Also, the G of the reference picture The ALF coefficient can be stored and reused as the GALF coefficient for the current picture. The current picture uses the GALF coefficient stored for the reference picture, and the GALF coefficient You may choose to avoid signal notification. In this case, index to one reference picture Only the GALF coefficient of the indicated reference picture that is currently notified is the signaled value. It will be inherited by the picture.
[0058] To support GALF temporal prediction, a candidate list of GALF filter sets is maintained. It is held. At the start of decoding a new sequence, the candidate list is empty. One pic After decrypting the chat, the corresponding set of filters may be added to the candidate list. When the size of the f reaches the maximum allowable value (i.e., 6 in the current JEM), a new set of f The filter overwrites the oldest set in the decryption order, i.e., First-In, First-Out (FIF) O) Apply the rules to update the candidate list. To avoid duplicates, the corresponding picture If you do not use GALF time prediction, you can only add one set to the list. To support temporal scalability, a list of candidate filter sets is provided. There is a time layer index, and each candidate list is associated with one time layer. Specifically, the time layer index Each array to which TempIdx is assigned is the last decoded array with a small TempIdx. A filter set of processed pictures may be constructed. For example, the k-th array is equal to k. It is assigned to associate with a new TempIdx, and it is assigned to a TempIdx that is k This includes only the filter set from the following pictures. After encoding a specific picture, this Use the filter set associated with the picture to set a TempI equal to or higher than TempI Update the array associated with dx.
[0059] The temporal prediction of the GALF coefficient is used to minimize signal notification overhead. Used for ter-encoded frames. In the case of intra-frames, temporal prediction is unavailable. It is possible, and each class is assigned one set of 16 fixed filters. To indicate use, a flag for each class is signaled, and selected as needed. The index of the fixed filter is notified by a signal. Select a fixed filter for a given class. Even if selected, the coefficients of the adaptive filter f(k,l) can be sent to this class. In this case, the coefficients of the filter applied to the reconstructed image will be the sum of both coefficient sets. ru.
[0060] The filtering process for the luminance component can be controlled at the CU level. GALF is C A flag is signaled to indicate whether it applies to the luminance component of U. For the M component, whether GALF applies is indicated only at the picture level.
[0061] 3.1.4 Filtering process
[0062] On the decoder side, when GALF is enabled for a block, this block Each sample R(i,j) within the sample is filtered, and as a result, as shown below, A sample value R'(i,j) is obtained. Here, L represents the filter length, and f m,n is, The filter coefficients are represented, and f(k,l) represents the decoded filter coefficients.
[0063]
number
[0064] 3.1.5 Encoder-side filter parameter determination process
[0065] Figure 3 shows the overall encoder decision process for GALF. For each sample, the encoder applies GALF and the appropriate signal notification flag. Determine whether or not it is included in the slice header. For chroma samples, apply the appropriate filter. The decision to use is based on the picture level, not the CU level. Chroma GALF for this picture is enabled when luminance GALF is enabled for this picture. Only checked if it matches.
[0066] 4. Example of an adaptive loop filter based on shape transformation in VC
[0067] The current GALF design in VVC differs from the design in JEM in the following ways: It has undergone significant changes. 1) Remove adaptive filter shapes. Only 7x7 filter shapes are permitted for the luminance component. Therefore, only a 5x5 filter shape is permitted for the chroma component. 2) The temporal predictions of the ALF parameters and the predictions from the fixed filter are both removed. ru. 3) Regardless of whether ALF is enabled or disabled for each CTU A 1-bit flag is signaled. 4) The class index calculation is performed at a 4x4 level instead of a 2x2 level. As shown in Figures 4A to 4D, the ALF component is as proposed in JVET-L0147. A subsampled Laplacian calculation method for this type is used. Specifically, 1 For each sample within a block, it is necessary to calculate horizontal / vertical / 45-degree diagonal / 135-degree gradients. It's unnecessary. Instead, 1:2 subsampling is used.
[0068] In VTM4.0, the filtering process for adaptive loop filters is performed as follows: cormorant.
[0069]
number
[0070] Here, sample I(x+i,y+j) is the input sample, and 0(x,y) is the filter. The ringed output sample (i.e., the filtered result), where w(i,j) is the filter coefficient. This represents that. In practice, VTM4.0 uses integer arithmetic for fixed-point precision calculations. It will be implemented.
[0071]
number
[0072] Here, L represents the filter length, and w(i,j) are the filter coefficients in fixed-point precision. That is the case.
[0073] 5. Nonlinear Adaptive Loop Filtering (ALF) in JVET-N0242
[0074] 5.1 Reshaping the Filter
[0075] Equation (11) can be reformulated by the following equation without affecting coding efficiency. Cut.
[0076]
number
[0077] Here, w(i,j) is the same as the filter coefficient in equation (11) [exception w(0 In equation (13), it is equal to 1, but in equation (11), 1-Σ (i,j)≠ (0,0) [equal to w(i,j)].
[0078] 5.2 Modified Filters
[0079] By using the filter expression (13) above, a simple clipping function can be used to achieve a close The adjacent sample value I(x+i,y+j) is filtered from the current sample value I(x,y). When the difference is too great, reducing its impact makes it easier to introduce nonlinearity, and AL Make F more efficient.
[0080] In this proposal, the ALF filter is modified as follows:
[0081]
number
[0082] Here, K(d,b)=min(b,max(-b,d)) is the clipping function. k(i,j) is the clipping parameter, which depends on the (i,j) filter coefficient. The encoder performs optimization to find the best k(i,j). Note that it is implemented with integer precision. When attaching, roll it up Σ (i,j)≠(0,0) w(i,j) × K(I(x+i,y+i)- A shift using I(x,y) and k(i,j) is applied.
[0083] In the implementation of JVET-N0242, clipping is performed for each ALF filter. The parameter k(i,j) is defined, and one clipping value is trusted for each filter coefficient. This will notify you of the number. This is up to 12 per bitstream per luminance filter. The clipping value can be signaled, and up to 6 clipping values can be set for the chroma filter. This means that the ping value can be signaled.
[0084] To limit signal notification costs and encoder complexity, the evaluation of clipping values is ...and limit to a small set of possible values. In this proposal, INTER and INTRA tiles Use only the same four fixed values for each group.
[0085] The variance of local differences is often greater in the case of luminance than in the case of chroma, therefore, luminance Use two different sets of filters: a filter and a chromatic filter. Each set has a maximum sample size. Include the value (here, 1024 for a 10-bit bit depth), and if not needed, Ripping can be disabled.
[0086] Table 2 shows the set of clipping values used in the JVET-N0242 trial. (4 values) In the logarithmic domain, the sample values for brightness (encoded with 10 bits) The selection is made by dividing the entire range and the range of 4 to 1024 for chroma into approximately equal parts. It was done.
[0087] More precisely, the luminance table of clipping values was obtained by the following formula.
[0088]
number
[0089] Similarly, the chroma table of clipping values is obtained according to the following formula.
[0090]
number
[0091] [Table 2]
[0092] The selected clipping value corresponds to the index of the clipping value in Table 2 above. The ROM coding scheme is used to encode the "alf_data" syntax element. The method is the same as the encoding method for the filter index.
[0093] 5.2.1 Syntax and Semantics
[0094] Syntax changes newly introduced by NLALF (shown below in bold, italics, and underlined) The font used to represent it is as follows:
[0095] [Table 3] [Table 4]
[0096] 6. ALF based on CTU in JVET-N0427
[0097] VTM4 employs Adaptive Parameter Sets (APS). Each APS is a set of... This proposal includes a signal-notified ALF filter and supports up to 32 APS. The proposal tests a temporal filter at the slice level. One tile group is APS By reusing ALF information from A, overhead can be reduced. The PS is updated as a first-in, first-out (FIFO) buffer.
[0098] For the luminance component, when ALF is applied to the luminance CTB, there are 16 fixed, 5 A set of temporal or single signal-notified filters (signal-notified at the slice level) A selection from the options () is shown. Only the filter set index is notified. For each slice, only one new set of 25 filters is signaled. It is possible. If a new set is signaled for one slice, the same slice All luminance CTBs within Rice share that set. Using a fixed filter set A new slice-level filter set can be predicted, and this can be used as a candidate for luminance CTB. It can be used as a filter set. There are a total of 64 filters.
[0099] In the case of chroma components, when applying ALF to chroma CTB, a new one is generated for each slice. If a new filter is signaled, the CTB will use this new filter; otherwise, In addition, the most modern temporal chroma filter that satisfies the temporal scalability constraints is applied.
[0100] As a time filter at the slice level, APS uses a first-in, first-out (FIFO) baffle. It will be updated as 'a'.
[0101] 7. Reconstructed filter
[0102] 7.1 Diffusion Filter (DF)
[0103] In JVET-L0157, the intra / inter prediction signal of the CU is a spread filter. A diffusion filter that can be further modified by this has been proposed.
[0104] Uniform diffusion filter This uniform diffusion filter is, for example, defined below, h I or h IV It is given as This is achieved by convolving the prediction signal using a fixed mask. In addition to the predicted signal itself, there is a row of reconstructed samples on the left and top sides of the block. , used as input to the filtered signal, in this case these reconstructed samples This allows you to avoid using it in interblocks.
[0105] Pred is applied to a given block obtained by intra prediction or motion compensation prediction. This will be the predicted signal. To handle the filter boundary points, the predicted signal is the predicted signal pred e xt It needs to be expanded. This expansion prediction can be formed in the following two ways.
[0106] As an intermediate step, add the reconstructed sample from the top left row of the block to the prediction signal. The obtained signal is mirrored in all directions. Alternatively, only the predicted signal itself is mirrored in all directions. To signal. The latter extension is used for interblocking. In this case, the predicted signal Only those with the extended prediction signal pred ext Includes input for that purpose.
[0107] filter h I When using this method, the aforementioned boundary extension is used to make the predicted signal pred h I * It is proposed to replace it with pred. Here, the filter mask h I The following is true: It is given.
[0108]
number
[0109] filter h IV When using, the prediction signal pred is h IV * Replace with pred The following is proposed. Here, filter hIV It is given as follows: h IV =h I *h I *h I *h I .
[0110] Directional diffusion filter Instead of a signal-adaptive spread filter, use a directional filter with a fixed mask, or a horizontal filter. h hor , vertical filter h ver The mask h of the previous part is used. More precisely, the mask h of the previous part is used. I to The corresponding uniform diffusion filtering is applied either vertically or horizontally only. It is limited to either being applicable or not. Apply the following fixed filter mask to the prediction signal. This enables the creation of a vertical filter.
[0111]
number
[0112] Inverted mask h hor =h t Ver By using this, a horizontal filter is achieved.
[0113] 7.2 Bilateral Filter (BF)
[0114] JVET-L0406 proposes a bilateral filter where the conversion coefficient is zero. It is not applied to luminance blocks where the slice quantization parameter is greater than 17. Therefore, there is no need to signal the use of a bilateral filter. Decoding immediately after the inverse transform. When applied to the selected sample, a bilateral filter is performed. The filter parameters, i.e., the weights, are explicitly derived from the processed information.
[0115] This filtering process is defined as follows:
[0116]
number
[0117] Here, P 0,0 is the intensity of the current sample, and P' 0,0 This is a correction to the current sample. The strength is P k,0 and W k These represent the intensity of the k-th neighboring sample and These are weight parameters. One current sample and its four neighboring samples (i.e., An example of K=4) is shown in Figure 5.
[0118] Specifically, the weight W associated with the k-th neighboring sample. k (x) as follows Define. W k (x) = Distance k ×Range k (x). (2)
[0119] Herein lies the following:
[0120]
number
[0121] Here, σ d This depends on the encoding mode and the size of the encoding block. The retaring process further divides the TU into intra-encoded blocks and inter It is applied to the encoding block, enabling parallel processing.
[0122] To better capture the statistical characteristics of the video signal and improve the performance of the filter, use equation (2) The weight function based on σ d Adjust the parameters, including the encoding mode and block division parameters. Table 4 is used to show the data (minimum dimensions) as a factor.
[0123] [Table 5]
[0124] To further improve encoding performance, inter-encoding when the TU is not split... In the case of locking, the intensity difference between the current sample and one of the nearby samples is used to determine the current sample Replace it with a representative intensity difference between the two windows containing the sample and the nearby sample. Modify the filtering formula as follows:
[0125]
number
[0126] Here, P k,m and P 0,m These are P k,0 and P 0,0 This represents the m-th sample value within the window centered on [the specified point]. In this proposal, the window size is set to 3x3. 2,0 and P 0,0 An example including two windows is shown in Figure 6.
[0127] 7.3 Hadamard Transform Domain Filter (HF)
[0128] In JVET-K0068, the influx in the 1D Hadamard translation domain The loop filter is applied to the reconstructed CU level and is implemented without multiplication. The proposed filter is applied to all CU blocks that satisfy the specified conditions, and the code is coded. The filter parameters are derived from the processed information.
[0129] The proposed filtering excludes 4x4 blocks and the slice quantization parameters If it is greater than 17, it is always applied to luminance reconstruction blocks that have a non-zero conversion coefficient. The filter parameters are explicitly derived from the encoded information. If applied to the numbered samples, the proposed filtering will be performed.
[0130] For each pixel from the reconstructed block pixels, the pixel processing includes the following steps: . ○ Scan the four neighboring pixels around the processing pixel containing the current pixel according to the scanning pattern. To investigate. ○ Hadamard transform of the four points of the read pixel ○ Spectral filtering based on the following equation.
[0131]
number
[0132] Here, (i) is the index of the spectral components in the Hadamard spectrum. R(i) is the spectral component of the reconstructed pixel corresponding to the index, and σ is given by the following equation. These are filter parameters derived from the codec quantization parameter QP.
[0133]
number
[0134] An example of a scanning pattern is shown in Figure 7, where A is the current pixel, and {B, C, D } represents the surrounding pixels.
[0135] For pixels on the CU boundary, adjust the scanning pattern so that all necessary pixels are within the current CU. Make it come inside.
[0136] 8 Virtual Pipeline Data Unit (VPDU)
[0137] The Virtual Pipeline Data Unit (VPDU) is defined as non - overlapping M×M - lum a(L) / N×N - chroma(C) units within a picture. In hardware decoders, consecutive VPDUs are processed simultaneously in multiple pipeline stages, and different stages process different VPDUs simultaneously. Since the size of the VPDU is approximately proportional to the buffer size in most pipeline stages, it is said to be very important to reduce the size of the VPDU. In the HEVC hardware decoder, the size of the V PDU is set to the size of the maximum transform block (TB). Increasing the maximum TB size from 32×32 - L / 16×16 - C (like HEVC) to 64×64 - L / 32×32 - C (like the current VVC) can bring coding gain, and compared to HEVC, the VPDU size (64×64 - L / 32×32 - C) becomes 4 times. However, in VVC, in addition to the quadtree (QT) coding unit (CU) splitting, ternary tree (TT) and binary tree (BT) are adopted to obtain further coding gain, and TT and BT splitting can be recursively applied to the coding tree block (CTU) of 128×128 - L / 64×64 - C, so it is said that the VPDU size (128×128 - L / 64×64 - C) becomes 16 times compared to HEVC. In the current design of VVC, the size of the VPDU is defined as 64×64 - L / 32×32 - C
[0138]
[0139] 9. Disadvantages of existing implementations
[0140] The nonlinear ALF (NLALF) design in JVET-N0242 has the following problems: ru.
[0141] (1) Classification processing in GALF involves the reconstructed sample before applying ALF. It depends on the gradient and Laplacian activity used. However, the classification results may be inaccurate. This can happen. For example, for one sample, the difference between that sample and its neighbors is They may be very similar, while for another sample, one close to that sample may be The difference between this sample and the surrounding sample is too large, and the difference may be too small for all other samples. In these two cases, they can be classified into a single class index. These class indices may be incorrect.
[0142] (2) The clipping parameter is associated with the filter coefficient. However, You can use a single filter to perform a filter merge operation on multiple classes. Also, two blocks with the same class index (in the current GALF design, 0 Regarding ...24), the filter coefficients and clipping parameters are the same. However, the two blocks may have different characteristics, for example, different geometric transformations. You may choose to use the same clipping parameters. ru.
[0143] (3) The index of the clipping parameter is determined by the signal propagation for each non-zero filter coefficient. Once achieved, these filter coefficients are used to construct the filter coefficients in the parsing stage. is required. Such a design is not desirable for hardware implementation.
[0144] (4) In the temporal prediction process, one block may inherit the filter coefficients from the previously encoded frame. It is necessary to examine how to handle the clipping parameters.
[0145] (5) The clipping function K( d,b) = min(b, max(-b, d)) with b as the upper limit, -b as the lower limit, and d as the input. The limitation of the equally divided magnitude between the upper and lower limits may not be optimal.
[0146] 10 Exemplary methods for temporal prediction of parameters in non - linear ALF
[0147] Embodiments of the technology of the present disclosure overcome the drawbacks of existing implementations, thereby providing video encoding with higher encoding efficiency. The temporal prediction of non - linear adaptive loop filtering based on the disclosed technology can improve both existing and future video encoding standards and is illustrated in the following examples for various implementation forms. The examples of the disclosed technology provided below are for explaining general concepts and should not be construed as limiting. In one example, unless explicitly stated otherwise or shown to the contrary, various features described in these examples can be combined.
[0148] [[ID=CO]] In these examples, one filter may be associated with multiple filter coefficients One filter set represents multiple filters. Let the i - th filter be represented by F i and its associated filter coefficients be F iIf we represent it as k, for example, the variable k is F i Associated with This represents the k-th filter coefficient, which may correspond to, for example, Ck in Figure 2.
[0149] 1. According to the encoded information, the NLALF parameters (e.g., on / off control flags) It is proposed to determine the clipping parameters. a. NLALF parameters (e.g., on / off control flag, clipping parameter) (T) may depend on the encoding mode information. i. In one example, the choice of which NLALF parameter to select depends on the encoding mode, e.g. For example, this may be determined by whether it is intra-mode or non-intra-mode. ii. In one example, the choice of which NLALF parameter to select depends on the encoding mode. For example, this may be determined by intra-mode or inter-mode. iii. In one example, the selection of which NLALF parameter to use depends on the IBC mode. Alternatively, it may be determined by the encoding mode, such as non-IBC mode. b. NLALF parameters (e.g., on / off control flag, clipping parameter) (T) may depend on the conversion information. i. In one example, they may depend on whether conversion skipping is applied. stomach. c. NLALF parameters (e.g., on / off control flag, clipping parameter) (T) may depend on residual information. i. In one example, they depend on whether the block contains non-zero coefficients. good. d. NLALF parameters (e.g., on / off control flag, clipping parameter) The type of the tile group / picture may depend on the type of the tile group / picture. e. NLALF parameters (e.g., on / off control flag, clipping parameter) (T) is time layer information / reference pin associated with a single tile / tile group / slice. You may rely on information such as Kucha. i. In one example, all reference pictures are compared to the current picture. It may depend on whether it is associated with a small POC value. ii. In one example, all reference pictures are compared to the current picture. It may depend on whether it is associated with a small or equal POC value. f. According to the reference picture / motion information associated with one block, NLALF Determining parameters (e.g., on / off control flags, clipping parameters) This is proposed.
[0150] 2. According to the geometric transformation, the NLALF parameter (e.g., on / obiff control function) It is proposed to determine the lag (clipping parameters). a. In one example, for two M × N blocks, if they are (for example, the same block Even if associated with the same filter (by last index), the associated NLAL The F-parameters (e.g., clipping parameters) may be different. b. In one example, for one filter coefficient, two or more clipping parameters The instruction may be signaled. i. In one example, the clipping parameter / or the clipping parameter The number of indexes, or other representations of clipping parameters, is the number of acceptable geometric transformations. It may also depend on the number of [the elements]. ii. In one example, the clipping parameter associated with one filter parameter Predictive coding of the meter / clipping parameter index may be applied. 1) In one example, one filter for one sample or block The ripping parameters are for spatially / temporal adjacent or non-adjacent neighboring samples or This is predicted by a different clipping parameter of another filter used for blocking. It may also be used.
[0151] 3. It has been proposed that the upper and lower bounds of the clipping function do not need to be equal. It can be done. a. In one example, both upper and lower bound indications for a single clipping function are Signal notification may be given. i. Alternatively, predictive coding may be applied between the upper and lower bounds.
[0152] 4. Directly encode the clipping parameter (e.g., index) instructions with a fixed length. It is proposed that this be done. a. In one example, each of them may be encoded with N bits (for example, N is (Set to 2). i. In one example, N may be fixed. ii. In one example, N may be signaled. iii. In one example, N is encoded information such as QP, picture dimension, etc. It's okay to be dependent. b. Alternatively, these may be encoded using a truncation unamiliar algorithm with a maximum value N. i. In one example, N may be fixed. ii. In one example, N may be signaled. iii. In one example, N is encoded information such as QP, picture dimension, etc. It is also acceptable to depend on it. c. Alternatively, these may be encoded using the exponential Golomb algorithm, but in a single filter Alternatively, a single filter set may be encoded with a fixed degree. d. Alternatively, these may be encoded using run-length coding. i. In one example, the index of the clipping parameter in each filter It is first encoded as "run", and the number of consecutive identical clipping parameters is "l It may also be encoded as "ength". ii. In one example, the k-th filter coefficient for each filter. Regarding F i The index of the clipping parameter associated with it is first "ru Encoded as "n", the number of the same clipping parameters in other filters is "le It may also be encoded as "ngth". e. Prediction of the indication of clipping parameters (e.g., index) in one example. Encoding may be applied. i. In one example, for the clipping parameter in one filter, predictor The numbering system may be applied. ii. In one example, predictors for clipping parameters between different filters. The numbering system may be applied. 1) In one example, clipping parameters between different filters for a single color component. Predictive coding may be applied to the meter. 2) In one example, clipping parameters between different filters for multiple color components Predictive coding may be applied to the meter. 3) In one example, the selection of filters used for different samples or blocks Predictive coding may be applied to the topping parameters. iii. Clipping parameters signaled in different APS in one example. Predictive coding may be applied to it.
[0153] 5. It is proposed to separate the parsing of clipping parameters from the construction of filter coefficients. It can be done. a. In one example, the clipping parameters (for example, the clipping parameters The parsing of the index is independent of the filter coefficient values. b. In one example, if the filter coefficient is equal to 0, the associated clipping part The meter indication may still be signaled.
[0154] 6. If one block inherits filter coefficients from the i-th filter, then the i-th filter Clipping parameters associated with a filter do not need to be inherited. a. In one example, if time prediction is enabled for one block, Instead of directly inheriting linked clipping parameters, use a non-local ALF. You may also signal whether or not to apply clipping. i. In one example, if it is determined that clipping should be applied, the associated You may also inherit the clipping parameters. b. In one example, the filter coefficients are inherited / predicted from the i-th filter, and the clipping If the filtering parameters are inherited / predicted from the j-th filter, then i is not equal to j. That's fine. c. In one example, the filter coefficients are inherited / predicted from the i-th filter, and the clipping If the filtering parameters are inherited / predicted from the j-th filter, then the i-th and j-th The filter may be associated with a different set of filters. i. In one example, the i-th filter is applied to the first picture / tile group / tile. It may be associated with a slice, and the j-th filter may be associated with the second picture / tape. It may be associated with a tile group / tile / slice. ii. In one example, i is not equal to j. Alternatively, i is equal to j. d. In one example, which filter is associated with which filter, such as the filter index? Instructions for the topping parameters may be signaled. e. In one example, which filter set is associated with the APS index, etc.? The clipping parameter may be indicated by a signal. i. Alternatively, the filter index may be further transmitted.
[0155] 7. In addition, in the classification process, instead of directly using the sample difference, the extracted sample You may also use the difference in length. a. In one example, in the gradient calculation process, the difference of the clipped samples or You may use clipped gradients. b. In one example, in the activity calculation process, clipped samples You may use the difference or clipped gradient. c. In one example, the following may be used to calculate the vertical gradient: V k,l =|clip1(R(k,l)-R(k,l-1))+clip2(R(k ,l)-R(k,l+1))| Here, clip1 and clip2 are two clipping functions. d. In one example, the following may be used to calculate the horizontal gradient: H k,l =|clip1(R(k,l)-R(kl,1))+clip2(R(k ,l)-R(k+l,1))| Here, clip1 and clip2 are two clipping functions.
[0156] 8. Whether or not to perform clipping depends on the position of the samples used in the filtering process. It may also depend on the setting (for example, I(x+i,y+j) in Chapter 5.2). a. In one example, the sample in the filter support is CU / PU / TU / Picture If not located at the boundary of a tile / tile group, clipping is disabled. That's good too. b. In one example, the sample in the filter support is CU / PU / TU / Picture Tile / Tile Group / CTU / Virtual Pipe Lining Data Unit (VPDU) If it is located at the boundary of ), clipping may be applied. c. Alternatively, whether to perform clipping operations depends on the CU / PU / TU settings. Filtering from the boundaries of / Picture / Tiles / Tile Groups / CTU / VPDU The distance between the aforementioned samples used for calculation (for example, I(x+i,y+j) in Chapter 5.2) It's okay to be dependent. i. In one example, the distance may be predetermined (for example, N pixels). ii. In one example, this distance may be signaled.
[0157] 9. The shape of the filter used for adaptive loop filtering (also known as filter support) is It may also depend on color representation. a. In one example, if the color format is 4:4:4, all components The filter support for (for example, Y, Cb, Cr) should be the same. i. For example, the filter support is 7*7 rhombic, as shown in Figure 2B. ii. For example, the filter support is 5*5 rhombic, as shown in Figure 2A. b. In one example, if the color format is RGB, all components This is the aforementioned support area. i. For example, the filter support is 7*7 rhombic, as shown in Figure 2B. ii. For example, the filter support is 5*5 rhombic, as shown in Figure 2A.
[0158] The above example is related to the methods described below, for example, methods 800, 810, and 820. These methods may be included in the text, and these methods apply to the video decoder or video encoder. It may be implemented as is.
[0159] Figure 8A shows a flowchart of an exemplary image processing method. Method 800 is step 8 In 02, based on the characteristics of the current video block, one of the nonlinear filtering operations is performed. This includes determining the above parameters.
[0160] Method 800, in step 804, based on the one or more parameters, The conversion between the current video block and the bitstream representation of the current video block This includes doing so.
[0161] In some embodiments, the characteristics of the current video block are that the current video block This is the encoding mode of the block. In one example, the current encoding mode of the video block. This includes intra-mode, non-intra-mode, intra-block copy (IBC) mode, and This is a non-IBC mode.
[0162] In some embodiments, the feature is conversion information. In one example, the conversion information The report includes instructions for conversion skipping applied to the current video block.
[0163] In some embodiments, the feature is residual information. In one example, the residual information The report includes the coefficient of zero in the current video block.
[0164] In some embodiments, the features constitute the current video block, It is a group type, a picture type, or a picture within a tile group.
[0165] In some embodiments, the features constitute the current video block, Time layer information or reference information associated with tiles, tile groups, pictures, or slices This is news.
[0166] In some embodiments, the features are related to the current video block. This is a picture or motion information.
[0167] In some embodiments, the feature is a geometric transformation.
[0168] In some embodiments, the parameter is an on / off control flag or Includes one or more parameters of the ripping function.
[0169] In some embodiments, the upper limit of the clipping function is the size of the clipping It differs from the magnitude of the lower bound of the clipping function. In one example, predictive coding is the same as the clipping function. This applies between the aforementioned upper limit and the aforementioned lower limit.
[0170] Figure 8B shows a flowchart of an exemplary image processing method. Method 810 is step 8 In step 12, the current video block is subjected to a nonlinear filtering operation, which is part of the filtering process. This includes configuring one or more parameters of the ripping operation.
[0171] Method 810, in step 814, based on the one or more parameters, The conversion between the current video block and the bitstream representation of the current video block This includes doing so.
[0172] In some embodiments, the one or more parameters are coded with a fixed length of N bits. In other embodiments, the one or more parameters have a maximum value of N. It is encoded using a discard unamiliar method. In one example, N is fixed. In another example, N is true The number will be notified. In yet another example, N is the current image with quantization parameters. The encoded information of the block, or the dimension of the picture comprising the current image block Based on.
[0173] In some embodiments, the one or more parameters are a filter or The filter set is encoded using a fixed-order exponential Golomb algorithm.
[0174] In some embodiments, one or more parameters are encoded using run-length coding. It will be done.
[0175] In some embodiments, the one or more parameters are at least one fill The signal is notified independently of the value of the TA coefficient.
[0176] In some embodiments, the one or more parameters further include filter coefficients. The current video block inherits the filter coefficients from the i-th filter, and the crystal The one or more parameters of the filtering function are different from the j-th filter. Inherited from Ruta.
[0177] Figure 8C shows a flowchart of an exemplary image processing method. Method 820 is step 8 In 22, this includes configuring a nonlinear filtering operation that includes a clipping operation. .
[0178] Method 820, in step 824, currently Perform a conversion between the video block and the bitstream representation of the current video block. Includes.
[0179] In some embodiments, the method 820 may clip the sample difference or This is a gradient calculation that uses the clipped gradient generated by the clipping operation. The method further includes the step of performing a processing. In another embodiment, method 820 is a clipping The sample difference or clipped gradient generated by the clipping operation The process further includes the step of performing the calculation of the activities to be used. In one embodiment, the previous The clipped gradient is V k,l =|clip1(R(k,l)-R(k,l-1 The vertical gradient is calculated as ))+clip2(R(k,l)-R(k,l+1))| This includes. In another embodiment, the clipped slope is H k,l =|clip1(R (k,l)-R(k,l-1))+clip2(R(k,l)-R(k,l+1))| This includes the horizontal gradient calculated by, where clip1 and clip2 are, respectively These are the first and second clipping functions.
[0180] In some embodiments, this conversion is performed on one or more of the current video blocks. This includes filtering the samples based on the position of one or more of these samples. Perform a clipping operation.
[0181] In some embodiments, the location of the one or more samples is the encoding unit (C U), Prediction Unit (PU), Transformation Unit (TU), Picture, Tile, Tile Glue P, Encoded Tree Unit (CTU) or Virtual Pipelining Data Unit (VP) This is the boundary of DU.
[0182] In some embodiments, and in the context of methods 800, 810, and 820 Furthermore, the shape of the filter used in the nonlinear filtering operation is based on color representation. For example... In this context, this color representation is in the 4:4:4 color format or RGB color format. It includes a matte filter. In another example, this filter is a diamond filter.
[0183] In some embodiments, and in the context of methods 800, 810, and 820 Furthermore, the nonlinear filtering operation is a nonlinear adaptive loop filtering operation.
[0184] 11 Exemplary Implementations of the Disclosed Technology
[0185] Figure 9 is a block diagram of the image processing device 900. The device 900 is as described herein. It may be used to implement one or more laws. Device 900 is a smartphone, tablet This may be implemented using a computer, IoT (Internet of Things) receiver, etc. The device 900 includes one or more processing units 902, one or more memories 904, and a video processing unit. The following may be included: 1 or more processing units 902 are specified herein One or more of the methods described (including, but not limited to, methods 800, 810, and 820) may be used. It may be configured to implement (not). Memory(s) 904 are described herein. To store the data and code used to implement the methods and techniques It may be used. The video processing hardware 906 uses the technology described herein in hardware. It may also be used for implementation in a wired circuit.
[0186] In some embodiments, the video encoding method is as described with reference to Figure 9, This may be done using devices implemented on a hardware platform.
[0187] Figure 10 shows an exemplary image processing system in which various technologies disclosed herein may be implemented. Block diagram 1000. Various implementation forms of the module of system 1000. It may include part or all of it. System 1000 is an input for receiving video content. It may include a power unit 1002. The video content is in raw or uncompressed format. For example, it may be received as an 8 or 10-bit multimodule pixel value, or compressed or The data may be received in an encoded format. Input unit 1002 is a network input. This may represent a interface, peripheral bus interface, or storage interface. Examples of network interfaces include Ethernet® and passive optical networks. Wired interfaces such as (PON), and Wi-Fi (registered trademark) or cellular Includes wireless interfaces such as interfaces.
[0188] System 1000 implements various encoding or encoding methods described herein. It may include an encoding module 1004 that can do the following. The encoding module 1004 is The average bitrate of the video from power unit 1002 is output to encoding module 1004. The video may be reduced and an encoded representation may be generated. Therefore, this encoding technique is video compression or This is sometimes called video code conversion technology. The output of the encoding module 1004 is, As represented by 1006, it may be stored or transmitted via connected communication. It may be transmitted. Received, stored or communicated in input unit 1002 The bitstream (or encoded) representation of the video is used by module 1008. The pixel values or displayable images transmitted to the display interface unit 1010 are generated. It may be done. The process of generating video that the user can see from a bitstream representation. This is sometimes called image expansion (image unfolding). Furthermore, a specific image processing operation is called "encoding". The term "encoding" is used in an encoder, and the corresponding operation or tool is used in an encoder. Decoding tools or operations that reverse the result of encoding are performed by the decoder. This will be understood.
[0189] Examples of peripheral bus interface units or display interface units are: Universal Serial Bus (USB) or High-Definition Multimedia Interface (HDM) I(registered trademark)) or may include DisplayPort, etc. Storage interface Examples of these include Serial Advanced Technology Attachment (SATA), PCI, Including IDE interfaces, etc. The technologies described herein are for mobile phones, notebook computers, etc. A computer, smartphone, or other device capable of performing digital data processing and / or image display. This may be implemented in various electronic devices such as vises.
[0190] Figure 11 is a flowchart showing an example of a video media processing method. Step 1102 is described in relation to Example 4 of Chapter 10 of this application. In this process, the processing is part of a nonlinear filtering operation for the current video block. Configure one or more parameters for the clipping operation. In step 1104, process This is based on one or more parameters and the current video block and the bits of the current video block. Perform a conversion to and from the stream representation, and one or more parameters are encoded according to the rules. It will be done.
[0191] Figure 12 is a flowchart showing an example of a video media processing method. Step 1202 is described in relation to Example 1 of Chapter 10 of this application. In this process, the processing is performed using a nonlinear filtering operation based on the characteristics of the current video block. Determine one or more parameters. In step 1204, the process determines one or more parameters Based on the data, the current video block and the bitstream representation of the current video block Perform conversion between them.
[0192] Figure 13 is a flowchart showing an example of a video media processing method. Step 1302 is described in relation to Example 5 of Chapter 10 of this application. In this process, the processing is part of a nonlinear filtering operation for the current video block. Configure one or more parameters for the clipping operation. In step 1304, process This is based on one or more parameters and the current video block and the bits of the current video block. The transformation is performed to and from the stream representation, and one or more parameters are nonlinear filtering. Regardless of the value of at least one filter coefficient associated with the operation, the bit It is presented in trim expression.
[0193] Figure 14 is a flowchart showing an example of a video media processing method. Step 1402 is described in relation to Example 6 of Chapter 10 of this application. In this process, the processing is part of a nonlinear filtering operation for the current video block. Configure one or more parameters for the clipping operation. In step 1404, process Based on one or more parameters, the current video block and the current video block A conversion is performed between the bitstream representation of the current video block and the i-th Inherit the filter coefficients from the filter, and one or more of the parameters of the clipping operation The first rule associated with the inheritance of the filter coefficients is the second rule associated with the inheritance of the filter coefficients. It is different from the rule.
[0194] The various embodiments described here are presented in a sectioned format.
[0195] A1. A method for processing visual media, For the current video block, clipping is part of the nonlinear filtering operation. To construct one or more parameters of the calculation, Based on the one or more of the above parameters, the current video block and the current video block This includes performing conversions between a bitstream representation of a file and a bitstream representation of a file, The one or more parameters are encoded according to the rules. method.
[0196] A2. The rule encodes one or more parameters having a fixed length of N bits. The method described in item A1, which specifies that the following should be done.
[0197] A3. The above rule is based on the maximum value of N, and the one or more of the above parameters are truncated unamiliar. A method for encoding data as described in item A1.
[0198] A4. A method for one or more of items A1 to A3, where N is fixed.
[0199] A5. N is signaled in the aforementioned bitstream representation, one of items A1 to A3. One or more methods.
[0200] A6. N is the encoded information of the current video block, which includes quantization parameters. , or based on the dimensions of the picture comprising the current video block, items A1 to A3 A method that involves one or more of the following methods.
[0201] A7. The nonlinear filtering operation is based on one filter and the rule This involves using a fixed-order exponential Golomb method for a single filter or set of filters. A method of item A1 that specifies encoding one or more parameters.
[0202] A8. The rule specifies one or more parameters based on a run-length coding method. The method described in item A1 for specifying the numbering process.
[0203] A9. The rule states that the run of the run-length coding method is the index of the parameter. Corresponding to the run-length coding method, the length of the run-length coding method is a sequence of one or more parameters The method described in item A5, which further specifies that the number of lamesters is the same.
[0204] A10. The rule encodes one or more parameters based on predictive coding. The method described in item A1, which defines the following.
[0205] A11. The predictive coding described above is applied to one or more parameters within a single filter. The method described in item A10.
[0206] A12. The predictive coding is applied to one or more parameters between different filters. The method described in item A10.
[0207] A13. The predictive coding is performed by one or more different filters used for a single color component. The method described in item A12 applies to the parameters.
[0208] A14. The predictive coding is performed between one or more different filters used for different color components. The method described in item A12 applies to the parameters.
[0209] A15. The predictive coding is used for different samples of the current video block. The method described in item A12, which applies to one or more parameters between different filters.
[0210] A16. The predictive coding is performed between different filters used for different video blocks. The method described in item A12, applicable to more than one parameter.
[0211] A17. The one or more parameters mentioned above may be in different adaptive parameter sets (APS). The method described in item A11, which is included as a field.
[0212] A18. The nonlinear filtering operation is performed based on gradient calculations in different directions. The Adaptive Loop Filter (ALF) operation includes determining the item index. Method A1 to A17, or one or more of the methods described therein.
[0213] A19. The one or more parameters mentioned above include the clipping index, item A1 Methods described in one or more of the ~A17 methods.
[0214] B1. A method for processing visual media, Based on the characteristics of the current video block, one or more parameters of the nonlinear filtering operation To determine the data, Based on the one or more of the above parameters, the current video block and the current video block This includes performing conversions between a bitstream representation of a buck and a bitstream representation of a buck. method.
[0215] B2. The characteristics of the current video block are determined by the encoding mode of the current video block. A method described in item B1.
[0216] B3. The current encoding mode of the video block is intra mode, non-intra Item B: Mode, Intrablock Copy (IBC) mode, or Non-IBC mode. The method described in 2.
[0217] B4. The method described in item B1, wherein the aforementioned features are conversion information.
[0218] B5. The conversion information is the conversion skipping instruction applied to the current video block. The method described in item B4, including the indication.
[0219] B6. The method described in item B1, wherein the aforementioned feature is residual information.
[0220] B7. The residual information includes the coefficient of zero in the current video block, item The method described in B6.
[0221] B8. The above features are tile group type, which constitutes the current video block. The method described in item B1, which is a picture type or picture of an il group.
[0222] B9. The above features are tiles, tile groups, and the current video block that constitute the current video block. Item B1 contains time layer information or reference information associated with a picture or slice. Method of description.
[0223] B10. The aforementioned feature is a reference picture or motion associated with the current video block. The information is as described in item B1.
[0224] B11. The method described in item B1, wherein the feature is a geometric transformation.
[0225] B12. In some embodiments, the one or more parameters are controlled by an on / off switch. Items B1 to B11 include the parameters of the flag and / or clipping function. One or more of the following methods.
[0226] B13. The upper limit of the clipping function is equal to the lower limit of the clipping function. A method different from that described in item B12.
[0227] B14. Predictive coding is applied between the upper and lower limits of the clipping function. The method described in item B13.
[0228] B15. The upper limit and lower limit of the clipping function are defined as the B The method described in item B12, which is included as a field in the stream representation.
[0229] B16. The nonlinear filtering operation involves the first filter and the second filter Including the use of the first filter, one or more of the parameters of the second filter are the same as those of the first filter. The method described in item B10, predicted using one or more of the parameters of the filter.
[0230] B17. The first filter and the second filter are used to control the current video block. The method described in item B10 applies to different sample sets.
[0231] B18. The first and second filters described above apply to different video blocks. The method described in item B10, applicable to linked samples.
[0232] B19. The shape of the filter used in the aforementioned nonlinear filtering operation is the current Based on the color representation of the sample associated with the video block, choose one of items A1 to B18. One or more methods.
[0233] B20. The aforementioned color representation is in 4:4:4 color format or RGB color format The method described in item B19, including the set.
[0234] B21. The filter is a diamond filter, as described in item B19.
[0235] B22. The aforementioned diamond-shaped filter is 5x5 or 7x7 in size, as described in item B19. Method of loading.
[0236] B23. The nonlinear filtering operation is a nonlinear adaptive loop filtering operation. The method described in one or more of items B1 to B22.
[0237] B24. The aforementioned nonlinear filtering operation is based on gradient calculations in different directions. The Adaptive Loop Filter (ALF) operation includes determining the item index. Methods described in one or more of B1 to B23.
[0238] B25. The one or more parameters mentioned above include the clipping index, item B1 The method described in one or more of the following B23.
[0239] B26. The conversion includes generating a bitstream representation from the current video block. The method described in any of items A1 to B25.
[0240] B27. The conversion generates the pixel values of the current video block from the bitstream representation. A method described in any of items A1 to B25, including the above.
[0241] B28. The system is configured to perform one or more of the methods described in items A1 to B25. A video encoder device equipped with a processing unit.
[0242] B29. Configured to perform one or more of the methods described in items A1 to B25. A video decoder device equipped with a processing unit.
[0243] B30. A computer-readable medium on which a code is stored, and the code is item A1~ A processing unit executable instruction for performing one or more of the methods described in B25. To become a computer-readable medium.
[0244] C1. A method for processing visual media, For the current video block, clipping is part of the nonlinear filtering operation. To construct one or more parameters of the calculation, Based on one or more parameters, the current video block and the bits of the current video block This includes performing conversions to and from stream representations, One or more parameters are associated with the nonlinear filtering operation. Regardless of the value of the filter coefficient, the bitstream representation presents the following: method.
[0245] C2. If the value of at least one of the filter coefficients is zero, then one or more of the P The method according to item C1, wherein the meter is represented in the bitstream representation.
[0246] C3. Regardless of the value of the at least one filter coefficient, the one or more parameters The data is represented in the bitstream representation and is described in one or more of items C1 to C2. The method.
[0247] C4. The aforementioned nonlinear filtering operation filters based on gradient calculations in different directions. This is an adaptive loop filter (ALF) operation that includes determining the index, item C Methods that meet one or more of the following criteria: 1-C3.
[0248] C5. The one or more parameters mentioned above include the clipping index, item C1~ A method using one or more of the C3 methods.
[0249] D1. A method for processing visual media, For the current video block, clipping is part of the nonlinear filtering operation. To construct one or more parameters of the calculation, Based on one or more parameters, the current video block and the current video block This includes performing conversions between bitstream representations and, The current video block inherits the filter coefficients from the i-th filter, and the crystal The first rule associated with the inheritance of one or more parameters of the rapping operation is fill Unlike the second rule associated with the inheritance of the coefficient, method.
[0250] D2. The first rule above is one or more of the clipping operations from the i-th filter. A method of item D1 that specifies the exclusion of parameter inheritance.
[0251] D3. The method described in item D1, When it identifies that temporal prediction is enabled for the current video block, click A method that further includes determining whether to apply or disable ping operations.
[0252] D4. The method described in item D1, When it identifies that temporal prediction is enabled for the current video block, click Determine whether to apply or exclude the inheritance of one or more parameters of the Ping operation. Methods that further include the above.
[0253] D5. The first rule above is one or more of the clipping operations from the j-th filter. A method for item D1 that specifies that the parameters of the specified item will be inherited.
[0254] D6. The first rule above is that the clipping operation from the j-th filter is one of the first. This specifies that the above parameters are inherited, and the j-th filter and the i-th filter The method described in item D1, which is associated with a different filter set.
[0255] D7. The j-th filter and the i-th filter are different pictures and / or associated with tile groups and / or tiles and / or slices The method described in item D6.
[0256] D8. The j-th filter and the i-th filter are the same, as noted in item D6. Method of loading.
[0257] D9. The j-th filter and the i-th filter are different, as described in item D5. method.
[0258] D10. The first rule above is a field in the bitstream representation. Item D1 specifies that the clipping operation includes one or more of the aforementioned parameters. The method.
[0259] D11. The aforementioned field includes the Adaptive Parameter Set (APS) index. The method described in item D10.
[0260] D12. The clipping operation is performed on the clipped sample difference or clipping A method that includes calculating the gradient, or one or more methods of any of items D1 to D11.
[0261] D13. The clipped gradient is V_(k,l)=|k(k,l)-R(k,l)-R(k,l-1)+clip2(R (k,l)-R(k,l+1))|Includes the vertical gradient calculated as follows, cli p1 and clip2 are the first and second clipping functions, respectively, and R(i, j) The method described in item D12, which shows a sample of the current video block.
[0262] D14. The clipped gradient is H_(k,l)=|k(k,l)-R(k-1,l)+clip2(R(k,l)-R Includes horizontal gradients calculated as (k+1,l)|, and clip1 and clip 2 are the first and second clipping functions, respectively, and R(i,j) is the current The method described in item D12, which shows a sample of the video block.
[0263] D15. Based on the position of the sample used for the filtering operation, the clipping operation Item D1 further includes determining whether to selectively enable or disable the calculation. The method described in one or more of the following ~D14.
[0264] D16. The above sample consists of an encoding unit, a splitting unit, a conversion unit, and a picture If it is not located on the boundary of one or more tiles or tile groups, click The method described in item D15 disables the ping operation.
[0265] D17. The above sample consists of an encoding unit, a splitting unit, a conversion unit, and a picture , tiles, tile groups, encoded tree units, or virtual pipelining data Clipping is enabled if the unit is located on one or more boundaries. The method described in item D15.
[0266] D18. The aforementioned position is the sample, encoding unit, division unit, and conversion unit. A picture, tile, tile group, encoded tree unit, or virtual pipeline. The distance between one or more boundaries of the data units, as described in item D15. Method of loading.
[0267] D19. The method described in item D18, wherein the aforementioned distance is predetermined.
[0268] D20. The distance is signaled in the bitstream representation as described in item D18. The method.
[0269] D21. The shape of the filter used in the aforementioned nonlinear filtering operation is the current One of items D1-D20, based on the color representation of the sample associated with the video block. One or more methods.
[0270] D22. The aforementioned color representation is in 4:4:4 color format or RGB color format. The method described in item D21, including the set.
[0271] D23. The filter is a diamond filter, as described in item D21.
[0272] D24. The size of the diamond filter is 5×5 or 7×7, as described in item D23. The method.
[0273] D25. The aforementioned nonlinear filtering operation is performed based on gradient calculations in different directions. This is an adaptive loop filtering (ALF) operation that includes determining the target index. or the method described in one or more of items D1 to D24.
[0274] D26. The one or more parameters mentioned above include the clipping index, item D1 The method described in one or more of the ~D24 methods.
[0275] D27. The conversion involves generating a bitstream representation from the current video block. The method described in any of items C1 to D26.
[0276] D28. The conversion generates the pixel values of the current video block from the bitstream representation. A method described in any of items C1 to D26, including the above.
[0277] D29. Configured to perform one or more of the methods described in items C1 to D26. A video encoder device equipped with a processing unit.
[0278] D30. Configured to perform one or more of the methods described in items C1 to D26. A video decoder device equipped with a processing unit.
[0279] D31. A computer-readable medium on which a code is stored, and the code is in item C1~ A processing unit executable instruction for performing one or more of the methods described in D26. To become a computer-readable medium.
[0280] In this specification, "image processing," "image media processing," or "processing of image media" The term can refer to video encoding, video decoding, video compression, or video decompression. For example, video compression algorithms convert the pixel representation of video to a corresponding bitstream representation. It may be applied during the conversion of the current video block or the reverse conversion. The `representation` is, for example, defined by the syntax, the same location within the bitstream. Alternatively, it may correspond to bits that are spread to different locations. For example, one macroblock The value of the bitstream is determined from the perspective of the converted and encoded error residuals, and from the perspective of the bitstream. Bits in the dd and other fields may be used for encoding. Furthermore, conversion In the middle, the decoder, based on the determination as described in the solution above, performs several functions. With the knowledge that a world may or may not exist, the bitstream can be syntactically analyzed. It may be analyzed. Similarly, the encoder should include a specific syntax field. Determine whether the syntax field should be present or not, and include it in the encoded representation. Alternatively, by excluding it from the encoded representation, the encoded representation can be generated accordingly. good.
[0281] Although specific embodiments of the technology described herein have been explained for explanatory purposes, they do not deviate from the scope of the present invention. It will be understood that various modifications are possible without escaping. Therefore, The technology is not limited to what is provided in the attached claims.
[0282] The subject matter and functional operation implementations described in this patent specification are as disclosed herein. This includes construction and its structural equivalents, as well as various systems, digital electronic circuits, or computers. This may be done using software, firmware, or hardware, or Implementations of the subject matter described herein may be carried out in one or more combinations thereof. This is executed by one or more computer program products, i.e., data processing devices. To be used, or to control the operation of data processing equipment, a tangible, non-portable computer It is implemented as one or more modules of computer program instructions encoded on a readable medium. This computer-readable medium can be used as a machine-readable storage device, a machine-readable memory base. A plate, a memory device, a composition of a material that provides a machine-readable propagating signal, or one or more of these A combination of these may also be used. The term is, for example, a programmable processing unit, a computer, or multiple processing units or computers. This includes computers and all other devices, equipment, and machines used to process data. This device, in addition to the hardware, is a code that creates the execution environment for the computer program in question. For example, processing unit firmware, protocol stacks, database management systems. , operating systems, or code that constitutes one or more combinations thereof It can include.
[0283] Computer programs (programs, software, software applications) A script (also called code) is a compiled language or an interpreted language. It can be written in any form of programming language, including languages, and it is also a st A module suitable for use as an arron program or in a computing environment. Expand in any form, including as a roulette, component, subroutine, or other unit. This is possible. Computer programs do not necessarily have to deal with files in the file system. It may not always work. The program may not be able to access files that hold other programs or data. Recorded in part (for example, one or more scripts stored in a markup language document) It may be stored in a single file dedicated to the program, or in multiple files. Adjustment files (for example, one or more modules, subprograms, or parts of code) It may be stored in a file. One computer program, one A single computer located at one site, or a communication network distributed across multiple sites. It can also be deployed to run on multiple computers interconnected by [the same method]. ru.
[0284] The processing and logic flows described herein operate on input data and produce outputs. Execute one or more computer programs to perform a function by doing so. This can be done by one or more programmable processing units. Processing and logic flow —Also, logic circuits for specific applications, such as FPGAs (Field-Programmable Graph Protocols). This can be done by a to-array or ASIC (Application-Specific Integrated Circuit), and the equipment Furthermore, it can be implemented as a logic circuit for a special purpose.
[0285] Processing units suitable for executing computer programs include, for example, general-purpose and specialized microcontrollers. Both processing units, as well as any one or more processing units of any type of digital computer. This includes. Generally, the processing unit has read-only memory or random access memory or It receives instructions and data from both. An essential element of a computer is executing instructions. It consists of a processor and one or more memory devices for storing instructions and data. Generally, a computer uses one or more mass storage devices to store data, for example. For example, this may include magnetic, magneto-optical disks, or optical disks, or high-capacity versions thereof. Capable of receiving data from or transferring data to storage devices. It may be coupled to it. However, a computer does not need to have such a device. There is no computer program instruction and data storage suitable for a computer. Reading media include all forms of non-volatile memory, media, and memory devices, for example. This includes semiconductor memory devices such as EPROM, EEPROM, and flash memory devices. The processing unit and memory may be complemented by application-specific logic circuits, and It may be incorporated into logic circuits for specific purposes.
[0286] This specification, along with the drawings, is for illustrative purposes only, and "exemplary" means an example. It is intended to be used herein in the singular forms "a", "an", and "th". The "e" is intended to include the plural form unless the context explicitly indicates otherwise. Furthermore, unless the context clearly indicates otherwise, the use of "or" is incorrect. The intended use is to include "and / or".
[0287] This patent specification contains many details, but these are not part of the scope of any invention or claim. It should not be interpreted as limiting, but rather as being specific to a particular embodiment of a particular invention. This should be interpreted as a description of possible features. In this patent document, the sentence of a different embodiment The specific features described in the pulse may be implemented in combination in a single example. Conversely, The various features described in the context of one example may be described separately in multiple embodiments. Alternatively, it may be implemented in any appropriate subcombination. Furthermore, the features are specific combinations. It may be stated above that they act in combination, and it may be asserted as such from the beginning. One or more features from the claimed combination may, in some cases, be extracted from the combination. It can be done, and the claimed combination is a subcombination or subcombination. It may also be directed towards variations of the composition.
[0288] Similarly, the operation is shown in a specific order in the drawings, which is to achieve the desired result. In order to do so, these actions must be performed in a specific or sequential order as indicated. It should not be understood as requiring all indicated actions to be performed. Furthermore, the separation of the various system components in the examples described in this patent specification is It should not be understood that such separation is necessary in all embodiments.
[0289] Only a few implementation forms and examples are described and illustrated in this patent document. Other embodiments, extensions, and modifications are possible based on the content.
Claims
1. A method for processing video data, This involves deciding whether to apply a nonlinear filtering operation to the current video region of the video, With respect to the current video region, determine at least one clipping index syntax element of the clipping operation, which is part of the nonlinear filtering operation. Based on the aforementioned at least one clipping index syntax element, a conversion is performed between the current video region and the video bitstream. It has, At least one first filtering index is derived, The first clipping parameter set is derived based on the at least one first filtering index and the clipping index syntax elements, The aforementioned at least one clipping index syntax element is coded with a fixed length of N bits. method.
2. N is 2, or N is shown in the bitstream. The method according to claim 1.
3. A first set of filtering coefficients is derived based on at least one first filtering index and a coefficient parameter syntactic element, The value of the at least one clipping index syntax element is determined independently of the first set of filtering coefficients. If the value of the first set of filtering coefficients is zero, the at least one clipping index syntax element is included in the bitstream. The method according to claim 1.
4. The aforementioned at least one clipping index syntax element is included as a field in the adaptive parameter set. The method according to claim 1.
5. The at least one first filtering index is derived based on multiple sample differences in different directions. The aforementioned current video area is divided into multiple M*M video sub-areas. The aforementioned multiple sample differences in different directions are derived for each M*M video sub-region. M is equal to 2 or 4. The method according to claim 1.
6. The aforementioned multiple sample differences in different directions are derived based on a 1:T subsampling rate. T is greater than 1. The method according to claim 5.
7. Deriving the first clipping parameter set based on the at least one first filtering index and the at least one clipping index syntax element, The method further includes performing the nonlinear filtering operation based on a first set of filtering coefficients and a first set of clipping parameters, The at least one clipping index syntax element exists in the bitstream independently of the values of the first filtering coefficient set. The method according to claim 1.
8. The at least one clipping index syntax element is present in the bitstream if at least one value of the first set of filtering coefficients is zero. The method according to claim 7.
9. The at least one clipping index syntax element is present in the bitstream regardless of the value of the first set of filtering coefficients. The method according to claim 7.
10. The aforementioned at least one clipping index syntax element and at least one coefficient parameter syntax element reside within the same adaptive parameter set. The method according to claim 7.
11. The at least one coefficient parameter syntax element includes the absolute value of the coefficient, The aforementioned at least one clipping index syntax element is coded with a fixed length of 2 bits, The aforementioned at least one coefficient parameter syntactic element is coded using a fixed-order exponential Golomb algorithm. The method according to claim 10.
12. The current video region is a coding tree block or slice. The method according to claim 1.
13. The conversion includes encoding the current video region into the bitstream. The method according to claim 1.
14. The conversion includes decoding the current video region from the bitstream. The method according to claim 1.
15. A device for processing video data comprising a processing unit and a non-temporary memory in which instructions are stored, When the aforementioned instruction is executed by the processing unit, the processing unit will, This involves deciding whether to apply a nonlinear filtering operation to the current video region of the video, With respect to the current video region, determine at least one clipping index syntax element of the clipping operation, which is part of the nonlinear filtering operation. Based on the aforementioned at least one clipping index syntax element, a conversion is performed between the current video region and the video bitstream. Make it run, At least one first filtering index is derived, The first clipping parameter set is derived based on the at least one first filtering index and the at least one clipping index syntax element, The aforementioned at least one clipping index syntax element is coded with a fixed length of N bits. Device.
16. N is 2, or N is shown in the bitstream. A first set of filtering coefficients is derived based on the at least one first filtering index and the coefficient parameter syntactic elements, The value of the at least one clipping index syntax element is determined independently of the first set of filtering coefficients. If the value of the first set of filtering coefficients is zero, the at least one clipping index syntax element is included in the bitstream. The aforementioned at least one clipping index syntax element is included as a field in the adaptive parameter set, The at least one first filtering index is derived based on multiple sample differences in different directions. The aforementioned current video area is divided into multiple M*M video sub-areas. The aforementioned multiple sample differences in different directions are derived for each M*M video sub-region. M is equal to 2 or 4, The aforementioned multiple sample differences in different directions are derived based on a 1:T subsampling rate. T is greater than 1. The apparatus according to claim 15.
17. A non-temporary computer-readable storage medium for storing instructions, The aforementioned instruction is given to the processing unit, This involves deciding whether to apply a nonlinear filtering operation to the current video region of the video, With respect to the current video region, determine at least one clipping index syntax element of the clipping operation, which is part of the nonlinear filtering operation. Based on the aforementioned at least one clipping index syntax element, a conversion is performed between the current video region and the video bitstream. Make it run, At least one first filtering index is derived, The first clipping parameter set is derived based on the at least one first filtering index and the at least one clipping index syntax element, The aforementioned at least one clipping index syntax element is coded with a fixed length of N bits. A non-temporary computer-readable storage medium.
18. N is 2, or N is shown in the bitstream. A first set of filtering coefficients is derived based on the at least one first filtering index and the coefficient parameter syntactic elements, The value of the at least one clipping index syntax element is determined independently of the first set of filtering coefficients. If the value of the first set of filtering coefficients is zero, the at least one clipping index syntax element is included in the bitstream. The aforementioned at least one clipping index syntax element is included as a field in the adaptive parameter set, The at least one first filtering index is derived based on multiple sample differences in different directions. The aforementioned current video area is divided into multiple M*M video sub-areas. The aforementioned multiple sample differences in different directions are derived for each M*M video sub-region. M is equal to 2 or 4, The aforementioned multiple sample differences in different directions are derived based on a 1:T subsampling rate. T is greater than 1. A non-temporary computer-readable storage medium according to claim 17.
19. A method for storing a video bitstream, This involves deciding whether to apply a nonlinear filtering operation to the current video region of the video, With respect to the current video region, determine at least one clipping index syntax element of the clipping operation, which is part of the nonlinear filtering operation. The bitstream of the video is generated based on the at least one clipping index syntax element, The bitstream is stored on a non-temporary computer-readable recording medium, It has, At least one first filtering index is derived, The first clipping parameter set is derived based on the at least one first filtering index and the at least one clipping index syntax element, The aforementioned at least one clipping index syntax element is coded with a fixed length of N bits. method.
20. N is 2, or N is shown in the bitstream. A first set of filtering coefficients is derived based on the at least one first filtering index and the coefficient parameter syntactic elements, The value of the at least one clipping index syntax element is determined independently of the first set of filtering coefficients. If the value of the first set of filtering coefficients is zero, the at least one clipping index syntax element is included in the bitstream. The aforementioned at least one clipping index syntax element is included as a field in the adaptive parameter set, The at least one first filtering index is derived based on multiple sample differences in different directions. The aforementioned current video area is divided into multiple M*M video sub-areas. The aforementioned multiple sample differences in different directions are derived for each M*M video sub-region. M is equal to 2 or 4, The aforementioned multiple sample differences in different directions are derived based on a 1:T subsampling rate. T is greater than 1. The method according to claim 19.
Citation Information
Patent Citations
JPP7405865B