Multi-reference line chroma prediction
By introducing a cross-component prediction method with multiple reference lines and multiple parameter models, the problem of low efficiency in intra-frame chroma prediction in existing video encoding and decoding technologies is solved, improving video encoding and decoding efficiency and compression ratio, and making it suitable for video encoding of different color formats.
Patent Information
- Application Number
- CN202080091752.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-12-31
- Filing Date
- 2020-12-31
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2040-12-31
AI Technical Summary
Existing video encoding and decoding technologies suffer from inefficiency in intra-frame prediction, particularly in chroma intra-frame prediction, combined intra-frame-inter-frame prediction modes, and cross-component prediction where fixed filter downsampling is inefficient. Furthermore, multi-reference line intra-frame prediction is not permitted in certain situations.
A cross-component prediction method using multi-reference line intra-frame prediction and multi-parameter model is adopted, which allows non-adjacent reference lines to be used for chroma intra-frame prediction. Chroma sample prediction is performed using linear combination and offset values, and relevant parameters are signaled in the bitstream. Video block encoding and decoding are combined with local illumination compensation tools.
It improves the efficiency and compression ratio of video encoding and decoding, reduces computational complexity, enhances the flexibility and accuracy of intra-frame prediction, and is suitable for video encoding of different color formats.
Smart Images

Figure CN115176475B_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 a cross-component prediction with multiple-parameter model (CCPMPM), wherein a sample of the current video block is predicted coded in the bitstream using a linear combination of samples of a first color component multiplied by a linear coefficient and / or one or more offsets; wherein the bitstream conforms to a format rule; and wherein the linear coefficient of the CCPMPM is determined using a first rule; and wherein the sample of the first color component is 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 a bitstream of the video, determining, from a linear combination of samples of a second video block of a second component of the video, a prediction to use for the current video block according to a rule, and performing the conversion based on the determination; wherein the current video block and the second video block are coded 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 of a video and a bitstream of the video, wherein a sample of the current video block is predictively coded using a multiple-parameter model (IPMPM) in which a linear combination of reference samples of the video uses a linear coefficient and / or an offset value; and wherein the bitstream conforms to a format rule.
[0011] Further, in one representative aspect, an apparatus in a video system is disclosed that includes a processor and a non-transitory memory having instructions thereon. The instructions, when executed by the processor, cause the processor to implement any one or more of the disclosed methods.
[0012] In another aspect, a bitstream stored on a computer-readable storage medium is disclosed, wherein the bitstream is generated according to the encoding methods described in the present document.
[0013] Further, a computer program product stored on a non-transitory computer-readable medium is also disclosed, the computer program product comprising program code that implements any one or more of the disclosed methods.
[0014] The above and other aspects and features of the disclosed technology are more fully described in the following detailed description, in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF DRAWINGS
[0015] FIG. 1 An example block diagram of the encoder is shown.
[0016] FIG. 2 Examples of 67 intra-frame prediction modes are shown.
[0017] FIG. 3 A schematic diagram of a 4×4 block ALWIP is shown.
[0018] FIG. 4 A schematic diagram of an 8×8 block ALWIP is shown.
[0019] FIG. 5 A schematic diagram of an 8×4 block ALWIP is shown.
[0020] FIG. 6 A schematic diagram of a 16×16 block ALWIP is shown.
[0021] FIG. 7 An example of four reference lines adjacent to the prediction block is shown.
[0022] FIG. 8 Examples of 4×8 and 8×4 block partitioning are shown.
[0023] FIG. 9 Examples of block partitioning are shown for all blocks except 4×8, 8×4, and 4×4.
[0024] FIG. 10A and FIG. 10B Examples of luminance CTB segmentation and chrominance CTB segmentation are shown respectively.
[0025] FIG. 11 An example is shown for deriving the sample point locations of α and β.
[0026] FIG. 12 An example of the nominal vertical and horizontal positions of 4:2:0 luminance and chrominance samples in an image is shown.
[0027] FIG. 13 An example of the nominal vertical and horizontal positions of 4:2:2 luminance and chrominance samples in an image is shown.
[0028] FIG. 14 An example of the nominal vertical and horizontal positions of 4:4:4 luminance and chrominance samples in an image is shown.
[0029] FIG. 15 The sample point of one color component of the predicted value at (0,0) is shown.
[0030] FIG. 16 An example of the filter shape for the first color component sample used in cross-component prediction is shown.
[0031] FIG. 17 An example is shown of classifying the first color component sample group into multiple sets. Samples with the same padding mode belong to one set.
[0032] FIG. 18 is an example block diagram of a hardware platform implementing the visual media decoding or visual media encoding techniques described in this document.
[0033] FIG. 19 A flowchart of an example method for video coding is shown.
[0034] FIG. 20 is a block diagram illustrating an example video coding system.
[0035] FIG. 21 is a block diagram illustrating an encoder according to some embodiments of the disclosure.
[0036] FIG. 22 is a block diagram illustrating a decoder according to some embodiments of the disclosure.
[0037] FIG. 23A-23E Flowcharts depicting various video processing methods are depicted. DETAILED DESCRIPTION
[0038] 1 Video coding in HEVC / H.265
[0039] Video coding standards have evolved mainly through the well-known ITU-T and ISO / IEC standards. ITU-T produced H.261 and H.263, ISO / IEC produced MPEG-1 and MPEG-4 Visual, and the two organizations jointly produced the H.262 / MPEG-2 Video and H.264 / MPEG-4 Advanced Video Coding (AVC) and H.265 / HEVC standards. Since H.262, the video coding standards are based on the hybrid video coding structure where temporal prediction plus transform coding are used. To explore future video coding technologies beyond HEVC, the Joint Video Exploration Team (JVET) was founded by VCEG and MPEG jointly in 2015. Since then, many new methods have been adopted by JVET and put into the reference software named Joint Exploration Model (JEM). In April 2018, the Joint Video Team (JVT) was formed by VCEG (Q6 / 16) and ISO / IEC JTC1 SC29 / WG11 (MPEG) to work on the VVC standard with the goal of 50% bitrate reduction over HEVC.
[0040] The latest version of the VVC draft, Versatile Video Coding (Draft 7) can be found at the following URL: http: / / phenix.it-sudparis.eu / jvet / doc_end_user / documents / 16_Geneva / wgl l / JVET-P2001-vE.zip.
[0041] The latest reference software for VVC, named VTM, can be found at the following URL:
[0042] https: / / vcgit.hhi.fraunhofer.de / jvet / VVCSoftware_VTM / - / tags / VTM-7.0
[0043] 2.1 Coding process of a typical video codec
[0044] FIG. 1 An example of the encoder block diagram of VVC is shown, which contains three in-loop filters: deblocking filter (DF), sample adaptive offset (SAO) and ALF. Unlike DF which uses a pre-defined filter, SAO and ALF utilize the original samples of the current picture to reduce the mean square error between the original and reconstructed samples by adding an offset and applying a finite impulse response (FIR) filter respectively, with the offset and filter coefficients signaled with coded side information. ALF is located at the last processing stage of each picture and can be seen as a tool that tries to capture and fix artifacts produced by the previous stage.
[0045] 2.2 Intra coding in VVC
[0046] 2.2.1 Intra mode coding with 67 intra prediction modes
[0047] To capture arbitrary edge directions present in natural videos, the number of directional intra modes is extended from 33 used in HEVC to 65. The additional directional modes are represented by red dashed arrows in FIG. 2 , while the planar and DC modes remain unchanged. These denser directional intra prediction modes are applied to all block sizes and for both luma and chroma intra prediction.
[0048] As FIG. 2As shown, the traditional angular intra prediction directions are defined as clockwise directions from 45 degrees to -135 degrees. In VTM2, several traditional angular intra prediction modes are replaced adaptively with wide-angle intra prediction modes for non-square blocks. The replaced modes are signaled using the original method and remapped to the indices of wide-angle modes after parsing. The total number of intra prediction modes is unchanged, i.e., 67, and the intra mode coding is unchanged.
[0049] In HEVC, each intra coded block is square with the length of each side being a power of 2. Therefore, no division operation is needed to generate the intra predictor using the DC mode. In VTM2, the block can have a rectangular shape, which requires division operation for each block in general case. To avoid the division operation for DC prediction, only the longer side is used to calculate the average for non-square blocks.
[0050] In addition to the 67 intra prediction modes, the wide-angle intra prediction (WAIP) and position dependent intra prediction combination (PDPC) methods are enabled for certain blocks. PDPC is applied to the following intra modes without signaling: Planar, DC, Horizontal (mode 18), Vertical (mode 50), bottom-left mode and its eight neighboring corner modes, and top-right mode and its eight neighboring corner modes.
[0051] 2.2.2 Affine linear weighted intra prediction (ALWIP)
[0052] Affine linear weighted intra prediction (ALWIP, also known as matrix based intra prediction (MIP)) is proposed in JVET-N0217.
[0053] 2.2.2.1 Reduced prediction signaling generated by matrix vector multiplication
[0054] The neighboring reference samples are first down-sampled by averaging to generate the reduced reference signaling bdry red . Then, the reduced prediction signaling pred red is calculated by computing the matrix vector product and adding an offset:
[0055] pred red = A · bdry red + b.
[0056] Here, A is a matrix with W red · H red rows and 4 columns, and 8 columns in all other cases. b is a vector of size W red · H red .
[0057] 2.2.2.2 Schematic of the whole ALWIP process
[0058] The whole process for averaging, matrix vector multiplication and linear interpolation for different shapes is explained in FIG. 3-6 . Note that the remaining shapes are considered to be in one of the described cases.
[0059] 1. Given a 4x4 block, ALWIP takes two averages along each axis of the boundary. The resulting four input samples enter the matrix vector multiplication. The matrix is taken from the set S0. After adding the offset, 16 final prediction samples are produced. No linear interpolation is needed for the prediction signaling. Thus, a total of (4-16) / (4-4) = 4 multiplications are performed per sample.
[0060] 2. Given an 8x8 block, ALWIP takes four averages along each axis of the boundary. The resulting eight input samples enter the matrix vector multiplication. The matrix is taken from the set S1. This produces 16 samples at the odd positions of the prediction block. Thus, a total of (8-16) / (8-8) = 2 multiplications are performed per sample. After adding the offset, these samples are vertically interpolated using the reduced top boundary. Horizontally, the original left boundary is used.
[0061] 3. Given an 8x4 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 enter the matrix vector multiplication. The matrix is taken from the set S1. This produces 16 samples at the odd horizontal and each vertical position of the prediction block. Thus, a total of (8-16) / (8-4) = 4 multiplications are performed per sample. After adding the offset, these samples are horizontally interpolated using the original left boundary. The transposed case is handled accordingly.
[0062] 4. Given a 16x16 block, ALWIP takes four averages along each axis of the boundary. The resulting eight input samples enter the matrix vector multiplication. The matrix is taken from the set S2. This produces 64 samples at the odd positions of the prediction block. Thus, a total of (8-64) / (16-16) = 2 multiplications are performed per sample. After adding the offset, these samples are vertically interpolated using the eight averages of the top boundary. Horizontally, the original left boundary is used. In this case, the interpolation process does not add any multiplications. Thus, a total of two multiplications per sample are needed to compute the ALWIP prediction.
[0063] For larger shapes, the process is essentially the same and it is easy to check that the number of multiplications per sample is less than four.
[0064] For Wx8 blocks with W>8, only horizontal interpolation is needed because samples are given at odd horizontal and every vertical position.
[0065] Finally, for Wx4 blocks with W>8, make A k is the matrix resulting from omitting each row corresponding to odd entries along the horizontal axis of the downsampled block. Thus, the output size is 32 and again, only horizontal interpolation needs to be performed.
[0066] The transposed case is handled accordingly.
[0067] 2.2.3 Multiple reference line (MRL)
[0068] Multiple reference line (MRL) intra prediction uses more reference lines for intra prediction. In FIG. 7 In the example depicted in, the samples of segments A and F are not extracted from the reconstructed neighboring samples but are padded with the closest samples from segments B and E, respectively. The HEVC intra picture prediction uses the closest reference line, i.e. reference line 0. In MRL, 2 additional lines are used (reference line 1 and reference line 3).
[0069] The index of the selected reference line (mrl idx) is signaled and used to produce the intra predictor. For a reference line index greater than 0, only the additional reference line modes are included in the MPM list and only the MPM index is signaled without the remaining modes. The reference line index is signaled before the intra prediction mode and the planar and DC modes are excluded from the intra prediction modes if a non-zero reference line index is signaled.
[0070] MRL is disabled for the first row of blocks within a CTU to prevent the use of extrapolated reference samples outside the current CTU row. In addition, PDPC will be disabled when additional lines are used.
[0071] 2.2.4 Intra subblock partitioning (ISP)
[0072] In JVET-M0102, ISP was proposed which partitions a luma intra prediction block vertically or horizontally into 2 or 4 sub-partitions depending on the block size dimension as shown in Table 1. FIG. 8 and FIG. 9Examples of both possibilities are shown. All sub-divisions satisfy the condition of having at least 16 samples. For block sizes, 4N or N4 (where N > 8), there can be a 1N or N1 sub-division if allowed.
[0073] Table 1: Number of sub-divisions depending on block size (maxTBSize denotes the maximum transform size)
[0074]
[0075] For each of these sub-divisions, the residual signaling is produced by entropy decoding the coefficients sent by the encoder, then inverse quantizing and inverse transforming them. Then, the sub-division is intra-predicted and finally the corresponding reconstructed samples are obtained by adding the residual signaling to the predicted signaling. The reconstructed values of each sub-division will thus be available for producing the prediction of the next sub-division, which will repeat the process, and so on. All sub-divisions share the same intra mode.
[0076] Table 2: Specification of trTypeHor and trTypeVer depending on predModeIntra
[0077]
[0078]
[0079] 2.2.5 Chroma coding
[0080] When the cross-component linear model mode is enabled for a sequence, the chroma intra mode coding allows a total of 8 intra modes. These modes include the five traditional intra modes for chroma intra mode coding and three cross-component linear model modes (CCLM AL, CCLM A and CCLM L). Otherwise, the traditional 5 chroma intra modes are enabled for chroma intra mode coding.
[0081] In addition to the DM (direct or derived from the luma block 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).
[0082] 2.2.5.1 DM mode
[0083] The chroma mode coding directly depends on the intra prediction mode of the corresponding luma block. Since a separate block partition structure for luma and chroma components is enabled in I slices, one chroma block can correspond to multiple luma blocks. Therefore, for the chroma DM mode, the intra prediction mode of the corresponding luma block covering the center position of the current chroma block is directly inherited. FIG. 10A and10B An example is depicted in FIG. 6. The DM positions of the left chroma CB (in FIG. 10A FIG. 6) are derived from the corresponding luma block (in FIG. 10B FIG. 6) denoted by CR.
[0084] 2.2.5.2 Cross-component linear model prediction
[0085] The cross-component linear model (CCLM) prediction mode is adopted in VVC, whose chroma samples are predicted based on the reconstructed luma samples of the same CU using a linear model as follows:
[0086] pred C (i,j) = a rec L (i,j) + β (2-1)
[0087] where pred C (i,j) denotes the predicted chroma samples in the CU, rec L (i,j) denotes the down-sampled reconstructed luma samples of the same CU.
[0088] The CCLM parameters (a and β) are derived from at most four neighboring chroma samples and their corresponding down-sampled luma samples. Assuming the current chroma block size is W x H, set W' and H' as
[0089] - W' = W, H' = H when LM mode is applied;
[0090] - W' = W + H when LM-A mode is applied;
[0091] - H' = H + W when LM-L mode is applied;
[0092] The above neighboring positions are denoted as S[0,-1]... S[W'-1,-1], and the left neighboring positions are denoted as S[-1,0]... S[-1,H'-1]. Then the four samples are selected as
[0093] - S[W' / 4,-1], S[3W' / 4,-1], S[-1,H' / 4], S[-1,3H' / 4] when LM mode is applied and both the above and left neighboring samples are available;
[0094] - S[W' / 8,-1], S[3W' / 8,-1], S[5W' / 8,-1], S[7W' / 8,-1] when LM-A mode or only the above neighboring samples are available;
[0095] - S[-1, H' / 8], S[-1, 3H' / 8], S[-1, 5H' / 8], S[-1, 7H' / 8] when LM-L mode is applied or only left neighboring samples are available;
[0096] Downsample the four neighboring luma samples of the selected position and compare the four times to find two smaller values: x 0 A and two larger values: x 1 A and x 0 B and x 1 B Their corresponding chroma sample values are denoted as y 0 A , y 1 A , y 0 B and y 1 B Then, x A , x B , y A and y B are derived as:
[0097] 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)
[0098] Finally, the linear model parameters a and b are obtained according to the following equations.
[0099]
[0100] b = Y b - a · X b (2-4)
[0101] FIG. 11An example of the positions of the left and above samples involved in the CCLM mode and the positions of the samples of the current block is shown.
[0102] The division operation to compute the parameter a is implemented by a look-up table. To reduce the memory required to store the table, the diff value (difference between the maximum and minimum values) and the parameter a are expressed with an exponential notation. For example, diff is approximated with a 4-bit significand and an exponent. Thus, for 16 significant digit values, the 1 / diff table is reduced to 16 elements as follows:
[0103] DivTable[] = {0, 7, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 0} (2-5)
[0104] This will facilitate the reduction of the complexity of the computation and the memory size required to store the required table.
[0105] In addition to the fact that the above and left templates can compute the linear model coefficients jointly, they can also be used alternatively in two other LM modes, called LM_A and LM_L modes.
[0106] In the LM_A mode, only the above template is used to compute the linear model coefficients. To get more samples, the above template is extended to (W+H). In the LM_L mode, only the left template is used to compute the linear model coefficients. To get more samples, the left template is extended to (H+W).
[0107] For non-square blocks, the above template is extended to W+W and the left template is extended to H+H.
[0108] To match the chroma sample positions of 4:2:0 video sequences, two types of downsampling filters are applied for the luma samples to achieve a 2 to 1 downsampling ratio in the horizontal and vertical directions. The choice of the downsampling filter is specified by a SPS level flag. The two downsampling filters are as follows, corresponding to "type-0" and "type-2" content respectively.
[0109]
[0110]
[0111] Note that when the upper reference line is located at a CTU boundary, only one luma line (the general line buffer in intra prediction) is used to make the downsampled luma samples.
[0112] This parameter computation is performed as part of the decoding process, not only as an encoder search operation. Therefore, no syntax is used to pass the a and b values to the decoder.
[0113] 2.3 Color space and chroma subsampling
[0114] A color space, also called a color model (or color system), is an abstract mathematical model that simply describes a range of colors as a tuple of numbers, usually 3 or 4 values or color components (e.g. RGB). Basically, a color space is a refinement of a coordinate system and a subspace.
[0115] For video compression, the most common are YCbCr and RGB.
[0116] YCbCr, Y'CbCr or YPb / CbPr / Cr, also written as YCBCR or Y'CBCR, is a family of color spaces used as part of the color image pipeline in video and digital photography systems. Y' is the luminance component, CB and CR are the blue-difference and red-difference chrominance components. Y' (with the prime symbol) is different from Y (which is luminance), meaning that the light intensity is based on gamma-corrected RGB primary non-linear encoding.
[0117] Chroma subsampling is a way of encoding an image with less precision for the chrominance information than for the luminance information, taking advantage of the fact that the human visual system is less acute in its discrimination of color differences than in its discrimination of luminance differences. 2.3.1 4:4:4
[0119] Each of the three Y'CbCr components has the same sampling rate, so there is no chroma subsampling. This scheme is sometimes used for high-end film scanners and in film post-production. 2.3.2 4:2:2
[0121] Two chroma components are sampled at half the luminance sampling rate: horizontal chroma precision is halved. This reduces the bandwidth of the uncompressed video signal by a third, with little visual difference. 2.3.3 4:2:0
[0123] In 4:2:0, the horizontal sampling is doubled compared to 4:1:1, but the vertical precision is halved since the Cb and Cr channels are only sampled on every other line in this scheme. So the data rate is the same. Cb and Cr are subsampled by a factor of 2 in both the horizontal and vertical directions. There are three variants of the 4:2:0 scheme, with different horizontal and vertical positioning.
[0124] • In MPEG-2, Cb and Cr are horizontally co-located. Cb and Cr are located between the pixels in the vertical direction (in the gaps).
[0125] • In JPEG / JFIF, H.261 and MPEG-1, Cb and Cr are located in the middle position of the alternate luminance samples.
[0126] • In 4:2:0, DV, Cb and Cr are co-located in the horizontal direction. In the vertical direction, they are co-located on alternate lines.
[0127] When the value of chroma format idc is equal to 2, the chroma samples are co-located with the corresponding luma samples, and the nominal positions in the picture are as shown in FIG. 13
[0128] When the value of chroma format idc is equal to 3, all the array samples are co-located for all cases of the picture, and the nominal positions in the picture are as shown in FIG. 14
[0129] Table 3: SubWidthC and SubHeightC values derived from chroma format idc and separate colour plane flag
[0130]
[0131]
[0132] 2.4 Cross-component prediction for multi-parameter model
[0133] In the application with the application number PCT / CN2018 / 123394 entitled "Multi-step Inter-component Prediction", it is proposed to use a multi-parameter model to derive an inter-component prediction block. Suppose a C1 sample (S 0 c1 ) is associated with multiple C0 samples (denoted as S 0 c0 ,S 1 c0 ,…,S L-1 c0 ), each of which can be assigned a weight parameter a i . In this case, the predicted value of S 0 c1 may depend on a i *S i c0 . The variable shown below is the same as the variable a.
[0134] a. In one example, suppose S i c0 is a sample located at (x, y), and L samples are defined as the samples 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 * y + 1).
[0135] b. In one example, assume S i c0 is a sample located at (x, y), and L samples are defined as the samples 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 * y + 1).
[0136] c. The number of C0 samples associated with one C0 sample and the relative positions of these C0 samples can depend on the coordinates (x, y) of the C1 sample.
[0137] d. The number of C0 samples associated with one C0 sample and the relative positions of these C0 samples can depend on the availability of C0 samples.
[0138] e. In one example, S i c0 may be defined as
[0139] f. In one example, S i c0 may be defined as where variable M is an integer.
[0140] i. Alternatively, S i c0 may be defined as where the operation Clip3 clips the prediction value to the valid range.
[0141] g. In one example, S i c0 may be defined as where variable b is an integer.
[0142] i. Alternatively, S i c0 may be defined as where the operation Clip3 clips the prediction value to the valid range.
[0143] h. In one example, S i c0 may be defined as where variable b is an integer.
[0144] i. Alternatively, S i c0The prediction value of S can be defined as where the operation Clip3 clips the prediction value within the valid range.
[0145] i. In one example, S i c0 The prediction value of S can be defined as where variable b is an integer.
[0146] i. Alternatively, S i c0 The prediction value of S can be defined as where the operation Clip3 clips the prediction value within the valid range.
[0147] j. There can be some predefined relationships among the parameters. For example, as FIG. 15 shown, a 0 , a 1 , a 2 , a 3 , a 4 and a 5 are applied to samples S(0,0), S(0,1), S(-1,0), S(-1,1), S(1,0) and S(1,1), then a 0 = a 1 = 2 x a 2 = 2 x a 3 = 2 x a 4 = 2 x a 5 .
[0148] k. There can be more than one predefined relationship among the parameters. One of the predefined relationships can be selected. The selection can be derived by the decoder, or it can be signaled from the encoder to the decoder in VPS / SPS / PPS / slice header / tile group / tile / CTU row / CTU / CU / PU.
[0149] 3. Drawbacks of existing implementations
[0150] There are several problems with the current intra coding:
[0151] 1. Multiple reference line intra prediction is not allowed in the following cases:
[0152] a. Chroma Intra prediction.
[0153] b. Combined Intra-Inter Prediction (CIIP) mode.
[0154] c. MIP.
[0155] 2. In cross-component prediction, luma samples are down-sampled using fixed filters for 4:2:0 and 4:2:2 formats, which can be inefficient.
[0156] 3. In the application titled “Multi-step Inter-component Prediction” with application number PCT / CN2018 / 123394 (which is incorporated by reference herein), a multi-parametric model of cross-component prediction is introduced. The design can be further improved.
[0157] 4. Examples of techniques and embodiments
[0158] The following items should be considered as examples to explain general concepts. These embodiments should not be interpreted narrowly. Furthermore, these embodiments can be combined in any way.
[0159] In the following discussion, traditional intra prediction methods can refer to the way of using the immediate row / column for intra prediction, which can use an interpolation filter along the prediction direction. And, additional intra coding methods can refer to those newly introduced in VVC or those possibly introduced in the future, and additional signaling is needed to use this method. The additional methods can be one or more of MIP, MRL, ISP, or QR-BDPCM / PCM, etc. Reference line can refer to reference row and / or reference column.
[0160] Multiple reference line chroma prediction
[0161] 1. For color components other than luma component, e.g., Cb, Cr, R, G, or B, it is proposed that non-immediate reference lines (i.e., neither the nearest above row nor the nearest left column) can be used for intra prediction. In the following discussion, the color component can be referred to as “chroma”.
[0162] a. Alternatively, in addition, a set of allowed reference lines (e.g., similar to MRL for luma component, reference lines 0 / 1 / 2 of the above current row or the left column) can be used for intra prediction.
[0163] b. Alternatively, in addition, multiple sets of allowed reference lines (e.g., for one of the multiple sets, it can include reference lines 0 / 1 / 2 of the above current row or the left column) can be used for intra prediction.
[0164] c. In one example, the indication of allowed non-immediate reference lines in a set can be pre-defined.
[0165] d. In one example, the indication of non-immediate reference lines in a set can be signaled in sequence / video / picture / slice / tile / subpicture / tile / group-of-pictures (e.g., CTU row / CTU) level.
[0166] i. Or, in addition, VPS (Video Parameter Set) / SPS (Sequence Parameter Set) / APS (Adaptation Parameter Set) / PPS (Picture Parameter Set) / picture header / slice header / tile group header / CTU.
[0167] 2. It is proposed that the chroma reference line to be used for chroma prediction can be explicitly signaled or implicitly derived.
[0168] a. In one example, a first syntax can be signaled to indicate whether to use a non-adjacent chroma reference line.
[0169] i. Or, in addition, a second syntax can be further signaled to indicate which non-adjacent chroma reference line to use.
[0170] ii. Or, a third syntax can be signaled to indicate which chroma reference line to use for chroma prediction. The reference line can be an adjacent reference line or a non-adjacent reference line.
[0171] iii. In one example, the first syntax can be a flag (e.g., a binary value).
[0172] iv. In one example, the second / third syntax can be an index, which can be a binary or non-binary value.
[0173] b. In one example, the reference line index to be used by a chroma block is determined by jointly utilizing the reference line index associated with a representative luma block and a neighboring (adjacent or non-adjacent) chroma sample relative to the current chroma block.
[0174] 3. It is proposed that chroma intra prediction can inherit luma intra prediction.
[0175] a. In one example, a mode (e.g., DM) can be used to indicate that chroma intra prediction follows the same prediction direction and / or the same prediction line.
[0176] b. In one example, whether and / or how to inherit luma intra prediction can depend on the color format.
[0177] 4. In one example, whether and / or how to use a non-adjacent chroma reference line can depend on the color format.
[0178] a. In one example, for 4:2:0 color format, non-adjacent chroma reference line can not be allowed.
[0179] b. In one example, for 4:4:4 color format, non-adjacent chroma reference line can be used.
[0180] 5. The use of non-adjacent chroma reference line can depend on whether the line is left at the current block or above the current block.
[0181] a. In one example, the number of non-adjacent lines to be used is different for samples left to the current block and above the current block.
[0182] 6. It is proposed that one or more non-adjacent reference lines can be used in MIP mode.
[0183] a. In one example, non-adjacent reference lines can be used to generate a reduced reference signaling.
[0184] b. In one example, non-adjacent reference lines can be used to up-sample a reduced prediction signaling.
[0185] c. In one example, both adjacent and non-adjacent lines can be used to generate MIP prediction signaling.
[0186] d. Alternatively, in addition, an indication of the reference lines to be used can be signaled in the bitstream.
[0187] 7. It is proposed that MRL can be enabled for CIIP mode or other modes that require intra prediction signaling.
[0188] a. In one example, MRL can be applied to CIIP mode for chroma components.
[0189] b. In one example, MRL can be applied to Block-based Delta PCM (BDPCM) mode.
[0190] Cross-component prediction of multiple-parameter model (CCPMPM)
[0191] A multi-parameter model like can be used for cross-component prediction, where x(k) k = 0..n is a set of first color component samples, y is a second color component sample, a(k) is a linear coefficient, b is an offset, and n is the total number of first color component samples used to predict the second color component sample.
[0192] 8. It is proposed that a linear combination of a set of first color component samples can be used to predict a second color component sample, and that the linear coefficients (e.g., in a multi-parameter model) can be derived or signaled separately for each of the first color component samples. An indication of the prediction error (i.e., the difference between the original value and the predicted value) can be further coded to the bitstream.
[0193] a. Alternatively, in addition, an offset can be added to the linear combination of first color component samples to predict the second color component sample.
[0194] 9. A linear combination of a set of first color component samples can be used to predict a second color component sample, and linear coefficients can be derived or signaled separately for each set of first color component samples, wherein the first color component sample sets can be categorized into multiple sets, and each sample in the same set can share one linear coefficient.
[0195] a. Alternatively, in addition, an offset can be added to the linear combination of first color component samples to predict a second color component sample.
[0196] 10. It is proposed that the set of first color component samples used in cross- component intra prediction can be defined by a filter shape including a center first color component sample.
[0197] a. In one example, the center first color component sample can depend on the color format (e.g. 4:4:4, 4:2:2, 4:2:0) and position of the second color component sample.
[0198] i. For example, for a second color component sample located at (x, y), the first color component sample located at (x, y) can be used as the center first color component sample for 4:4:4 format.
[0199] ii. For example, for a second color component sample located at (x, y), the first color component sample located at (2*x, y) can be used as the center sample for 4:2:2 format.
[0200] iii. For example, for a second color component sample located at (x, y), the first color component sample located at (2*x, 2*y) can be used as the center sample for 4:2:0 format.
[0201] b. In one example, the filter shape can be N1-point rectangular or square, N2-point diamond, N4-point hexagonal, or N5-point octagonal, where N1, N2, N3, N4, and N5 are positive integers. FIG. 16 Some examples are illustrated in the table below. The filter shape can be adaptively selected according to the first color component intra prediction mode.
[0202] 11. The same shaped samples of the first color component are used to derive the parameters of the linear combination and / or the offset, and the derived parameters and / or offset are used to derive the prediction of the second color component.
[0203] a. In one example, the least square method can be used to derive the parameters and / or offset.
[0204] 12. The samples used to derive the linear combination can be located in a specific region relative to the current block.
[0205] a. All the samples used to derive the linear combination can be located on the left side of the current block.
[0206] b. All samples used to derive the linear combination can be located above the current block.
[0207] c. Deriving the linear combination using samples of different regions can be considered as different modes.
[0208] 13. How to classify the first color component sample group into multiple sets can depend on the filter shape in the CCPPMM and the center of the filter shape.
[0209] a. In one example, in the first classification method, the first color component samples symmetric about a vertical line containing the center of the filter shape can be classified into a group. Examples are shown in FIG. 17 (a)-(c).
[0210] i. Alternatively, in addition, for samples located on the vertical line containing the center of the filter shape, each sample can be classified into a group.
[0211] ii. Alternatively, in addition, for samples located on the vertical line containing the center of the filter shape, samples symmetric about the center of the filter shape can be classified into a group.
[0212] b. In one example, in the second classification method, the first color component samples symmetric about a horizontal line containing the center of the filter shape can be classified into a group. Examples are shown in FIG. 17 (d)-(f).
[0213] i. Alternatively, in addition, for samples located on the horizontal line containing the center of the filter shape, each sample can be classified into a group.
[0214] ii. Alternatively, in addition, for samples located on the horizontal line containing the center of the filter shape, samples symmetric about the center of the filter shape can be classified into a group.
[0215] c. In one example, in the third classification method, the first color component samples symmetric about the center of the filter shape can be classified into a group. Examples are shown in FIG. 17 (g)-(j).
[0216] i. Alternatively, in addition, for samples located on the horizontal line containing the center of the filter shape, each sample can be classified into a group.
[0217] ii. Alternatively, in addition, for samples located on the vertical line containing the center of the filter shape, each sample can be classified into a group.
[0218] d. Or, in addition, if the center of the filter shape is an integer first color component sample position, it can be classified into a separate set. FIG. 17 (j) An example is shown in.
[0219] e. Or, how the first color component sample groups are classified into sets can depend on the filter shape and the center sample.
[0220] f. Or, the classification of the first color component samples can depend on the first color component intra prediction direction. For example, if the first color component prediction is close to the horizontal direction, a horizontal symmetric classification can be applied.
[0221] g. In the CCP PM, different filter shapes can use different classification methods. For example, a first classification method can be used for a first filter shape, a second classification method can be used for a second filter shape, and a third classification method can be used for a third filter shape.
[0222] 14. In the CCP PM, one or more sets of multiple filter shapes can be used.
[0223] a. Or, in addition, the indication of the filter shape can be signaled in the sequence / video / picture / slice / tile / subpicture / tile group / CTU level, e.g., in the SPS / PPS / picture header / slice header.
[0224] b. Or, in addition, the set index and / or the filter shape index can be signaled for a video unit (e.g., CU / PU / TU / video subregion).
[0225] 15. It is proposed that in the CCP PM, when deriving linear parameters, a first filter shape and a second filter shape can use different sets of neighboring samples.
[0226] 16. In the CCP PM, the derived linear parameters (e.g., linear coefficients or offsets) can be rounded to integer values before use.
[0227] a. In one example, the linear coefficient a(k) can be converted to round(a(k)*2 N ), where the function round(x) rounds x to an integer value towards zero, towards positive infinity, or towards negative infinity. N is a positive integer.
[0228] i. Or, in addition, the linear combination of the first color component sample groups can be right shifted by N.
[0229] ii. Or, in addition, a rounding offset can be added to the linear combination of the first color component sample groups before being right shifted by N.
[0230] b. In one example, the offset b can be converted to round(b).
[0231] 17. In the above examples, the first color component samples can be those reconstructed samples before in-loop filtering (e.g., deblocking filter / SAO / ALF).
[0232] a. Alternatively, the first color component samples can be those reconstructed samples after in-loop filtering (e.g., deblocking filter / SAO / ALF).
[0233] b. Alternatively, in addition, the reconstructed samples can be further modified before being used.
[0234] i. In one example, it can be down-sampled filtered.
[0235] ii. In one example, it can be smoothed filtered.
[0236] 18. In one example, the first color component can be the luma component and the second color component can be the Cb or Cr component.
[0237] a. In one example, the first color component can be the Cb component and the second color component can be the Cr component.
[0238] b. In one example, the first color component can be the Cr component and the second color component can be the Cb component.
[0239] c. In one example, the first color component can be the R component and the second color component can be the G or B color component.
[0240] 19. It is proposed that the first syntax can be signaled in sequence / video / picture / slice / tile / subpicture / tile / block / other video unit (e.g., CTU row / CTU) level to indicate whether to enable CCPM PM.
[0241] a. Alternatively, the syntax can be signaled in two levels. For example, the first syntax can be signaled in sequence / video level. If the first syntax indicates to use CCPM PM, the second syntax can be further signaled in picture / slice / tile / subpicture / tile / block / other video unit (e.g., CTU row / CTU) level.
[0242] b. In one example, the syntax can be signaled with a condition that it is used across components for sequence / video / picture / slice / tile / subpicture / tile / block / other video unit (e.g., CTU row / CTU).
[0243] 20. It is proposed that a third syntax can be signaled to indicate whether and / or which CCPM PM mode is used for a block (e.g., a coding unit or a prediction unit).
[0244] a. In one example, the third syntax can be signaled on the condition that CCPM PM is enabled for a picture / slice / tile / subpicture / tile / other video unit (e.g., CTU row / CTU).
[0245] b. In one example, the third syntax can be signaled on the condition that cross-component prediction is used for the current block.
[0246] 21. CCPM PM can be considered as an additional CCLM mode (e.g., CCLM_A, CCLM_L, CCLM_AL) in addition to existing modes.
[0247] a. Alternatively, in addition, the number of allowed CCLM modes can be increased, and a CCLM mode index (e.g., cclm_mode_idx) can be signaled based on the increased number.
[0248] b. Alternatively, in addition, cclm_mode_flag should be equal to 1 if CCPM PM mode is selected.
[0249] c. Alternatively, in addition, CCPM PM mode can be assigned with a larger index compared to existing CCLM modes.
[0250] 22. CCPM PM can be considered as a new category different from CCLM modes.
[0251] a. Alternatively, in addition, an indication of the new category can be signaled when CCLM is not applied to a block, e.g., cclm_mode_flag should be equal to 0.
[0252] Inter-prediction with multiple-parameter model (IPMPM) FIG. 18
[0253] 23. The proposed CCPM PM method can be extended for handling Local Illumination Compensation (LIC) coding blocks. That is, to predict the first color component of an LIC coding block, the second color component (e.g., luma) of the LIC coding block can be utilized to predict the chroma samples.
[0254] 24. It is proposed that CCPM PM can be extended to inter 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 a current video block.
[0255] a. In one example, the reference samples can be identified by the motion vector of the current block.
[0256] b. In one example, the 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.
[0257] c. In one example, a set of linear coefficients and / or offsets can be derived for each prediction direction.
[0258] d. In one example, a set of linear coefficients and / or offsets can be derived for each motion vector of the current block.
[0259] e. Alternatively, the derivation of the linear coefficients / offsets can depend on neighboring samples of the same color component.
[0260] 25. It is proposed that a first syntax can be signaled in sequence / video / picture / slice / tile / subpicture / tilegroup / other video unit (e.g., CTU row / CTU) level to indicate whether IPMPM is enabled.
[0261] a. Alternatively, the syntax can be signaled in two levels. For example, a first syntax can be signaled in sequence / video level. If the first syntax indicates that IPMPM is used, a second syntax can be further signaled in picture / slice / tile / subpicture / tilegroup / other video unit (e.g., CTU row / CTU) level.
[0262] 26. 26. It is proposed that a third syntax can be signaled to indicate whether and / or which IPMPM mode is used for a block (e.g., coding unit or prediction unit).
[0263] a. In one example, the third syntax can be signaled on the condition that IPPMM is enabled for a picture / slice / tile / subpicture / tilegroup / other video unit (e.g., CTU row / CTU).
[0264] b. In one example, the third syntax can be a flag.
[0265] c. In one example, whether the third syntax is signaled can depend on the coding mode of the block.
[0266] i. In one example, the third syntax can be signaled in advanced motion vector prediction (AMVP) mode.
[0267] ii. In one example, the third syntax can not be signaled in certain modes. For example, the third syntax can not be signaled in the following modes:
[0268] 1. merge mode
[0269] 2. Sub-block merge mode
[0270] 3. Intra block copy mode
[0271] 4. Affine mode
[0272] 5. Palette mode
[0273] 6. Intra mode
[0274] d. In one example, a third syntax can be stored for a block and used for its subsequent coding / decoding block.
[0275] e.e. In one example, the third syntax can be inherited in Merge mode.
[0276] i. For example, if the current block inherits the motion information of a spatial neighboring block, the third syntax of the same spatial neighboring block can also be inherited by the current block.
[0277] ii. For example, if the current block inherits the motion information of a temporal neighboring block, the third syntax of the same temporal neighboring block can also be inherited by the current block.
[0278] f. In one example, the third syntax can be stored in a History-based Motion Vector Prediction (HMVP) table together with the associated motion information.
[0279] i. Alternatively, in addition, if an HMVP candidate is inherited by a block, the associated third syntax can also be inherited.
[0280] 5 Additional embodiments
[0281] 5.1 Embodiment of signaling of the signal sps_joint_cbcr_enabled_flag
[0282] Changes proposed on top of JVET-P2001-v14 are described as follows, with newly added changes highlighted in bold underlined italicized text.
[0283] 7.3.2.3 Sequence parameter set RBSP syntax
[0284]
[0285] 7.4.3.3 Sequence parameter set RBSP semantics ...
[0287] sps_joint_cbcr_enabled_flag equal to 0 specifies that joint coding of chrominance residuals is disabled. sps_joint_cbcr_enabled_flag equal to 1 specifies that joint coding of chrominance residuals is enabled. When sps_joint_cbcr_enabled_flag is not present, it is inferred to be equal to 0.
[0288] …
[0289] 6Example implementations of the disclosed technology
[0290] FIG. 19 is a block diagram of an example video processing device 1800. The device 1800 can be used to implement one or more of the methods described in this document. The device 1800 can be embodied in a smartphone, tablet, computer, Internet of Things (IoT) receiver, etc. The device 1800 can include one or more processors 1802, one or more memories 1804, and video processing hardware 1806. The processor(s) 1802 can be configured to implement one or more methods described in this document. The memory (memories) 1804 can be used for storing data and code used during implementation of the methods and techniques described here. The video processing hardware 1806 can be used to implement, in hardware circuitry, some of the techniques described in this document. In some embodiments, the hardware 1806 can be part of, or entirely, the processor(s) 1802 (e.g., a graphics processor core GPU or other signal processing circuitry).
[0291] 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 can be applied during conversion from a pixel representation of a video to a corresponding bitstream representation, or vice versa. The bitstream representation of a current video block may, for example, correspond to bits located at or distributed at different locations within the bitstream as defined by the syntax. For example, a macroblock can be encoded according to transformed and coded error residual values, and also using bits in a header and other fields in the bitstream.
[0292] It will be appreciated that the disclosed methods and techniques will benefit video encoder and / or decoder embodiments incorporated into video processing devices (e.g., smartphones, laptops, desktops, and similar devices) by allowing use of the techniques disclosed in this document.
[0293] FIG. 20 is a flowchart of an example method 1900 of video processing. The method 1900 includes, at 1900, performing a conversion between a video block and a bitstream representation of the video block using an intra-prediction coding tool in which one or more spatially non-adjacent reference rows and / or reference columns are used, wherein the video block does not correspond to a luma color component.
[0294] Some embodiments can be described using the following clause-based format.
[0295] 1. A video processing method, comprising: performing a conversion between a video block and a bitstream representation of the video block using an intra prediction coding tool in which one or more spatially non-adjacent reference lines and / or reference columns are used, wherein the video block does not correspond to a luma color component.
[0296] 2. The method of clause 1, wherein the one or more spatially non-adjacent reference lines and / or reference columns are used for at least one of (1) producing reduced reference signaling, (2) upsampling reduced prediction signaling, or (3) producing matrix-based intra prediction (MIP) signaling.
[0297] 3. The method of any one or more of clauses 1-2, wherein spatially adjacent reference lines and / or reference columns are used in addition to the one or more spatially non-adjacent reference lines and / or reference columns.
[0298] 4. The method of any one or more of clauses 1-3, wherein use of the one or more spatially non-adjacent reference lines and / or reference columns is indicated in the bitstream representation.
[0299] 5. The method of any one or more of clauses 1-4, wherein a multiple reference line (MRL) flag is enabled in the bitstream representation.
[0300] 6. The method of clause 5, wherein the prediction coding tool is associated with a combined intra-inter prediction (CIIP) mode.
[0301] 7. The method of any one or more of clauses 5-6, wherein the intra prediction coding tool is associated with a block-based delta PCM (BDPCM) mode.
[0302] 8. A video processing method, comprising: performing a conversion between a video block and a bitstream representation of the video block using an intra prediction tool in which a model based on a linear combination of a plurality of color component samples of a first type is used to predict color component samples of a second type of the video block, and wherein in the model, linear coefficients associated with the color component samples of the first type are derived in the bitstream representation or signaled separately.
[0303] 9. The method of clause 8, wherein a prediction error representing a difference between an original sample value and a predicted sample value is indicated in the bitstream representation.
[0304] 10. The method according to any one or more of clauses 8-9, wherein the model comprises a linear combination of a plurality of color component samples of the first type to which an offset is added.
[0305] 11. The method according to clause 8, wherein the plurality of 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 one linear coefficient.
[0306] 12. The method according to clause 11, wherein the classification of the one or more groups of color component samples is defined according to a shape of a filter centered on the color component samples of the first type in a spatial domain.
[0307] 13. The method according to clause 12, wherein the color component samples of the first type are selected based on a color format of the color component samples of the first type and a position of the color component samples of the second type.
[0308] 14. The method according to clause 13, wherein the color component samples of the first type are selected from position (x,y) if the color component samples of the second type are located at (x,y) and the color format of the color component samples of the first type is a 4:4:4 format.
[0309] 15. The method according to clause 13, wherein the color component samples of the first type are selected from position (2*x,y) if the color component samples of the second type are located at (x,y) and the color format of the color component samples of the first type is a 4:2:2 format.
[0310] 16. The method according to clause 13, wherein the color component samples of the first type are selected from position (2*x,2*y) if the color component samples of the second type are located at (x,y) and the color format of the color component samples of the first type is a 4:2:0 format.
[0311] 17. The method according to any one or more of clauses 12-16, wherein the shape of the filter is one of the following: an Nl-point rectangle, an Nl-point square, an N2-point diamond, an N4-point hexagon, or an N5-point octagon, wherein Nl, N2, N3, N4, and N5 are positive integers.
[0312] 18. The method according to any one or more of clauses 12-17, wherein the shape of the filter is selected according to an intra prediction tool used in the conversion.
[0313] 19. The method according to any one or more of clauses 12-17, wherein the shape of the filter used to compute the linear coefficients is the same as the shape of the filter used to compute the offset related to the linear coefficients.
[0314] 20. The method of clause 19, wherein a least squares technique is used to derive the linear coefficients and an offset related to the linear coefficients.
[0315] 21. The method of clause 8, wherein the multiple color component samples of the first type are collectively located within a region relative to a position of the video block.
[0316] 22. The method of clause 21, wherein the multiple color component samples of the first type are collectively located in a left side direction of the video block.
[0317] 23. The method of clause 21, wherein the multiple color component samples of the first type are collectively located in an above direction of the video block.
[0318] 24. The method of clause 21, wherein the multiple color component samples of the first type are distributed within a first region and a second region, wherein each region is associated with a prediction tool.
[0319] 25. A method of video processing, comprising: performing a conversion between a video block and a bitstream representation of the video block using an intra prediction tool in which a second type of color component samples of the video block are predicted using a model that is based on a linear combination of multiple first type of color component samples, and wherein the multiple first type of color component samples are classified into one or more groups of color component samples according to a rule that depends on a shape of a filter centered on the first type of color component samples in a spatial domain.
[0320] 26. The method of clause 25, wherein the first type of color component samples that are symmetrically positioned about a vertical line through a center of the filter are classified into a single group.
[0321] 27. The method of clause 25, wherein the first type of color component samples that are located on a vertical line through a center of the filter are classified into a single group.
[0322] 28. The method of clause 25, wherein the first type of color component samples that are symmetrically positioned about a center of the filter are classified into a single group.
[0323] 29. The method of clause 25, wherein the first type of color component samples that are symmetrically positioned about a horizontal line through a center of the filter are classified into a single group.
[0324] 30. The method of clause 25, wherein the first type of color component samples that are located on a horizontal line through a center of the filter are classified into a single group.
[0325] 31. The method of clause 25, wherein if the first type of color component sample at the center of the filter is at an integer-valued position, the first type of color component sample is classified into a different group than the group comprising the plurality of first type of color component samples.
[0326] 32. The method of clause 25, wherein the rule specifies that the plurality of first type of color component samples are classified into one or more groups using an intra prediction direction.
[0327] 33. The method of clause 25, wherein the rule specifies that a first filter shape classifying the first type of color component sample into a first group and a second filter shape classifying the first type of color component sample into a second group.
[0328] 34. The method of clause 25, wherein an indication of the filter shape used is signaled in a bitstream representation.
[0329] 35. The method of clause 25, wherein an index indicating a group identification is signaled in a bitstream representation.
[0330] 36. A video processing method, comprising: performing a conversion between a video block and a bitstream representation of the video block using an intra prediction tool in which a second type of color component sample of the video block is predicted using a model based on a linear combination of a plurality of first type of color component samples, and wherein a plurality of first type of color component samples are classified into one or more groups of color component samples according to a shape of a filter centered on a first type of color component sample in a spatial domain such that a first filter shape and a second filter shape utilize different groups of neighboring samples.
[0331] 37. A video processing method, comprising: performing a conversion between a video block and a bitstream representation of the video block using an intra prediction tool in which a second type of color component sample of the video block is predicted using a model based on a linear combination of a plurality of first type of color component samples, and wherein in the model, a linear coefficient and an offset associated with the first type of color component sample are derived in the bitstream representation or separately signaled.
[0332] 38. The method of clause 37, wherein the linear coefficient and / or the offset are rounded up to an integer value prior to use.
[0333] 39. The method of clause 37, wherein the linear coefficient and / or the offset are right-shifted prior to use.
[0334] 40. The method of clause 37, wherein the linear coefficient and / or the offset are rounded and right-shifted.
[0335] 41. The method of clause 37, wherein the first type of multiple color component samples are samples that are reconstructed prior to performing the in-loop filtering step.
[0336] 42. The method of clause 41, wherein the in-loop filtering step uses a deblocking filter, a sample adaptive offset (SAO) step, or an ALF filter.
[0337] 43. The method of clause 41, wherein the samples that are reconstructed prior to performing the in-loop filtering step are subject to additional modification.
[0338] 44. The method of clause 43, wherein the additional modification comprises applying a smoothing filter.
[0339] 45. The method of clause 43, wherein the additional modification comprises applying a downsampling filter.
[0340] 46. The method of clause 37, wherein the first type of color component samples are luma components and the second type of color component samples are Cb or Cr components.
[0341] 47. The method of clause 37, wherein the first type of color component samples are Cb components and the second type of color component samples are Cr components.
[0342] 48. The method of clause 37, wherein the first type of color component samples are Cr components and the second type of color component samples are Cb components.
[0343] 49. The method of clause 37, wherein the first type of color component samples are R components and the second type of color component samples are G or B components.
[0344] 50. The method of clause 37, wherein an indication of use of a model based on a linear combination of the first type of multiple color component samples is signaled in a bitstream representation.
[0345] 51. The method of clause 50, wherein the use is signaled using a two-level syntax, a first syntax in a sequence / video level and a second syntax in a picture / slice / tile / subpicture / tile / video unit level.
[0346] 52. The method of clause 51, wherein the second syntax is signaled only when the first syntax indicates use of the model.
[0347] 53. The method of any one or more of clauses 51-52, wherein a third syntax is signaled in a bitstream representation at a block level to indicate whether the model is used for a video block.
[0348] 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.
[0349] 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.
[0350] 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).
[0351] 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.
[0352] 58. A video decoding apparatus comprising a processor configured to implement one or more of the methods in Clauses 1 to 57.
[0353] 59. A video encoding apparatus comprising a processor configured to implement one or more of the methods in Clauses 1 to 57.
[0354] 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.
[0355] 61. A method, apparatus or system described in this document.
[0356] FIG. 20 This is a block diagram describing an example video codec system 100 that can utilize the techniques disclosed herein.
[0357] like FIG. 21 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.
[0358] The source device 110 may include a video source 112, a video encoder 114, and an input / output (I / O) interface 116.
[0359] Video source 112 can include a source such as a video capture device, an interface to receive video data from a video content provider, and / or a computer graphics system for generating video data, or a combination of such sources. Video data can comprise one or more pictures. Video encoder 114 encodes video data from video source 112 to produce a bitstream. The bitstream can include a sequence of bits that form a coded representation of the video data. The bitstream can include coded pictures and associated data. A coded picture is a coded representation of a picture. Associated data can include sequence parameter sets, picture parameter sets, and other syntax structures. I / O interface 116 can include a modulator / demodulator (modem) and / or a transmitter. Encoded video data can be transmitted directly to destination device 120 via I / O interface 116 by network 130a. Encoded video data can also be stored onto storage medium / server 130b for access by destination device 120.
[0360] Destination device 120 can include I / O interface 126, video decoder 124, and display device 122.
[0361] I / O interface 126 can include a receiver and / or a modem.
[0362] I / O interface 126 can retrieve the 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 a user. Display device 122 can be integrated with destination device 120, or can be external to destination device 120 which be configured to interface with an external display device.
[0363] Video encoder 114 and video decoder 124 can operate according to a video compression standard, such as High Efficiency Video Coding (HEVC) standard, Versatile Video Coding (VVC) standard, and other current and / or further standards.
[0364] FIG. 20 is a block diagram illustrating an example of a video encoder 200 that can be FIG. 21 in system 100 illustrated in FIG. 1.
[0365] Video encoder 200 can be configured to perform any or all of the techniques of this disclosure. In FIG. 5 example, video encoder 200 includes a plurality of functional components. The techniques described in this disclosure can be shared among the various components of video encoder 200. In some examples, a processor can be configured to perform any or all of the techniques described in this disclosure.
[0366] The functional components of video encoder 200 can include partition unit 201, prediction unit 202 (which can include mode select unit 203, motion estimation unit 204, motion compensation unit 205, and intra-prediction unit 206), residual generation unit 207, transform unit 208, quantization unit 209, inverse quantization unit 210, inverse transform unit 211, reconstruction unit 212, buffer 213, and entropy encoding unit 214.
[0367] In other examples, video encoder 200 can include more, less, or different functional components. In one example, prediction unit 202 can 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 in which the current video block is located.
[0368] Furthermore, some components, such as motion estimation unit 204 and motion compensation unit 205, can be highly integrated, but are represented separately for illustrative purposes. FIG. 22
[0369] Partition unit 201 can partition a picture into one or more video blocks. Video encoder 200 and video decoder 300 can support various video block sizes.
[0370] Mode select unit 203 can select one of the coding modes (intra or inter, e.g., based on error results), and provide the resulting intra or inter coded block to residual generation unit 207 to generate residual block data and to reconstruction unit 212 to reconstruct the coded block for use as a reference picture. In some examples, mode select unit 203 can select a combination of intra and inter prediction (CIIP) mode, where the prediction is based on both an inter prediction signal and an intra prediction signal. In the case of inter prediction, mode select unit 203 can also select a resolution for the motion vectors (e.g., sub-pixel or integer pixel precision) for the block.
[0371] To perform inter prediction for a 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 to the current video block. Motion compensation unit 205 can determine a predicted video block for the current video block based on the motion information and decoded samples for pictures from buffer 213 other than the picture in which the current video block is associated.
[0372] Motion estimation unit 204 and motion compensation unit 205 can perform different operations for a current video block, e.g., depending on whether the current video block is in an I slice, a P slice, or a B slice.
[0373] In some examples, the motion estimation unit 204 can perform uni-prediction for a current video block, and the motion estimation unit 204 can search a reference picture in List 0 or List 1 for a reference video block for the current video block. The motion estimation unit 204 can then generate a reference index indicating the reference picture in List 0 or List 1 that includes the reference video block and a motion vector indicating a spatial displacement between the current video block and the reference video block. The motion estimation unit 204 can output the reference index, a prediction direction indicator, and the motion vector as the motion information for the current video block. The motion compensation unit 205 can generate a predicted video block for the current block based on the reference video block indicated by the motion information for the current video block.
[0374] In other examples, the motion estimation unit 204 can perform bi-prediction for a current video block, the motion estimation unit 204 can search a reference picture in List 0 for a reference video block for the current video block, and can also search a reference picture in List 1 for another reference video block for the current video block. The motion estimation unit 204 can then generate reference indices indicating the reference pictures in List 0 and List 1 that include the reference video block and another reference video block and a motion vector indicating a spatial displacement between the reference video block and the current video block. The motion estimation unit 204 can output the reference indices and the motion vector for the current video block as the motion information for the current video block. The motion compensation unit 205 can generate a predicted video block for the current block based on the reference video block indicated by the motion information for the current video block.
[0375] In some examples, the motion estimation unit 204 can output a full set of motion information for a current video block for decoding processing at the decoder.
[0376] In some examples, the motion estimation unit 204 can not output a full set of motion information for a current video block. Instead, the motion estimation unit 204 can signal the motion information for the current video block with reference to the motion information of another video block. For example, the motion estimation unit 204 can determine that the motion information for the current video block is sufficiently similar to the motion information of a neighboring video block.
[0377] In one example, the motion estimation unit 204 can indicate a value in a syntax structure associated with the current video block, the value indicating to the video decoder 300 that the current video block has the same motion information as another video block.
[0378] In another example, the motion estimation unit 204 can identify another video block and a motion vector difference (MVD) in a syntax structure associated with the current video block. The motion vector difference represents a difference between the motion vector of the current video block and the motion vector of the indicated video block. The 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.
[0379] As discussed above, video encoder 200 can predictively signal motion vectors. Two examples of prediction signaling techniques that can be implemented by video encoder 200 include advanced motion vector prediction (AMVP) and merge mode signaling.
[0380] 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, intra prediction unit 206 can generate prediction data for the current video block based on decoded samples of other video blocks in the same picture. The prediction data for the current video block can include a predicted video block and various syntax elements.
[0381] 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 for the current video block from the current video block. The residual data for the current video block can include a residual video block that corresponds to different sample components of samples in the current video block.
[0382] In other examples, the residual data for the current video block can not exist for the current video block, such as in a skip mode, and residual generation unit 207 can not perform the subtraction operation.
[0383] 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 block associated with the current video block.
[0384] After transform processing unit 208 generates a transform coefficient video block associated with the current video block, 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.
[0385] Inverse quantization unit 210 and inverse transform unit 211 can apply inverse quantization and inverse transform, respectively, to the transform coefficient video block to reconstruct the residual video block from the transform coefficient video block. Reconstruction unit 212 can add the reconstructed residual video block to corresponding samples from one or more predicted video blocks generated by prediction unit 202 to produce a reconstructed video block associated with the current block for storage in buffer 213.
[0386] After reconstruction unit 212 reconstructs the video block, in-loop filtering operations can be performed to reduce video block artifacts in the video block.
[0387] Entropy encoding unit 214 can receive data from other functional components of video encoder 200. When entropy encoding unit 214 receives data, entropy encoding unit 214 can perform one or more entropy encoding operations to generate entropy encoded data and output a bitstream that includes the entropy encoded data.
[0388] FIG. 20 is an example block diagram illustrating a video decoder 300 that can be FIG. 22 the system 100 described in
[0389] Video decoder 300 can be configured to perform any or all of the techniques of this disclosure. In FIG. 22 example, video decoder 300 includes a plurality of functional components. The techniques described in this disclosure can be shared among the various components of video decoder 300. In some examples, a processor can be configured to perform any or all of the techniques described in this disclosure.
[0390] In FIG. 21 example, video decoder 300 includes an entropy decoding unit 301, a motion compensation unit 302, an intra prediction unit 303, an inverse quantization unit 304, an inverse transformation unit 305, and a reconstruction unit 306 and buffer 307. In some examples, video decoder 300 can perform a decoding pass generally reciprocal to the encoding pass described with respect to video encoder 200 (e.g., FIG. 23A ).
[0391] Entropy decoding unit 301 can retrieve an encoded bitstream. The encoded bitstream can include entropy encoded video data (e.g., encoded video data blocks). Entropy decoding unit 301 can decode the entropy encoded video data, and from the entropy decoded video data, motion compensation unit 302 can determine motion information including motion vectors, motion vector precision, reference picture list indices, and other motion information. For example, motion compensation unit 302 can determine this information by performing AMVP and merge modes.
[0392] Motion compensation unit 302 can generate a motion compensated block, possibly performing interpolation using an interpolation filter. An identifier of the interpolation filter used at sub-pixel precision can be included in the syntax elements.
[0393] Motion compensation unit 302 can calculate interpolated values for sub-integer pixels of the reference block using the interpolation filter used by video encoder 20 during encoding of the video block. Motion compensation unit 302 can determine the interpolation filter used by video encoder 200 from the received syntax information and use the interpolation filter to generate the prediction block.
[0394] The motion compensation unit 302 can use some syntax information to determine the size of the blocks used to encode the frames and / or slices of the coded video sequence, partitioning information that describes how each macroblock of a picture of the coded video sequence is partitioned, the mode that indicates how each partition is coded, the reference frame(s) (and the list of reference frames) for each inter-coded block, and other information that the decoder needs to decode the coded video sequence.
[0395] The intra prediction unit 303 can use, for example, the intra prediction modes received in the bitstream to form a prediction block from spatially adjacent blocks. The inverse quantization unit 303 inverse quantizes, i.e., dequantizes, the quantized video block coefficients provided in the bitstream and decoded by the entropy decoding unit 301. The inverse transform unit 303 applies an inverse transform.
[0396] The reconstruction unit 306 can add the residual block to the corresponding prediction block produced by the motion compensation unit 202 or the intra prediction unit 303 to form a decoded block. If desired, a deblocking filter can also be applied to filter the decoded block to remove blockiness artifacts. The decoded video block is then stored in the buffer 307, which provides reference blocks for subsequent motion compensation.
[0397] The various techniques disclosed herein can be implemented, preferably, by the technical solutions in the following embodiments.
[0398] The first set of solutions is listed below.
[0399] For example, the following solutions can be implemented according to the items listed in Section 4 above (e.g., item 1).
[0400] 1. A method of video processing (e.g., FIG. 23B depicted in method 2310), comprising performing (2312) a conversion between a current video block of a video and a coded representation of the video using an intra prediction coding tool, in which a prediction is selectively performed according to a rule using one or more reference lines, wherein the coded representation conforms to a format rule; wherein the current video block has a color component different from a luma color component of the video.
[0401] 2. The method of solution 1, wherein the color component is a Cb component, a Cr component, an R component, a G component, or a B component.
[0402] 3. The method of any of solutions 1-2, wherein the rule specifies that a non-adjacent reference line on a spatial domain is used.
[0403] 4. The method of any of solutions 1-2, wherein the rule specifies that the one or more reference lines include a line that is 0, 1, or 2 columns to the left of the current video block or 0, 1, or 2 rows above the current video block.
[0404] 5. The method according to any of solutions 1-4, wherein the bitstream comprises an identification of the one or more reference lines.
[0405] 6. The method according to solution 5, wherein the identification is comprised at a sequence level, a video level, a picture level, a slice level, a tile level, a subpicture level, a tile level, a coding tree unit level, or a coding tree unit row level.
[0406] 7. The method according to any of solutions 5-6, wherein the identification is comprised in a parameter set, wherein the parameter set comprises a video parameter set, a sequence parameter set, an adaptation parameter set, or a picture parameter set.
[0407] 8. The method according to any of solutions 5-7, wherein the identification is comprised in a picture header, a slice header, a tile group header, or a coding tree unit header.
[0408] For example, the following solutions can be implemented according to the items listed in section 4 above, e.g. item 2.
[0409] 9. The method according to any of solutions 1-8, wherein the format rule specifies whether and how the one or more reference lines are identified in the bitstream.
[0410] 10. The method according to solution 9, wherein the format rule specifies that the one or more reference lines are identified in the bitstream implicitly.
[0411] 11. The method according to solution 9, wherein the format rule specifies that the one or more reference lines are identified in the bitstream using a first syntax structure, the first syntax structure indicating whether or not the one or more reference lines are used for conversion.
[0412] 12. The method according to solution 11, wherein the format rule specifies that the bitstream comprises a second syntax element, the second syntax element indicating which non-adjacent reference lines are used by the intra prediction coding tool.
[0413] 13. The method according to solution 11 or 12, wherein the format rule specifies that the bitstream comprises a third syntax element, the third syntax element indicating which non-adjacent reference lines of a color component are used for intra prediction by the intra prediction coding tool.
[0414] 14. The method according to 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.
[0415] 15. The method according to solution 12 or 13, wherein the second syntax structure or the third syntax structure is coded as a binary value.
[0416] 16. The method according to solution 12 or 13, wherein the second syntax structure or the third syntax structure is coded as a non-binary value.
[0417] 17. The method according to any of solutions 9-10, wherein the format rule specifies that an index of the one or more reference lines is derivable for the current video block based on a reference line index of a reference luma block associated with the current video block and based on an immediately neighboring chroma sample relative to the current video block.
[0418] For example, the following solutions can be implemented according to the items listed in section 4 above, e.g. item 4.
[0419] 18. The method according to any of solutions 1-17, wherein the rule specifies that whether and / or how to use the one or more reference lines depends on a color format of the video.
[0420] 19. The method according to solution 18, wherein the rule specifies that in case the color format is 4:2:0, the use of the one or more reference lines that are non-adjacent to the current video block is prohibited.
[0421] 20. The method according to solution 18, wherein the rule specifies that due to the color format being 4:4:4, the use of the one or more reference lines that are non-adjacent to the current video block is enabled.
[0422] For example, the following solutions can be implemented according to the items listed in section 4 above, e.g. item 4.
[0423] 21. The method according to solution 18, wherein the rule specifies that whether to use a non-adjacent line from the one or more reference lines depends on whether the non-adjacent line is to the left of the current video block or above the current video block.
[0424] 22. The method according to solution 18, wherein the rule specifies to use a first number of non-adjacent lines to the left of the current video block or to use a second number of non-adjacent lines above the current video block, wherein the first number is different from the second number.
[0425] For example, the following solutions can be implemented according to the items listed in section 4 above, e.g. item 6.
[0426] 23. The method according to solution 1, wherein the rule specifies that the current video block is coded using a matrix-based intra prediction (MIP) mode, and wherein the one or more reference lines comprise one or more non-adjacent reference lines.
[0427] 24. The method of solution 23, wherein one or more non-collocated reference lines are used to generate the reduced reference signaling.
[0428] 25. The method of any of solutions 23-24, wherein one or more non-collocated reference lines are used to up-sample the reduced prediction signaling.
[0429] 26. The method of solution 23, wherein a rule specifies that both collocated and non-collocated reference lines are used to generate the MIP prediction signaling.
[0430] 27. The method of solution 23, wherein a format rule specifies that the bitstream includes an indication of one or more reference lines.
[0431] For example, the following solutions can be implemented according to the items listed in Section 4 above (e.g., item 7).
[0432] 28. The method of solution 1, wherein a rule specifies that one or more reference lines are used because the intra-prediction coding tool is a combined intra-inter prediction (CIIP) mode.
[0433] 29. The method of solution 1, wherein a rule specifies that one or more reference lines are used because the intra-prediction coding tool is a block delta pulse code modulation (BDPCM) coding tool.
[0434] For example, the following solutions can be implemented according to the items listed in Section 4 above (e.g., item 3).
[0435] 30. A video processing method (e.g., the method 2320 depicted in FIG. 23), FIG. 23C includes converting, for a current video block of a color component of a video and a bitstream of the video, determining (2322) whether the current video block inherits an intra-coding property from a corresponding intra-coded luma video block, and performing (2324) the conversion based on the determination.
[0436] 31. The method of solution 30, wherein the current video block is coded in the bitstream using a dependency mode that indicates the current video block is coded using a same prediction direction or prediction reference line as the corresponding intra-coded luma video block.
[0437] 32. The method of any of solutions 30-31, wherein a color format of the video determines whether and / or how the current video block inherits the intra-coding property.
[0438] A second set of solutions is listed below.
[0439] For example, the following solutions can be implemented according to the items listed in section 4 above, e.g. item 8.
[0440] 1. A method of video processing (e.g., the method 2330 depicted in FIG. 23), comprising: FIG. 23D
[0441] performing (2332) a conversion between a current block of video of a second color component of the video and a bitstream of the video using cross-component prediction with multi- parameter model (CCPMPM), wherein samples of the current block of video are predicted coded 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 CCPMPM are determined using a first rule; and wherein the samples of the first color component are determined using a second rule.
[0442] For example, the following solutions can be implemented according to the items listed in section 4 above, e.g. item 9.
[0443] 2. The method of solution 1, wherein the samples of the first color component comprise a plurality of groups of samples of the first color component, wherein one of the linear coefficients is applied to each sample in a group of the first color component.
[0444] 3. The method of solution 2, wherein the one or more offsets comprise an offset applied to the linear combination of each group of samples of the first color component.
[0445] For example, the following solutions can be implemented according to the items listed in section 4 above, e.g. item 10.
[0446] 4. The method of any of solutions 1-2, wherein each of the plurality of groups of samples of the first color component is defined by a filter shape and a center sample of the group.
[0447] 5. The method of solution 4, wherein the center sample depends on a color format of the video and / or a position of a sample of the predicted second color component, wherein the color format is 4:4:4, 4:2:2 or 4:2:0.
[0448] 6. The method of solution 5, wherein if the sample of the second color component is located at (x, y), the center sample is located at position (x, y) in the first color component in case of 4:4:4 format, wherein x and y represent decimal or integer sample position numbers.
[0449] 7. The method according to solution 5, wherein, if a sample of the second color component is located at (x, y), the center sample is located at position (2*x, y) in the first color component in case of 4:2:2 format, wherein x and y represent decimal or integer sample position numbers.
[0450] 8. The method according to solution 5, wherein, if a sample of the second color component is located at (x, y), the center sample is located at position (2*x, 2*y) in the first color component in case of 4:2:0 format, wherein x and y represent decimal or integer sample position numbers.
[0451] 9. The method according to any of solutions 4-8, wherein the filter shape is one of an Nl-point rectangle or N3-point square, N2-point diamond, N4-point hexagon or N5-point octagon, wherein Nl, N2, N3, N4 and N5 are positive integers.
[0452] 10. The method according to solution 9, wherein the filter shape for the current video block depends on an intra prediction mode used for coding the current video block.
[0453] 11. The method according to any of solutions 4-10, wherein the first and second rules prescribe to use the same shape of samples for deriving linear coefficients and / or one or more offsets and linear prediction.
[0454] 12. The method according to solution 11, wherein the first rule prescribes to use a least squares calculation operation for deriving linear coefficients and / or one or more offsets.
[0455] For example, the following solutions can be implemented according to the items listed in section 4 above, e.g. item 13.
[0456] 13. The method according to any of solutions 4-12, wherein the groups of samples are classified into sets by a classification method depending on the filter shape and the center sample of the group and / or the center of the filter shape.
[0457] 14. The method according to solution 13, wherein the classification method comprises classifying samples of the first color component into groups depending on a symmetry with respect to a vertical line containing the center of the filter shape.
[0458] 15. The method according to solution 14, wherein the classification method further comprises classifying samples located on the vertical line into one group.
[0459] 16. The method according to solution 14, wherein the classification method further comprises classifying samples located on the vertical line and samples symmetric to the center of the filter shape into one group.
[0460] 17. The method according to solution 13, wherein the classification method comprises classifying the samples of the first color component into groups according to symmetry with respect to a horizontal line containing the center of the filter shape.
[0461] 18. The method according to solution 17, wherein the classification method further comprises classifying the samples located on the horizontal line into one group.
[0462] 19. The method according to solution 17, wherein the classification method further comprises classifying the samples located on the horizontal line and symmetric with respect to the center of the filter shape into one group.
[0463] 20. The method according to solution 13, wherein the classification method comprises classifying the samples of the first color component into groups according to symmetry with respect to the center of the filter shape.
[0464] 21. The method according to solution 13, wherein the classification method comprises classifying the samples of the first color component located on a horizontal line containing the center of the filter shape into groups.
[0465] 22. The method according to solution 13, wherein the classification method comprises classifying the samples of the first color component located on a vertical line containing the center of the filter shape into groups.
[0466] 23. The method according to solution 13, wherein the classification method comprises classifying the center of the filter shape into a separate group if the center of the filter shape is located at an integer sample position.
[0467] 24. The method according to any of solutions 4-12, wherein the multiple groups of samples are classified into the set by the classification method according to the direction of the intra prediction.
[0468] 25. The method according to solution 24, wherein horizontal symmetry is used in the classification method if the direction of the intra prediction is closer to horizontal prediction than to vertical prediction.
[0469] 26. The method according to any of solutions 13-25, wherein a different classification method is used for each different filter shape.
[0470] For example, the following solutions can be implemented according to the items listed in section 4 above, e.g. item 12.
[0471] 27. The method according to any of solutions 1-26, wherein the first rule specifies that the linear coefficients are determined using samples in a specific region relative to the current video block.
[0472] 28. The method according to solution 27, wherein the specific region is on the left side of the current video block.
[0473] 29. The method according to solution 27, wherein the particular region is above the current video block.
[0474] 30. The method according to solution 27, wherein the first rule specifies that a position of the particular region defines a mode of the CCPPMM.
[0475] For example, the following solutions can be implemented according to the items listed in section 4 above, e.g. item 14.
[0476] 31. The method according to any of solutions 1-30, wherein the second rule specifies that a plurality of filter shapes is used to determine the samples of the first color component.
[0477] 32. The method according to solution 31, wherein the format rule specifies that the plurality of filter shapes is indicated in the bitstream at a sequence level, a video level, a picture level, a slice level, a tile level, a subpicture level, a tile group level, or a video unit level, wherein the video unit is a coding tree unit or a coding unit level in a picture header or a slice header.
[0478] 33. The method according to solution 31, wherein the format rule specifies that the plurality of filter shapes is indicated in a sequence parameter set or a picture parameter set.
[0479] For example, the following solutions can be implemented according to the items listed in section 4 above, e.g. item 15.
[0480] 34. The method according to solution 1, wherein the first rule specifies that a linear coefficient of the CCPPMM is 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 comprise at least some different samples.
[0481] For example, the following solutions can be implemented according to the items listed in section 4 above, e.g. item 16.
[0482] 35. The method according to any of solutions 1-34, wherein the first rule specifies that the linear coefficient is determined by rounding the linear coefficient to an integer value.
[0483] 36. The method according to solution 35, wherein the first rule specifies that the linear coefficient a(k) is converted to round(a(k)*2N), wherein the function round(x) rounds x to an integer value towards zero, towards positive infinity, or towards negative infinity, and N is a positive integer.
[0484] 37. The method of any of solutions 1-34, wherein a right shift by N is used after adding an rounding offset when determining the cross-component prediction of samples of the current video block, wherein N is a positive integer.
[0485] 38. The method of any of solutions 1-34, wherein a right shift by N is used after adding an rounding offset when determining the cross-component prediction of samples of the current video block.
[0486] 39. The method of solution 38, wherein the rounding offset b is converted to round(b).
[0487] For example, the following solutions can be implemented according to the items listed in section 4 above (e.g., item 17).
[0488] 40. The method of any of solutions 1-39, wherein the samples of the first color component comprise reconstructed samples of the video prior to in-loop filtering.
[0489] 41. The method of any of solutions 1-39, wherein the samples of the first color component comprise reconstructed samples of the video after in-loop filtering.
[0490] 42. The method of solution 41, wherein the in-loop filtering comprises deblocking filtering or sample adaptive offset or adaptive loop filter.
[0491] 43. The method of any of solutions 1-39, wherein the samples of the first color component comprise reconstructed samples that have been filtered by a downsampling filter.
[0492] 44. The method of any of solutions 1-39, wherein the samples of the first color component comprise reconstructed samples that have been filtered by a smoothing filter.
[0493] For example, the following solutions can be implemented according to the items listed in section 4 above (e.g., item 8).
[0494] 45. The method of any of solutions 1-44, wherein the first color component is a luma component and the second color component is a Cr or Cb component.
[0495] 46. The method of any of solutions 1-44, wherein the first color component is a Cb component and the second color component is a Cr component.
[0496] 47. The method of any of solutions 1-44, wherein the first color component is a Cr component and the second color component is a Cb component.
[0497] 48. The method of any of solutions 1-44, wherein the first color component is a R component and the second color component is a G component.
[0498] For example, the following solution can be implemented according to the items listed in section 4 above, e.g. item 19.
[0499] 49. The method according to any of solutions 1-48, wherein the format rule specifies that one or more syntax elements are included in the bitstream to indicate whether the CCPPMM is used for the current video block.
[0500] 50. The method according to solution 49, wherein the one or more syntax elements comprise a first syntax element, the first syntax element being included at a sequence level, a video level, a picture level, a slice level, a tile level, a sub-picture level, a tile level, or a video unit level, wherein the video unit level corresponds to a coding tree unit or a coding tree unit row.
[0501] 51. The method according to solution 49, wherein the one or more syntax elements comprise a first syntax element at a sequence or video level and a second syntax element conditionally included at a picture level, a slice level, a tile level, a sub-picture level, a tile level, or a video unit level, wherein the video unit level corresponds to a coding tree unit or a coding tree unit row.
[0502] 52. The method according to solution 51, wherein the second syntax element is included in the bitstream if cross-component prediction is enabled.
[0503] For example, the following solution can be implemented according to the items listed in section 4 above, e.g. item 20.
[0504] 53. The method according to solution 51, wherein the format rule specifies that a third syntax element is conditionally included in the bitstream to indicate whether the CCPPMM is enabled at a level of the current video block.
[0505] 54. The method according to solution 53, wherein the third syntax element is included in the bitstream if the CCPMPM is enabled at the block level according to an enablement at a picture level, a slice level, a tile level, a sub-picture level, a tile level, or a video unit level, wherein the video unit level corresponds to a coding tree unit or a coding tree unit row that includes the current video block.
[0506] 55. The method according to solution 53, wherein the third syntax element is indicated if a cross-component prediction mode is enabled for the current video block.
[0507] For example, the following solution can be implemented according to the items listed in section 4 above, e.g. item 21.
[0508] 56. The method of any of solutions 1-55, wherein the format rule specifies that the CCPPM is indicated in the bitstream as an additional mode of a cross-component linear model (CCLM) coding tool.
[0509] 57. The method of solution 56, wherein the CCPPM M is signaled using a syntax element that indicates the mode of the CCLM.
[0510] 58. The method of solution 56, wherein the format rule specifies that in response to the CCPPM M being enabled for the current video block, a flag that indicates the CCLM coding tool is enabled is set to a value of 1.
[0511] 59. The method of any of solutions 57-58, wherein to indicate the CCPPM M, the syntax element takes a value that is greater than values that indicate other modes of the CCLM.
[0512] For example, the following solutions can be implemented according to the items listed in Section 4 above (e.g., item 22).
[0513] 60. The method of any of solutions 1-55, wherein the format rule specifies that the CCPPM M is indicated in the bitstream as a mode that is different from a cross-component linear model (CCLM) coding tool.
[0514] 61. The method of solution 60, wherein the format rule specifies that the CCPPM M is enabled for the current video block in a case that the CCLM coding tool is disabled for the current video block.
[0515] A third set of solutions is listed below.
[0516] For example, the following solutions can be implemented according to the items listed in Section 4 above (e.g., item 23).
[0517] 1. A video processing method (e.g., the method 2340 depicted in FIG. 23), FIG. 23E comprising converting, for a current video block of a first component of a video and a bitstream of the video, between the current video block and the bitstream, a prediction of 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 determining (2344); wherein the current video block and the second video block are coded using a local illumination compensation tool.
[0518] 2. The method of solution 1, wherein the rule specifies that the first component is a chroma component and the second component is a luma component.
[0519] For example, the following solutions can be implemented according to the items listed in Section 4 above (e.g., item 24).
[0520] 3. A method of video processing (e.g., method 2350 depicted in FIG. 23), comprising performing (2342) a conversion between a current video block of a video and a bitstream of the video, wherein a sample of the current video block is predictively coded using a multi- parameter model (IPMPM) in which a linear combination of reference samples of the video uses linear coefficients and / or offset values; and wherein the bitstream conforms to a format rule.
[0521] 4. The method of solution 3, wherein the format rule specifies that a reference sample is identified in the bitstream using a motion vector of the current video block.
[0522] 5. The method of solution 3, wherein the format rule specifies that a reference sample is identified in the bitstream using a modification of a motion vector of the current video block.
[0523] 6. The method of solution 5, wherein the modification of the motion vector comprises an integer part of the motion vector.
[0524] 7. The method of any of solutions 3-6, wherein the linear coefficients and / or offset values comprise a first set of linear coefficients and / or offset values in a first prediction direction and a second set of linear coefficients and / or offset values in a second prediction direction.
[0525] 8. The method of solution 3, wherein the linear coefficients and / or offset values comprise 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.
[0526] 9. The method of solution 3, wherein the linear coefficients and / or offset are derived from neighboring samples of a color component of the current video block.
[0527] 10. The method of any of solutions 3-9, wherein the current video block is a non-luma video block.
[0528] For example, the following solutions can be implemented according to the items listed in Section 4 above (e.g., item 25).
[0529] 11. The method of any of solutions 3-10, wherein the format rule specifies that the bitstream includes one or more syntax elements that indicate whether the multi-parameter model is enabled for the current video block.
[0530] 12. The method of solution 11, wherein the one or more syntax elements comprise a single syntax element.
[0531] 13. The method according to solution 12, wherein the single syntax element is included at a sequence level, a video level, a picture level, a slice level, a tile level, a sub-picture level, a tile level, or a video unit level, wherein the video unit is a coding tree unit or a coding tree unit level.
[0532] 14. The method according to solution 11, wherein the one or more syntax elements comprise a first syntax element at a sequence or video level, and a second syntax element at a finer level conditionally included based on a value of the first syntax element, wherein the second syntax element is included at a picture level, a slice level, a tile level, a sub-picture level, a tile level, or a video unit level, wherein the video unit is a coding tree unit or a coding tree unit level.
[0533] 15. The method according to solution 11, wherein the one or more syntax elements comprise a first syntax element, a second syntax element, and a third syntax element, wherein the third syntax element is conditionally included at a video block level.
[0534] 16. The method according to solution 15, wherein the third syntax element is omitted if the first syntax element or the second syntax element indicates that use of a multi- parameter model is disabled for a picture, a slice, a tile, a sub-picture, a tile, or a video unit including the current video block, wherein the video unit is a coding tree unit or a coding tree unit level.
[0535] 17. The method according to any of solutions 15-16, wherein the third syntax element is a single bit flag.
[0536] 18. The method according to any of solutions 15-17, wherein a format rule specifies that the third syntax element is conditionally included based on a coding mode of the current video block.
[0537] 19. The method according to solution 18, wherein the format rule specifies that the third syntax element is signaled if the coding mode is an advanced motion vector prediction (AMVP) mode.
[0538] 20. The method according to solutions 18-19, wherein the format rule specifies that the third syntax element is not signaled if the coding mode is a merge mode, a sub-block merge mode, an intra block copy mode, an affine mode, a palette coding mode, or an intra mode.
[0539] 21. The method according to any of solutions 16-20, wherein the third syntax element is stored for use in coding a next video block after the current video block.
[0540] 22. The method of solution 16, wherein the format rule specifies that the value of the third syntax element is inherited according to the merge mode if the current video block uses the merge mode.
[0541] 23. The method of solution 22, wherein the value of the third syntax element is inherited from the spatial neighboring block if the motion information of the spatial neighboring block is inherited.
[0542] 24. The method of solution 22, wherein the value of the third syntax element is inherited from the temporal neighboring block if the motion information of the temporal neighboring block is inherited.
[0543] 25. The method of solution 16, wherein the format rule specifies that the third syntax element is stored in a history-based motion vector prediction table for coding a subsequent video block.
[0544] 26. The method of solution 16 or 25, wherein the format rule specifies that the third syntax element is inherited if the corresponding motion vector information is also inherited from the history-based motion vector prediction table.
[0545] Some embodiments can include the method of any of the solutions in the above set, wherein the converting includes encoding the current video block into the bitstream.
[0546] Some embodiments can include the method of any of the solutions in the above set, wherein the converting includes decoding the current video block from the bitstream.
[0547] Some embodiments can include a method of storing a bitstream representing a video into a computer-readable recording medium, including: generating the bitstream from the video according to the method recited in one or more of the above sets of solutions; and storing the bitstream into the computer-readable recording medium.
[0548] Some embodiments can 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 method recited in one or more of the above sets of solutions.
[0549] An apparatus for processing video data, the apparatus comprising a processor and a non-transitory memory having instructions thereon, wherein the instructions, when executed by the processor, cause the processor to implement the method recited in one or more of the above sets of solutions.
[0550] Some embodiments can include a non-transitory computer-readable recording medium storing a bitstream of a video generated by a method performed by a video processing apparatus, wherein the method includes: the method described in any one or more of the above sets of solutions.
[0551] Some embodiments can include a computer-readable medium storing a bitstream generated according to any one or more of the above-listed solution sets.
[0552] Some embodiments can include a method, apparatus, bitstream, or system according to the format rules described in this document.
[0553] The disclosed and other solutions, examples, embodiments, modules and functional operations set forth in this document can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this document and their structural equivalents, or in combinations of one or more of them. The disclosed and other embodiments can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine- readable propagated signal, or a combination of one or more of them. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine- readable propagated signal, or a combination of one or more of them. The term“data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. The propagated signal is an artificially generated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated by the apparatus to encode information for transmission to suitable receiver apparatus.
[0554] A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and are interconnected by a communication network.
[0555] The processes and logic flows described in this document can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
[0556] Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not 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 by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
[0557] Although the patent document includes many details, these should not be construed as limiting the scope of any invention or of the claimed scope in any way. Some features described in the patent document in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented separately or in any appropriate subcombination. Also, although features can be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination and the claimed combination can be directed to a subcombination or variation of a subcombination.
[0558] Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring such an order, or that all illustrated operations be performed, to accomplish such operations. Additionally, the separation of various system components in the embodiments described in this patent document should not be understood as requiring such separation in all embodiments.
[0559] Only a few implementations and examples are described and other implementations, enhancements and variations can be made based on what is described and illustrated in this patent document.
Claims
1. A video processing method, comprising: The intra-frame prediction codec tool performs the conversion between the current video block and the video bitstream, selectively using one or more reference lines for prediction according to rules. The bitstream conforms to the format rules. The current video block has color components that are different from the luminance and color components of the video. The rule specifies that the current video block is encoded and decoded using a matrix-based intra-frame prediction (MIP) mode, and the one or more reference lines include one or more non-adjacent reference lines.
2. The method according to claim 1, wherein, The color components are Cb, Cr, R, G, or B components.
3. The method according to any one of claims 1-2, wherein, The rules stipulate that reference lines that are not adjacent in the airspace should be used.
4. The method according to any one of claims 1-2, wherein, The rule specifies the use of one or more reference lines, which 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.
5. The method according to any one of claims 1-4, wherein, The bitstream includes the identifier of one or more reference lines.
6. The method according to claim 5, wherein, The identifier is included at the sequence level, video level, image level, strip level, slice level, sub-image level, tile level, codec tree unit level, or codec tree unit row level.
7. The method according to any one of claims 5-6, wherein, The identifier is included in the parameter set, which includes a video parameter set, a sequence parameter set, an adaptive parameter set, or an image parameter set.
8. The method according to any one of claims 5-7, wherein, The identifier is included in the image header, strip header, slice header, or codec tree unit header.
9. The method according to any one of claims 1-8, wherein, The format rules specify whether and how the one or more reference lines are identified in the bitstream.
10. The method according to claim 9, wherein, The format rules specify that one or more reference lines are implicitly identified in the bitstream.
11. The method according to claim 9, wherein, The format rules specify that a first syntax structure is used to identify one or more reference lines in the bitstream, and the first syntax structure indicates whether the one or more reference lines are used for the conversion.
12. The method according to claim 11, wherein, The format rules specify that the bitstream includes a second syntax structure that indicates which non-adjacent reference lines the intra-frame prediction codec tool uses.
13. The method according to claim 12, wherein, The format rules specify that the bitstream includes a third syntax structure that instructs the intra-prediction codec to use which non-adjacent reference lines of the color components for intra-prediction.
14. The method according to claim 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.
15. The method according to claim 13, wherein, Encode or decode the second or third syntax structure into binary values.
16. The method according to claim 13, wherein, Encode or decode the second syntax structure or the third syntax structure into a non-binary value.
17. The method according to claim 9 or 10, wherein, The format rules specify that the index of one or more reference lines is derivable 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 adjacent chroma sample points relative to the current video block.
18. The method according to any one of claims 1-17, wherein, The rules state 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.
19. The method according to claim 18, wherein, The rule stipulates that, when the color format is 4:2:0, the use of one or more reference lines that are not adjacent to the current video block is prohibited.
20. The method according to claim 18, wherein, 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.
21. The method according to claim 18, wherein, 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.
22. The method according to claim 18, wherein, The rule specifies that a first number of non-adjacent rows to the left of the current video block or a second number of non-adjacent rows above the current video block is used, wherein the first number and the second number are different.
23. The method according to claim 1, wherein, One or more non-adjacent reference lines are used to generate reduced reference signaling.
24. The method according to claim 1 or 23, wherein, The one or more non-adjacent reference lines are used to upsample the reduced predictive signaling.
25. The method according to claim 1, wherein, The rule stipulates that both adjacent and non-adjacent reference lines are used to generate MIP prediction signaling.
26. The method according to claim 1, wherein, The format rules specify that the bit stream includes an indication of one or more reference lines.
27. The method according to claim 1, wherein, The rule stipulates that, since the intra-frame prediction coding and decoding tool is a combined intra-frame inter-frame prediction (CIIP) mode, one or more reference lines are used.
28. The method according to claim 1, wherein, The rule stipulates that, since the intra-frame prediction coding tool is a Block Incremental Pulse Codec Modulation (BDPCM) coding tool, one or more reference lines are used.
29. A video processing method, comprising: For the conversion between the current video block and the bitstream of the video color components, it is determined that the current video block inherits the intra-frame encoding and decoding characteristics from the corresponding intra-frame encoding and decoding luma video block; as well as The conversion is performed based on the determination. Specifically, the current video block is encoded and decoded using a dependency mode in the bitstream, whereby the dependency mode indicates that the current video block is encoded and decoded using the same prediction direction as the corresponding intra-frame encoded luma video block. The color format of the video determines whether and / or how the current video block inherits the intra-frame encoding / decoding characteristics.
30. The method according to claim 29, wherein, The dependency mode also indicates that the current video block is encoded and decoded using the same prediction reference line as the corresponding intra-frame encoded luminance video block.
31. The method according to any one of claims 1-30, wherein, The conversion includes encoding the current video block into the bitstream.
32. The method according to any one of claims 1-30, wherein, The conversion includes decoding the current video block from the bitstream.
33. A method for storing a bitstream representing video to a computer-readable recording medium, comprising: The method according to any one of claims 1-31 generates the bitstream from the video; as well as The bitstream is stored in a computer-readable recording medium.
34. 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-32.
35. 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 bitstream is generated from the current video block using the method of any one of claims 1-32.
36. A computer-readable medium for storing a bit stream generated according to any one of claims 1-31.
Citation Information
Patent Citations
Intra-picture prediction using non-adjacent reference lines of sample values
CN109076241A