CN112997504A - Component-based loop filter - Google Patents

Component-based loop filter Download PDF

Info

Publication number
CN112997504A
CN112997504A CN201980072623.0A CN201980072623A CN112997504A CN 112997504 A CN112997504 A CN 112997504A CN 201980072623 A CN201980072623 A CN 201980072623A CN 112997504 A CN112997504 A CN 112997504A
Authority
CN
China
Prior art keywords
component
video
adaptive loop
chroma
region
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201980072623.0A
Other languages
Chinese (zh)
Other versions
CN112997504B (en
Inventor
张莉
张凯
刘鸿彬
王悦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Original Assignee
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd, ByteDance Inc filed Critical Beijing ByteDance Network Technology Co Ltd
Publication of CN112997504A publication Critical patent/CN112997504A/en
Application granted granted Critical
Publication of CN112997504B publication Critical patent/CN112997504B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A component-based loop filter is described. In an exemplary aspect, a method for video processing includes: making a decision for a current Codec Tree Unit (CTU) of the video regarding a value of a first flag associated with an adaptive loop filter of a first component; and signaling a second flag associated with the adaptive loop filter for the second component based on the decision.

Description

Component-based loop filter
This application is intended to claim the priority and benefit of international patent application No. pct/CN2018/114834 filed on 9/11/2018 in due course, according to applicable patent laws and/or rules in accordance with the paris convention. The entire disclosure of international patent application No. pct/CN2018/114834 is incorporated by reference as part of the disclosure of the present application.
Technical Field
This patent document relates to video encoding and decoding techniques, devices and systems.
Background
Despite advances in video compression, digital video still accounts for the largest bandwidth usage on the internet and other digital communication networks. As the number of connected user devices capable of receiving and displaying video increases, it is expected that the bandwidth requirements for digital video usage will continue to grow.
Disclosure of Invention
Described are devices, systems, and methods related to digital video codecs, and more particularly, to adaptive loop filtering for video codecs. The described methods may be applied to existing video codec standards (e.g., High Efficiency Video Codec (HEVC)) and future video codec standards (e.g., multifunctional video codec (VVC)) or codecs.
In one representative aspect, the disclosed technology can be used to provide a method for video processing. The method comprises the following steps: determining a first set of filter coefficients for a current region of the video based on a second set of filter coefficients for a second region of the video collocated with the current region of the video; and based on performing a filtering operation using the first set of filter coefficients, reconstructing a current region of the video from the corresponding bitstream representation.
In another representative aspect, the disclosed technology can be used to provide a method for video processing. The method comprises the following steps: determining, for a first color component of a current region of the video, values of one or more flags in a bitstream representation of the current region of the video based on a value corresponding to another color component; configuring a filtering operation based on the values of the one or more flags; and reconstructing a current region of the video from the bitstream representation using a filtering operation.
In yet another representative aspect, the disclosed technology can be used to provide a method for video processing. The method comprises the following steps: determining a set of filter coefficients for a filtering operation based on a color format of a current region of the video; and reconstructing a current region of the video from the corresponding bitstream representation using a filtering operation.
In another representative aspect, the disclosed technology can be used to provide a method for video processing. The method comprises the following steps: determining a first set of filter coefficients for a current region of the video for a transition between the current region of the video and a bitstream representation of the current region of the video based on a second set of filter coefficients for a second region of the video collocated with the current region of the video; and performing the conversion by performing a filtering operation using the first set of filter coefficients.
In another representative aspect, the disclosed technology can be used to provide a method for video processing. The method comprises the following steps: determining a first flag for a transition between the current processing unit of video and a bitstream representation of the current processing unit of video based on a second processing unit of video collocated with the current processing unit of video, wherein the first flag indicates an on or off condition of an adaptive loop filter of the current processing unit of video; and performing the conversion by performing a filtering operation using the first flag.
In another representative aspect, the disclosed technology can be used to provide a method for video processing. The method comprises the following steps: signaling information about the number and/or size of regions of a picture of the video for a transition between the picture of the video and a bitstream representation of the video; dividing the picture into regions based on the information; and performing the conversion based on the divided regions.
In another representative aspect, the disclosed technology can be used to provide a method for video processing. The method comprises the following steps: parsing a bitstream representation of the video for a conversion between a picture of the video and the bitstream representation of the video to obtain information on the number and/or size of regions of the picture of the video; and performing the conversion based on the information.
In another representative aspect, the disclosed technology can be used to provide a method for video processing. The method comprises the following steps: determining a first set of filter coefficients for a first region of the video for a transition between a bitstream representation of the first region of the video and the first region of the video based on a second set of filter coefficients for the second region of the video and a set of differences between the first set of filter coefficients and the second set of filter coefficients; and performing the conversion by performing a filtering operation using the first set of filter coefficients.
In another representative aspect, the disclosed technology can be used to provide a method for video processing. The method comprises the following steps: merging at least two different regions of the video to obtain a merged region; and performing a conversion between a merged region of the video and a bitstream representation of the merged region by performing a filtering operation using the same selected filter coefficients, wherein an index of a first one of the at least two different regions of the video is not consecutive to an index of a second one of the at least two different regions of the video.
In another representative aspect, the disclosed technology can be used to provide a method for video processing. The method comprises the following steps: making a decision for a current Codec Tree Unit (CTU) of the video regarding a value of a first flag associated with an adaptive loop filter of a first component; and signaling a second flag associated with the adaptive loop filter for the second component based on the decision.
In another representative aspect, the disclosed technology can be used to provide a method for video processing. The method comprises the following steps: parsing a bitstream representation of a current Codec Tree Unit (CTU) of the video to determine a value of a first flag of a first component of the CTU of the video based on a value of a second flag corresponding to a second component of the CTU; configuring a filtering operation based on a value of the first flag; and performing a conversion between a current CTU of the video and a bitstream representation of the video including the current CTU using a filtering operation.
In another representative aspect, the disclosed technology can be used to provide a method for video processing. The method comprises the following steps: making a determination regarding a color format of a current region of the video; and determining an adaptive loop filter for the one or more chroma components based on the determination.
In yet another representative aspect, the above-described methods are embodied in the form of processor executable code and stored in a computer readable program medium.
In yet another representative aspect, an apparatus configured or operable to perform the above-described method is disclosed. The apparatus may include a processor programmed to implement the method.
In yet another representative aspect, a video decoder device may implement a method as described herein.
The above and other aspects and features of the disclosed technology are described in more detail in the accompanying drawings, the description and the claims.
Drawings
Fig. 1 shows an example of an encoder block diagram for video codec.
Fig. 2A, 2B, and 2C show examples of adaptive loop filter (GALF) filter shapes based on geometric transforms.
Figure 3 shows an example of a flow chart of GALF encoder decisions.
Fig. 4A-4D illustrate example sub-sampling Laplacian (Laplacian) calculations for Adaptive Loop Filter (ALF) classification.
Fig. 5 shows an example of a luminance filter shape.
Fig. 6 shows an example of region division of a Wide Video Graphics Array (WVGA) sequence.
FIG. 7 illustrates a flow diagram of an example method for linear model derivation across component predictions in accordance with the disclosed technology.
FIG. 8 illustrates a flow diagram of another example method for linear model derivation across component predictions in accordance with the disclosed technology.
FIG. 9 illustrates a flow diagram of yet another example method for linear model derivation across component predictions in accordance with the disclosed technology.
FIG. 10 is a flow diagram of an example method of video processing.
FIG. 11 is a flow diagram of an example method of video processing.
FIG. 12 is a flow diagram of an example method of video processing.
FIG. 13 is a flow diagram of an example method of video processing.
FIG. 14 is a flow diagram of an example method of video processing.
FIG. 15 is a flow diagram of an example method of video processing.
FIG. 16 is a flow diagram of an example method of video processing.
FIG. 17 is a flow diagram of an example method of video processing.
FIG. 18 is a flow diagram of an example method of video processing.
Fig. 19 is a block diagram of an example of a hardware platform for implementing the visual media decoding or visual media encoding techniques described in this document.
Detailed Description
Due to the increasing demand for higher resolution video, video coding methods and techniques are ubiquitous in modern technology. Video codecs typically include electronic circuits or software that compress or decompress digital video, and are continually being improved to provide higher codec efficiency. Video codecs convert uncompressed video into a compressed format and vice versa. There is a complex relationship between video quality, the amount of data used to represent the video (determined by the bit rate), the complexity of the encoding and decoding algorithms, the susceptibility to data loss and errors, ease of editing, random access, and end-to-end delay (latency). The compression format typically conforms to a standard video compression specification, such as the High Efficiency Video Codec (HEVC) standard (also known as h.265 or MPEG-H Part 2), the to-do general video codec (VVC) standard, or other current and/or future video codec standards.
In some embodiments, reference software called Joint Exploration Model (JEM) is used to explore future video codec techniques. In JEM, several coding tools employ sub-block based prediction, such as affine prediction, optional temporal motion vector prediction (ATMVP), spatial-temporal motion vector prediction (STMVP), bi-directional optical flow (BIO), frame rate up-conversion (FRUC), Locally Adaptive Motion Vector Resolution (LAMVR), Overlapped Block Motion Compensation (OBMC), Local Illumination Compensation (LIC), and decoder-side motion vector refinement (DMVR).
Embodiments of the disclosed techniques may be applied to existing video codec standards (e.g., HEVC, h.265) and future standards to improve runtime performance. Section headings are used in this document to enhance readability of the specification, and do not limit discussion or the embodiments (and/or implementations) in any way to the corresponding sections.
1 example of color space and chroma sub-sampling
A color space, also called a color model (or color system), is an abstract mathematical model that simply describes a color range as a tuple of numbers (tuple), typically 3 or 4 values or color components (e.g., RGB). Basically, the color space is a specification of the coordinate system and the subspace.
For video compression, the most common color spaces are YCbCr and RGB.
YCbCr, Y 'CbCr or Y Pb/Cb Pr/Cr, also known as YCbCr or Y' CbCr, are a series of color spaces used as part of a color image pipeline (pipeline) in video and digital photography systems. Y' is a luminance component, and CB and CR are blue-difference (blue-difference) and red-difference (red-difference) chrominance components. Y' (with prime) is distinguished from Y as luminance, meaning that the light intensity is nonlinearly encoded based on the RGB primaries of gamma correction.
Chroma subsampling is the practice of encoding images by achieving a lower resolution for chroma information than for luma information, taking advantage of the lower acuity of the human visual system for chroma than for luma.
1.14: 4:4 color format
Each of the three Y' CbCr components has the same sampling rate, so there are no chroma subsamples. This scheme is sometimes used in high-end film scanners and in post-production of motion pictures.
1.24: 2:2 color format
The two chrominance components are sampled at half the sampling rate of the luminance, e.g. half the horizontal chrominance resolution. This reduces the bandwidth of the uncompressed video signal by one third with little visual difference.
1.34: 2:0 color format
In 4:2:0, the horizontal sampling is doubled compared to 4:1:1, but since in this scheme the Cb and Cr channels are only sampled on every alternate line, the vertical resolution is halved. Therefore, the data rates are the same. Cb and Cr are sub-sampled by a factor of 2 in the horizontal and vertical directions, respectively. There are three variations of the 4:2:0 scheme, with different horizontal and vertical positions.
In MPEG-2, Cb and Cr are collocated horizontally (cosine). Cb and Cr are located between pixels in the vertical direction (interstitially located).
In JPEG/JFIF, H.261, and MPEG-1, Cb and Cr are interstitially located, midway between the alternating luminance samples.
Omicron DV, Cb and Cr are collocated in the horizontal direction in 4:2: 0. In the vertical direction, they are co-located on alternate lines.
Example of codec flow for a 2-representative video codec
Fig. 1 shows an example of an encoder block diagram for a VVC, which contains three loop filter blocks: deblocking Filter (DF), Sample Adaptive Offset (SAO), and ALF. Unlike DF using a predetermined filter, SAO and ALF reduce a mean square error between an original sample and a reconstructed sample by adding an offset and applying a Finite Impulse Response (FIR) filter, respectively, and side information (side information) signaling the offset and filter coefficients of a current picture. ALF is located in the last processing stage of each picture and can be viewed as a tool that attempts to capture and fix artifacts created by previous stages.
Example of adaptive Loop Filter based on geometric transformation in 3JEM
In JEM, a geometric transform-based adaptive loop filter (GALF) with block-based filter adaptation is applied. For the luminance component, one of 25 filters is selected for each 2x2 block based on the direction and activity of the local gradient.
3.1 examples of Filter shapes
In JEM, up to three diamond filter shapes may be selected for the luminance component (as shown in FIGS. 2A, 2B, and 2C for the 5 × 5 diamond, the 7 × 7 diamond, and the 9 × 9 diamond, respectively). The index is signaled at the picture level to indicate the filter shape for the luma component. For chroma components in the picture, a 5 × 5 diamond is always used.
3.1.1 Block Classification
Each 2x2 block is classified into one of 25 classifications. Based on directionality D and activity
Figure BDA0003049766490000061
The quantization value of (C) is derived as follows:
Figure BDA0003049766490000062
to calculate D and
Figure BDA0003049766490000063
the gradients in the horizontal, vertical and two diagonal directions are first calculated using the 1-D Laplacian:
Figure BDA0003049766490000071
Figure BDA0003049766490000072
Figure BDA0003049766490000073
Figure BDA0003049766490000074
the indices i and j refer to the coordinates of the top-left samples in the 2 × 2 block, and R (i, j) indicates the reconstructed sample at coordinate (i, j).
The D maxima and minima of the gradients in the horizontal and vertical directions are then set to:
Figure BDA0003049766490000075
and the maximum and minimum values of the gradients in the two diagonal directions are set to:
Figure BDA0003049766490000076
to derive the values of the directivity D, these values are compared with each other and with two thresholds t1And t2And (3) comparison:
step 1, if
Figure BDA0003049766490000077
And
Figure BDA0003049766490000078
both true, D is set to 0.
Step 2, if
Figure BDA0003049766490000079
Continuing from step 3; otherwise, continue from step 4.
Step 3If, if
Figure BDA00030497664900000710
D is set to 2; otherwise D is set to 1.
Step 4, if
Figure BDA00030497664900000711
D is set to 4; otherwise D is set to 3.
The activity value a is calculated as:
Figure BDA00030497664900000712
a is further quantized to a range of 0 to 4 (inclusive), and the quantized value is referred to as
Figure BDA00030497664900000713
For two chroma components in a picture, no classification method is applied, i.e. a single set of ALF coefficients is applied to each chroma component.
3.1.2 geometric transformation of Filter coefficients
Before filtering each 2x2 block, a geometric transformation such as rotation or diagonal and vertical flipping is applied to the filter coefficients f (k, l) depending on the gradient values computed for that block. This is equivalent to applying these transforms to samples in the filter support region. The idea is to make the different blocks applying ALF more similar by aligning their directivities.
Three geometric transformations were introduced, including diagonal, vertical flip and rotation:
diagonal: f. ofD(k,l)=f(l,k),
And (3) vertically overturning: gV(k,l)=f(k,K-l-1), (9)
Rotating: f. ofR(k,l)=f(K-l-1,k).
Here, K is the size of the filter, and 0 ≦ K, l ≦ K-1 is the coefficient coordinate, such that position (0,0) is in the upper left corner and position (K-1 ) is in the lower right corner. A transform is applied to the filter coefficients f (k, l) based on the gradient values calculated for the block. The relationship between the transformation and the four gradients in the four directions is summarized in table 1.
Table 1: mapping of gradients and transformations computed for a block
Gradient value Transformation of
gd2<gd1And g ish<gv Without conversion
gd2<gd1And g isv<gh Opposite angle
gd1<gd2And g ish<gv Vertically flipped
gd1<gd2And g isv<gh Rotate
3.1.3 Signaling of Filter parameters
In JEM, the GALF filter parameters are signaled to the first CTU, i.e., after the slice header and before the SAO parameters of the first CTU. Up to 25 sets of luminance filter coefficients may be signaled. To reduce the bit overhead, filter coefficients of different classes may be combined. In addition, the GALF coefficients of the reference picture are stored and allowed to be reused as the GALF coefficients of the current picture. The current picture may choose to use the GALF coefficients stored for the reference picture and bypass the GALF coefficient signaling. In this case, only the index of one of the reference pictures is signaled and the stored GALF coefficients of the indicated reference picture are inherited to the current picture.
To support GALF temporal prediction, a candidate list of a GALF filter set is maintained. At the start of decoding a new sequence, the candidate list is empty. After decoding one picture, the corresponding set of filters may be added to the candidate list. Once the size of the candidate list reaches the maximum allowed value (i.e., 6 in the current JEM), the new set of filters overwrites the oldest set in decoding order, i.e., applying a first-in-first-out (FIFO) rule to update the candidate list. To avoid repetition, a set may be added to the list only when the corresponding picture does not use GALF temporal prediction. To support temporal scalability, there are multiple candidate lists of a filter set, and each candidate list is associated with a temporal layer. More specifically, each array assigned by a temporal layer index (TempIdx) may constitute a filter set with previously decoded pictures equal to the lower TempIdx. For example, the kth array is assigned to be associated with a TempIdx equal to k, and it contains only the set of filters from pictures with TempIdx less than or equal to k. After a picture is coded, the filter set associated with that picture will be used to update those arrays associated with equal or higher TempIdx.
Temporal prediction of GALF coefficients is used for inter-coded frames to minimize signaling overhead. For intra frames, temporal prediction is not available and each classification is assigned a set of 16 fixed filters. To indicate the use of fixed filters, the flag for each class is signaled and, if necessary, the index of the selected fixed filter. Even when a fixed filter is selected for a given classification, the coefficients f (k, l) of the adaptive filter may be passed for that classification, in which case the coefficients of the filter to be applied to the reconstructed image are the sum of two sets of coefficients.
The filtering process of the luminance component may be controlled at the CU level. A flag is signaled to indicate whether GALF is applied to the luma component of the CU. For chroma components, whether or not GALF is applied is indicated only at the picture level.
3.1.4 Filter Process
At the decoder side, each sample R (i, j) within a filter block, when GALF is enabled for the block, produces a sample value R' (i, j), as shown below, where L represents the filter length, fm,nRepresents the filter coefficients, and f (k, l) represents the decoded filter coefficients.
Figure BDA0003049766490000091
3.1.5 encoder-side Filter parameter determination procedure
The overall encoder decision process for GALF is shown in figure 3. For each CU's luma samples, the encoder makes a decision whether or not to apply GALF, and an appropriate signaling flag is included in the slice header. For chroma samples, the decision to apply the filter is made based on the picture level instead of the CU level. Further, the chroma GALF of a picture is checked only when the luma GALF is enabled for the picture.
Example of adaptive loop Filter based on geometric transformations in 4VVC
The current design of GALF in VVC has the following major changes compared to in JEM:
1) the adaptive filter shape is removed. Only the 7x7 filter shape is allowed for the luminance component, and
allowing a 5x5 filter shape for the chroma component.
2) Both the temporal prediction of the ALF parameters and the prediction from the fixed filter are removed.
3) For each CTU, a one-bit flag is signaled that informs whether the ALF is enabled or disabled.
4) The calculation of the classification index is performed at the 4x4 level instead of the 2x2 level. Furthermore, as proposed by jfet-L0147, a method of laplacian computation of subsampling using ALF classification is employed. More specifically, there is no need to calculate the horizontal/vertical/45 diagonal/135 degree gradient for each sample point within a block. Otherwise, 1:2 sub-sampling is used.
Example of region-based adaptive Loop Filter in 5AVS2
ALF is the final stage of loop filtering. This process is divided into two stages. The first stage is filter coefficient derivation. To train the filter coefficients, the encoder classifies the reconstructed pixels of the luma component into 16 regions and trains a set of filter coefficients for each class using wiener-hopf equations (wiener-hough equations) to minimize the mean square error between the original and reconstructed frames. To reduce the redundancy between these 16 sets of filter coefficients, the encoder will adaptively combine them based on rate-distortion performance. Up to 16 different filter sets may be assigned to the luminance component and only one filter set may be assigned to the chrominance component. The second stage is the filter decision, which includes the frame level and the LCU level. First, the encoder decides whether to perform frame level adaptive loop filtering. If the frame level ALF is on, the encoder further determines whether to perform LCU level ALF.
5.1 Filter shape
The filter shape employed in AVS-2 is a 7x7 cross with a 3 x 3 square superimposed as shown in fig. 5 for the luminance and chrominance components. Each square in fig. 5 corresponds to a sample point. Thus, a total of 17 samples are used to derive a filtered value for the sample at location C8. Considering the overhead of transmitting coefficients, only a point-symmetric filter, C0, C1.., C8, which leaves only nine coefficients, is used, which reduces the number of filter coefficients to half and reduces the number of multiplication operations in the filtering to half. The point symmetric filter may also reduce the half calculation of one filtered sample, e.g., only 9 multiplications and 14 additions per filtered sample.
5.2 region-based adaptive merging
To accommodate different codec errors, AVS-2 employs multiple adaptive loop filters on a region basis for the luminance component. The luminance component is divided into 16 elementary areas of approximately equal size, where each elementary area is aligned with the Largest Coding Unit (LCU) boundary, as shown in fig. 6, and a Wiener filter is derived for each area. The more filters that are used, the more distortion is reduced, but the bits used to encode these coefficients increase with the number of filters. For best rate-distortion performance, the regions may be combined into fewer larger regions, which share the same filter coefficients. To simplify the merging process, each region is assigned an index according to a modified Hilbert (Hilbert) order based on the image prior correlation. Two regions with consecutive indices may be merged based on the rate-distortion cost.
The mapping information between the regions should be signaled to the decoder. In AVS-2, the number of basic regions is used to represent the merging result, and the filter coefficients are sequentially compressed according to their region order. For example, when {0,1}, {2,3,4}, {5,6,7,8,9} and the remaining basic regions are respectively combined into one region, only three integers are coded to represent the combined mapping, i.e., 2,3, 5.
5.3 Signaling of side information
A plurality of switch flags are also used. The sequence switch flag adaptive _ loop _ filter _ enable is used to control whether an adaptive loop filter is applied to the entire sequence. The picture switch flag picture _ ALF _ enable [ i ] controls whether ALF is applied to the corresponding ith picture component. The corresponding LCU level flag and filter coefficients for the color component are sent only if picture _ alf _ enable [ i ] is enabled. LCU level flags LCU _ ALF _ enable [ k ] control whether ALF is enabled for the corresponding kth LCU and interleaved into the stripe data. The decision of the different levels of adjustment flags is all based on the rate-distortion cost. The high flexibility further enables the ALF to greatly improve the coding and decoding efficiency.
In some embodiments, and for the luminance component, there may be up to 16 sets of filter coefficients.
In some embodiments, and for each chroma component (Cb and Cr), one set of filter coefficients may be sent.
6 disadvantages of the prior embodiment
In some existing implementations (e.g., area-based ALF design in AVS-2), the following problems are encountered:
(1) for region-based ALF design, the correlation of filter coefficients between regions in the current picture and previously coded pictures is not exploited.
(2) The area size is fixed for all kinds of video, regardless of the video resolution. For video with high resolution (e.g., 4096x2048), the division into 16 regions may result in too large a region.
(3) For each LCU, a one-bit flag for each color component is signaled to indicate whether ALF is applied. However, there is a certain dependency between luminance and chrominance, and when the ALF is not applied to the luminance, it is not typically applied to the corresponding chrominance block.
The GALF design in VVC has the following problems:
(1) it is designed for a 4:2:0 color format. For the 4:4:4 color format, the luma and chroma components may have similar importance. It is unclear how GALF is applied better.
7 improved exemplary method in adaptive loop filtering
Embodiments of the disclosed technology overcome the disadvantages of the existing implementations, thereby providing higher coding and decoding efficiency for video coding and decoding. In the following examples described for various embodiments, it is clarified that improvements in adaptive loop filtering may enhance existing and future video codec standards based on the disclosed techniques. The examples of the disclosed technology provided below illustrate the general concepts and are not intended to be construed as limiting. In examples, various features described in these examples may be combined unless explicitly indicated to the contrary.
Example 1.It is proposed that the filter coefficients of a region within a current slice/picture/group can be predicted/derived from the filter coefficients used in (e.g. collocated) regions in different pictures.
(a) In one example, a flag for a region may be signaled first to indicate whether filter coefficients are predicted/derived from those used in the collocated region.
(b) In one example, the collocated region should be located in a reference picture of the current picture.
(c) Further, alternatively, an index may be signaled to indicate from which picture the filter coefficients may be predicted/derived.
(d) In one example, another flag for a region may be signaled to indicate whether its filter coefficients are predicted/derived from the same picture as another region (e.g., its neighboring region).
(i) In one example, additional information is signaled to indicate from which region the filter coefficients are predicted/derived.
Example 2.A flag may be signaled at a higher level (i.e. a larger set of video data, such as picture/slice group/slice) to indicate whether the filter coefficients of the entire region are predicted/derived from its corresponding collocated region in a different picture.
(a) In one example, the different picture should be a reference picture for the current picture.
(b) Further alternatively, an index may be signaled to indicate from which picture the filter coefficients may be predicted/derived.
Example 3.The region or ALF on/off flag of the CTU may be inherited from (e.g., collocated) regions/(e.g., collocated) CTUs in different pictures.
(a) In one example, the collocated region should be located in a reference picture of the current picture.
(b) A flag is signaled at a higher level (i.e. a larger set of video data, such as picture/slice group/slice) to indicate whether the on/off flag of all regions is inherited from its corresponding collocated region in a different picture.
(c) An index may be signaled in the picture/slice header to indicate from which picture the on/off flag may be inherited.
Example 4.The region size or number of regions may be signaled in the SPS, VPS, PPS, picture header or slice header.
(a) In one example, several sets of area numbers/sizes may be predefined. The index to the set may be signaled.
(b) In one example, the number of regions or region size may depend on the width and/or height of the picture, and/or the picture/slice type.
Example 5.Predictive coding of the filter coefficients associated with the two regions may be utilized.
(a) When signaling the filter coefficients of the first region, the difference compared to the filter coefficients of the second region may be signaled.
(i) The second area may be an area having consecutive indexes of the first area.
(ii) The second region may be a region having a largest index value among regions previously coded and decoded with ALF enabled.
Example 6.It is proposed that different regions, even with non-contiguous indices, can be merged.
(a) The merge regions may share the same set of selected filters.
(b) In one example, which regions to merge are signaled in the picture header.
(c) In one example, for each region, an index of the selected set of filter coefficients may be sent.
Example 7.For a given CTU, the signaling of the ALF on/off flag for the chroma component may depend on the on/off value of the luma component.
(a) The signaling of the ALF on/off flag for a chroma component may depend on the on/off value of another chroma component, e.g., Cb depends on Cr, or Cr depends on Cb.
(b) In one example, when the ALF is disabled for a color component, the ALF is automatically disabled for another one or more color components of the CTU without any signaling.
(c) In one example, the ALF on/off value of one color component may be used as a context for encoding and decoding the ALF on/off value of another color component.
Example 8.How to handle chrominance colorThe ALF of a component may depend on the color format.
(a) Whether or not to apply the classification of the chrominance components depends on the color format. For example, for 4:4:4, block-based classification of chroma components may be applied, while not allowing for 4:2: 0.
(b) Whether multiple sets of filters for the chroma components are allowed depends on the color format. For example, for 4:4:4, multiple sets of filters for the chroma components may be applied, while for 4:2:0, one set of filters is applied to both color components.
(c) Whether different filters for the two chrominance components are allowed depends on the color format. For example, for 4:4:4, at least two sets of filters for the chrominance components may be applied, wherein at least one set is for one color component, respectively. Whereas for 4:2:0, one set of filters is applied to both color components.
(d) In one example, when the color format is 4:4:4, the two chroma components may use different filters or different sets of filters, or the selection of filters is based on the classification result of each color component.
The examples described above may incorporate the context of the methods described below (e.g., methods 700, 800, and 900) that may be implemented at a video decoder or video encoder.
Fig. 7 shows a flow diagram of an exemplary method for video processing. The method 700 includes, at step 710, determining a first set of filter coefficients for a current region of the video based on a second set of filter coefficients for a second region of the video collocated with the current region of the video.
The method 700 includes, at step 720, reconstructing a current region of the video from the corresponding bitstream representation based on performing a filtering operation using the first set of filter coefficients. In some embodiments, the filtering operation comprises loop filtering (or adaptive loop filtering).
In some embodiments, and in the context of example 1, the second region of the video is from a different picture than a current picture of the current region of the video. In other embodiments, the different picture is a reference picture for the current picture.
In some embodiments, and in the context of example 5, the first set of filter coefficients is predicted from the second set of filter coefficients using a prediction operation. In an example, the prediction operation is controlled based on a flag in the bitstream representation.
In some embodiments, and in the context of example 5, the first set of filter coefficients is based on the second set of filter coefficients and a set of differences between the first set of filter coefficients and the second set of filter coefficients. In an example, the index of the second region of the video is consecutive to the index of the current region of the video. In another example, the index of the second region of the video corresponds to the maximum index value of the previously coded region for which the filtering operation is enabled. In the context of example 6, the index of the second region of the video is not consecutive to the index of the current region of the video.
Fig. 8 shows a flow diagram of an exemplary method for video processing. The method 800 includes, at step 810, determining a value of one or more flags in a bitstream representation of a current region of the video for a first color component of the current region of the video based on a value corresponding to another color component. In some embodiments, the color component may be a luminance component or another chrominance component, e.g., Y, Cb and Cr of a YUV file.
The method 800 includes, at step 820, configuring a filtering operation based on values of one or more flags. In some embodiments, the filtering operation comprises loop filtering (or adaptive loop filtering).
The method 800 includes, at step 830, reconstructing a current region of video from the bitstream representation using a filtering operation.
In some embodiments, and in the context of example 7, the value of the one or more flags corresponding to the first chroma component is based on the value of the one or more flags corresponding to the luma component of the current region of the video.
In some embodiments, and in the context of example 7, the value of the one or more flags corresponding to the first chroma component is based on the value of the one or more flags corresponding to the second chroma component of the current region of the video. In an example, the first chrominance component is a blue-difference chrominance component and the second chrominance component is a red-difference chrominance component. In another example, the first chroma component is a red-difference chroma component and the second chroma component is a blue-difference chroma component.
In some embodiments, and in the context of example 8, the value of the one or more flags corresponding to the first chroma component is based on a color format of a current region of the video.
Fig. 9 shows a flow diagram of an exemplary method for video processing. The method 900 includes, at step 910, determining a set of filter coefficients for a filtering operation based on a color format of a current region of the video. In some embodiments, the filtering operation comprises loop filtering (or adaptive loop filtering).
The method 900 includes, at step 920, reconstructing a current region of the video from a corresponding bitstream representation using a filtering operation.
In some embodiments, and in the context of example 8, different sets of filter coefficients are used for filtering operations of different chroma components of a current region of video. In other embodiments, multiple sets of filter coefficients are used for a filtering operation of at least one chroma component of a current region of the video. In the example, the color format is 4:4: 4.
Fig. 10 shows a flow diagram of an exemplary method for video processing. The method 1000 includes: determining (1002) a first set of filter coefficients for a current region of the video for a transition between the current region of the video and a bitstream representation of the current region of the video based on a second set of filter coefficients for a second region of the video collocated with the current region of the video; and performing (1004) the conversion by performing a filtering operation using the first set of filter coefficients.
In some examples, the first set of filter coefficients is predicted or derived from the second set of filter coefficients.
In some examples, the filtering operation includes loop filtering, and the first set of filter coefficients are filter coefficients of an adaptive loop filter of the loop filtering.
In some examples, the current region of the video is from a first set of video data and the second region of the video is from a second set of video data, wherein the second set of video data is different from the first set of video data, the set of video data comprising one of a slice, a group of slices, a picture.
In some examples, the second region of the video is from a different picture than a current picture of the current region of the video.
In some examples, the different picture is a reference picture for the current picture.
In some examples, the method 1000 further comprises: for at least one region of the video, signaling a first flag of the region to indicate whether a set of filter coefficients of the region is predicted/derived based on a corresponding set of filter coefficients of a collocated region collocated with the region.
In some examples, the method 1000 further comprises: for at least one region of the video, a bitstream representation of the region is parsed to obtain a first flag for the region to indicate whether a set of filter coefficients for the region is predicted or derived based on a corresponding set of filter coefficients for a collocated region collocated with the region.
In some examples, the method 1000 further comprises: for at least one region of video, an index of a picture is signaled to indicate from which picture the set of filter coefficients for the region is predicted or derived.
In some examples, the method 1000 further comprises: for at least one region of video, a bitstream representation of the region is parsed to obtain an index of the picture to indicate from which picture the set of filter coefficients of the region is predicted or derived.
In some examples, the method 1000 further comprises: for at least one region of the video, signaling a second flag for the region to indicate whether a set of filter coefficients for the region is predicted or derived from the same picture as another region.
In some examples, the other region is a vicinity of the region.
In some examples, the method 1000 further comprises: additional information of the regions is signaled to indicate from which region the set of filter coefficients is predicted or derived.
In some examples, the method 1000 further comprises: for at least one region of the video, a bitstream representation of the region is parsed to obtain a second flag for the region to indicate whether a set of filter coefficients for the region is predicted or derived from the same picture as another region.
In some examples, the other region is a vicinity of the region.
In some examples, the method 1000 further comprises: the bitstream representation of the region is parsed to obtain additional information of the region to indicate from which region the set of filter coefficients is predicted or derived.
In some examples, the method 1000 further comprises: signaling a third flag at the level of the set of video data to indicate whether the filter coefficients of all regions within the first set of video data are predicted or derived from their corresponding collocated regions in a different picture.
In some examples, the different picture is a reference picture for the current picture.
In some examples, the method 1000 further comprises: the index of the picture is signaled to indicate from which picture the filter coefficients for the entire region are predicted or derived.
In some examples, the method 1000 further comprises: the bitstream representation of the region is parsed to obtain a third flag at the level of the set of video data to indicate whether the filter coefficients of all regions within the first set of video data are predicted or derived from their corresponding collocated regions in different pictures.
In some examples, the different picture is a reference picture for the current picture.
In some examples, the method 1000 further comprises: the bitstream representation of the region is parsed to obtain an index of the picture to indicate from which picture the filter coefficients of the entire region are predicted or derived.
Fig. 11 shows a flow diagram of an exemplary method for video processing. The method 1100 comprises: determining (1102) a first flag for a transition between the current processing unit of video and a bitstream representation of the current processing unit of video based on a second processing unit of video collocated with the current processing unit of video, wherein the first flag indicates an on or off condition of an adaptive loop filter of the current processing unit of video; and performing (1104) the conversion by performing a filtering operation based on the first flag.
In some examples, the first flag of the current processing unit of the video is inherited from a second processing unit of the video.
In some examples, the filtering operation includes loop filtering.
In some examples, the processing unit includes one of a region and a Coding Tree Unit (CTU).
In some examples, the current processing unit of video is from a first set of video data and the second processing unit of video is from a second set of video data, wherein the second set of video data is different from the first set of video data, the set of video data comprising one of a slice, a group of slices, a picture.
In some examples, the second processing unit of the video is from a different picture than a current picture of the current processing unit of the video.
In some examples, the different picture is a reference picture for the current picture.
In some examples, the method 1100 further comprises: signaling a second flag at the level of the set of video data to indicate whether the first flags of all processing units within the set of video data are inherited from their corresponding collocated processing units in a different picture.
In some examples, the method 1100 further comprises: the bitstream representation of the parsing region is to obtain a second flag at a level of the set of video data to indicate whether the first flags of all processing units within the set of video data are inherited from their corresponding collocated processing units in a different picture.
In some examples, the method 1100 further comprises: the index of the picture is signaled in a picture header, slice header to indicate from which picture the first flag of the first processing unit is inherited.
In some examples, the method 1100 further comprises: the bitstream representation of the region is parsed to obtain an index of the picture in a picture header, slice group header to indicate from which picture the first flag of the first processing unit is inherited.
Fig. 12 shows a flow diagram of an exemplary method for video processing. The method 1200 includes: signaling (1202) information about the number and/or size of regions of a picture of video for a transition between the picture of video and a bitstream representation of the video; dividing (1204) the picture into regions based on the information; and performing (1206) the conversion based on the divided regions.
In some examples, the information regarding the number and/or size of regions is signaled in at least one of a Sequence Parameter Set (SPS), a Video Parameter Set (VPS), a Picture Parameter Set (PPS), a picture header, a slice header.
In some examples, the method 1200 further comprises: signaling an index to at least one of a plurality of sets of number and/or size of regions, wherein the plurality of sets of number and/or size of regions are predefined.
In some examples, the number and/or size of regions depends on the width and/or height of the picture, and/or the stripe type.
Fig. 13 shows a flow diagram of an exemplary method for video processing. The method 1300 includes: parsing (1302) a bitstream representation of the video for a conversion between pictures of the video and the bitstream representation of the video to obtain information on the number and/or size of regions of the pictures of the video; and performing (1304) the conversion based on the information.
In some examples, a bitstream representation of a video is parsed to obtain information regarding the number and/or size of regions in at least one of a Sequence Parameter Set (SPS), a Video Parameter Set (VPS), a Picture Parameter Set (PPS), a picture header, a slice header.
In some examples, the method 1300 further comprises: parsing a bitstream representation of the video to obtain an index to at least one of a plurality of sets of number and/or size of regions, wherein the plurality of sets of number and/or size of regions are predefined.
In some examples, the number and/or size of regions depends on the width and/or height of the picture, and/or the stripe type.
Fig. 14 shows a flow diagram of an exemplary method for video processing. The method 1400 comprises: determining (1402) a first set of filter coefficients for a first region of the video for a transition between a bitstream representation of the first region of the video and the first region of the video based on a second set of filter coefficients for a second region of the video and a set of differences between the first set of filter coefficients and the second set of filter coefficients; and performing (1404) the conversion by performing a filtering operation using the first set of filter coefficients.
In some examples, when determining the first set of filter coefficients for the second region, the set of differences is signaled.
In some examples, when determining the first set of filter coefficients for the second region, the bitstream representation of the first region of the video is parsed to obtain a set of differences.
In some examples, the index of the second region of the video is consecutive to the index of the first region of the video.
In some examples, the index of the second region of the video corresponds to a maximum index value of a previously coded region for which a filtering operation is enabled.
In some examples, the filtering operation includes adaptive loop filtering.
Fig. 15 shows a flow diagram of an exemplary method for video processing. The method 1500 includes: merging (1502) at least two different regions of the video to obtain a merged region; and performing (1054) a conversion between a merged region of the video and a bitstream representation of the merged region by performing a filtering operation using the same selected filter coefficients, wherein an index of a first one of the at least two different regions of the video is not consecutive to an index of a second one of the at least two different regions of the video.
In some examples, the merge regions share one and the same set of selected filter coefficients.
In some examples, the method 1500 further comprises: which regions of the video to merge are signaled in the picture header.
In some examples, the method 1500 further comprises: for each region, an index of the selected set of filter coefficients is sent.
Fig. 16 shows a flow diagram of an exemplary method for video processing. The method 1600 includes: making a decision (1602) for a current Codec Tree Unit (CTU) of the video regarding a value of a first flag associated with an adaptive loop filter of a first component; and signaling (1604) a second flag associated with the adaptive loop filter for the second component based on the decision.
In some examples, the first component includes a luma component and the second component includes one or more chroma components.
In some examples, in response to the decision indicating that the adaptive loop filter for the luma component is disabled, the adaptive loop filter for one or more chroma components of the CTU is automatically disabled without any signaling.
In some examples, the first component is a blue difference (Cb) chroma component and the second component is a red difference (Cr) chroma component.
In some examples, the first component is a red difference (Cr) chroma component and the second component is a blue difference (Cb) chroma component.
In some examples, in response to the decision indicating that the adaptive loop filter for one chroma component is disabled, the adaptive loop filter for the other one or more color components of the CTU is automatically disabled without any signaling.
In some examples, the value of a first flag associated with the adaptive loop filter of one color component is used as a context for coding the value of a second flag associated with the adaptive loop filter of another color component.
In some examples, the method 1600 further comprises: the second flag is used to determine to enable/disable filtering operations, based on which a transition between a current CTU of the video and a bitstream representation of the video including the current CTU is performed.
Fig. 17 shows a flow diagram of an exemplary method for video processing. The method 1700 includes: parsing (1702) a bitstream representation of a current Codec Tree Unit (CTU) of the video to determine a value of a first flag of a first component of the CTU of the video based on a value of a second flag corresponding to a second component of the CTU; configuring (1704) a filtering operation based on a value of the first flag; and performing (1706) a conversion between a current CTU of the video and a bitstream representation of the video including the current CTU using a filtering operation.
In some examples, the second component includes a luma component and the first component includes one or more chroma components.
In some examples, the adaptive loop filter for one or more chroma components of the CTU is automatically disabled in response to a value of the second flag indicating that the adaptive loop filter for the luma component is disabled.
In some examples, the second component is a blue difference (Cb) chroma component and the first chroma component is a red difference (Cr) chroma component.
In some examples, the second component is a red difference (Cr) chroma component and the first chroma component is a blue difference (Cb) chroma component.
In some examples, the adaptive loop filters of the other one or more color components of the CTU are automatically disabled in response to the value of the second flag indicating that the adaptive loop filter of one chroma component is disabled.
In some examples, the value of the first flag associated with the adaptive loop filter of one color component is used as a context for decoding the value of the first flag associated with the adaptive loop filter of another color component.
Fig. 18 shows a flow diagram of an exemplary method for video processing. The method 1800 includes: making a determination regarding a color format of a current region of the video (1802); and determining (1804) an adaptive loop filter for the one or more chroma components based on the determination.
In some examples, whether to use classification that applies one or more chroma components is based on the determination.
In some examples, whether to use multiple sets of filters for one or more chroma components is based on the determination.
In some examples, whether to use different sets of filters for the two chroma components is based on the determination.
In some examples, in response to determining that the color format is 4:4:4, the two chroma components use different filters or different sets of filters, or the selection of filters is based on the classification result for each color component.
In some examples, method 1800 further includes: the conversion between the current region of the video and the bitstream representation of the current region is performed by performing a filtering operation using an adaptive loop filter of one or more chroma components.
In some examples, the filtering operation includes loop filtering.
In some examples, the conversion generates a region of the video from the bitstream representation.
In some examples, the conversion generates a bitstream representation from a region of the video.
8 exemplary embodiments of the technology disclosed
Fig. 19 is a block diagram of the video processing apparatus 1900. The apparatus 1900 may be used to implement one or more of the methods described herein. The apparatus 1900 may be embodied in a smart phone, tablet, computer, Internet of Things (IoT) receiver, and so on. The apparatus 1900 may include one or more processors 1902, one or more memories 1904, and video processing hardware 1906. Processor(s) 1902 may be configured to implement one or more of the methods described in this document (including, but not limited to, methods 700, 800, and 900). The memory(s) 1904 may be used to store data and code for implementing the methods and techniques described herein. The video processing hardware 1906 may be used to implement some of the techniques described in this document in hardware circuitry.
In some embodiments, the video codec method may be implemented using an apparatus implemented on a hardware platform as described with respect to fig. 19.
From the foregoing it will be appreciated that specific embodiments of the presently disclosed technology have been described herein for purposes of illustration, but that various modifications may be made without deviating from the scope of the invention. Accordingly, the presently disclosed technology is not limited except as by the appended claims.
Implementations of the subject matter and the functional operations described in this patent document can be implemented in various systems, digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a tangible and non-transitory computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a combination of substances which affect a machine-readable propagated signal, or a combination of one or more of them. The term "data processing unit" or "data processing apparatus" encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
A computer program (also known as a program, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer does not require such a device. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
It is intended that the specification and figures be considered as exemplary only, with an exemplary meaning being exemplary. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. Alternatively, use of "or" is intended to include "and/or" unless the context clearly indicates otherwise.
While this patent document contains many specifics, these should not be construed as limitations on the scope of any invention or of what may be claimed, but rather as descriptions of features specific to particular embodiments of particular inventions. Certain features that are described in this patent document in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Furthermore, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Moreover, the separation of various system components in the embodiments described in this patent document should not be understood as requiring such separation in all embodiments.
Only some embodiments and examples are described and other embodiments, enhancements and variations can be made based on what is described and illustrated in this patent document.

Claims (26)

1. A method for video processing, comprising:
making a decision for a current Codec Tree Unit (CTU) of the video regarding a value of a first flag associated with an adaptive loop filter of a first component; and
signaling a second flag associated with the adaptive loop filter for the second component based on the decision.
2. The method of claim 1, wherein the first component comprises a luma component and the second component comprises one or more chroma components.
3. The method of claim 2, wherein the adaptive loop filter for one or more chroma components of the CTU is automatically disabled without any signaling in response to the decision indicating that the adaptive loop filter for a luma component is disabled.
4. The method of claim 1, wherein the first component is a blue difference (Cb) chroma component and the second component is a red difference (Cr) chroma component.
5. The method of claim 1, wherein the first component is a red difference (Cr) chroma component and the second component is a blue difference (Cb) chroma component.
6. The method of claim 1, 4 or 5, wherein in response to the decision indicating that the adaptive loop filter for one chroma component is disabled, automatically disabling adaptive loop filters for another one or more color components of the CTU without any signaling.
7. The method of any of claims 1 to 6, wherein a value of the first flag associated with an adaptive loop filter of one color component is used as a context for coding a value of the second flag associated with an adaptive loop filter of another color component.
8. The method of any of claims 1-7, further comprising:
using the second flag to determine to enable/disable filtering operations,
performing a conversion between the current CTU of a video and a bitstream representation of the video including the current CTU based on the determination.
9. A method for video processing, comprising:
parsing a bitstream representation of a current Codec Tree Unit (CTU) of a video to determine a value of a first flag of a first component of the CTU of the video based on a value of a second flag corresponding to a second component of the CTU;
configuring a filtering operation based on a value of the first flag; and
performing a conversion between a current CTU of a video and a bitstream representation of the video including the current CTU using the filtering operation.
10. The method of claim 9, wherein the second component comprises a luma component and the first component comprises one or more chroma components.
11. The method of claim 10, wherein adaptive loop filters for one or more chroma components of the CTU are automatically disabled in response to a value of the second flag indicating that the adaptive loop filter for a luma component is disabled.
12. The method of claim 9, wherein the second component is a blue difference (Cb) chroma component and the first component is a red difference (Cr) chroma component.
13. The method of claim 9, wherein the second component is a red difference (Cr) chroma component and the first component is a blue difference (Cb) chroma component.
14. The method of claim 9, 12 or 13, wherein adaptive loop filters of one or more further color components of the CTU are automatically disabled in response to a value of the second flag indicating that the adaptive loop filter of one chroma component is disabled.
15. The method according to any of claims 9-14, wherein the value of the second flag associated with the adaptive loop filter of one color component is used as context for decoding the value of the first flag associated with the adaptive loop filter of another color component.
16. A method for video processing, comprising:
making a determination regarding a color format of a current region of the video; and
an adaptive loop filter for one or more chroma components is determined based on the determination.
17. The method of claim 16, wherein whether to apply the classification of the one or more chroma components is based on the determination.
18. The method of claim 16, wherein whether to use multiple sets of filters for the one or more chroma components is based on the determination.
19. The method of claim 16, wherein whether to use different sets of filters for two chroma components is based on the determination.
20. The method of claim 16, wherein, in response to determining that the color format is 4:4:4, either different filters or different sets of filters are used for the two chroma components or the selection of filters is based on the classification result for each color component.
21. The method according to any one of claims 16-20, further comprising:
performing a conversion between the current region of video and a bitstream representation of the current region by performing a filtering operation using the adaptive loop filter for one or more chroma components.
22. The method of any of claims 1-21, wherein the filtering operation comprises loop filtering.
23. The method of any of claims 1-22, wherein the converting comprises generating the current region of video from the bitstream representation.
24. The method of any of claims 1-22, wherein the converting comprises generating the bitstream representation from the current region of video.
25. An apparatus in a video system comprising a processor and a non-transitory memory having instructions thereon, wherein the instructions, when executed by the processor, cause the processor to implement the method of any of claims 1-24.
26. A computer program product stored on a non-transitory computer readable medium, the computer program product comprising program code for performing the method of any one of claims 1 to 24.
CN201980072623.0A 2018-11-09 2019-11-11 Component-based loop filter Active CN112997504B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2018/114834 2018-11-09
CN2018114834 2018-11-09
PCT/CN2019/117145 WO2020094153A1 (en) 2018-11-09 2019-11-11 Component based loop filter

Publications (2)

Publication Number Publication Date
CN112997504A true CN112997504A (en) 2021-06-18
CN112997504B CN112997504B (en) 2023-04-18

Family

ID=70610807

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201980072623.0A Active CN112997504B (en) 2018-11-09 2019-11-11 Component-based loop filter
CN201980072485.6A Active CN112997500B (en) 2018-11-09 2019-11-11 Improvements to region-based adaptive loop filters

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201980072485.6A Active CN112997500B (en) 2018-11-09 2019-11-11 Improvements to region-based adaptive loop filters

Country Status (2)

Country Link
CN (2) CN112997504B (en)
WO (2) WO2020094154A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023124673A1 (en) * 2021-12-31 2023-07-06 中兴通讯股份有限公司 Method and apparatus for video processing, and storage medium and electronic apparatus

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240006699A (en) 2019-12-11 2024-01-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Sample padding for cross-component adaptive loop filtering
EP4173290A4 (en) 2020-06-30 2024-01-10 Beijing Bytedance Network Technology Co., Ltd. Boundary location for adaptive loop filtering
CN116746152A (en) * 2021-01-22 2023-09-12 Oppo广东移动通信有限公司 Video encoding and decoding method and system, video encoder and video decoder
WO2023020309A1 (en) * 2021-08-14 2023-02-23 Beijing Bytedance Network Technology Co., Ltd. Advanced fusion mode for adaptive loop filter in video coding
CN114387192B (en) * 2021-12-22 2024-05-03 广东中星电子有限公司 Image filtering method, device, electronic equipment and computer readable medium
WO2024027808A1 (en) * 2022-08-04 2024-02-08 Douyin Vision Co., Ltd. Method, apparatus, and medium for video processing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130101018A1 (en) * 2011-10-21 2013-04-25 Qualcomm Incorporated Adaptive loop filtering for chroma components
CN103535035A (en) * 2011-05-16 2014-01-22 联发科技股份有限公司 Apparatus and method of sample adaptive offset for luma and chroma components
CN105409221A (en) * 2014-04-29 2016-03-16 微软技术许可有限责任公司 Encoder-side decisions for sample adaptive offset filtering
US20160261863A1 (en) * 2013-11-15 2016-09-08 Mediatek Inc. Method of Filter Control for Block-Based Adaptive Loop Filtering

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001275110A (en) * 2000-03-24 2001-10-05 Matsushita Electric Ind Co Ltd Method and system for dynamic loop and post filtering
US20060013315A1 (en) * 2004-07-19 2006-01-19 Samsung Electronics Co., Ltd. Filtering method, apparatus, and medium used in audio-video codec
US9094658B2 (en) * 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
US9813738B2 (en) * 2010-10-05 2017-11-07 Hfi Innovation Inc. Method and apparatus of adaptive loop filtering
GB201119206D0 (en) * 2011-11-07 2011-12-21 Canon Kk Method and device for providing compensation offsets for a set of reconstructed samples of an image
PT2697973T (en) * 2012-04-16 2017-08-23 Hfi Innovation Inc Method and apparatus for loop filtering across slice or tile boundaries
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
KR20240056657A (en) * 2015-05-12 2024-04-30 삼성전자주식회사 method for encoding or decoding a picture by using block determined according to adaptive order and apparatus thereof
WO2016195586A1 (en) * 2015-06-05 2016-12-08 Telefonaktiebolaget Lm Ericsson (Publ) Filtering for video processing
US10506230B2 (en) * 2017-01-04 2019-12-10 Qualcomm Incorporated Modified adaptive loop filter temporal prediction for temporal scalability support

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103535035A (en) * 2011-05-16 2014-01-22 联发科技股份有限公司 Apparatus and method of sample adaptive offset for luma and chroma components
US20130101018A1 (en) * 2011-10-21 2013-04-25 Qualcomm Incorporated Adaptive loop filtering for chroma components
US20160261863A1 (en) * 2013-11-15 2016-09-08 Mediatek Inc. Method of Filter Control for Block-Based Adaptive Loop Filtering
CN105409221A (en) * 2014-04-29 2016-03-16 微软技术许可有限责任公司 Encoder-side decisions for sample adaptive offset filtering

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023124673A1 (en) * 2021-12-31 2023-07-06 中兴通讯股份有限公司 Method and apparatus for video processing, and storage medium and electronic apparatus

Also Published As

Publication number Publication date
WO2020094154A1 (en) 2020-05-14
CN112997500B (en) 2023-04-18
CN112997500A (en) 2021-06-18
CN112997504B (en) 2023-04-18
WO2020094153A1 (en) 2020-05-14

Similar Documents

Publication Publication Date Title
CN113632490B (en) Nonlinear adaptive loop filtering in video processing
CN112997504B (en) Component-based loop filter
CN113678462B (en) Clipping parameter derivation in adaptive loop filters
CN113728651B (en) Adaptive loop filtering in video processing
US20240048775A1 (en) Using neural network filtering in video coding
US11523111B2 (en) Encoder, a decoder and corresponding methods using an adaptive loop filter
CN114339221B (en) Convolutional neural network based filter for video encoding and decoding
US11968368B2 (en) Cross-component prediction with multiple-parameter model
JPWO2020192644A5 (en)
JPWO2020192645A5 (en)
US20230051066A1 (en) Partitioning Information In Neural Network-Based Video Coding
US20230007246A1 (en) External attention in neural network-based video coding
US11979591B2 (en) Unified neural network in-loop filter
RU2812618C2 (en) Nonlinear adaptive contour filtering in video data processing
US20230023579A1 (en) Configurable Neural Network Model Depth In Neural Network-Based Video Coding
WO2022218281A1 (en) Guided filter in video coding
WO2024010860A1 (en) Geometric transform in neural network-based coding tools for video coding
CN118266217A (en) Method, apparatus and medium for video processing
CN118044195A (en) Method, apparatus and medium for video processing
CN113728640A (en) Intra-prediction and residual coding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant