Cross-component prediction for multi-parameter models
By introducing multi-parameter model-based cross-component prediction and multi-reference line intra-frame prediction methods, the problem of low efficiency in chroma intra-frame prediction and cross-component prediction in existing video encoding and decoding technologies is solved, thereby improving the efficiency and compression ratio of video encoding and decoding.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- DOUYIN VISION CO LTD
- Filing Date
- 2020-12-31
- Publication Date
- 2026-04-21
AI Technical Summary
Existing video encoding and decoding technologies suffer from inefficiency during intra-frame encoding and decoding, particularly in chroma intra-frame prediction and cross-component prediction. In particular, the downsampling filters for 4:2:0 and 4:2:2 formats are inefficient, and multi-reference line intra-frame prediction is not permitted in some cases.
The Cross-Component Prediction (CCPMPM) method, which employs a multi-parameter model, uses non-adjacent reference lines and multiple reference lines (MRL) intra-frame prediction, combined with the local illumination compensation tool (ALWIP) and chroma intra-frame prediction mode, to predict video blocks using linear coefficients and offset values, thereby achieving efficient encoding and decoding of chroma components.
It improves the efficiency of video encoding and decoding, especially in intra-frame chroma prediction and cross-component prediction, enhances the processing capability of 4:2:0 and 4:2:2 formats, and improves the performance and compression ratio of encoding and decoding.
Smart Images

Figure CN115176474B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] In accordance with applicable patent law and / or the Paris Convention, this application promptly claims priority and benefit from international patent application PCT / CN2019 / 130430, filed on December 31, 2019. For all purposes, and in accordance with the law, the entire disclosure of the foregoing application is incorporated herein by reference as part of the disclosure of this application. Technical Field
[0003] This patent document relates to video encoding and decoding technologies, devices, and systems. Background Technology
[0004] Currently, efforts are underway to improve the performance of existing video codec technologies to provide better compression ratios or to offer video encoding and decoding schemes that allow for lower complexity or parallelization. Industry experts have recently proposed several new video codec tools, which are currently being tested to determine their effectiveness. Summary of the Invention
[0005] This paper describes devices, systems, and methods related to digital video coding and decoding, particularly those related to motion vector management. The described methods can be applied to existing video coding and decoding standards (e.g., High Efficiency Video Coding (HEVC) and / or Multi-Functional Video Coding) and future video coding and decoding standards or codecs.
[0006] In one representative aspect, a video processing method is disclosed. The method includes performing a conversion between a current video block and a video bitstream using an intra-frame predictive codec tool, wherein one or more reference lines are selectively used for prediction according to rules in the predictive codec tool, wherein the bitstream conforms to format rules; and wherein the current video block has color components that differ from the luminance and color components of the video.
[0007] In another representative aspect, a video processing method is disclosed. The method includes: a conversion between a current video block representing the color components of a video and the bitstream of the video; determining that the current video block inherits intra-frame codec characteristics from a corresponding intra-frame codec luma video block; and performing the conversion based on the determination.
[0008] In another representative aspect, a video processing method is disclosed. The method includes: performing a conversion between a current video block of a second color component of a video and a bitstream of the video using cross-component prediction with a multiple-parameter model (CCPMPM), wherein samples of the current video block are predicted and decoded in the bitstream using a linear combination of samples of a first color component multiplied by linear coefficients and / or one or more offsets; wherein the bitstream conforms to a format rule; and wherein the linear coefficients of the CCPPMPM are determined using a first rule; and wherein samples of the first color component are determined using a second rule.
[0009] In another representative aspect, a video processing method is disclosed. The method includes: for a conversion between a current video block of a first component of a video and the bitstream of the video; determining a prediction using the current video block from a linear combination of samples of a second video block of a second component of the video, according to a rule; and performing the conversion based on the determination; wherein the current video block and the second video block are encoded and decoded using a local illumination compensation tool.
[0010] In another representative aspect, a video processing method is disclosed. The method includes: performing a conversion between a current video block and a bitstream of the video, wherein samples of the current video block are predictively encoded and decoded using a multiple-parameter model (IPMPM), in which a linear combination of reference samples of the video is used with linear coefficients and / or offset values; and wherein the bitstream conforms to format rules.
[0011] Furthermore, in one representative aspect, an apparatus for a video system is disclosed, comprising a processor and a non-transitory memory having instructions thereon. Upon execution by the processor, the instructions cause the processor to perform any one or more of the disclosed methods.
[0012] In another aspect, a bit stream stored on a computer-readable storage medium is disclosed, wherein the bit stream is generated according to the encoding method described in this document.
[0013] In addition, a computer program product stored on a non-transitory computer-readable medium is disclosed, the computer program product including program code that performs any one or more of the disclosed methods.
[0014] The above and other aspects and features of the disclosed technology are described in more detail in the accompanying drawings, specification and claims. Attached Figure Description
[0015] Figure 1 An example block diagram of the encoder is shown.
[0016] Figure 2 Examples of 67 intra-frame prediction modes are shown.
[0017] Figure 3 A schematic diagram of a 4×4 block ALWIP is shown.
[0018] Figure 4 A schematic diagram of an 8×8 block ALWIP is shown.
[0019] Figure 5 A schematic diagram of an 8×4 block ALWIP is shown.
[0020] Figure 6 A schematic diagram of a 16×16 block ALWIP is shown.
[0021] Figure 7 An example of four reference lines adjacent to the prediction block is shown.
[0022] Figure 8 Examples of 4×8 and 8×4 block partitioning are shown.
[0023] Figure 9 Examples of block partitioning are shown for all blocks except 4×8, 8×4, and 4×4.
[0024] Figure 10A and Figure 10B Examples of luminance CTB segmentation and chrominance CTB segmentation are shown respectively.
[0025] Figure 11 An example is shown for deriving the sample point locations of α and β.
[0026] Figure 12 An example of the nominal vertical and horizontal positions of 4:2:0 luminance and chrominance samples in an image is shown.
[0027] Figure 13 An example of the nominal vertical and horizontal positions of 4:2:2 luminance and chrominance samples in an image is shown.
[0028] Figure 14 An example of the nominal vertical and horizontal positions of 4:4:4 luminance and chrominance samples in an image is shown.
[0029] Figure 15 The sample points of one color component of the predicted value at (0, 0) are shown.
[0030] Figure 16 An example of the filter shape for the first color component sample used in cross-component prediction is shown.
[0031] Figure 17 An example is shown where the first color component sample group is classified into multiple sets. Samples with the same fill pattern belong to one set.
[0032] Figure 18 This is an example block diagram of a hardware platform that implements the visual media decoding or visual media encoding techniques described in this document.
[0033] Figure 19 A flowchart of an example method for video encoding and decoding is shown.
[0034] Figure 20 This is a block diagram illustrating an example video encoding / decoding system.
[0035] Figure 21 This is a block diagram illustrating an encoder according to some embodiments of the present disclosure.
[0036] Figure 22 This is a block diagram illustrating a decoder according to some embodiments of the present disclosure.
[0037] Figure 23A , Figure 23B , Figure 23C , Figure 23D , Figure 23E Flowcharts depicting various video processing methods are provided. Detailed Implementation
[0038] 1. Video Encoding and Decoding in HEVC / H.265
[0039] Video codec standards primarily evolved from well-known ITU-T and ISO / IEC standards. ITU-T developed H.261 and H.263, while ISO / IEC developed MPEG-1 and MPEG-4 Vision. These two organizations jointly developed the H.262 / MPEG-2 video standard, the H.264 / MPEG-4 Advanced Video Coding (AVC) standard, and the H.265 / HEVC standard. Starting with H.262, video codec standards are based on a hybrid video codec architecture, which uses time prediction plus transform coding. To explore future video codec technologies beyond HEVC, VCEG and MPEG jointly established the Joint Video Exploration Team (JVET) in 2015. Since then, JVET has adopted many new methods and incorporated them into reference software called the Joint Exploration Model (JEM). In April 2018, VCEG (Q6 / 16) and ISO / IEC JTC1 SC29 / WG11 (MPEG) established the Joint Video Experts Team (JVET) to research the VVC standard, with the goal of reducing the bit rate by 50% compared to HEVC.
[0040] The latest version of the VVC draft, namely Multi-Functional Video Codec (Draft 7), can be found at: http: / / phenix.it-sudparis.eu / jvet / doc_end_user / documents / 16_Geneva / wg11 / JVET-P2001-vE.zip.
[0041] The latest reference software for VVC, called VTM, can be found at the following website:
[0042] https: / / vcgit.hhi.fraunhofer.de / jvet / VVCSoftware_VTM / - / tags / VTM-7.0
[0043] 2.1 Encoding and decoding process of a typical video codec
[0044] Figure 1An example of a VVC encoder block diagram is shown, which contains three loop filtering blocks: a deblocking filter (DF), a sample adaptive offset (SAO), and an ALF. Unlike the DF, which uses predefined filters, the SAO and ALF utilize the raw samples of the current image, reducing the mean square error between the raw and reconstructed samples by adding an offset and applying a finite impulse response (FIR) filter, respectively. The offset and filter coefficients are communicated using side information signaling from the encoder and decoder. The ALF is located in the last processing stage of each image and can be viewed as a tool attempting to capture and repair artifacts produced in the previous stage.
[0045] 2.2 Intra-frame encoding and decoding in VVC
[0046] 2.2.1 Intra-mode encoding and decoding with 67 intra-prediction modes
[0047] To capture arbitrary edge directions presented in natural video, the number of directional intra-frame modes has been expanded from the 33 used in HEVC to 65. Additional directional modes are... Figure 2 The red dashed arrows indicate that the planar mode and DC mode remain unchanged. These denser directional intra-prediction modes are applicable to all block sizes and for both luma and chroma intra-prediction.
[0048] like Figure 2 As shown, the traditional angular intra-prediction direction is defined clockwise from 45 degrees to -135 degrees. In VTM2, several traditional angular intra-prediction modes are adaptively replaced with non-square block wide-angle intra-prediction modes. The replaced modes are signaled using the original method and remapped to the wide-angle mode index after parsing. The total number of intra-prediction modes remains unchanged at 67, and the intra-mode encoding and decoding remain unchanged.
[0049] In HEVC, each intra-codec block is a square, with each side being a power of 2. Therefore, generating an intra-predictor using DC mode does not require division. In VVV2, blocks can have rectangular shapes, which necessitates division for each block in general. To avoid division in DC prediction, only the longer sides are used to calculate the average of non-square blocks.
[0050] In addition to the 67 intra-prediction modes, wide-angle intra-prediction (WAIP) and position-dependent intra-prediction combination (PDPC) methods were enabled for certain blocks. PDPC was applied to the following intra-prediction modes without signaling notification: planar, DC, horizontal (mode 18), vertical (mode 50), lower left corner mode and its eight adjacent corner modes, and upper right corner mode and its eight adjacent corner modes.
[0051] 2.2.2 Affine linear weighted intra prediction (ALWIP)
[0052] JVET-N0217 proposed Affine Ray Weighted Intra Prediction (ALWIP, also known as Matrix Based Intra Prediction (MIP)).
[0053] 2.2.2.1 Generating Reduced Prediction Signaling via Matrix-Vector Multiplication
[0054] First, a reduced reference signaling is generated by downsampling the neighboring reference points by averaging. Then, the reduced prediction signaling is calculated by computed matrix-vector product and added offset. :
[0055] .
[0056] here, It is a matrix, if Then the matrix has It has 4 rows and 4 columns, and 8 columns in all other cases. For size The vector.
[0057] 2.2.2.2 Schematic diagram of the entire ALWIP process
[0058] exist Figure 3-6 The diagram illustrates the entire process of averaging, matrix-vector multiplication, and linear interpolation for different shapes. Note that the remaining shapes are considered in one of the described cases.
[0059] 1. Given a The block, ALWIP, takes two averages along each axis of the boundary. The resulting four input samples are then subjected to matrix-vector multiplication. The matrix is taken from the set... After adding the offset, 16 final prediction samples will be generated. Linear interpolation is not required to generate the prediction signaling. Therefore, a total of [number] operations are performed per sample. Multiplication.
[0060] 2. Given a The block, ALWIP, takes four averages along each axis of the boundary. The resulting eight input samples are then subjected to matrix-vector multiplication. The matrix is taken from the set... This will generate 16 samples at odd positions in the prediction block. Therefore, each sample will generate a total of ( This is the second multiplication. After adding the offset, these samples are vertically interpolated using the reduced top boundary. Horizontally, they are interpolated using the original left boundary.
[0061] 3. Given a For each block, ALWIP takes four averages along the horizontal axis of the boundary and four original boundary values on the left boundary. The resulting eight input samples are then subjected to matrix-vector multiplication. The matrix is taken from the set... This produces 16 samples at odd levels and each vertical position of the prediction block. Therefore, each sample performs a total of ( This is the second multiplication. After adding the offset, these samples are horizontally interpolated using the original left boundary. The transpose case is handled accordingly.
[0062] 4. Given a The block, ALWIP, takes four averages along each axis of the boundary. The resulting eight input samples are then subjected to matrix-vector multiplication. The matrix is taken from the set... This will generate 64 samples at odd positions in the prediction block. Therefore, each sample will generate a total of ( Two multiplications are required per sample. After adding the offset, these samples are vertically interpolated using the eight averages of the top boundary. Horizontal interpolation is performed using the original left boundary. In this case, no multiplications are added during the interpolation process. Therefore, a total of two multiplications are required per sample to compute the ALWIP prediction.
[0063] For larger shapes, the process is essentially the same, and it is easy to check whether the number of multiplications for each sample point is less than four.
[0064] For one of them of For blocks, only horizontal interpolation is needed because the samples are given at odd horizontal and vertical positions.
[0065] Finally, regarding one of them of Block, make This is the matrix produced by omitting each row corresponding to the odd number of entries along the horizontal axis of the downsampled block. Therefore, the output size is 32, and again, only horizontal interpolation needs to be performed.
[0066] The transpose case should be handled accordingly.
[0067] 2.2.3 Multiple reference line (MRL)
[0068] Multi-reference line (MRL) intra-prediction uses more reference lines for intra-prediction. Figure 7 The example depicts four reference lines, where the samples for segments A and F are not extracted from reconstructed neighboring samples, but are instead filled with the nearest samples from segments B and E, respectively. HEVC intra-frame image prediction uses the nearest reference line (i.e., reference line 0). In MRL, two additional lines (reference line 1 and reference line 3) are used.
[0069] The signaling notifies and generates an intra-predictor using the index (mrl_idx) of the selected reference line. For reference line indices greater than 0, only the additional reference line modes are included in the MPM list, and only the MPM index is signaled, without including the remaining modes. The reference line index is signaled before the intra-predictor modes, and if a non-zero reference line index is signaled, plane and DC modes are excluded from the intra-predictor modes.
[0070] MRL is disabled for the first line of a block within a CTU to prevent the use of extended reference samples outside the current CTU line. Additionally, PDPC is disabled when additional lines are used.
[0071] 2.2.4 Intra-subblock partitioning (ISP)
[0072] In JVET-M0102, an ISP was proposed, which vertically or horizontally divides the intra-prediction block of luminance into 2 or 4 sub-segments based on the block size dimension, as shown in Table 1. Figure 8 and Figure 9 Examples of two possibilities are shown. All sub-segments satisfy the condition of having at least 16 samples. For block sizes of 4N or N4 (where N>8), 1N or N1 sub-segments may exist if permitted.
[0073] Table 1: Number of sub-segments depending on block size (maximum transform size is represented by maxTBSize)
[0074]
[0075] For each of these sub-segments, residual signaling is generated by entropy decoding of the coefficients sent by the encoder, followed by inverse quantization and inverse transform. Intra-frame prediction is then performed on the sub-segment, and finally, the corresponding reconstructed samples are obtained by adding the residual signaling to the predicted signaling. Therefore, the reconstructed values of each sub-segment can be used to generate the prediction for the next sub-segment, and this process is repeated. All sub-segments share the same intra-frame mode.
[0076] Table 2: Specifications of trTypeHor and trTypeVer depending on predModeIntra
[0077]
[0078] 2.2.5 Chroma Encoding and Decoding
[0079] When the cross-component linear model mode is enabled for a sequence, chroma intra-mode encoding and decoding allows a total of eight intra-modes. These modes include five traditional intra-modes and three cross-component linear model modes (CCLM_AL, CCLM_A, and CCLM_L) for chroma intra-mode encoding and decoding. Otherwise, the five traditional chroma intra-modes are enabled for chroma intra-mode encoding and decoding.
[0080] In addition to the DM (direct or derived from luma blocks) mode, four default modes (DC, Planar, Hor, Ver) are used. If the DM mode is equal to one of the four default modes, the redundant DM mode is replaced by the intra-prediction mode with the largest mode index (i.e., mode 66).
[0081] 2.2.5.1 DM Mode
[0082] Chroma mode encoding and decoding directly rely on the intra-prediction mode of the corresponding luma block. Because a separate block partitioning structure for luma and chroma components is enabled in the I-strip, one chroma block can correspond to multiple luma blocks. Therefore, for chroma DM mode, the intra-prediction mode of the corresponding luma block covering the center position of the current chroma block is directly inherited. Figure 10A and 10B An example is depicted in the image. From the corresponding brightness block (in...) Figure 10A The left-hand chromaticity CB is derived from CR (represented by CR). Figure 10B The DM location in the middle.
[0083] 2.2.5.2 Prediction using a cross-component linear model
[0084] The VVC uses a cross-component linear model (CCLM) prediction mode. Its chromaticity samples are predicted by using a linear model based on reconstructed luminance samples from the same CU, as shown below:
[0085] (2-1)
[0086] in, This represents the predicted chromaticity samples in the CU. This represents the downsampled reconstructed brightness samples from the same CU.
[0087] CCLM parameters ( and The value is derived from at most four neighboring chromaticity samples and their corresponding downsampled luminance samples. Assuming the current chromaticity block size is W×H, then W' and H' are set to...
[0088] – When applying the LM pattern, W'=W, H'=H;
[0089] – When using the LM-A mode, W' = W + H;
[0090] – When applying the LM-L pattern, H' = H + W;
[0091] The aforementioned neighboring locations are denoted as S[0, -1]…S[W'-1, -1], and the left neighboring locations are denoted as S[-1, 0]…S[-1,H'-1]. These four sample points are then selected as…
[0092] – When the LM mode is applied and the upper and left adjacent samples are available, S[W' / 4, -1], S[3W' / 4,-1], S[-1, H' / 4], S[-1, 3H' / 4];
[0093] – When applying LM-A mode or when only the upper neighboring sample is available, S[W' / 8, -1], S[3W' / 8, -1], S[5W' / 8, -1], S[7W' / 8, -1];
[0094] – When applying LM-L mode or when only the left neighboring sample is available, S[-1, H' / 8], S[-1, 3H' / 8], S[-1, 5H' / 8], S[-1, 7H' / 8];
[0095] The four nearest brightness samples at the selected location are downsampled and compared four times to find the two smaller values: x 0 A and x 1 A and two larger values: x 0 B and x 1 B Their corresponding chromaticity sample values are represented as y 0A y 1 A y 0 B and y 1 B Then, x A x B y A and y B The derivation is as follows:
[0096] X a =(x 0 A + x 1 A +1)>>1; X b =(x 0 B + x 1 B +1)>>1; Y a =(y 0 A + y 1 A +1)>>1; Y b =(y 0 B +y 1 B +1)>>1 (2-2)
[0097] Finally, the linear model parameters are obtained according to the following equation. and .
[0098] (2-3)
[0099] (2-4)
[0100] Figure 11 This shows an example of the positions of the left and top samples involved in CCLM mode, as well as the position of the sample in the current block.
[0101] Calculation parameters The division operation is performed using a lookup table. To reduce the memory required to store the table, the diff value (the difference between the maximum and minimum values) and parameters are used. It is represented using exponent notation. For example, diff is approximated using a 4-digit significant part and an exponent. Therefore, for a 16-digit significant value, the 1 / diff table is simplified to 16 elements, as shown below:
[0102] DivTable [ ] = { 0, 7, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 0} (2-5)
[0103] This will help reduce the complexity of the calculations and the memory size required to store the necessary tables.
[0104] In addition to the upper and left templates being able to jointly calculate the linear model coefficients, they can also be used alternately in the other two LM modes, known as LM_A and LM_L modes.
[0105] In LM_A mode, only the upper template is used to calculate the linear model coefficients. To obtain more sample points, the upper template is expanded to (W+H). In LM_L mode, only the left template is used to calculate the linear model coefficients. To obtain more sample points, the left template is expanded to (H+W).
[0106] For non-square blocks, expand the top template to W+W and the left template to H+H.
[0107] To match the chroma sample positions of a 4:2:0 video sequence, two types of downsampling filters were applied to the luminance samples to achieve a 2:1 downsampling rate in both the horizontal and vertical directions. The selection of the downsampling filters is specified by the SPS level flag. The two downsampling filters are as follows, corresponding to "type-0" and "type-2" respectively.
[0108] (2-6)
[0109] (2-7)
[0110] Please note that when the upper reference line is at the CTU boundary, only one luminance line (the universal line buffer in intra-frame prediction) is used to create downsampled luminance samples.
[0111] This parameter calculation is performed as part of the decoding process, not just as part of the encoder's search operation. Therefore, the α and β values are not passed to the decoder using syntax.
[0112] 2.3 Color Space and Chromaticity Subsampling
[0113] A color space, also known as a color model (or color system), is an abstract mathematical model that simply describes a range of colors as tuples of numbers, typically 3 or 4 values or color components (e.g., RGB). Essentially, a color space is a refinement of a coordinate system and its subspaces.
[0114] For video compression, YCbCr and RGB are the most commonly used.
[0115] YCbCr, Y'CbCr, or YPb / CbPr / Cr, also written as YCBCR or Y'CBCR, is a series of color spaces used as part of the color image pipeline in video and digital photography systems. Y' is the luminance component, while CB and CR are the blue and red difference chromaticity components. Y' (with a superscript) differs from Y (where Y is luminance), meaning that the light intensity is based on a gamma-corrected, non-linear encoding of the RGB primary colors.
[0116] Chromaticity subsampling is a technique that utilizes the fact that the human visual system is less sensitive to color differences than to brightness, and encodes images by applying lower precision to chromaticity information than to brightness information. 2.3.1 4:4:4
[0118] Each of the three Y'CbCr components has the same sampling rate, therefore there is no chromaticity subsampling. This scheme is sometimes used in high-end film scanners and film post-production. 2.3.2 4:2:2
[0120] The two chroma components are sampled at half the luminance sampling rate: the horizontal chroma precision is halved. This reduces the bandwidth of the uncompressed video signal by one-third, resulting in almost no visual difference. 2.3.3 4:2:0
[0122] In 4:2:0, horizontal sampling is doubled compared to 4:1:1, but vertical precision is halved because the Cb and Cr channels are sampled only on each alternating line in this scheme. Therefore, the data rate is the same. Cb and Cr are double-sampled in the horizontal and vertical directions, respectively, by a factor of 2. There are three variants of the 4:2:0 scheme with different horizontal and vertical positioning.
[0123] In MPEG-2, Cb and Cr are horizontally co-located. Cb and Cr are located between pixels in the vertical direction (in the gap).
[0124] • In JPEG / JFIF, H.261, and MPEG-1, Cb and Cr are located in the middle of alternating luminance samples.
[0125] In a 4:2:0 ratio, DV, Cb, and Cr are all located in the horizontal direction. In the vertical direction, they are all located on the alternation line.
[0126] When the value of chroma_format_idc equals 2, the chroma sample and the corresponding luminance sample are located at the same position, as shown in the nominal position in the image. Figure 13 As shown.
[0127] When the value of chroma_format_idc equals 3, for all cases of the image, all array samples are located at the same position, and the nominal positions in the image are as follows: Figure 14 As shown.
[0128] Table 3: SubWidthC and SubHeightC values derived from chroma_format_idc and separate_colour_plane_flag
[0129]
[0130] 2.4 Cross-component prediction of multi-parameter models
[0131] In application PCT / CN2018 / 123394 entitled "Multi-step Inter-component Prediction" (which is incorporated herein by reference), a multi-parameter model is proposed to derive inter-component prediction blocks. Assuming a C1 sample (S... 0 c1 ) and multiple C0 samples (denoted as S) 0 c0 , S 1 c0 ,…, S L-1 c0 Each C0 sample point can be assigned a weight parameter α. i In this case, S 0 c1 The predicted value may depend on α i S i c0 The variables shown below are the same as variable α.
[0132] a. In one example, suppose S i c0 These are sample points located at (x, y). L sample points are defined as those located at (2...). x –1, 2 y), (2 x - 1, 2 y + 1), ( 2 x, 2 y), (2 x, 2 y + 1),(2 x + 1, 2 y) and (2 x + 1, 2 Sample points of y + 1).
[0133] b. In one example, suppose S i c0 These are sample points located at (x, y). L sample points are defined as those located at (2...). x,2 y), (2 x, 2 Sample points of y + 1).
[0134] c. The number of C0 samples associated with a C0 sample and the relative positions of these C0 samples may depend on the coordinates (x, y) of the C1 sample.
[0135] d. The number of C0 samples associated with a C0 sample and the relative positions of these C0 samples can depend on the availability of C0 samples.
[0136] e. In one example, S i c0 The predicted value can be defined as .
[0137] f. In one example, S i c0 The predicted value can be defined as , where variable M is an integer.
[0138] i. or S i c0 The predicted value can be defined as The Clip3 operation clips the predicted values to the valid range.
[0139] g. In one example, S i c0 The predicted value can be defined as , where variable b is an integer.
[0140] i. or S i c0 The predicted value can be defined as The Clip3 operation clips the predicted values to the valid range.
[0141] h. In one example, S i c0 The predicted value can be defined as , where variable b is an integer.
[0142] i. or S i c0 The predicted value can be defined as The Clip3 operation clips the predicted values to the valid range.
[0143] i. In one example, S i c0 The predicted value can be defined as , where variable b is an integer.
[0144] i. or S i c0 The predicted value can be defined as The Clip3 operation clips the predicted values to the valid range.
[0145] j. There can be some predefined relationships between the parameters. For example, such as Figure 15 As shown, , , , , and When applied to sample points S(0,0), S(0,1), S(-1,0), S(-1,1), S(1,0), and S(1,1), then a predefined... = = = = = .
[0146] k. More than one predefined relationship can exist between parameters. One of the predefined relationships can be selected. The selection can be derived by the decoder, or it can be notified to the decoder in VPS / SPS / PPS / strip header / piece group / piece / CTU line / CTU / CU / PU from the encoder signaling.
[0147] 3. Disadvantages of existing implementation methods
[0148] Current intra-frame encoding and decoding methods have several problems:
[0149] 1. Multi-reference line intra-frame prediction is not allowed in the following situations:
[0150] a. Intra-frame chroma prediction.
[0151] b. Combined Intra-Inter Prediction (CIIP) mode.
[0152] c.MIP.
[0153] 2. In cross-component prediction, brightness samples are downsampled using fixed filters in 4:2:0 and 4:2:2 formats, which may be inefficient.
[0154] 3. A method for cross-component prediction of a multi-parameter model is described in application PCT / CN2018 / 123394 entitled "Multi-step Inter-component Prediction" (which is incorporated herein by reference). This design can be further improved.
[0155] 4. Examples of technologies and embodiments
[0156] The following items should be considered as examples to illustrate general concepts. These embodiments should not be interpreted narrowly. Furthermore, these embodiments can be combined in any way.
[0157] In the following discussion, conventional intra-prediction methods can refer to intra-prediction using adjacent rows / columns, which can employ interpolation filters along the prediction direction. Furthermore, additional intra-coding methods can refer to those newly introduced or potentially introduced in VVC, requiring additional signaling to use. Additional methods can be one or more of MIP, MRL, ISP, or QR-BDPCM / PCM. Reference lines can refer to reference rows and / or reference columns.
[0158] Multi-reference line chromaticity prediction
[0159] 1. For color components other than the luminance component, such as Cb, Cr, R, G, or B, it is proposed that non-immediate reference lines (i.e., neither the nearest upper row nor the nearest left column) can be used for intra-frame prediction. In the following discussion, color components may be referred to as "chroma".
[0160] a. Alternatively, a set of permitted reference lines (e.g., similar to the MRL of the luma component, reference lines 0 / 1 / 2 above the current row or left column) can be used for intra-frame prediction.
[0161] b. Alternatively, multiple sets of allowed reference lines (e.g., for one of the multiple sets, which may include reference lines 0 / 1 / 2 above the current row or to the left of the column) may be used for intra-frame prediction.
[0162] c. In one example, an indication of the non-adjacent reference lines allowed in the set can be predefined.
[0163] d. In one example, the indication of a non-adjacent reference line in the signaling notification set can be at the sequence / video / picture / strip / piece / subpicture / brick / other video unit (e.g., CTU line / CTU) level.
[0164] i. Alternatively, in addition, VPS (Video Parameter Set) / SPS (Sequence Picture Set) / APS (Adaptation Parameter Set) / PPS (Picture Parameter Set) / Picture Header / Strip Header / Piece Group Header / CTU.
[0165] 2. Propose a chromaticity reference line that can be explicitly signaled or implicitly derived for use in chromaticity prediction.
[0166] a. In one example, the first syntax can be signaled to indicate whether a non-adjacent chromaticity reference line is used.
[0167] i. Alternatively, in addition, a second syntax may be signaled to indicate which non-adjacent chromaticity reference line to use.
[0168] ii. Alternatively, a signaling instruction can be used to notify the third syntax which chromaticity reference line is used for chromaticity prediction. The reference line can be an adjacent reference line or a non-adjacent reference line.
[0169] iii. In one example, the first syntax could be a flag (e.g., a binary value).
[0170] iv. In one example, the second / third syntax can be an index of a binary or non-binary value.
[0171] b. In one example, the reference line index to be used for the chroma block is determined by jointly utilizing the reference line indices associated with the representative luminance block and the neighboring (immediately adjacent or non-immediately adjacent) chroma samples relative to the current chroma block.
[0172] 3. It is proposed that chroma intra-frame prediction can inherit luminance intra-frame prediction.
[0173] a. In one example, a pattern (e.g., DM) can be used to represent that chroma intra-frame predictions follow the same prediction direction and / or the same prediction line.
[0174] b. In one example, whether and / or how luminance intra-frame prediction is inherited can depend on the color format.
[0175] 4. In one example, whether and / or how to use non-adjacent chromaticity guides may depend on the color format.
[0176] a. In one example, for a 4:2:0 color format, non-immediate chroma references may not be allowed.
[0177] b. In one example, for a 4:4:4 color format, non-adjacent chromaticity references can be used.
[0178] 5. The use of non-adjacent chromaticity reference lines can depend on whether the line remains on or above the current block.
[0179] a. In one example, the number of non-adjacent rows to use is different for the sample points reserved for the current block and those above the current block.
[0180] 6. It is proposed that one or more non-adjacent reference lines can be used in MIP mode.
[0181] a. In one example, a non-adjacent reference line can be used to generate reduced reference signaling.
[0182] b. In one example, a non-adjacent reference line can be used to upsample the reduced predictive signaling.
[0183] c. In one example, both adjacent and non-adjacent lines can be used to generate MIP predictive signaling.
[0184] d. Alternatively, the reference line to be used can be indicated by signaling in the bit stream.
[0185] 7. It is proposed that MRL can be enabled for CIIP mode or other modes that require intra-frame prediction signaling.
[0186] a. In one example, MRL can be applied to the CIIP mode of the chromaticity component.
[0187] b. In one example, MRL can be applied to block-based delta PCM (BDPCM) mode.
[0188] Cross-component prediction for multi-parameter models (CCPMPM)
[0189] Multi-parameter models such as It can be used for cross-component prediction, where, k=0..n is a set of first color component samples, and y is a set of second color component samples. is the linear coefficient, b is the offset, and n is the total number of first color component samples used to predict the second color component samples.
[0190] 8. It is proposed that a second color component sample can be predicted using a linear combination of a set of first color component samples, and that the linear coefficients can be individually derived or signaled for each of the first color component samples (e.g., in a multi-parameter model). An indication of the prediction error (i.e., the difference between the original and predicted values) can be further encoded into a bitstream.
[0191] a. Alternatively, an offset can be added to a linear combination of the first color component samples to predict the second color component samples.
[0192] 9. A linear combination of a set of first color component samples can be used to predict second color component samples, and the linear coefficient can be derived or signaled separately for each set of first color component samples. The first color component samples can be classified into multiple sets of samples, and each sample in the same set of samples can share a linear coefficient.
[0193] a. Alternatively, an offset can be added to a linear combination of the first color component samples to predict the second color component samples.
[0194] 10. It is proposed that the first color component sample group used in cross-component intra-frame prediction can be defined by the filter shape including the central first color component sample.
[0195] a. In one example, the center first color component sample point may depend on the color format (e.g., 4:4:4, 4:2:2, 4:2:0) and position of the second color component sample point.
[0196] i. For example, for a second color component sample located at (x, y), a first color component sample located at (x, y) can be used as the center first color component sample in a 4:4:4 format.
[0197] ii. For example, for the second color component sample point located at (x, y), located at (2 The first color component sample point of x, y) can be used as the center sample point in the 4:2:2 format.
[0198] iii. For example, for the second color component sample point located at (x, y), located at (2... x, 2 The first color component sample of y) can be used as the center sample in the 4:2:0 format.
[0199] b. In one example, the filter shape can be a rectangle or square at point N1, a rhombus at point N2, a hexagon at point N4, or an octagon at point N5, where N1, N2, N3, N4, and N5 are positive integers. Figure 16 Some examples are shown. The filter shape can be adaptively selected based on the intra-frame prediction mode of the first color component.
[0200] 11. Samples of the same shape as the first color component are used to derive the parameters and / or offsets of the linear combination, and the derived parameters and / or offsets are used to derive the prediction of the second color component.
[0201] a. In one example, the least squares method can be used to derive parameters and / or offsets.
[0202] 12. Samples used to derive linear combinations can be located in a specific region relative to the current block.
[0203] a. All samples used to derive linear combinations can be located to the left of the current block.
[0204] b. All samples used to derive linear combinations can be located above the current block.
[0205] c. Using samples from different regions to derive linear combinations can be considered as different patterns.
[0206] 13. How to classify the first color component sample points into multiple groups of samples can depend on the filter shape and the center of the filter shape in CCPPMPM.
[0207] a. In one example, in the first classification method, the first color component samples that are symmetrical about a vertical line containing the center of the filter shape can be classified into a group. Example as follows: Figure 17 As shown in (a)-(c).
[0208] i. Alternatively, for sample points located on a vertical line containing the center of the filter shape, each sample point can be classified into a group.
[0209] ii. Alternatively, for samples located on a vertical line containing the center of the filter shape, samples that are symmetric about the center of the filter shape can be grouped together.
[0210] b. In one example, in the second classification method, the first color component samples, symmetrical about a horizontal line containing the center of the filter shape, can be classified into a group. Example as follows: Figure 17 As shown in (d)-(f).
[0211] i. Alternatively, for samples located on a horizontal line containing the center of the filter shape, each sample can be classified into a group.
[0212] ii. Alternatively, for samples located on a horizontal line containing the center of the filter shape, samples that are symmetric about the center of the filter shape can be grouped together.
[0213] c. In one example, in the third classification method, the first color component samples, which are centrally symmetric about the filter shape, can be classified into a group. Example: Figure 17 As shown in (g)-(j).
[0214] i. Alternatively, for samples located on a horizontal line containing the center of the filter shape, each sample can be classified into a group.
[0215] ii. Alternatively, for sample points located on a vertical line containing the center of the filter shape, each sample point can be classified into a group.
[0216] d. Alternatively, if the center of the filter shape is an integer location of the first color component sample point, it can be classified into a separate group. Figure 17 The example shown in (j) is an example.
[0217] e. Alternatively, how the first color component sample points are classified into multiple groups of samples can depend on the filter shape and the center sample point.
[0218] f. Alternatively, the classification of the first color component samples can depend on the intra-frame prediction orientation of the first color component. For example, if the first color component prediction is close to the horizontal direction, then horizontal symmetry classification can be applied.
[0219] g. In CCPPMPM, different filter shapes can use different classification methods. For example, the first classification method can be used for the first filter shape, the second classification method can be used for the second filter shape, and the third classification method can be used for the third filter shape.
[0220] 14. In CCPMPM, multiple filter shapes can be used in one or more sets.
[0221] a. Alternatively, the signaling notification of the filter shape can be at the sequence / video / picture / strip / piece / brick / subpicture / piece group / CTU level, for example in the SPS / PPS / picture header / strip header.
[0222] b. Alternatively, signaling notification set indexes and / or filter shape indexes can be used for video units (e.g., CU / PU / TU / video sub-regions).
[0223] 15. When deriving linear parameters in CCPPPMPM, the first filter shape and the second filter shape can use different sets of neighboring samples.
[0224] 16. In CCPPMPM, the derived linear parameters (e.g., linear coefficients or offsets) can be rounded to integer values before use.
[0225] a. In one example, the linear coefficients a(k) can be transformed into round(a(k)). 2 N ), where the function round(x) rounds x to an integer value toward zero, positive infinity, or negative infinity. N is a positive integer.
[0226] i. Alternatively, the linear combination of the first color component sample group can be shifted to the right by N.
[0227] ii. Alternatively, the rounding offset can be added to the linear combination of the first color component sample group before shifting right by N.
[0228] b. In one example, the offset b can be converted to round(b).
[0229] 17. In the example above, the first color component sample points may be those reconstructed samples prior to loop filtering (e.g., deblocking filter / SAO / ALF).
[0230] a. Alternatively, the first color component samples can be those reconstructed samples after loop filtering (e.g., deblocking filter / SAO / ALF).
[0231] b. Alternatively, the reconstructed samples can be further modified before use.
[0232] i. In one example, it can be downsampled and filtered.
[0233] ii. In one example, it can be filtered by a smoothing filter.
[0234] 18. In one example, the first color component can be the luminance component, and the second color component can be either the Cb or Cr component.
[0235] a. In one example, the first color component can be the Cb component and the second color component can be the Cr component.
[0236] b. In one example, the first color component can be the Cr component and the second color component can be the Cb component.
[0237] c. In one example, the first color component can be the R component and the second color component can be either the G or B color component.
[0238] 19. Propose that signaling notification first syntax can be used at the sequence / video / picture / strip / film / subpicture / brick / other video unit (e.g., CTU line / CTU) level to indicate whether CCPPMPM is enabled.
[0239] a. Alternatively, the syntax can be signaled at two levels. For example, the first syntax can be signaled at the sequence / video level. If the first syntax indicates the use of CCPPMPM, the second syntax can be further signaled at the picture / strip / film / subpicture / brick / other video unit (e.g., CTU line / CTU) level.
[0240] b. In one example, the syntax can be signaled across components for sequences / videos / pictures / strips / slices / subpictures / blocks / other video units (e.g., CTU lines / CTUs).
[0241] 20. Propose that a third syntax can be signaled to indicate whether and / or which CCPPM mode is used for a block (e.g., codec unit or prediction unit).
[0242] a. In one example, signaling notification third syntax can be enabled for images / strips / pieces / sub-images / bricks / other video units (e.g., CTU lines / CTUs).
[0243] b. In one example, signaling notifications for the third syntax can be made under the condition of cross-component prediction for the current block.
[0244] 21.CCPMPM can be considered as an additional CCLM mode (e.g., CCLM_A, CCLM_L, CCLM_AL) in addition to the existing modes.
[0245] a. Alternatively, the number of allowed CCLM modes can be increased, and the CCLM mode index (e.g., cclm_mode_idx) can be signaled based on the increased number.
[0246] b. Alternatively, if CCPPMPM mode is selected, cclm_mode_flag should be equal to 1.
[0247] c. Alternatively, the CCPPMPM schema can be allocated larger indexes compared to the existing CCLM schema.
[0248] 22.CCPMPM can be considered a new category different from the CCLM model.
[0249] a. Alternatively, when CCLM is not applied to a block, a signaling instruction for a new class can be provided, for example, cclm_mode_flag should be equal to 0.
[0250] Inter-prediction with multiple-parameter model IPMPM)
[0251] 23. The proposed CCPPMPM method can be extended to process Local Illumination Compensation (LIC) codec blocks. That is, in order to predict the first color component of the LIC codec block, the second color component (e.g., luminance) of the LIC codec block can be used to predict chromaticity samples.
[0252] 24. It is proposed that CCPPMPM can be extended to inter-frame prediction. Instead of using a set of first color component samples to predict second color component samples, a set of reference samples can be used to predict samples in the current video block.
[0253] a. In one example, reference samples can be identified using the motion vector of the current block.
[0254] In one example, reference samples can be identified by the modified motion vector of the current block. For example, the modified motion vector can be the integer part of the motion vector.
[0255] c. In one example, a set of linear coefficients and / or offsets can be derived for each prediction direction.
[0256] d. In one example, a set of linear coefficients and / or offsets can be derived for each motion vector of the current block.
[0257] e. Alternatively, the derivation of the linear coefficient / offset can depend on neighboring samples of the same color component.
[0258] 25. Propose that the first syntax of signaling notification can be used at the sequence / video / picture / strip / film / subpicture / brick / other video unit (e.g., CTU line / CTU) level to indicate whether IPMPM is enabled.
[0259] a. Alternatively, the syntax can be signaled at two levels. For example, the first syntax can be signaled at the sequence / video level. If the first syntax indicates the use of IPMPM, the second syntax can be further signaled at the picture / strip / film / subpicture / brick / other video unit (e.g., CTU line / CTU) level.
[0260] 26.26. The proposal may signal to a third syntax to indicate whether and / or which IPMPM mode is used for a block (e.g., a codec unit or a prediction unit).
[0261] a. In one example, signaling notification of the third syntax can be enabled for IPPMM for images / strips / pieces / sub-images / bricks / other video units (e.g., CTU lines / CTUs).
[0262] b. In one example, the third syntax could be a flag.
[0263] c. In one example, whether signaling notification of third syntax can depend on the block's encoding / decoding mode.
[0264] i. In one example, signaling notifications can be made in Advanced Motion Vector Prediction (AMVP) mode using third syntax.
[0265] ii.ii. In one example, under certain modes, signaling notification for a third grammar may be omitted. For example, under the following modes, signaling notification for a third grammar may be omitted:
[0266] 1. Merge mode
[0267] 2. Sub-block merge mode
[0268] 3. Intra-frame block copy mode
[0269] 4. Affine mode
[0270] 5. Palette Mode
[0271] 6. In-frame mode
[0272] d. In one example, a third syntax can be stored for a block and used in its subsequent encoding / decoding blocks.
[0273] In one example, ee can inherit a third syntax in Merge mode.
[0274] i. For example, if the current block inherits motion information from neighboring blocks in the same spatial domain, then the third syntax of neighboring blocks in the same spatial domain can also be inherited by this block.
[0275] ii. For example, if the current block inherits motion information from neighboring blocks in the temporal domain, then the third syntax of neighboring blocks in the same temporal domain can also be inherited by this block.
[0276] f. In one example, the third syntax can be stored together with the associated motion information in a history-based motion vector prediction (HMVP) table.
[0277] i. Alternatively, if an HMVP candidate is inherited by a block, the associated third syntax can also be inherited.
[0278] 5 Additional Examples
[0279] 5.1 Example of signaling on the signal sps_joint_cbcr_enabled_flag
[0280] The changes proposed above JVET-P2001-v14 are described below, with the newly added changes highlighted in bold, underlined, and italic text.
[0281] 7.3.2.3 Sequence Parameter Set (RBSP) Syntax
[0282]
[0283] 7.4.3.3 Sequence Parameter Set (RBSP) Semantics ...
[0285] A value of 0 for `sps_joint_cbcr_enabled_flag` disables joint encoding and decoding of chroma residuals. A value of 1 for `sps_joint_cbcr_enabled_flag` enables joint encoding and decoding of chroma residuals. When `sps_joint_cbcr_enabled_flag` does not exist, it is inferred to be equal to 0.
[0286] …
[0287] 6. Example implementations of the disclosed technologies
[0288] Figure 18 This is a block diagram of an example video processing apparatus 1800. Apparatus 1800 can be used to implement one or more methods described in this document. Apparatus 1800 can be embodied in a smartphone, tablet, computer, Internet of Things (IoT) receiver, etc. Apparatus 1800 may include one or more processors 1802, one or more memories 1804, and video processing hardware 1806. Processor 1802 can be configured to implement one or more methods described in this document. Memory 1804 can be used to store data and code for implementing the methods and techniques described herein. Video processing hardware 1806 can be used to implement some of the techniques described in this document in hardware circuitry. In some embodiments, hardware 1806 may be partly or entirely part of processor 1802 (e.g., a graphics processing unit (GPU) core or other signal processing circuitry).
[0289] In this disclosure, the term "video processing" can refer to video encoding, video decoding, video compression, or video decompression. For example, a video compression algorithm may be applied during the conversion from a pixel representation of a video to a corresponding bitstream representation, and vice versa. The bitstream representation of the current video block may, for example, correspond to bits located at different positions or distributed at different positions within the bitstream, as defined by the syntax. For example, macroblocks may be encoded based on the error residual values from the transform and encoding / decoding, and bits in the header and other fields in the bitstream may also be used.
[0290] It should be understood that the disclosed methods and techniques will be beneficial to video encoder and / or decoder embodiments incorporated into video processing devices (such as smartphones, laptops, desktops and similar devices) by allowing the use of the techniques disclosed in this document.
[0291] Figure 19 This is a flowchart of an example method 1900 for video processing. Method 1900 includes performing a conversion between a video block and a bitstream representation of the video block using an intra-frame prediction codec tool, wherein one or more spatially non-adjacent reference rows and / or reference columns are used in the intra-frame prediction codec tool, wherein the video block does not correspond to a luminance color component.
[0292] Some embodiments can be described using the following clause-based format.
[0293] 1. A video processing method, comprising: performing a conversion between a video block and a bitstream representation of the video block using an intra-frame prediction codec tool, wherein one or more spatially non-adjacent reference rows and / or reference columns are used in the intra-frame prediction codec tool, wherein the video block does not correspond to a luminance color component.
[0294] 2. The method according to Clause 1, wherein one or more non-adjacent reference rows and / or reference columns in the airspace are used for at least one of the following: (1) generating reduced reference signaling, (2) upsampling the reduced prediction signaling, or (3) generating matrix-based intra-frame prediction (MIP) signaling.
[0295] 3. The method according to any one or more of Clauses 1-2, wherein, in addition to using one or more non-adjacent reference rows and / or reference columns in the airspace, adjacent reference rows and / or reference columns in the airspace are also used.
[0296] 4. The method according to any one or more of the clauses 1-3, wherein the use of one or more non-adjacent reference rows and / or reference columns in the bitstream representation is indicated.
[0297] 5. The method according to any one or more of Clauses 1-4, wherein the Multiple Reference Line (MRL) flag is enabled in the bitstream representation.
[0298] 6. The method according to Clause 5, wherein the predictive coding / decoding tool is associated with a combined intra-frame-inter-frame prediction (CIIP) mode.
[0299] 7. The method according to any one or more of Clauses 5-6, wherein the intra-frame prediction coding / decoding tool is associated with a block-based incremental PCM (BDPCM) mode.
[0300] 8. A video processing method comprising: performing a conversion between a video block and a bitstream representation of the video block using an intra-frame prediction tool, wherein the intra-frame prediction tool uses a model based on a linear combination of multiple first-type color component samples to predict second-type color component samples of the video block, and wherein, in the model, linear coefficients associated with the first-type color component samples are derived in the bitstream representation or signaled separately.
[0301] 9. The method according to Clause 8, wherein the prediction error, representing the difference between the original sample value and the predicted sample value, is indicated in the bitstream representation.
[0302] 10. The method according to any one or more of Clauses 8-9, wherein the model includes a linear combination of multiple color component samples of the first type using offsets.
[0303] 11. The method according to Clause 8, wherein multiple color component samples of the first type are classified into one or more groups of color component samples, and wherein each group of color component samples is associated with a linear coefficient.
[0304] 12. The method according to Clause 11, wherein the classification of one or more groups of color component samples is defined according to the shape of a filter centered on a color component sample of the first type in the spatial domain.
[0305] 13. The method according to Clause 12, wherein the first type of color component sample is selected based on the color format of the first type of color component sample and the position of the second type of color component sample.
[0306] 14. According to the method of Clause 13, wherein if the second type of color component sample is located at (x,y) and the color format of the first type of color component sample is 4:4:4, then the first type of color component sample is selected from the position (x,y).
[0307] 15. According to the method of Clause 13, wherein if the second type of color component sample point is located at (x, y) and the color format of the first type of color component sample point is 4:2:2 format, then from position (2 Select the first type of color component sample points in x, y).
[0308] 16. According to the method of Clause 13, where if the second type of color component sample is located at (x, y) and the color format of the first type of color component sample is 4:2:0, then from position (2 x,2 Select the first type of color component sample in y).
[0309] 17. The method according to any one or more of Clauses 12-16, wherein the shape of the filter is one of the following: N1-point rectangle, N1-point square, N2-point rhombus, N4-point hexagon or N5-point octagon, wherein N1, N2, N3, N4 and N5 are positive integers.
[0310] 18. The method according to any one or more of Clauses 12-17, wherein the shape of the filter is selected according to the intra-prediction tool used in the conversion.
[0311] 19. The method according to any one or more of Clauses 12-17, wherein the shape of the filter used to calculate the linear coefficients is the same as the shape of the filter used to calculate the offset associated with the linear coefficients.
[0312] 20. The method according to Clause 19, wherein the least squares technique is used to derive the linear coefficients and the offsets associated with the linear coefficients.
[0313] 21. The method according to Clause 8, wherein multiple color component samples of the first type are located together within a region relative to the position of the video block.
[0314] 22. According to the method of Clause 21, wherein multiple color component samples of the first type are located together in the left direction of the video block.
[0315] 23. The method according to Clause 21, wherein multiple color component samples of the first type are located together in the direction above the video block.
[0316] 24. The method according to Clause 21, wherein multiple color component samples of the first type are distributed in a first region and a second region, wherein each region is associated with a prediction tool.
[0317] 25. A video processing method comprising: performing a conversion between a video block and a bitstream representation of the video block using an intra-frame prediction tool, wherein the intra-frame prediction tool uses a model based on a linear combination of multiple first-type color component samples to predict second-type color component samples of the video block, and wherein the multiple first-type color component samples are classified into one or more groups of color component samples according to a rule depending on the shape of a filter centered on the first-type color component samples in the spatial domain.
[0318] 26. The method according to Clause 25, wherein first-type color component samples symmetrically positioned about a vertical line from the center of the pass filter are classified into a single group.
[0319] 27. The method according to Clause 25, wherein the first type of color component samples located on the vertical line at the center of the pass filter are classified into a single group.
[0320] 28. The method according to Clause 25, wherein color component samples of the first type, located symmetrically about the center of the filter, are classified into a single group.
[0321] 29. The method according to Clause 25, wherein color component samples of the first type are classified into a single group based on a horizontal line symmetrically positioned about the center of the pass filter.
[0322] 30. The method according to Clause 25, wherein the first type of color component samples located on the horizontal line at the center of the pass filter are classified into a single group.
[0323] 31. The method according to Clause 25, wherein if the color component sample of the first type at the center of the filter is located at an integer value position, the color component sample of the first type is classified into a different group than the group that includes multiple color component samples of the first type.
[0324] 32. The method according to Clause 25, wherein the rule specifies that multiple color component samples of the first type are classified into one or more groups using intra-frame prediction directions.
[0325] 33. The method according to Clause 25, wherein the rule specifies the use of a first filter shape that classifies color component samples of the first type into a first group and a second filter shape that classifies color component samples of the first type into a second group.
[0326] 34. The method according to Clause 25, wherein the signaling in the bitstream representation indicates the shape of the filter used.
[0327] 35. The method according to Clause 25, wherein the index of the signaling notification indication group identifier is in the bitstream representation.
[0328] 36. A video processing method comprising: performing a conversion between a video block and a bitstream representation of the video block using an intra-frame prediction tool, wherein the intra-frame prediction tool uses a model based on a linear combination of multiple first-type color component samples to predict second-type color component samples of the video block, and wherein the multiple first-type color component samples are classified into one or more groups of color component samples according to the shape of a filter centered on the first-type color component samples in the spatial domain, such that the first filter shape and the second filter shape utilize neighboring samples from different groups.
[0329] 37. A video processing method comprising: performing a conversion between a video block and a bitstream representation of the video block using an intra-frame prediction tool, wherein the intra-frame prediction tool uses a model based on a linear combination of multiple first-type color component samples to predict second-type color component samples of the video block, and wherein, in the model, linear coefficients and offsets associated with the first-type color component samples are derived in the bitstream representation or separately signaled.
[0330] 38. The method according to Clause 37, wherein the linear coefficients and / or offsets are rounded to integer values before use.
[0331] 39. The method according to Clause 37, wherein the linear coefficients and / or offsets are shifted to the right before use.
[0332] 40. The method according to Clause 37, wherein the linear coefficients and / or offsets are rounded and right-shifted.
[0333] 41. The method according to Clause 37, wherein the multiple color component samples of the first type are samples reconstructed before the loop filtering step is performed.
[0334] 42. The method according to Clause 41, wherein the loop filtering step uses a deblocking filter, a sample adaptive offset (SAO) step, or an ALF filter.
[0335] 43. The method according to Clause 41, wherein the reconstructed samples are subject to additional modifications before the loop filtering step is performed.
[0336] 44. The method according to Clause 43, wherein the additional modification includes applying a smoothing filter.
[0337] 45. The method according to Clause 43, wherein the additional modification includes applying a downsampling filter.
[0338] 46. The method according to Clause 37, wherein the first type of color component sample is a luminance component and the second type of color component sample is a Cb or Cr component.
[0339] 47. The method according to Clause 37, wherein the first type of color component sample is the Cb component and the second type of color component sample is the Cr component.
[0340] 48. The method according to Clause 37, wherein the first type of color component sample is the Cr component and the second type of color component sample is the Cb component.
[0341] 49. The method according to Clause 37, wherein the first type of color component sample is the R component and the second type of color component sample is the G or B component.
[0342] 50. The method according to Clause 37, wherein signaling in the bitstream representation indicates the use of a model based on a linear combination of multiple color component samples of the first type.
[0343] 51. The method according to Clause 50, wherein the use is notified by signaling using a two-level syntax, a first syntax at the sequence / video level and a second syntax at the picture / strip / film / sub-picture / brick / video unit level.
[0344] 52. The method according to Clause 51, wherein the second syntax is signaled only when the first syntax indicates the use of the model.
[0345] 53. The method according to any one or more of clauses 51-52, wherein the signaling notification in the bitstream representation at the block level indicates whether the model is used for the video block.
[0346] 54. The method according to any one or more of Clauses 37-53, wherein the use of a model based on a linear combination of multiple color component samples is signaled as a cross-component linear model (CCLM) codec tool.
[0347] 55. The method according to any one or more of Clauses 37-53, wherein when a cross-component linear model (CCLM) codec tool is not used, a model signaling notification based on a linear combination of multiple color component samples will be used as the codec tool.
[0348] 56. The method according to any one or more of clauses 37-53, wherein the model based on a linear combination of multiple color component samples is suitable for processing video blocks encoded and decoded by Local Illumination Compensation (LIC).
[0349] 57. A video processing method comprising: performing a conversion between a video block and a bitstream representation of the video block using an inter-frame prediction tool, using a model based on a linear combination of multiple reference samples in the inter-frame prediction tool to predict color component samples of the video block, and wherein, in the model, linear coefficients and offsets associated with color component samples of a first type are derived in the bitstream representation or separately signaled.
[0350] 58. A video decoding apparatus comprising a processor configured to implement one or more of the methods in Clauses 1 to 57.
[0351] 59. A video encoding apparatus comprising a processor configured to implement one or more of the methods in Clauses 1 to 57.
[0352] 60. A computer program product having computer code stored thereon, which, when executed by a processor, causes the processor to perform any one of the methods of clauses 1 to 57.
[0353] 61. A method, apparatus or system described in this document.
[0354] Figure 20 This is a block diagram describing an example video codec system 100 that can utilize the techniques disclosed herein.
[0355] like Figure 20 As shown, the video encoding / decoding system 100 may include a source device 110 and a destination device 120. The source device 110 generates encoded video data, which may be referred to as a video encoding device. The destination device 120 can decode the encoded video data generated by the source device 110 and may be referred to as a video decoding device.
[0356] The source device 110 may include a video source 112, a video encoder 114, and an input / output (I / O) interface 116.
[0357] Video source 112 may include sources such as video capture devices, interfaces for receiving video data from video content providers, and / or computer graphics systems for generating video data, or combinations thereof. Video data may include one or more images. Video encoder 114 encodes the video data from video source 112 to produce a bitstream. The bitstream may include bit sequences that form a codec representation of the video data. The bitstream may include codec images and associated data. A codec image is a codec representation of an image. Associated data may include sequence parameter sets, image parameter sets, and other syntax structures. I / O interface 116 may include a modulator / demodulator (modem) and / or a transmitter. Encoded video data may be transmitted directly to destination device 120 via network 130a through I / O interface 116. Encoded video data may also be stored on storage medium / server 130b for access by destination device 120.
[0358] The target device 120 may include an I / O interface 126, a video decoder 124, and a display device 122.
[0359] I / O interface 126 may include a receiver and / or a modem.
[0360] I / O interface 126 can acquire encoded video data from source device 110 or storage medium / server 130b. Video decoder 124 can decode the encoded video data. Display device 122 can display the decoded video data to the user. Display device 122 can be integrated with target device 120, or it can be external to target device 120, which is configured to interface with an external display device.
[0361] The video encoder 114 and the video decoder 124 can operate according to video compression standards, such as the High Efficiency Video Coding (HEVC) standard, the Universal Video Coding (VVC) standard, and other current and / or further standards.
[0362] Figure 21 This is a block diagram illustrating an example of a video encoder 200, which can be in... Figure 20 The video encoder 114 in the system 100 described herein.
[0363] The video encoder 200 can be configured to perform any or all of the techniques disclosed herein. Figure 21In the example, the video encoder 200 includes multiple functional components. The techniques described in this disclosure can be shared among the various components of the video encoder 200. In some examples, the processor can be configured to perform any or all of the techniques described in this disclosure.
[0364] The functional components of the video encoder 200 may include a partitioning unit 201, a prediction unit 202 (which may include a mode selection unit 203, a motion estimation unit 204, a motion compensation unit 205, and an intra-frame prediction unit 206), a residual generation unit 207, a transform unit 208, a quantization unit 209, an inverse quantization unit 210, an inverse transform unit 211, a reconstruction unit 212, a buffer 213, and an entropy coding unit 214.
[0365] In other examples, the video encoder 200 may include more, fewer, or different functional components. In one example, the prediction unit 202 may include an intra-block copy (IBC) unit. The IBC unit can perform prediction in IBC mode, where at least one reference picture is the picture containing the current video block.
[0366] Furthermore, some components, such as the motion estimation unit 204 and the motion compensation unit 205, can be highly integrated, but for interpretable purposes... Figure 5 The example is shown separately.
[0367] The segmentation unit 201 can segment an image into one or more video blocks. The video encoder 200 and the video decoder 300 can support various video block sizes.
[0368] The mode selection unit 203 can select one of the encoding / decoding modes (intra-frame or inter-frame, e.g., based on error results) and provide the resulting intra-frame or inter-frame encoded / decoded blocks to the residual generation unit 207 to generate residual block data, and to the reconstruction unit 212 to reconstruct the encoded blocks for use as reference images. In some examples, the mode selection unit 203 can select a combination of intra-frame and inter-frame prediction (CIIP) modes, where prediction is based on inter-frame prediction signals and intra-frame prediction signals. In the case of inter-frame prediction, the mode selection unit 203 can also select the resolution of the motion vector (e.g., sub-pixel or integer pixel precision) for the block.
[0369] To perform inter-frame prediction on the current video block, motion estimation unit 204 can generate motion information for the current video block by comparing one or more reference frames from buffer 213 with the current video block. Motion compensation unit 205 can determine the predicted video block for the current video block based on motion information and decoded samples from images other than those associated with the current video block from buffer 213.
[0370] The motion estimation unit 204 and the motion compensation unit 205 can perform different operations on the current video block, for example, depending on whether the current video block is in an I-band, P-band, or B-band.
[0371] In some examples, motion estimation unit 204 may perform unidirectional prediction for the current video block, and may search reference images in list 0 or list 1 to find a reference video block for the current video block. Motion estimation unit 204 may then generate a reference index indicating a reference image containing a reference video block in list 0 or list 1, and a motion vector indicating the spatial displacement between the current video block and the reference video block. Motion estimation unit 204 may output the reference index, prediction direction indicator, and motion vector as motion information for the current video block. Motion compensation unit 205 may generate a predicted video block for the current block based on the reference video block indicated by the motion information of the current video block.
[0372] In other examples, motion estimation unit 204 can perform bidirectional prediction for the current video block. Motion estimation unit 204 can search for a reference video block for the current video block in the reference images in list 0, and can also search for another reference video block for the current video block in the reference images in list 1. Motion estimation unit 204 can then generate reference indices indicating the reference images in lists 0 and 1, which contain reference video blocks and motion vectors indicating the spatial displacement between the reference video blocks and the current video block. Motion estimation unit 204 can output the reference index and motion vector of the current video block as motion information for the current video block. Motion compensation unit 205 can generate a predicted video block for the current video block based on the reference video blocks indicated by the motion information of the current video block.
[0373] In some examples, the motion estimation unit 204 can output a complete set of motion information for the decoder to use in the decoding process.
[0374] In some examples, motion estimation unit 204 may not output the complete set of motion information for the current video. Instead, motion estimation unit 204 may signal the motion information of the current video block to another video block. For example, motion estimation unit 204 may determine that the motion information of the current video block is sufficiently similar to the motion information of neighboring video blocks.
[0375] In one example, motion estimation unit 204 may indicate a value in the syntax structure associated with the current video block that indicates to video decoder 300 that the current video block has the same motion information as another video block.
[0376] In another example, motion estimation unit 204 can identify another video block and motion vector difference (MVD) within the syntactic structure associated with the current video block. The motion vector difference represents the difference between the motion vector of the current video block and the motion vector of the indicated video block. Video decoder 300 can use the motion vector of the indicated video block and the motion vector difference to determine the motion vector of the current video block.
[0377] As discussed above, the video encoder 200 can predictively signal motion vectors. Two examples of predictive signaling notification techniques that can be implemented by the video encoder 200 include advanced motion vector prediction (AMVP) and merge pattern signaling notification.
[0378] Intra-prediction unit 206 can perform intra-prediction on the current video block. When intra-prediction unit 206 performs intra-prediction on the current video block, it can generate prediction data for the current video block based on decoded samples from other video blocks in the same frame. The prediction data for the current video block may include the predicted video block and various syntax elements.
[0379] The residual generation unit 207 can generate residual data for the current video block by subtracting (e.g., indicated by a negative sign) the predicted video block of the current video block from the current video block. The residual data for the current video block may include residual video blocks that correspond to different sample components of the samples in the current video block.
[0380] In other examples, residual data for the current video block may not exist, for example in skip mode, and residual generation unit 207 may not perform subtraction.
[0381] The transform processing unit 208 can generate one or more transform coefficient video blocks for the current video block by applying one or more transforms to the residual video blocks associated with the current video block.
[0382] After the transform processing unit 208 generates a transform coefficient video block associated with the current video block, the quantization unit 209 can quantize the transform coefficient video block associated with the current video block based on one or more quantization parameter (QP) values associated with the current video block.
[0383] Inverse quantization unit 210 and inverse transform unit 211 can apply inverse quantization and inverse transform to the transform coefficient video block, respectively, to reconstruct the residual video block from the transform coefficient video block. Reconstruction unit 212 can add the reconstructed residual video block to the corresponding samples of one or more predicted video blocks generated by prediction unit 202 to generate a reconstructed video block associated with the current block for storage in buffer 213.
[0384] After the video block is reconstructed by reconstruction unit 212, a loop filtering operation can be performed to reduce video block artifacts in the video block.
[0385] Entropy encoding unit 214 can receive data from other functional components of video encoder 200. When entropy encoding unit 214 receives data, it can perform one or more entropy encoding operations to generate entropy encoded data and output a bit stream including the entropy encoded data.
[0386] Figure 22 This is an example block diagram illustrating video decoder 300. Video decoder 300 can be... Figure 20 The video decoder 114 in the system 100 described herein.
[0387] The video decoder 300 can be configured to perform any or all of the technologies disclosed herein. Figure 22 In the example, the video decoder 300 includes multiple functional components. The techniques described in this disclosure can be shared among the various components of the video decoder 300. In some examples, the processor can be configured to perform any or all of the techniques described in this disclosure.
[0388] exist Figure 22 In the example, the video decoder 300 includes an entropy decoding unit 301, a motion compensation unit 302, an intra-frame prediction unit 303, an inverse quantization unit 304, an inverse transform unit 305, a reconstruction unit 306, and a buffer 307. In some examples, the video decoder 300 can perform functions typically associated with the video encoder 200 (e.g., Figure 21 The encoding channel (pass) is the opposite of the decoding channel.
[0389] The entropy decoding unit 301 can retrieve the encoded bitstream. The encoded bitstream may include entropy-coded video data (e.g., encoded video data blocks). The entropy decoding unit 301 can decode the entropy-coded video data, and based on the entropy-coded video data, the motion compensation unit 302 can determine motion information including motion vectors, motion vector precision, reference image list index, and other motion information. For example, the motion compensation unit 302 can determine this information by executing AMVP and merge modes.
[0390] The motion compensation unit 302 can generate motion compensation blocks, possibly performing interpolation based on an interpolation filter. The identifier of the interpolation filter used at sub-pixel precision can be included in the syntax element.
[0391] The motion compensation unit 302 can use the interpolation filter used by the video encoder 20 during the encoding of the video block to calculate the interpolated values of the sub-integer pixels of the reference block. The motion compensation unit 302 can determine the interpolation filter used by the video encoder 200 based on the received syntax information and use the interpolation filter to generate the prediction block.
[0392] The motion compensation unit 302 can use some syntax information to determine the size of the blocks used to encode the frames and / or stripes of the encoded video sequence, segmentation information describing how each macroblock of the picture of the encoded video sequence is segmented, a mode indicating how each segment is encoded, one or more reference frames (and a list of reference frames) for each inter-frame coded block, and other information of the decoded encoded video sequence.
[0393] Intra-prediction unit 303 can use, for example, an intra-prediction mode received in the bitstream to form prediction blocks from spatially adjacent blocks. Inverse quantization unit 303 performs inverse quantization, i.e., dequantization, on the quantized video block coefficients provided in the bitstream and decoded by entropy decoding unit 301. Inverse transform unit 303 applies an inverse transform.
[0394] The reconstruction unit 306 can add the residual block to the corresponding predicted block generated by the motion compensation unit 202 or the intra-frame prediction unit 303 to form a decoded block. If necessary, a deblocking filter can also be applied to filter the decoded block to remove block artifacts. The decoded video block is then stored in a buffer 307, which provides a reference block for subsequent motion compensation.
[0395] The various technologies disclosed in this document can preferably be implemented through the technical solutions in the following embodiments.
[0396] The first set of solutions is listed below.
[0397] For example, the following solution can be implemented based on the items listed in Section 4 above (such as item 1).
[0398] 1. A video processing method (e.g., Figure 23A The method described in (2310) includes: performing (2312) a conversion between the current video block of the video and the bitstream of the video using an intra-frame prediction codec tool, wherein one or more reference lines are selectively used in the prediction codec tool according to rules, wherein the bitstream conforms to the format rules; wherein the current video block has color components that are different from the luminance color components of the video.
[0399] 2. According to the method of Solution 1, the color components are Cb component, Cr component, R component, G component or B component.
[0400] 3. According to the method of any one of solutions 1-2, where the rule stipulates that a non-adjacent reference line in the airspace shall be used.
[0401] 4. According to the method of any one of solutions 1-2, wherein the rule stipulates that one or more reference lines are used, and the one or more reference lines include lines that are 0, 1 or 2 columns to the left of the current video block or 0, 1 or 2 rows above the current video block.
[0402] 5. According to any one of solutions 1-4, wherein the bit stream includes the identification of one or more reference lines.
[0403] 6. According to the method of Solution 5, the identifier is included at the sequence level, video level, picture level, stripe level, slice level, subpicture level, brick level, codec tree unit level, or codec tree unit row level.
[0404] 7. According to the method of any one of solutions 5-6, wherein the identifier is included in the parameter set, wherein the parameter set includes a video parameter set, a sequence parameter set, an adaptive parameter set, or an image parameter set.
[0405] 8. The method of any one of solutions 5-7, wherein the identifier is included in the image header, strip header, slice header, or codec tree unit header.
[0406] For example, the following solution can be implemented based on the items listed in Section 4 above (such as item 2).
[0407] 9. According to the method of any one of solutions 1-8, wherein the format rules specify whether and how one or more reference lines are identified in the bitstream.
[0408] 10. According to the method of Solution 9, the format rules specify that one or more reference lines are implicitly identified in the bitstream.
[0409] 11. According to the method of Solution 9, the format rules specify that one or more reference lines are identified in the bitstream using a first syntax structure, the first syntax structure indicating whether one or more reference lines are used for conversion.
[0410] 12. According to the method of Solution 11, the format rules specify that the bitstream includes a second syntax element that indicates which non-adjacent reference lines the intra-frame prediction codec tool uses.
[0411] 13. According to the method of solution 11 or 12, wherein the format rules specify that the bitstream includes a third syntax element that instructs the intra-prediction codec tool which non-adjacent reference lines of the color components are used for intra-prediction.
[0412] 14. According to the method of Solution 13, wherein the first syntax structure is a flag and / or the second syntax structure is an index and / or the third syntax structure is another index.
[0413] 15. According to the method of solution 12 or 13, the second syntax structure or the third syntax structure is encoded or decoded into binary values.
[0414] 16. According to the method of solution 12 or 13, the second syntax structure or the third syntax structure is encoded or decoded into a non-binary value.
[0415] 17. According to the method of any one of solutions 9-10, wherein the format rule specifies that the index of one or more reference lines is deducible for the current video block based on the reference line index of the reference luma block associated with the current video block and based on the index of the adjacent chroma sample relative to the current video block.
[0416] For example, the following solution can be implemented based on the items listed in Section 4 above (e.g., item 4).
[0417] 18. According to any one of the solutions 1-17, where the rule specifies that whether to use one or more reference lines and / or how to use one or more reference lines depends on the color format of the video.
[0418] 19. According to the method of Solution 18, the rule stipulates that when the color format is 4:2:0, it is prohibited to use one or more reference lines that are not adjacent to the current video block.
[0419] 20. According to the method of Solution 18, the rule stipulates that, since the color format is 4:4:4, the use of one or more reference lines that are not adjacent to the current video block is enabled.
[0420] For example, the following solution can be implemented based on the items listed in Section 4 above (e.g., item 4).
[0421] 21. According to the method of Solution 18, the rule states that whether to use a non-adjacent line from one or more reference lines depends on whether the non-adjacent line is to the left or above the current video block.
[0422] 22. According to the method of Solution 18, the rule specifies that a first number of non-adjacent lines to the left of the current video block or a second number of non-adjacent lines above the current video block are used, wherein the first number and the second number are different.
[0423] For example, the following solution can be implemented based on the items listed in Section 4 above (such as item 6).
[0424] 23. According to the method of Solution 1, the rule specifies that the current video block is encoded and decoded using a matrix-based intra-frame prediction (MIP) mode, and wherein one or more reference lines include one or more non-adjacent reference lines.
[0425] 24. According to the method of Solution 23, one or more non-adjacent reference lines are used to generate reduced reference signaling.
[0426] 25. The method of any one of solutions 23-24, wherein one or more non-adjacent reference lines are used to upsample the reduced predictive signaling.
[0427] 26. According to the method of Solution 23, the rule stipulates that both adjacent and non-adjacent reference lines are used to generate MIP prediction signaling.
[0428] 27. According to the method of Solution 23, the format rules specify that the bit stream includes an indication of one or more reference lines.
[0429] For example, the following solution can be implemented based on the items listed in Section 4 above (such as item 7).
[0430] 28. According to the method of Solution 1, the rule stipulates that since the intra-frame prediction codec tool is in combined intra-frame inter-frame prediction (CIIP) mode, one or more reference lines are used.
[0431] 29. According to the method of Solution 1, the rule stipulates that since the intra-frame prediction codec is a block incremental pulse codec modulation (BDPCM) codec, one or more reference lines are used.
[0432] For example, the following solution can be implemented based on the items listed in Section 4 above (such as item 3).
[0433] 30. A video processing method (e.g., Figure 23B The method described in 2320 includes: for the conversion between the current video block and the bitstream of the video color component, determining (2322) that the current video block inherits intra-codec characteristics from the corresponding intra-codec luma video block; and performing (2324) the conversion based on the determination.
[0434] 31. According to the method of Solution 30, the current video block is encoded and decoded in the bitstream using a dependency mode, wherein the dependency mode indicates that the current video block is encoded and decoded using the same prediction direction or prediction reference line as the corresponding intra-frame encoded luminance video block.
[0435] 32. According to the method of any one of solutions 30-31, wherein the color format of the video is determined, and whether and / or how the current video block inherits intra-frame encoding and decoding characteristics.
[0436] The second set of solutions is listed below.
[0437] For example, the following solution can be implemented based on the items listed in Section 4 above (such as item 8).
[0438] 1. A video processing method (e.g., Figure 23C The method described in 2330 includes:
[0439] (2332) The conversion between the current video block of the second color component of the video and the bitstream of the video is performed using Cross-Component Prediction (CCPMPM) with a multi-parameter model, wherein samples of the current video block are predicted and decoded in the bitstream using a linear combination of samples of the first color component multiplied by linear coefficients and / or one or more offsets; wherein the bitstream conforms to a format rule; and wherein the linear coefficients of the CCPPMPM are determined using a first rule; and wherein the samples of the first color component are determined using a second rule.
[0440] For example, the following solution can be implemented based on the items listed in Section 4 above (such as item 9).
[0441] 2. According to the method of Solution 1, wherein the sample points of the first color component include multiple sets of sample points of the first color component, wherein one of the linear coefficients is applied to each sample point in the set of the first color components.
[0442] 3. According to the method of Solution 2, wherein one or more offsets include offsets applied to a linear combination of each set of samples of the first color component.
[0443] For example, the following solution can be implemented based on the items listed in Section 4 above (e.g., item 10).
[0444] 4. According to the method of any one of solutions 1-2, each of the multiple sets of samples of the first color component is defined by the filter shape and the center sample of the group.
[0445] 5. According to the method of Solution 4, the center sample depends on the color format of the video and / or the position of the sample of the predicted second color component, wherein the color format is 4:4:4, 4:2:2 or 4:2:0.
[0446] 6. According to the method of Solution 5, if the sample point of the second color component is located at (x, y), then in the case of 4:4:4 format, the center sample point is located at position (x, y) in the first color component, where x and y represent the decimal or integer sample point position number.
[0447] 7. According to the method of Solution 5, if the sample point of the second color component is located at (x, y), then in the case of 4:2:2 format, the center sample point is located at position (2) in the first color component. x, y), where x and y represent the decimal or integer sample point position numbers.
[0448] 8. According to the method of Solution 5, where the sample point of the second color component is located at (x, y), then in the case of 4:2:0 format, the center sample point is located at position (2) in the first color component. x,2 y), where x and y represent the decimal or integer sample point position numbers.
[0449] 9. According to any one of the solutions 4-8, the filter shape is one of the following: N1 point rectangle, N3 point square, N2 point rhombus, N4 point hexagon, or N5 point octagon, where N1, N2, N3, N4, and N5 are positive integers.
[0450] 10. According to the method of Solution 9, the filter shape of the current video block depends on the intra-prediction mode used to encode and decode the current video block.
[0451] 11. The method according to any one of solutions 4-10, wherein the first rule and the second rule specify the use of samples of the same shape to derive linear coefficients and / or one or more offsets and linear predictions.
[0452] 12. According to the method of Solution 11, wherein the first rule specifies the use of least squares and calculation operations to derive linear coefficients and / or one or more offsets.
[0453] For example, the following solution can be implemented based on the items listed in Section 4 above (such as item 13).
[0454] 13. According to the method of any one of solutions 4-12, wherein multiple sets of samples are classified into sets by a classification method based on the filter shape and the center sample of the group and / or the center of the filter shape.
[0455] 14. According to the method of solution 13, wherein the classification method includes grouping the sample points of the first color component according to the symmetry about the vertical line containing the center of the filter shape.
[0456] 15. According to the method of Solution 14, the classification method further includes classifying the sample points located on the vertical line into a group.
[0457] 16. According to the method of Solution 14, the classification method further includes classifying samples located on vertical lines and samples that are centrally symmetric about the shape of the filter into a group.
[0458] 17. The method of solution 13, wherein the classification method includes grouping samples of the first color component according to the symmetry about a horizontal line containing the center of the filter shape.
[0459] 18. According to the method of Solution 17, the classification method further includes classifying the sample points located on the horizontal line into a group.
[0460] 19. According to the method of Solution 17, the classification method further includes classifying samples located on the horizontal line and samples that are centrally symmetric about the shape of the filter into a group.
[0461] 20. According to the method of solution 13, wherein the classification method includes grouping the samples of the first color component according to the symmetry about the center of the filter shape.
[0462] 21. According to the method of solution 13, wherein the classification method includes grouping samples of a first color component located on a horizontal line containing the center of the filter shape.
[0463] 22. According to the method of solution 13, wherein the classification method includes grouping samples of a first color component located on a vertical line containing the center of the filter shape.
[0464] 23. According to the method of Solution 13, wherein the classification method includes classifying the center of the filter shape into a separate group if the center of the filter shape is located at an integer sample point location.
[0465] 24. According to any one of the methods in Solution 4-12, the multiple sets of samples are classified into a set by a classification method based on the direction of intra-frame prediction.
[0466] 25. According to the method of solution 24, if the direction of intra-frame prediction is closer to the horizontal prediction than the vertical prediction, then horizontal symmetry is used in the classification method.
[0467] 26. The method of any one of solutions 13-25, wherein a different classification method is used for each different filter shape.
[0468] For example, the following solution can be implemented based on the items listed in Section 4 above (such as item 12).
[0469] 27. The method of any one of solutions 1-26, wherein the first rule specifies that linear coefficients are determined using samples in a specific region relative to the current video block.
[0470] 28. According to the method of solution 27, the specific region is on the left side of the current video block.
[0471] 29. According to the method of solution 27, the specific region is above the current video block.
[0472] 30. According to the method of Solution 27, where the first rule stipulates that the location of a specific area defines the pattern of CCPPMPM.
[0473] For example, the following solution can be implemented based on the items listed in Section 4 above (e.g., item 14).
[0474] 31. According to the method of any one of solutions 1-30, wherein the second rule specifies that multiple filter shapes are used to determine the sample points of the first color component.
[0475] 32. According to the method of Solution 31, the format rules specify that multiple filter shapes are indicated in the bitstream at the sequence level, video level, picture level, strip level, slice level, sub-picture level, brick level or video unit level, wherein the video unit is the codec tree unit or codec unit level in the picture header or strip header.
[0476] 33. According to the method of solution 31, the format rules specify that multiple filter shapes are indicated in the sequence parameter set or the picture parameter set.
[0477] For example, the following solution can be implemented based on the items listed in Section 4 above (e.g., item 15).
[0478] 34. According to the method of Solution 1, wherein the first rule specifies that the linear coefficients of CCPPMPM are determined using a first set of neighboring samples according to a first filter shape and a second set of neighboring samples according to a second filter shape, wherein the first set and the second set include at least some different samples.
[0479] For example, the following solution can be implemented based on the items listed in Section 4 above (e.g., item 16).
[0480] 35. According to any one of the solutions 1-34, wherein the first rule stipulates that the linear coefficients are determined by rounding the linear coefficients to integer values.
[0481] 36. According to the method of Solution 35, where the first rule stipulates that the linear coefficients a(k) are transformed into round(a(k)). 2 N ), where the function round(x) rounds x to an integer value toward zero, toward positive infinity, or toward negative infinity, and N is a positive integer.
[0482] 37. The method of any one of solutions 1-34, wherein when determining the cross-component prediction of the samples of the current video block, a right shift of N is used, where N is a positive integer.
[0483] 38. According to the method of any one of solutions 1-34, when determining the cross-component prediction of the samples of the current video block, a right shift of N is applied after adding the rounding offset.
[0484] 39. According to the method of solution 38, the rounding offset b is converted to round(b).
[0485] For example, the following solution can be implemented based on the items listed in Section 4 above (e.g., item 17).
[0486] 40. The method of any one of solutions 1-39, wherein the samples of the first color component are included in the reconstructed samples of the video prior to loop filtering.
[0487] 41. The method according to any one of solutions 1-39, wherein the samples of the first color component are included in the reconstructed samples of the video after loop filtering.
[0488] 42. According to the method of solution 41, the loop filtering includes deblocking filtering or sample adaptive offset or adaptive loop filter.
[0489] 43. The method according to any one of solutions 1-39, wherein the sample points of the first color component include reconstructed sample points that have been downsampled and filtered.
[0490] 44. The method according to any one of solutions 1-39, wherein the sample points of the first color component include reconstructed sample points that have been filtered by a smoothing filter.
[0491] For example, the following solution can be implemented based on the items listed in Section 4 above (such as item 8).
[0492] 45. The method according to any one of solutions 1-44, wherein the first color component is a luminance component and the second color component is a Cr or Cb component.
[0493] 46. According to any one of the solutions 1-44, wherein the first color component is the Cb component and the second color component is the Cr component.
[0494] 47. The method according to any one of solutions 1-44, wherein the first color component is the Cr component and the second color component is the Cb component.
[0495] 48. According to any one of the solutions 1-44, the first color component is the R component and the second color component is the G component.
[0496] For example, the following solution can be implemented based on the items listed in Section 4 above (e.g., item 19).
[0497] 49. The method of any one of solutions 1-48, wherein the format rules specify that one or more syntax elements are included in the bitstream to indicate whether CCPPMPM is used for the current video block.
[0498] 50. According to the method of Solution 49, wherein one or more syntax elements include a first syntax element, the first syntax element including at the sequence level, video level, picture level, strip level, slice level, subpicture level, brick level, or video unit level, wherein the video unit level corresponds to a codec tree unit or a codec tree unit row.
[0499] 51. According to the method of Solution 49, one or more syntax elements include a first syntax element at the sequence or video level and a second syntax element conditionally included at the picture level, strip level, slice level, subpicture level, brick level, or video unit level, wherein the video unit level corresponds to a codec tree unit or codec tree unit row.
[0500] 52. According to the method of solution 51, if cross-component prediction is enabled, the second syntax element is included in the bitstream.
[0501] For example, the following solution can be implemented based on the items listed in Section 4 above (e.g., item 20).
[0502] 53. According to the method of Solution 51, the format rules stipulate that a third syntax element is conditionally included in the bitstream to indicate whether CCPPMPM is enabled at the level of the current video block.
[0503] 54. According to the method of Solution 53, if CCPPMPM is enabled at the block level based on the enablement at the picture level, strip level, slice level, subpicture level, brick level, or video unit level, then the third syntax element is included in the bitstream, wherein the video unit level corresponds to the codec tree unit or codec tree unit row that includes the current video block.
[0504] 55. According to the method of solution 53, if cross-component prediction mode is enabled for the current video block, a third syntax element is indicated.
[0505] For example, the following solution can be implemented based on the items listed in Section 4 above (e.g., item 21).
[0506] 56. The method of any one of solutions 1-55, wherein the format rule specifies that CCPPMPM is indicated as an additional mode of the cross-component linear model (CCLM) codec tool in the bitstream.
[0507] 57. According to the method of solution 56, wherein the signaling of the syntax element indicating the pattern of CCLM is used to notify CCPPMPM.
[0508] 58. According to the method of solution 56, the format rule specifies that, in response to enabling CCPPMPM for the current video block, the flag indicating the enabling of the CCLM codec tool is set to the value 1.
[0509] 59. According to the method of any one of solutions 57-58, wherein, in order to indicate CCPPMPM, the syntax element takes a value greater than that of other modes indicating CCLM.
[0510] For example, the following solution can be implemented based on the items listed in Section 4 above (e.g., item 22).
[0511] 60. The method of any one of solutions 1-55, wherein the format rules specify that CCPPMPM is indicated in the bitstream as a mode different from that of cross-component linear model (CCLM) codec tools.
[0512] 61. According to the method of Solution 60, the format rule stipulates that if the CCLM codec tool is disabled in the current video block, the CCPPMPM is enabled for the current video block.
[0513] The third set of solutions is listed below.
[0514] For example, the following solution can be implemented based on the items listed in Section 4 above (e.g., item 23).
[0515] 1. A video processing method (e.g., Figure 23DThe method described in (2340) includes: for the conversion between the current video block of the first component of the video and the bitstream of the video, determining (2342) the prediction of the current video block from a linear combination of samples of the second video block of the second component of the video according to a rule; and performing the conversion based on the determination (2344); wherein the current video block and the second video block are encoded and decoded using a local illumination compensation tool.
[0516] 2. According to the method of Solution 1, the rule stipulates that the first component is the chromaticity component and the second component is the luminance component.
[0517] For example, the following solution can be implemented based on the items listed in Section 4 above (e.g., item 24).
[0518] 3. A video processing method (e.g., Figure 23E The method described in (2350) includes: performing (2342) a conversion between the current video block and the bitstream of the video, wherein samples of the current video block are predictively encoded and decoded using a multi-parameter model (IPMPM), in which a linear combination of reference samples of the video is used with linear coefficients and / or offset values; and wherein the bitstream conforms to format rules.
[0519] 4. According to the method of Solution 3, the format rules stipulate that reference samples are identified in the bitstream using the motion vector of the current video block.
[0520] 5. According to the method of Solution 3, the format rules stipulate that reference samples are identified in the bitstream using modifications to the motion vector of the current video block.
[0521] 6. According to the method of Solution 5, the modification of the motion vector includes the integer part of the motion vector.
[0522] 7. The method according to any one of solutions 3-6, wherein the linear coefficients and / or offset values include a first set of linear coefficients and / or offset values in the first prediction direction and a second set of linear coefficients and / or offset values in the second prediction direction.
[0523] 8. According to the method of Solution 3, the linear coefficients and / or offset values include a first set of linear coefficients and / or offset values derived from a first motion vector of the current video block and a second set of linear coefficients and / or offset values derived from a second motion vector of the current video block.
[0524] 9. According to the method of Solution 3, the linear coefficients and / or offsets are derived from the neighboring samples of the color components of the current video block.
[0525] 10. The method of any one of solutions 3-9, wherein the current video block is a non-luminous video block.
[0526] For example, the following solution can be implemented based on the items listed in Section 4 above (e.g., item 25).
[0527] 11. According to the method of any one of solutions 3-10, wherein the format rules specify that the bitstream includes one or more syntax elements that indicate whether a multi-parameter model is enabled for the current video block.
[0528] 12. According to the method of Solution 11, one or more grammatical elements include a single grammatical element.
[0529] 13. According to the method of Solution 12, a single syntax element is included at the sequence level, video level, picture level, strip level, slice level, subpicture level, brick level, or video unit level, wherein the video unit is a codec tree unit or codec tree unit level.
[0530] 14. According to the method of Solution 11, one or more syntax elements include a first syntax element at the sequence or video level, and conditionally include a second syntax element at a more refined level based on the value of the first syntax element, wherein the second syntax element includes a picture level, strip level, slice level, subpicture level, brick level, or video unit level, wherein the video unit is a codec tree unit or codec tree unit level.
[0531] 15. According to the method of Solution 11, wherein one or more syntax elements include a first syntax element, a second syntax element and a third syntax element, wherein the third syntax element is conditionally included at the video block level.
[0532] 16. According to the method of Solution 15, if the first syntax element or the second syntax element indicates that the use of the multi-parameter model is disabled for the picture, strip, slice, sub-picture, brick or video unit that includes the current video block, the third syntax element is omitted, wherein the video unit is a codec tree unit or a codec tree unit level.
[0533] 17. According to the method of any one of solutions 15-16, wherein the third syntax element is a single-bit flag.
[0534] 18. According to the method of any one of solutions 15-17, wherein the format rules specify that the encoding / decoding mode based on the current video block conditionally includes a third syntax element.
[0535] 19. According to the method of Solution 18, the format rules stipulate that if the encoding / decoding mode is Advanced Motion Vector Prediction (AMVP) mode, the signaling notifies the third syntax element.
[0536] 20. According to the method of Solution 18-19, the format rules stipulate that if the encoding / decoding mode is merge mode, sub-block merge mode, intra-block copy mode, affine mode, palette encoding / decoding mode, or intra-frame mode, then no signaling is sent to the third syntax element.
[0537] 21. According to the method of any one of solutions 16-20, wherein a third syntax element is stored for encoding and decoding the next video block after the current video block.
[0538] 22. According to the method of Solution 16, the format rules stipulate that if the current video block uses the merge mode, the value of the third syntax element is inherited according to the merge mode.
[0539] 23. According to the method of solution 22, if the motion information of the spatial neighboring block is inherited, the value of the third syntax element is inherited from the spatial neighboring block.
[0540] 24. According to the method of solution 22, if motion information of temporally neighboring blocks is inherited, the value of the third syntax element is inherited from the temporally neighboring blocks.
[0541] 25. According to the method of Solution 16, the format rules stipulate that the third syntax element is stored in a history-based motion vector prediction table for encoding and decoding subsequent video blocks.
[0542] 26. According to the method of Solution 16 or 25, where the format rules specify that if the corresponding motion vector information is also inherited from the historical motion vector prediction table, then the third syntax element is inherited.
[0543] Some embodiments may include methods of any of the solutions in the above set, wherein the conversion includes encoding the current video block into a bitstream.
[0544] Some embodiments may include methods of any of the solutions in the above set, wherein the conversion includes decoding the current video block from the bitstream.
[0545] Some embodiments may include a method of storing a bitstream representing a video to a computer-readable recording medium, including: generating a bitstream from the video according to a method described in one or more of the above-described sets of solutions; and storing the bitstream to a computer-readable recording medium.
[0546] Some embodiments may include an apparatus for processing video data, including a processor and a non-transitory memory having instructions thereon, wherein the instructions executed by the processor cause the processor to implement the methods listed in one or more of the sets of solutions above.
[0547] An apparatus for processing video data includes a processor and a non-transitory memory having instructions thereon, wherein the instructions, when executed by the processor, cause the processor to perform the methods listed in one or more of the solutions set above.
[0548] Some embodiments may include a non-transitory computer-readable recording medium for storing a bitstream of video generated by a method performed by a video processing apparatus, wherein the method includes: the methods described in any one or more of the solutions set listed above, generating a bitstream from a current video block.
[0549] Some embodiments may include a computer-readable medium for storing a bitstream generated according to any one or more of the solutions listed above.
[0550] Some embodiments may include methods, apparatus, bitstreams, or systems according to the format rules described in this document.
[0551] The disclosed and other solutions, examples, embodiments, modules, and functional operations described in this document can be implemented in digital electronic circuits or computer software, firmware, or hardware, including the structures disclosed in this document and their structural equivalents, or combinations thereof. The disclosed and other embodiments can be implemented as one or more computer program products, i.e., one or more computer program instruction modules encoded on a computer-readable medium, which are executed or controlled by a data processing device. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of substances affecting machine-readable propagation signals, or a combination thereof. The term "data processing apparatus" encompasses all means, devices, and machines that process data, including, for example, a programmable processor, a computer, or multiple processors or computers. In addition to hardware, the apparatus may also include code that creates an execution environment for the computer program in question, such as code constituting processor firmware, a protocol stack, a database management system, an operating system, or a combination thereof. The transmitted signal is an artificially generated signal, such as an electrical, optical, or electromagnetic signal generated by a machine, which is generated to encode information for transmission to a suitable receiver device.
[0552] Computer programs (also known as programs, software, software applications, scripts, or code) can be written in any programming language, including compiled or interpreted languages, and can be deployed in any form, including standalone programs or modules, components, subroutines, or other units 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 as 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 coordinating files (e.g., a file storing one or more modules, subroutines, or portions of code). Computer programs can be deployed to execute on a single computer or on multiple computers located in one location or distributed across multiple locations and interconnected via a communication network.
[0553] The processes and logic described in this document can be executed by one or more programmable processors to execute one or more computer programs, thereby performing functions by manipulating input data and producing outputs. The processes and logic can also be executed by dedicated logic circuits, and can be implemented as dedicated logic circuits, such as FPGAs (field-programmable gate arrays) or ASICs (application-specific integrated circuits).
[0554] For example, processors suitable for executing computer programs include general-purpose and special-purpose microprocessors, as well as any one or more processors in any kind of digital computer. Typically, the processor receives instructions and data from read-only memory or random access memory, or both. The basic components of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Typically, a computer will also include, or be operatively coupled to, one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks, to receive data from or transfer data to one or more mass storage devices, or both. However, a computer does not necessarily need to have such devices. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and memory may be supplemented by or incorporated into special-purpose logic circuitry.
[0555] Although this patent document contains numerous details, these details should not be construed as limiting any invention or the scope of the claims, but rather as a description of features that may be specific to particular embodiments of a particular invention. Certain features described in this patent document in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented separately in multiple embodiments or in any suitable sub-combination. Furthermore, although features may be described above as functioning in certain combinations and even initially claimed in this way, in some cases one or more features from the claimed combination may be removed from the combination, and the claimed combination may involve sub-combinations or variations of sub-combinations.
[0556] Similarly, although operations are depicted in a specific order in the accompanying drawings, this should not be construed as requiring such operations to be performed in the specific order shown or in a sequential order, or to perform all shown operations to achieve the desired effect. Furthermore, the separation of various system components in the embodiments described in this patent document should not be construed as requiring such separation in all embodiments.
[0557] Only some implementation methods and examples are described, and other implementation methods, enhancements and variations can be made based on the content described and shown in this patent document.
Claims
1. A video processing method, comprising: The conversion between the current video block of the second color component of the video and the bitstream of the video is performed using cross-component prediction CCPPMPM with a multi-parameter model, wherein, in CCPPMPM, samples of the current video block are predicted and decoded in the bitstream using a linear combination of samples of the first color component multiplied by a linear coefficient and one or more offsets. The bitstream conforms to the format rules; and The linear coefficients of the CCPPMPM are determined using a first rule. The second rule is used to determine the sample points of the first color component; In this context, each set of sample points in the multiple sets of sample points of the first color component is defined by the filter shape and the center sample point of each set of sample points. Based on the filter shape and the center sample point of each set of sample points and / or the center of the filter shape, the sample points of the first color component are classified into groups using a classification method.
2. The method according to claim 1, wherein, The sample points of the first color component include multiple sets of sample points of the first color component, wherein one of the linear coefficients is applied to each sample point in a set of sample points of the first color component.
3. The method according to claim 2, wherein, The one or more offsets include the offset applied to the linear combination of each set of samples of the first color component.
4. The method according to claim 1, wherein, The center sample point depends on the color format of the video and / or the position of the sample points of the predicted second color component, wherein the color format is 4:4:4, 4:2:2, or 4:2:
0.
5. The method according to claim 4, wherein, If the sample point of the second color component is located at (x, y), then in the 4:4:4 format, the center sample point is located at position (x, y) in the first color component, where x and y represent decimal or integer sample point position numbers.
6. The method according to claim 4, wherein, If the sample point of the second color component is located at (x, y), then in the 4:2:2 format, the center sample point is located at position (2) in the first color component. x, y), where x and y represent the decimal or integer sample point position numbers.
7. The method according to claim 4, wherein, If the sample point of the second color component is located at (x, y), then in the 4:2:0 format, the center sample point is located at position (2) in the first color component. x, 2 y), where x and y represent the decimal or integer sample point position numbers.
8. The method according to claim 4, wherein, The filter shape is one of the following: N1 point rectangle, N3 point square, N2 point rhombus, N4 point hexagon, or N5 point octagon, where N1, N2, N3, N4, and N5 are positive integers.
9. The method according to claim 8, wherein, The filter shape of the current video block depends on the intra-prediction mode used to encode and decode the current video block.
10. The method according to claim 4, wherein, The first rule and the second rule specify that samples of the same shape are used for linear prediction and for deriving the linear coefficients and / or the one or more offsets.
11. The method according to claim 10, wherein, The first rule specifies the use of least squares and computational operations to derive the linear coefficients and / or the one or more offsets.
12. The method according to claim 1, wherein, The classification method includes grouping samples of the first color component according to the symmetry about a vertical line containing the center of the filter shape.
13. The method according to claim 12, wherein, The classification method further includes classifying the sample points located on the vertical line into a group.
14. The method according to claim 12, wherein, The classification method further includes classifying the sample points located on the vertical line and the sample points that are centrally symmetric about the shape of the filter into a group.
15. The method according to claim 1, wherein, The classification method includes grouping samples of the first color component according to the symmetry about a horizontal line containing the center of the filter shape.
16. The method according to claim 15, wherein, The classification method further includes classifying the sample points located on the horizontal line into a group.
17. The method according to claim 15, wherein, The classification method further includes classifying the sample points located on the horizontal line and the sample points that are centrally symmetric about the shape of the filter into a group.
18. The method according to claim 1, wherein, The classification method includes grouping samples of the first color component according to the symmetry about the center of the filter shape.
19. The method according to claim 1, wherein, The classification method includes grouping the sample points of the first color component located on a horizontal line containing the center of the filter shape.
20. The method according to claim 1, wherein, The classification method includes grouping sample points of the first color component located on a vertical line containing the center of the filter shape.
21. The method according to claim 1, wherein, The classification method includes classifying the center of the filter shape into a separate group if the center of the filter shape is located at an integer sample point position.
22. The method according to claim 1, wherein, Different classification methods are used for each different filter shape.
23. The method according to claim 1, wherein, The first rule specifies that the linear coefficients are determined using samples in a specific region relative to the current video block.
24. The method according to claim 23, wherein, The specific region is located to the left of the current video block.
25. The method according to claim 23, wherein, The specific area is above the current video block.
26. The method according to claim 23, wherein, The first rule stipulates that the pattern of the CCPPMPM is defined based on the location of the specific region.
27. The method according to claim 1, wherein, The second rule specifies that multiple filter shapes are used to determine the sample points of the first color component.
28. The method according to claim 27, wherein, The format rules specify that the shapes of the multiple filters in the bitstream are indicated at the sequence level, video level, picture level, strip level, slice level, sub-picture level, brick level, or video unit level, wherein the video unit is a codec tree unit or codec unit level in the picture header or strip header.
29. The method according to claim 27, wherein, The format rules specify that the shapes of the plurality of filters are indicated in the sequence parameter set or the image parameter set.
30. The method according to claim 1, wherein, The first rule specifies that the linear coefficients of the CCPPMPM are determined using a first set of neighboring samples based on a first filter shape and a second set of neighboring samples based on a second filter shape, wherein the first set and the second set include at least different samples.
31. The method according to claim 1, wherein, The first rule stipulates that the linear coefficient is determined by rounding the linear coefficient to an integer value.
32. The method according to claim 31, wherein, The first rule stipulates that the linear coefficients a(k) be converted to round(a(k)). 2 N ), where the function round(x) rounds x to an integer value toward zero, toward positive infinity, or toward negative infinity, and N is a positive integer.
33. The method according to claim 1, wherein, When determining the cross-component prediction of the sample points of the current video block, the linear combination of the sample points of the first color component is shifted to the right by N, where N is a positive integer.
34. The method according to claim 1, wherein, When determining the cross-component prediction of the samples of the current video block, after adding the rounding offset, the linear combination of the samples of the first color component is shifted right by N.
35. The method according to claim 34, wherein, Convert the rounding offset b to round(b).
36. The method according to claim 1, wherein, The samples of the first color component include the reconstructed samples of the video prior to loop filtering.
37. The method according to claim 1, wherein, The samples of the first color component are included in the reconstructed samples of the video after loop filtering.
38. The method according to claim 37, wherein, The loop filtering includes deblocking filtering, sample adaptive offset, or adaptive loop filter.
39. The method according to claim 1, wherein, The sample points of the first color component include reconstructed sample points that have been downsampled and filtered.
40. The method according to claim 1, wherein, The sample points of the first color component include reconstructed sample points that have been filtered by a smoothing filter.
41. The method according to claim 1, wherein, The first color component is the luminance component, and the second color component is either the Cr or Cb component.
42. The method according to claim 1, wherein, The first color component is the Cb component, and the second color component is the Cr component.
43. The method according to claim 1, wherein, The first color component is the Cr component, and the second color component is the Cb component.
44. The method according to claim 1, wherein, The first color component is the R component, and the second color component is the G component.
45. The method according to claim 1, wherein, The format rules specify that one or more syntax elements are included in the bitstream to indicate whether the CCPPMPM is used for the current video block.
46. The method according to claim 45, wherein, The one or more syntax elements include a first syntax element, which includes sequence level, video level, picture level, strip level, slice level, sub-picture level, brick level or video unit level, wherein the video unit level corresponds to a codec tree unit or a codec tree unit row.
47. The method according to claim 45, wherein, The one or more syntax elements include a first syntax element at the sequence or video level and a second syntax element conditionally included at the picture level, strip level, slice level, sub-picture level, brick level, or video unit level, wherein the video unit level corresponds to a codec tree unit or codec tree unit row.
48. The method according to claim 47, wherein, If the first syntax element indicates that cross-component prediction is enabled, then the second syntax element is included in the bitstream.
49. The method according to claim 45, wherein, The format rules specify that the one or more syntax elements include a third syntax element, which is conditionally included in the bitstream to indicate whether the CCPPMPM is enabled at the level of the current video block.
50. The method according to claim 49, wherein, If the CCPPMPM is enabled at the block level based on the enablement at the picture level, strip level, slice level, subpicture level, brick level, or video unit level, then the third syntax element is included in the bitstream, wherein the video unit level corresponds to the codec tree unit or codec tree unit row that includes the current video block.
51. The method according to claim 49, wherein, If cross-component prediction mode is enabled for the current video block, the signaling notifies the third syntax element.
52. The method according to claim 1, wherein, The format rules specify that the CCPPMPM is indicated as an additional mode for the cross-component linear model CCLM codec tool in the bitstream.
53. The method according to claim 52, wherein, The CCLM is notified to the CCPM using a syntax element signaling that indicates the mode of the CCLM.
54. The method according to claim 52, wherein, The format rule specifies that, in response to enabling the CCPMPM for the current video block, a flag indicating the activation of the CCLM codec tool will be set to the value 1.
55. The method according to claim 53, wherein, To indicate the CCPPMPM, the syntax element uses a value greater than that of other modes indicating the CCLM.
56. The method according to claim 1, wherein, The format rules specify that the CCPPMPM in the bitstream is indicated as a mode different from that of the cross-component linear model CCLM encoding / decoding tool.
57. The method according to claim 56, wherein, The format rule stipulates that, if the CCLM codec tool is disabled in the current video block, the CCPMPM tool shall be enabled for the current video block.
58. The method according to claim 1, wherein, The conversion includes encoding the current video block into the bitstream.
59. The method according to claim 1, wherein, The conversion includes decoding the current video block from the bitstream.
60. A method for storing a bitstream representing video to a computer-readable recording medium, comprising: The method according to any one of claims 1-58 generates the bitstream from the video; as well as The bitstream is stored in a computer-readable recording medium.
61. An apparatus for processing video data, comprising a processor and a non-transitory memory having instructions thereon, wherein, The instructions executed by the processor cause the processor to perform the method as described in any one of claims 1 to 59.
62. A non-transitory computer-readable recording medium for storing a bit stream, wherein a computer program is also stored thereon, When the computer program is executed by a processor, it generates the bit stream according to any one of claims 1-58.
Citation Information
Patent Citations
Cross-component filter
CN109691102A
Linear model chroma intra prediction for video coding
US20180077426A1