Predictions from multiple components
By using a cross-component prediction method and leveraging multiple encoding/decoding tools and prediction modes to optimize video encoding/decoding, the problem of high bandwidth consumption in video data transmission is solved, achieving more efficient video encoding/decoding and transmission.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- DOUYIN VISION CO LTD
- Filing Date
- 2020-12-04
- Publication Date
- 2026-05-26
AI Technical Summary
Existing video encoding and decoding technologies consume a large amount of bandwidth in the Internet and digital communication networks. With the increase in connected user devices, bandwidth demand continues to grow, requiring more efficient encoding and decoding methods to optimize video data transmission.
By employing a cross-component prediction method, the video block sample prediction value is determined through the conversion between video blocks and bitstream representations, using multiple cross-component encoding and decoding tools and prediction modes. The prediction value is then signaled in the bitstream representation to the intra-frame or inter-frame prediction mode, thereby optimizing the video encoding and decoding process.
It improves video encoding and decoding efficiency, reduces bandwidth requirements, and enhances the quality and efficiency of video data transmission.
Smart Images

Figure CN115004697B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims priority and benefit to international patent application PCT / CN2019 / 122946, filed on December 4, 2019. The entire disclosure of the aforementioned 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, equipment, and systems. Background Technology
[0004] Despite advancements in video compression, digital video still accounts for the largest share of bandwidth usage on the internet and other digital communication networks. As the number of connected user devices capable of receiving and displaying video increases, the bandwidth demand for digital video is expected to continue to grow. Summary of the Invention
[0005] The equipment, systems and methods associated with cross-component prediction methods are described.
[0006] In one representative aspect, a method for video processing includes a conversion between a video block and a bitstream representation of a first component of the video, using representative samples outside the video block to determine predicted values for samples in the video block. The representative samples are determined during the conversion process. The method also includes performing the conversion based on this determination.
[0007] In another representative aspect, a video processing method includes a conversion between a video block and a bitstream representation of the video for a first component, determining encoding / decoding modes for a plurality of cross-component encoding / decoding tools. The method also includes performing the conversion based on this determination. The encoding / decoding modes are determined from a plurality of modes available for encoding / decoding the video block, the plurality of modes having different parameters for determining predicted values of samples from at least one of the second component, third component, or neighboring blocks of the video block.
[0008] In another representative aspect, a video processing method includes performing a conversion between video blocks and a bitstream representation of the video. The video blocks are encoded and decoded using multiple cross-component prediction modes from multiple cross-component prediction (PMC) codec tools, and the multiple cross-component prediction modes are signaled in the bitstream representation as either intra-frame prediction modes or inter-frame prediction modes.
[0009] In another representative aspect, a video processing method includes determining residual information of video units for the conversion between video blocks and the bitstream representation of the video, with predictions from multiple cross-component (PMC) codec tools enabled for a first component. The method also includes performing the conversion based on this determination.
[0010] In another representative aspect, a video processing method includes: for a conversion between video blocks and a bitstream representation of the video, determining whether to signal the use of a cross-component prediction (CCP) codec tool in the bitstream representation based on the availability of neighboring samples of the video blocks. Neighboring samples are either adjacent to or not adjacent to the video blocks. The method also includes performing the conversion based on this determination.
[0011] In another representative aspect, a video processing method includes: determining predicted values of samples of a first component of a video block using representative samples of a second component and / or a third component of the video, and performing a conversion between the video block and a bitstream representation of the video block based on the determined predicted values of the first component.
[0012] In another representative aspect, the above methods are implemented in the form of processor-executable code and stored in a computer-readable program medium.
[0013] In another representative aspect, a device configured or operable to perform the above-described methods is disclosed. This device may include a processor programmed to implement the methods.
[0014] In another representative aspect, video decoder devices can implement the methods described herein.
[0015] The above and other aspects and features of the disclosed technology are described in more detail in the accompanying drawings, description and claims. Attached Figure Description
[0016] Figure 1 The neighboring blocks used in intra-frame mode prediction are shown.
[0017] Figure 2 It displays 67 intra-frame prediction modes.
[0018] Figure 3 The neighboring blocks used in the construction of the Most Probable Pattern (MPM) list are shown.
[0019] Figure 4 The reference samples for wide-angle intra-frame prediction are shown.
[0020] Figure 5 This shows the problem of discontinuity when the direction exceeds 45 degrees.
[0021] Figure 6A This shows an example definition of the samples used for the position-related intra-prediction combination (PDPC) applied to the diagonal top right mode.
[0022] Figure 6B This shows an example definition of the samples used for the Position-Related Intra-Prediction Combination (PDPC) applied to the diagonal bottom left mode.
[0023] Figure 6C This shows an example definition of the samples used for the Position-Related Intra-Prediction Combination (PDPC) applied to adjacent top-right patterns.
[0024] Figure 6D This shows an example definition of the samples used for the Position-Related Intra-Prediction Combination (PDPC) applied to adjacent left-bottom patterns.
[0025] Figure 7 An example of a reference line used for intra-frame prediction is shown.
[0026] Figure 8 The locations of the sample points used to derive α and β are shown.
[0027] Figure 9A It displays the chromaticity sample point (triangle) and its four corresponding luminance sample points (circles).
[0028] Figure 9B This demonstrates downsampling filtering using the Cross-Component Linear Model (CCLM) in Universal Video Codec (VVC).
[0029] Figure 10A The top (LM-T) side of the linear model assuming the chroma block size is equal to N×N is shown.
[0030] Figure 10B The left (LM-L) side of the linear model assuming the chroma block size is equal to N×N is shown.
[0031] Figure 11A An example of the parameter derivation process for a linear model (LM) with four entries is shown.
[0032] Figure 11B Another example of the parameter derivation process for a linear model (LM) with four entries is shown.
[0033] Figure 12 This shows an illustration of the straight line between the minimum and maximum brightness values.
[0034] Figure 13 The encoding and decoding process of the two-step cross-component prediction mode (TSCPM) is shown, using 4:2:0 and 8×8 luma blocks and 4×4 chroma blocks as examples.
[0035] Figure 14 An example of four neighboring samples is shown, with reference samples on the left and top both available.
[0036] Figure 15A Showing the data used for prediction (X) c ,Y c The six representative color components of the sample C1 (dark gray) are shown.
[0037] Figure 15B Showing the data used for prediction (X) c ,Y c The eight representative color components of the sample C1 (dark gray) are shown.
[0038] Figure 16 The flowchart for decoding using the proposed method is shown.
[0039] Figure 17 A flowchart of an example video processing method is shown.
[0040] Figure 18 This is a block diagram of a video processing device.
[0041] Figure 19 This is a block diagram showing an example video processing system in which various techniques disclosed herein can be implemented.
[0042] Figure 20 This is a block diagram illustrating an example video encoding / decoding system.
[0043] Figure 21 This is a block diagram illustrating an encoder according to some embodiments of the present disclosure.
[0044] Figure 22 This is a block diagram illustrating a decoder according to some embodiments of the present disclosure.
[0045] Figure 23 This is a flowchart representation of a video processing method based on this technology.
[0046] Figure 24 This is a flowchart representation of another video processing method according to the present technology.
[0047] Figure 25 This is a flowchart representation of another video processing method according to the present technology.
[0048] Figure 26 This is a flowchart representation of another video processing method according to the present technology.
[0049] Figure 27 This is a flowchart representation of another video processing method according to the present technology. Detailed Implementation
[0050] Section headings are used in this document for ease of understanding and not to limit the embodiments disclosed in a section to that section. Furthermore, although certain embodiments are described with reference to general video codecs or other specific video codecs, the disclosed techniques are applicable to other video codec techniques. Additionally, although some embodiments describe video encoding and decoding steps in detail, it will be understood that the corresponding decoding steps for undoing encoding and decoding will be implemented by the decoder. Furthermore, the term video processing includes video encoding / decoding or compression, video decoding or decompression, and video code conversion, wherein video pixels are represented from one compression format to another or at different compression bitrates.
[0051] 1. Initial Introduction
[0052] The technology described in this patent application relates to image / video codec technology. Specifically, it relates to cross-component prediction in image / video codec. It can be applied to existing video codec standards, such as High Efficiency Video Codec (HEVC), or upcoming standards (General Purpose Video Codec). It can also be applied to future video codec standards or video codecs.
[0053] 2. Discussion on Video Encoding and Decoding
[0054] Video codec standards have primarily evolved through the development of well-known ITU-T and ISO / IEC standards. ITU-T developed H.261 and H.263, while ISO / IEC developed MPEG-1 and MPEG-4 Visual. These two organizations jointly developed the H.262 / MPEG-2 video and H.264 / MPEG-4 Advanced Video Codec (AVC) and H.265 / HEVC standards. Since H.262, video codec standards have been based on a hybrid video codec architecture, utilizing temporal prediction plus transform coding. To explore future video codec technologies beyond HEVC, VCEG and MPEG jointly established the Joint Video Exploration Team (JVET) in 2015. Since then, JVET has adopted many new methods and incorporated them into reference software called the Joint Exploration Model (JEM). In April 2018, VCEG (Q6 / 16) and ISO / IEC JTC1SC29 / WG11 (MPEG) established the Joint Video Experts Group (JVET) to work on the VVC standard, with the goal of reducing the bit rate by 50% compared to HEVC.
[0055] 2.1 Color Format
[0056] Chromatic subsampling is a practice of encoding images by taking advantage of the fact that the human visual system is less sensitive to color differences than to brightness, thereby achieving a lower resolution for chromatic information than for luminance information.
[0057] 4:2:0 is a 2:1 subsampling ratio horizontally and vertically. A 4:4:4 chroma signal is uncompressed (therefore no subsampling) and transmits both luminance and color data completely. In a 4x2 pixel array, 4:2:2 has half the chroma of 4:4:4, while 4:2:0 has a quarter of the available color information.
[0058] Assuming a chroma block has dimensions M x N, where M is the width and N is the height, and the top left position within the chroma block is represented by (x, y), then co-positioned luma blocks can be identified as follows:
[0059]
[0060] 2.2 Intra-frame prediction in HEVC / H.265
[0061] In images, two different types of redundancy can be identified: 1) spatial or temporal redundancy, and 2) psychovisual redundancy. To eliminate spatial redundancy, a prediction process is used. Intra-frame prediction is the process of predicting pixels within an image frame. Intra-frame prediction uses neighboring pixels to predict image patches. Before intra-frame prediction, frames must be segmented.
[0062] In HEVC, a picture / strip / piece can be divided into multiple codec tree units (CTUs). Depending on parameters such as texture complexity, the size of a CTU can be 64×64, 32×32, or 16×16. A codec tree unit (CTU) is therefore a codec logic unit, which is then encoded into an HEVC bitstream. It consists of three blocks: luma (Y) and two chroma components (Cb and Cr). Taking a 4:2:0 color format as an example, the luma component has LxL samples, and each chroma component has L / 2xL / 2 samples. Each block is called a codec tree block (CTB). The size (LxL) of each CTB is the same as that of a CTU (64×64, 32×32, or 16×16). Each CTB can be repeatedly divided in a quadtree structure, from the same size as the CTB to a size of 8×8. Each block resulting from this partitioning is called a codec block (CB) and becomes the determining point for the prediction type (inter-frame or intra-frame prediction). The prediction type, along with other parameters, is encoded and decoded within a Codec Unit (CU). Therefore, the CU is the basic unit of HEVC prediction, each predicted from previously encoded and decoded data. The CU includes three Cb types (Y, Cb, and Cr). A CB may still be too large to store motion vectors (inter-image (temporal) predictions) or intra-image (spatial) prediction patterns. Therefore, prediction blocks (PBs) are introduced. Each CB can be divided into PBs differently depending on temporal and / or spatial predictability. The size of a CTU can be: 32×32, 16×16, 8×8, or 4×4.
[0063] There are two intra-frame prediction modes: PCM (Pulse Code Modulation) and ordinary intra-frame prediction mode.
[0064] 2.2.1 PCM (Pulse Code Modulation)
[0065] In I_PCM mode, prediction, transform, quantization, and entropy encoding / decoding are bypassed. The samples of a block are encoded / decoded by directly representing the sample values without prediction or applying transforms.
[0066] In HEVC, the I_PCM mode is only applicable to 2Nx2N PUs. The maximum and minimum I_PCM CU sizes are signaled in SPS. The valid I_PCM CU sizes are 8×8, 16×16, and 32×32. The PCM sample bit depth selected by the user is signaled in SPS for luma and chroma, respectively.
[0067] Taking luminance samples as an example: recSamplesL[i,j]=pcm_sample_luma[(nS*j)+i]<<(BitDepthY–PCMBitDepthY). When PCMBitDepthY=BitDepthY, it becomes lossless encoding and decoding.
[0068] 2.2.2 Normal Intra-Frame Prediction
[0069] For the luma component, there are 35 modes, including planar, DC, and 33 angular prediction modes, applicable to all block sizes. To better encode and decode these luma prediction modes, a Most Probable Mode (MPM) flag is first encoded to indicate whether one of the three MPM modes has been selected. If the MPM flag is false, the remaining 32 modes are encoded and decoded using fixed-length encoding / decoding.
[0070] The selection of the set of three most likely patterns is based on the patterns of two neighboring PUs, one to the left of the current PU and one above the current PU. Assume the intra-frame patterns to the upper left of the current PU are A and B, where the two neighboring blocks are... Figure 1 As shown in the image.
[0071] If a neighboring PU is not encoded as intra-frame or is encoded in Pulse Code-Code-Modulation (PCM) mode, then the PU is considered a DC-predicted PU. Furthermore, when the adjacent PU above is outside the CTU, B is assumed to be in DC mode to avoid introducing additional line buffers for intra-frame mode reconstruction.
[0072] If A is not equal to B, then the first two most likely patterns represented as MPM[0] and MPM[1] are set to equal to A and B respectively, and the third most likely pattern represented as MPM[2] is determined as follows:
[0073] –If neither A nor B is in planar mode, then MPM[2] is set to planar mode.
[0074] Otherwise, if neither A nor B is in DC mode, then MPM[2] is set to DC mode.
[0075] – Otherwise (one of the two most likely modes is the planar mode and the other is the DC mode), then MPM[2] is set to equal angle mode 26 (directly vertical).
[0076] If A equals B, the three most likely patterns are determined as follows. In the case that they are not angular patterns (A and B are less than 2), the three most likely patterns are set to equal the planar pattern, the DC pattern, and the angular pattern 26, respectively. Otherwise (A and B are greater than or equal to 2), the first most likely pattern MPM[0] is set to equal A, and the two remaining most likely patterns MPM[1] and MPM[2] are set to equal the nearest direction to A, and are calculated as follows:
[0077] MPM[1]=2+((A-2–1+32)%32)
[0078] MPM[2]=2+((A-2+1)%32)
[0079] The % operator represents the modulo operator (for example, a%b represents the remainder when a is divided by b).
[0080] For the chromaticity components, there are 5 modes, including DM, planar, DC, horizontal, and vertical.
[0081] 2.3 Intra-frame prediction of VVC
[0082] 2.3.1 Intra-mode encoding and decoding with 67 intra-prediction modes
[0083] To capture arbitrary edge directions presented in natural video, the number of intra-frame directional modes has increased from 33 used by HEVC to 65. Additional directional modes are added in... Figure 2 The plane and DC modes are represented by gray dashed arrows and remain unchanged. These denser directional intra-prediction modes are applicable to all block sizes as well as luma and chroma intra-prediction.
[0084] Traditional intra-frame prediction direction is defined as clockwise from 45 degrees to -135 degrees, such as... Figure 2 As shown. In VTM2, for non-square blocks, several traditional angular intra-prediction modes are adaptively replaced with wide-angle intra-prediction modes. The total number of intra-prediction modes remains unchanged, for example, 67, and the intra-mode encoding and decoding remain unchanged.
[0085] In HEVC, each intra-frame encoded block is square in shape, and the length of each side is a power of 2. Therefore, generating intra-frame predictors using DC mode does not require division. In VVV2, blocks can be rectangular, making division for each block necessary in general. To avoid division in DC prediction, only the longer sides are used to calculate the average of non-square blocks.
[0086] 2.3.2 Intra-frame mode encoding and decoding with 6 MPM luma components
[0087] In the VVC reference software VTM3.0.rc1, such as Figure 3 As shown, only the intra-frame modes represented as adjacent positions A and B on the left and above are used for MPM list generation. For non-MPM codecs, truncated binary codecs are applied.
[0088] Let the intra-frame modes on the left and top of the current CU be Mode. A and Mode B .
[0089] If a neighboring CU is not encoded intra-frame or encoded in Pulse Code Modulation (PCM) mode, then the CU is considered... Predicted CU. Furthermore, when the adjacent CU above is outside the CTU, Mode... B Assumed to be This mode is designed to avoid introducing additional line buffers for intra-frame mode reconstruction.
[0090] These 6 MPM modes are represented by MPM[i] (i is 0…5). Perform the following steps in sequence:
[0091] 1. Initialized value: MPM[6] = {Mode A ,! Mode A ,50,18,46,54};
[0092] 2. If Mode A Equal to Mode B Then the following applies.
[0093] –If Mode A Greater than 1 (non-DC / plane), MPM[6] = {Mode A,planar,DC,2+((candIntraPredModeA+62)%65),2+((candIntraPredModeA-1)%65,2+((candIntraPredModeA+61)%65))};
[0094] 3. Otherwise (Mode) A Equal to Mode B If ), then the following applies:
[0095] –MPM[0]=Mode A MPM[1] = Mode B
[0096] – Set the variable biggerIdx as follows:
[0097] biggerIdx=candModeList[0]>candModeList[1]? 0:1
[0098] –If Mode A and Mode B If both are greater than 1, then MPM[x], where x =
[0099] The export of version 2.5 is as follows:
[0100] MPM[2] = INTRA_PLANAR
[0101] PM[3] = INTRA_DC
[0102] –If MPM[biggerIdx]–MPM[!biggerIdx] is not equal to 64
[0103] If it is not equal to 1, then the following applies:
[0104] MPM[4]=2+((MPM[biggerIdx]+62)%65)
[0105] MPM[5]=2+((MPM[biggerIdx]-1)%65)
[0106] –Otherwise, the following applies:
[0107] MPM[4]=2+((MPM[biggerIdx]+61)%65)
[0108] MPM[5]=2+(candModeList[biggerIdx]%65)
[0109] Otherwise, if Mode Aand Mode B If the sum is greater than or equal to 2, then the following applies:
[0110] MPM[2] = ! MPM[! biggerIdx]
[0111] MPM[3]=2+((MPM[biggerIdx]+62)%65)
[0112] MPM[4]=2+((MPM[biggerIdx]-1)%65)
[0113] MPM[5]=2+((MPM[biggerIdx]+61)%65)
[0114] The % operator represents the modulo operator (for example, a%b represents the remainder when a is divided by b).
[0115] 2.3.3 Wide-angle intra-frame prediction for non-square blocks
[0116] Traditional angular intra-prediction directions are defined clockwise from 45 degrees to -135 degrees. In VTM2, for non-square blocks, several traditional angular intra-prediction modes are adaptively replaced with wide-angle intra-prediction modes. The replaced modes are signaled using the original method and remapped to the wide-angle mode index after resolution. The total number of intra-prediction modes for a given block remains unchanged, for example, 67, and the intra-mode encoding and decoding remain unchanged.
[0117] To support these predicted directions, a top reference of length 2W+1 and a left reference of length 2H+1 are defined as follows: Figure 4 As shown.
[0118] The mode number of the replacement mode in the wide-angle orientation mode depends on the aspect ratio of the block. The replacement intra-prediction modes are shown in Table 2-1.
[0119] Table 2-1 - Intra-frame prediction mode replaced by wide-angle mode
[0120]
[0121] like Figure 5 As shown, in the case of wide-angle intra-frame prediction, two vertically adjacent predicted samples can use two non-adjacent reference samples. Therefore, low-pass reference sample filtering and side smoothing are applied to wide-angle prediction to reduce the increased gap Δp. α The negative impact.
[0122] 2.3.4 Location-related intra-frame prediction combination
[0123] In VTM2, the intra-prediction results for planar modes are further modified using the Position-Related Intra-Prediction Combination (PDPC) method. PDPC is an intra-prediction method that combines unfiltered boundary reference samples with HEVC-style intra-prediction using filtered boundary reference samples. PDPC is applied to the following intra-modes without signaling notification: planar, DC, horizontal, vertical, bottom-left angle modes, and their corresponding modes. Adjacent angle patterns, and top right angle patterns and their... Adjacent angle mode.
[0124] Using a linear combination of intra-frame prediction modes (DC, plane, angle) and reference samples, the prediction sample pred(x,y) is predicted according to the following equation:
[0125] pred(x,y)=(wL×R -1,y +wT×R x,-1 –wTL×R -1,-1 +(64–wL–wT+wTL)×pred(x,y)+32)>>6
[0126] Where R x,-1 ,R -1,y Let R represent the reference points located at the top and left of the current sample point (x, y), respectively, and R... -1,-1 This represents the reference sample point located at the top left corner of the current block.
[0127] If PDPC is applied to DC, planar, horizontal, and vertical intra-frame modes, no additional boundary filter is required, but it is required in the case of HEVC DC mode boundary filter or horizontal / vertical mode edge filter.
[0128] Figures 6A-6D This describes the reference samples (R) for PDPC applied to each prediction model. x,-1 ,R -1,y and R -1,-1 The definition of ). The predicted sample point pred(x',y') is located at (x',y') within the prediction block. The reference sample point R. x,-1 The coordinates x are given by the following formula: x = x' + y' + 1, and the reference point R is... -1,y The coordinates y are similarly given by the following formula: y = x' + y' + 1.
[0129] The PDPC weights depend on the prediction pattern and are shown in Table 0-1.
[0130] Table 0-1 - Examples of PDPC weights based on prediction patterns
[0131] Predictive patterns wT wL wTL top right diagonal 16>>((y’<<1)>>shift) 16>>((x’<<1)>>shift) 0 Diagonal left bottom 16>>((y’<<1)>>shift) 16>>((x’<<1)>>shift) 0 Adjacent diagonal top right 32>>((y’<<1)>>shift) 0 0 Adjacent diagonal bottom left 0 32>>((x’<<1)>>shift) 0
[0132] 2.3.5 Multi-reference Line Intra-frame Prediction (MRLIP)
[0133] The proposal allows the use of reference samples located at different distances, instead of always using reconstructed samples from the adjacent left column and top row (e.g., reference line 0) for intra-frame prediction.
[0134] MRLIP has the following characteristics:
[0135] – Reference line index signaling notification
[0136]
[0137] – You can select one of three lines for a brightness block: reference lines 0, 1, and 3, such as... Figure 7 As shown.
[0138] –CTU-restricted top line
[0139] -
[0140] 2.3.6 Chroma Encoding and Decoding
[0141] In HEVC chroma encoding and decoding, five modes are allowed for a chroma block (including one direct mode (DM), which is the intra-prediction mode from the corresponding luma block at the top left, and four default modes). Two-color components share the same intra-prediction mode.
[0142] Unlike the HEVC design, two new approaches are proposed, including: Cross-Component Linear Model (CCLM) prediction mode and multiple DMs.
[0143] 2.3.6.1 CCLM
[0144] To reduce cross-component redundancy, the Cross-Component Linear Model (CCLM) prediction mode, also known as LM, is used in JEM. This mode predicts chromaticity samples based on reconstructed luminance samples from the same CU using a linear model as follows:
[0145] pred C (i, j) = α·rec L ′(i,j)+β (1)
[0146] Among them, pred C (i, j) represent the predicted chromaticity samples in the CU, and rec L ′(i,j) represents the reconstructed luminance sample points of the same CU with downsampling in color format 4∶2∶0 or 4∶2∶2, while rec L′(i,j) represents the reconstructed luminance sample of the same CU in color format 4∶4∶4. The CCLM parameters α and β are derived by minimizing the regression error between the luminance and chrominance samples of the neighboring reconstructed CUs around the current block, as shown below:
[0147]
[0148]
[0149] Where L(n) represents the top and left adjacent reconstructed luminance samples of the downsampled (for color formats 4:2:0 or 4:2:2) or original (for color format 4:4:4) samples, C(n) represents the top and left adjacent reconstructed chroma samples, and the value of N is equal to twice the minimum width and height of the current chroma codec block. For codec blocks with a square shape, the above two equations are applied directly.
[0150] The CCLM luma-to-chroma prediction mode is added as an additional intra-chroma prediction mode. On the encoder side, an RD cost check for the chroma component is added to select the intra-chroma prediction mode. When an intra-prediction mode other than CCLM luma-to-chroma prediction mode is used for the chroma component of the CU, CCLM Cb-to-Cr prediction is used for Cr component prediction.
[0151] 2.3.6.1.1 CCLM for Non-square Blocks
[0152] For non-square codec blocks, the adjacent samples of the longer boundary are first subsampled to have the same number of samples as the shorter boundary. Figure 8 It displays the positions of the reconstructed samples on the left and top, as well as the samples of the current block involved in the CCLM mode.
[0153] This regression error minimization calculation is performed as part of the decoding process, not just as an encoder search operation, and therefore no syntax is used to convey the α and β values.
[0154] 2.3.6.1.2 CCLM between chromaticity components
[0155] CCLM prediction mode also includes prediction between two chromaticity components, for example, predicting the Cr component from the Cb component. Instead of using the reconstructed sampled signal, CCLM Cb-to-Cr prediction is applied in the residual domain. This is achieved by adding a weighted reconstructed Cb residual to the original Cr intra-frame prediction to form the final Cr prediction.
[0156]
[0157] Among them, resi Cb′(i,j) presents the reconstructed Cb residual sample at position (i,j).
[0158] The scaling factor α is derived in a similar manner to that in CCLM luminance-to-chrominance prediction. The only difference is that a regression cost relative to the default value α is added to the error function, thus the derived scaling factor is biased towards the default value of -0.5, as shown below:
[0159]
[0160] Where Cb(n) represents the Cb sample points that are close to the reconstruction, Cr(n) represents the Cr sample points that are close to the reconstruction, and λ equals ∑(Cb(n)·Cb(n))>>9.
[0161] 2.3.6.1.3 Downsampling Filtering in CCLM Mode
[0162] To perform cross-component prediction, for a 4:2:0 chroma format where 4 luma samples correspond to 1 chroma sample, the reconstructed luma block needs to be downsampled to match the size of the chroma signal. The default downsampling filter used in CCLM mode (e.g., ...) Figure 9B The 6 taps shown are as follows.
[0163]
[0164] Please note that the position of the chroma sample point is relative to the position of the luminance sample point. This downsampling assumes a "Type 0" phase relationship, such as... Figure 9A As shown, for example, horizontal co-location sampling and vertical gap-filling sampling.
[0165] 2.3.6.2 Multi-directional LM
[0166] This paper proposes a multi-directional linear modeling (MDLM) approach. Within MDLM, two additional CCLM modes are proposed: LM-T, where linear model parameters are derived solely based on top-nearest samples, such as... Figure 10A As shown; and LM-L, where the linear model parameters are derived only based on the left neighboring samples, as shown. Figure 10B As shown.
[0167] 2.3.6.3 Three CCLM Solutions in VVC
[0168] VTM 2.0 adopted CCLM, a method for predicting luminance to chrominance similar to JEM. Furthermore, JVET-L0338 and JVET-L0191 were further adopted in VTM-3.0.
[0169] Three CCLM modes are supported in total: INTRA_LT_CCLM (one of the JEM modes), INTRA_L_CCLM (LM-T), and INTRA_T_CCLM (LM-L). The difference between these three modes lies in which neighboring samples are used to derive the linear model parameters (e.g., α, β).
[0170] Assuming the chroma block size is equal to nTbW × nTbH, the availability of the top or left block of the current block is determined by availT and availL, respectively. The subsampling rates for the top row and left column are xS and yS, respectively.
[0171] 2.3.6.3.1 INTRA_LT_CCLM
[0172] In this mode, also represented as LM-LT, the top row and left column can be used to derive linear model parameters. For non-square chroma blocks, subsampling can be performed on the corresponding longer side. That is, at most 2*nS = 2*(min(nTbW,nTbH)) samples can be used for linear model parameter deriving.
[0173] More specifically, the following applies:
[0174] nS=((availL&&availT)?Min(nTbW,nTbH):(availL?nTbH:nTbW))(6)
[0175] xS=1<<(((nTbW>nTbH)&&availL&&availT)?(Log2(nTbW)-Log2(nTbH)):0) (7)
[0176] yS=1<<(((nTbH>nTbW)&&availL&&availT)?(Log2(nTbH)-Log2(nTbW)):0) (8)
[0177] 2.3.6.3.2 INTRA_L_CCLM
[0178] In this mode, also referred to as LM-L, the top row and the top right side (up to numSampL samples) are utilized if needed.
[0179] More specifically, the following applies:
[0180] xS and yS are set to 1 (e.g., no subsampling is performed regardless of whether it is a non-square or square block).
[0181] numSampL=(availL&&predModeIntra==INTRA_L_CCLM)? (nTbH+numLeftBelow):0 (9)
[0182] 2.3.6.3.3 INTRA_T_CCLM
[0183] In this mode, also referred to as LM-T, the left column and the bottom left column (up to numSampT samples) are utilized if needed.
[0184] More specifically, the following applies:
[0185] xS and yS are set to 1 (e.g., no subsampling is performed regardless of whether it is a non-square or square block).
[0186] numSampT=(availT&&predModeIntra==INTRA_T_CCLM)? (nTbW+numTopRight):0 (10)
[0187] 2.3.6.4 Derivation of a Four-Point Linear Model
[0188] Linear model parameters are derived using two or four neighboring luminance samples and their corresponding chrominance samples. Depending on the color format, the luminance samples can be downsampled luminance samples, rather than directly using reconstructed luminance samples.
[0189] Basically, 2 or 4 points are selected at equal distances. Assume the current chroma block has a width of W and a height of H, and the top left coordinate of the current chroma block is [0, 0].
[0190] 1. If both the top and left blocks are available, and the current mode is normal LM mode (excluding LM-T and LM-L), then select the two chroma samples in the top row and the two chroma samples in the left column.
[0191] The coordinates of the two upper sample points are [floor(W / 4), -1] and [floor(3*W / 4), -1]. The coordinates of the two left sample points are [-1, floor(H / 4)] and [-1, floor(3*H / 4)]. For example... Figure 11A As shown, the selected sample points are painted with a solid color (e.g., gray or black). Figure 11A This shows an example when both the upper and left adjacent samples are available.
[0192] Subsequently, the four samples are sorted according to their brightness sample intensity and divided into two groups. The two larger and two smaller samples are then averaged. The cross-component prediction model is derived using these two averaged points. Alternatively, the LM parameters can be derived using the maximum and minimum values of the four samples.
[0193] 2. If the top block is available but the left block is not, then when W>2, select 4 chroma samples from the top block, and when W=2, select 2 chroma samples.
[0194] The coordinates of the four selected upper sample points are [W / 8, -1], [W / 8+W / 4, -1], [W / 8+2*W / 4, -1], and [W / 8+3*W / 4, -1]. For example... Figure 11B As shown, the selected sample points are painted with a solid color (e.g., gray or black). Figure 11B This shows an example when only the top neighboring sample is available and the top right sample is not available.
[0195] 3. If the left block is available but the top block is not, then when H>2, select 4 chroma samples from the left block, and when H=2, select 2 chroma samples.
[0196] The coordinates of the four selected left sample points are [-1, H / 8], [-1, H / 8+H / 4], [-1, H / 8+2*H / 4, -1] and [-1, H / 8+3*H / 4].
[0197] 4. If neither the left nor the top block is available, the default prediction is used. Here, α equals 0, β equals 1 << (BitDepth - 1), where BitDepth represents the bit depth of the chroma sample.
[0198] 5. If the current mode is LM-T mode, when W'>2, select 4 chroma samples from the upper block, and when W'=2, select 2 chroma samples. W' is the number of available adjacent samples above, which can be 2*W.
[0199] The coordinates of the four selected upper sample points are [W' / 8, -1], [W' / 8+W' / 4, -1], [W' / 8+2*W' / 4, -1] and [W' / 8+3*W' / 4, -1].
[0200] 6. If the current mode is LM-L mode, when H' > 2, select 4 chroma samples from the left block, and when H' = 2, select 2 chroma samples. H' is the number of available left neighboring samples, which can be 2*H.
[0201] The coordinates of the four selected left sample points are [-1, H' / 8], [-1, H' / 8+H' / 4], [-1, H' / 8+2*H' / 4, -1] and [-1, H' / 8+3*H' / 4].
[0202] JVET-L0191 proposes to replace the LMS algorithm for linear model parameters α and β with a linear equation, known as the two-point method. The two smaller values among the four points are averaged, denoted as A; and the two larger values among the four points (the remaining two) are averaged, denoted as B. Figure 12 A and B are depicted in the text.
[0203] The linear model parameters α and β are obtained according to the following equation:
[0204]
[0205] β=y A -α*x A (12)
[0206] To derive α, division is avoided and replaced with multiplication and shifting as follows:
[0207] -If the adjacent block above or to the left is available, the following applies:
[0208] a = 0;
[0209] iShift=16
[0210] shift=(IntemalBitDepth>8)? IntemalBitDepth-9:0;
[0211] add=shift? 1<<(shift-1):0;
[0212] diff=(max luma-min luma+add)>>shift;
[0213] If (difference > 0)
[0214] {
[0215] div=((MaxChroma-min chroma)*g_aiLMDivTableLow[diff-1]+32768)>>16;
[0216] a=(((MaxChroma-min chroma)*g_aiLMDivTableHigh[diff-1]+div+add)>>shift);
[0217] }
[0218] b=min chroma-((a*min luma)>>is shift);
[0219] -Otherwise, the following applies:
[0220] a=0;iShift=0;b=1<<(BitDepth C -1)
[0221] S is set to equal iShift, α is set to equal a, and β is set to equal b; g_aiLMDivTableLow and g_aiLMDivTableHigh are two tables, each with 512 entries. Each entry stores a 16-bit integer.
[0222] To derive chromaticity prediction values, for the current VTM implementation, multiplication is replaced by the following integer operations:
[0223]
[0224] The predicted values are further cropped to the allowable range of chromaticity values.
[0225] 2.3.6.5 Colorimetric Prediction Generation Process
[0226] For all three supported LM modes, the following applies:
[0227] The predicted samples predSamples[x][y] of a chroma block (where x = 0..nTbW-1, y = 0..nTbH-1) are derived as follows:
[0228] predSamples[x][y]=Clip1C(((pDsY[x][y]*a)>>k)+β)(13)
[0229] Clip1 C (x) = Clip3(0, (1< <BitDepth C (14) -1,x)
[0230] Where (a, b), k (set to S) are two linear model parameters derived from the CCLM mode selected for the chroma block from section 0 or 0 or 0, nTbW and nTbH are the width and height of the chroma block, respectively, and pDsY is the downsampled co-bit luminance reconstruction block.
[0231] More specifically, the downsampled co-bit luminance sample pDsY[x][y], where x = 0..nTbW-1, y = 0..nTbH-1, is derived as follows, where the downsampling filter used for the left top position (1,2,1; 1,2,1) or the (1,1) downsampling filter is:
[0232] –pDsY[x][y], where x=1..nTbW-1, y=0..nTbH-1, is derived as follows:
[0233] pDsY[x][y]=(pY[2*x-1][2*y]+pY[2*x-1][2*y+1]+ (15)
[0234] 2*pY[2*x][2*y]+2*pY[2*x][2*y+1]+pY[2*x+1][2*y]+pY[2*x+1][2*y+1]+4)>>3
[0235] –If availL equals TRUE, pDsY[0][y], where y = 0..nTbH-1, is derived as follows:
[0236]
[0237] Otherwise, pDsY[0][y], where y = 0..nTbH-1, is derived as follows:
[0238] pDsY[0][y]=(pY[0][2*y]+pY[0][2*y+1]+1)>>1 (17)
[0239] In the example above, pY indicates the co-bit luminance reconstruction sample before deblocking filtering.
[0240] 2.3.6.6 Syntax Design of Chroma Intra-Frame Prediction Mode
[0241] 7.3.9.5 Encoding / Decoding Unit Syntax
[0242]
[0243] Table 20 – Specification of IntraPredModeC[xCb][yCb] depending on cclm_mode_flag, cclm_mode_idx, intra_chroma_pred_mode, and lumaIntraPredMode
[0244]
[0245] 2.4 Two-Step Cross-Component Prediction Mode (TSCPM) in AVS3
[0246] This section provides an example of the two-step cross-component prediction mode (TSCPM) in AVS3. TSCPM is accomplished through the following steps:
[0247] 1) Obtain a linear model from samples that are close to being reconstructed.
[0248] 2) Apply the linear model to the original reconstructed brightness block to obtain the internal prediction block.
[0249] 3) The internal prediction blocks are downsampled to generate the final chromaticity prediction blocks.
[0250] Figure 13 The basic process of chromaticity prediction block generation is described. The square on the left represents the area located at R. L The original reconstructed luminance sample at (x,y) of the co-located luminance block is used. A temporary chroma prediction block is generated by simply applying a linear model with parameters (α,β) to each luminance sample. The temporary chroma prediction block is then further downsampled to generate the final chroma prediction block.
[0251] The linear model derivation process and the downsampling process are described in the following subsections.
[0252] 2.4.1 Derivation of the Linear Model
[0253] In one embodiment, four or two sample points can be selected, and the parameter can be calculated using the average of the two larger and two smaller values.
[0254] Selection of neighboring samples
[0255] First, calculate the ratio r of the width to height of the chroma codec block according to Equation 19. Then, based on the availability of the top row and left column, select four or two samples.
[0256]
[0257] More specifically, if both the top and left adjacent reference points are available, the four reference points located at [0, -1], [width - max(1, r), -1], [-1, 0], and [-1, height - max(1, r)] are selected. When only the top adjacent reference point is available, the four reference points located at [0, -1], [width / 4, -1], [2 width / 4, -1], and [3 width / 4, -1] are used. For the case where only the left reference point is accessible, [-1, 0], [-1, height / 4], [-1, 2 height / 4], and [-1, 3 height / 4] are used. Figure 14 This shows an example of the locations of four neighboring sample points. The selected sample point is colored yellow.
[0258] Subsequently, the four samples were sorted according to their brightness sample intensities and divided into two groups. The values of the two larger and two smaller samples were then averaged. The cross-component prediction model was derived using these two averages. In one example, values similar to 0 were used to derive α, β, and shift (offset), where the average of the two larger selected sample values was (MaxLuma, MaxChroma), and the average of the two smaller selected sample values was (MinLuma, MinChroma).
[0259] If only the top block with a current chroma block width of 2 or the left block with a current chroma block height of 2 is available, select [0, -1] and [1, -1] on the top line, or [-1, 0] and [-1, 1] on the left line. Derive the chroma prediction model based on the luminance and chroma values of the two selected samples. In one example, values like 0 can be used to derive α, β, and shift.
[0260] If neither the left nor the top block is available, the default prediction is used. Here, α equals 0 and β equals 1 << (BitDepth-1), where BitDepth represents the bit depth of the chroma sample.
[0261] 2.4.2 Two-step derivation process of chromaticity prediction block
[0262] A temporary chromaticity prediction block is generated using Equation 21, where P′ c (x, y) represents a provisional prediction block. α and β are model parameters. R L (x, y) are the reconstructed brightness samples.
[0263] P′ c (x, y) = α × R L (x, y) + β (19)
[0264] Similar to the normal intra-frame prediction process, the cropping operation is applied to P′ c (x, y) ensures that it is within [0, 1 << (BitDepth-1)].
[0265] A six-tap filter (e.g., [121; 121]) is introduced into the downsampling process for the temporary chromaticity prediction block, as shown in Equation 4.
[0266] P c =(2×P′) c (2x, 2y) + 2×P′ c (2x, 2y+1)+P′ c (2x-1, 2y)+P′ c (2x+1,2y)+P′ c (2x-1,2y+1)+P′ c(2x+1,2y-1)+offset0)>>3 (20)
[0267] Furthermore, for the chroma samples located in the leftmost column,
[11] if a downsampling filter is applied instead.
[0268] P c =(P′) c (2x, 2y) + P′ c (2x+1, 2y)+offset1)>>1
[0269] The two variables, offset0 and offset1, are integer values. In some examples, offset0 and offset1 can be set to 4 and 1, respectively. In some examples, offset0 and offset1 can be set to 0.
[0270] 2.4.3 Other TSCPM Modes
[0271] In addition to the TSCPM mode described in the above section (denoted as TSCPM-LT), two additional TSCPM modes, denoted as TSCPM-L and TSCPM-A, are introduced, which utilize only the neighboring samples on the left or above.
[0272] 2.4.4 Syntax Design
[0273] Based on the AVS3 specification, a flag is used to signal whether the chroma intra-prediction mode is TSCPM. This flag (as the second bin) is used for encoding and decoding immediately after the indication (first bin) in DM mode. The table below lists the detailed bin strings for each chroma mode.
[0274] Table 0-4: Codec signaling notifications for TSCPM using chroma intra-frame mode in TAVS3.
[0275]
[0276] 3 questions
[0277] Cross-component prediction methods (including CCLM and TSCPM) are designed to use luminance information to predict chromaticity color components (e.g., Cb or Cr). Note that for the second chromaticity color component to be encoded (e.g., Cr), the other two color components (e.g., luminance and Cb) are already available. How to utilize this information requires further investigation.
[0278] 4 Technical Solutions
[0279] To address the aforementioned issues, a method for prediction from multiple cross-components (PMC) is proposed. In the PMC, the prediction signal of the first color component C0 can be derived using representative samples reconstructed from corresponding blocks of the second and / or third color components, represented by C1 and C2. In another example, the prediction signal of C0 can also depend on neighboring (e.g., adjacent or non-adjacent) samples of C0. In yet another instance, the prediction signal of C0 can further depend on neighboring (e.g., adjacent or non-adjacent) samples of the reconstructed samples of C0.
[0280] The detailed techniques described below should be considered as examples to illustrate general concepts. These techniques should not be interpreted in a narrow sense. Furthermore, these techniques can be combined in any way.
[0281] In the following description, the term "Cross-Component Prediction (CCP)" can refer to any variation of the encoding / decoding method that uses information from the second color component to derive the reconstructed / predicted signal of the first color component.
[0282] 1. The encoding / decoding process (e.g., prediction signal derivation process) of the C0 block of PMC encoding / decoding may depend on reconstructed samples and / or predicted samples with representative samples corresponding to the C1 color components and / or C2 color components of the current C0 sample.
[0283] a. In one example, the linear function can be applied to representative samples with C1 and / or C2 color components and / or neighboring samples (including adjacent or non-adjacent) of the current C0 block.
[0284] b. In one example, the nonlinear function can be applied to representative samples with C1 and / or C2 color components and / or neighboring samples (including adjacent or non-adjacent) of the current C0 block.
[0285] c. In one example, by FPred c0 The final predicted value of a sample point in block C0 is derived using the following equation:
[0286] FPred c0 =X×TPred c0 +Y×(Rec c2 -FPred c2 )+Z (4-1)
[0287] Among them TPred c0 Rec represents the provisional prediction value of samples using an existing prediction mode (e.g., intra / inter / IBC prediction mode). c2 and FPred c2 This represents the reconstruction and final predicted value of representative C2 samples.
[0288] d. In one example, the final predicted value of a sample point in block C0 is determined by FPred. c0 This indicates that the following equation can be used to derive the following:
[0289] FPred c0 =X×(α) c0 *Rec c1 +β c0 )+Y×(Rec c2 –(α c2 *Rec c1 +β c2 )+Z (4-2)
[0290] Among them Rec c1 and Rec c2 These represent the reconstructed values of representative C1 and C2 samples, respectively.
[0291] e. In one example, by FPred c0 The final predicted value of a sample point in block C0 is derived using the following equation:
[0292] FPred c0 =(X×α) c0 -Y×α c2 )*Rec c1 +(X×β c0 -Y×β c2 )+Y×Rec c2 +Z (4-3)
[0293] f. In one example, for the current C0 block with a size equal to K'×L', it can first be determined based on the linear model parameters (X×α). c0 ,X×β c0 ) and (Y×α c2 ,Y×β c2 Export two temporary blocks (size equal to K×L) for C0 and C2 respectively, as well as the corresponding block C1 (size equal to K×L). The temporary blocks can be further downsampled to K'×L' with / without clipping.
[0294] i. In one example, two temporary blocks are derived using the linear model parameters applied to the corresponding C1 blocks, similar to the CCLM / TSCPM procedure.
[0295] g. In one example, for the current C0 block with a size equal to K'×L', it can be determined according to (X×α) c0 -Y×α c2 ,X×β c0 -Y×β c2 A temporary block (size equal to K×L') is derived from the corresponding C1 block with size equal to K×L'.
[0296] i. Alternatively, the final prediction can be obtained by adding (with / without being downsampled to Y×Rec) c2 The co-location samples in the temporary block, or subtract (with / without from Y×Rec) c2 It is generated from the co-located sample points in the downsampled temporary block.
[0297] h. In one example, for the current C0 block of size K'×L', a temporary C1 block can be derived first from the C1 block of size K×L, for example, using a downsampling filter. Linear model parameters (X×α) c0 ,X×β c0 ) and (Y×α c2 ,Y×β c2 This can be applied to a temporary C1 block, and then the co-located samples in the temporary block are added to Y×Rec after the linear model parameters are applied. c2 Or subsequently from Y×Rec after the linear model parameters are applied. c2 Subtract the co-location samples in the temporary block.
[0298] i. In the example above, variables X and Y are two variables that can represent weighting factors, and Z is the offset value; α c0 α c2 These are two variables applied to representative C1 samples; β c0 and β c2 This is the offset value.
[0299] i. In one example, X or Y or Z equals 1.
[0300] ii. In one example, X, Y, or Z equals 0.
[0301] iii. In one example, X equals 1, Y equals -1, and Z equals 0.
[0302] iv. In one example, X, Y, or Z equals 2. K or -2 K , where K is an integer value, such as a value in the range [-M, N], where M and N are not less than 0.
[0303] v. The variables used in the above equations can be predefined or signaled in the bitstream.
[0304] 1) Alternatively, the variables used in the above equation can be derived on the spot.
[0305] vi. For all samples within a video unit (e.g., codec block / prediction block / transform block), one or more variables used in the above equation can be the same.
[0306] 1) Optionally, multiple sets of variables used in the above equations can be exported or signaled.
[0307] 2) Alternatively, the first sample point in the video unit may select the first set of variable values; and the second sample point in the video unit may select the second set of variable values, wherein at least one variable value in the first set and the second set is different.
[0308] j. In the example above, Ci (i is 0 to 2) can be defined as follows:
[0309] i. In one example, C0 is Cb; C1 is Y, and C2 is the Cr color component.
[0310] ii. In one example, C0 is Cr; C1 is Y; and C2 is the Cb color component.
[0311] iii. In one example, C0 is the luminance color component (Y in YCbCr format; G in RGB format), and C1 and C2 are the remaining two color components.
[0312] k. In one example, representative samples can be obtained through downsampling.
[0313] l. In the example above, Rec c2 It can be the corresponding C2 sample point.
[0314] m. In the example above, the final predicted value can be further cropped to a specific range.
[0315] 2. It can instantly determine how to select and / or how many representative samples of C1 and / or C2 to predict a C0 sample.
[0316] a. In one example, how to select representative samples of C1 and / or C2 can be based on the position and / or color format of the current sample of C0.
[0317] i. Taking the 4:2:0 color format as an example, the representative C1 / C2 sample point can be the sample points around the C1 / C2 sample point corresponding to that sample point.
[0318] a) Assume the chromaticity sample point to be predicted is located at (X... c ,Y c It can be equal to (X,Y), and L representative brightness reconstruction samples can be defined as:
[0319] 1) For example, two representative brightness reconstruction samples are defined as samples located at (2X,2Y) and (2X,2Y+1).
[0320] 2) For example, two representative brightness reconstruction samples are defined as samples: (2X,2Y) and (2X+1,2Y).
[0321] 3) For example, Figure 15A The image depicts six representative brightness reconstruction samples. Figures 15A-15B This shows an example of selecting representative C1 samples for PMC.
[0322] 4) For example, Figure 15B The image depicts eight representative brightness reconstruction samples.
[0323] ii. In one example, the representative C2 sample can have the same coordinator as the current C0 sample.
[0324] b. In one example, representative samples can be defined as those reconstructed samples before the application of a loop filtering method (e.g., deblocking filter / SAO / ALF / CCALF).
[0325] c. In one example, before applying a loop filtering method (e.g., deblocking filter / SAO / ALF / CCALF), representative samples can be defined as a function of multiple reconstructed samples.
[0326] i. In one example, the function can be defined as a downsampling filtering process.
[0327] ii. In one example, the function can be defined as a linear function (e.g., a weighted average) or a non-linear function.
[0328] 3. Linear model parameters can be applied to representative C1 samples.
[0329] a. In one example, (α) c0 ,β c0 ) are the linear model parameters derived for the current sample point / current block.
[0330] i. In one example, they can use the neighboring samples of the current block C0 and
[0331] The sample points of block C1 are used to derive the data.
[0332] b. In one example, (α) c2 ,β c2 ) are the linear model parameters derived for representative C2 samples / C2 blocks covering representative C2 samples.
[0333] i. In one example, they can be derived using neighboring samples from block C2 and block C1.
[0334] c. The linear model parameters may be derived in the same manner as those used in VVC / JEM, or in those manners used in TSCPM, or in the manner described in PCT / CN2018 / 114158, PCT / CN2018 / 118799, PCT / CN2018 / 119709, PCT / CN2018 / 125412, PCT / CN2019 / 070002, PCT / CN2019 / 075874, PCT / CN2019 / 075993, PCT / CN2019 / 076195, PCT / CN2019 / 079396, PCT / CN2019 / 079431, and PCT / CN2019 / 079769, which are incorporated herein by reference in their entirety.
[0335] i. Alternatively, the linear model parameters can be derived from the nearby reconstructed C1 samples without downsampling.
[0336] ii. Alternatively, the linear model parameters can be derived from the nearby reconstructed C0 / C2 samples through upsampling.
[0337] iii. Alternatively, the linear model parameters can be clipped to a range before being used in the CCP (TSCPM or CCLM) mode.
[0338] 4. It allows multiple PMC models to have different variable values / different linear model parameter derivation methods and / or different downsampling / upsampling methods and / or different locations of neighboring samples for the reconstructed / downsampled reconstructed linear model.
[0339] a. In one example, a pattern is defined as one that can utilize only neighboring samples from the row above and / or the row directly above.
[0340] b. In one example, a pattern is defined as one that can utilize only neighboring samples from the left column and / or the lower left column.
[0341] c. In one example, a pattern is defined as one that can derive multiple linear models (e.g., multiple sets of linear models) and apply them to a block.
[0342] i. In one example, the current brightness reconstruction block and / or the samples of the adjacent reconstructions can be divided into M (M>1) categories. Different categories can utilize different linear models.
[0343] d. In one example, a mode is defined as a downsampling filter is defined as a subsampling filter. Assuming the chromaticity sample to be predicted is located at (x, y), L representative luminance reconstruction samples are defined as 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).
[0344] i. In one example, the K nearest samples (a, b) can be used. The variables (a, b) can depend on the color format. In one example, for a 4:2:0 color format, a = 2*x, b = 2*y.
[0345] ii. In one example, the predicted sample points of the chroma block may depend on only K samples out of L representative luminance reconstruction samples (K is an integer value).
[0346] iii. In one example, the predicted sample points of a chroma block may depend only on the sample points located at (2*x, 2*y).
[0347] iv. In one example, the predicted sample points of the chroma block may depend only on the sample points located at (2*x+1,2*y).
[0348] v. In one example, the predicted sample points of a chroma block may depend only on the sample points located at (2*x+1, 2*y+1).
[0349] vi. In one example, the predicted sample points of a chroma block may depend only on the sample points located at (2*x, 2*y+1).
[0350] vii. In one example, the predicted sample points of a chroma block may depend only on the sample points located at (2*x,2*y) and (2*x,2*y+1).
[0351] 5. When PMC is enabled for a video unit of the C0 color component (e.g., for the Cr block), the residual information of that video unit can be further signaled.
[0352] a. Alternatively, signaling notification of residual information for video units can be omitted; for example, only zero coefficients may be available.
[0353] b. Alternatively, a flag (e.g., a block flag (CBF) for encoding and decoding the C0 color component) may still be signaled to indicate the presence of non-zero coefficients in the video unit.
[0354] i. Alternatively, the CBF for the C0 color component is not signaled, and in one example, the CBF is inferred to be equal to 1.
[0355] c. Alternatively, signaling notifications indicating the presence of non-zero coefficients in the corresponding C2 block (e.g., block flag (CBF) for the encoding and decoding of C2 color components) can always be skipped.
[0356] i. Alternatively, the CBF of the C2 color component is inferred to be equal to 1.
[0357] ii. Alternatively, whether and / or how the signaling notifies the CBF of the C2 block may depend on the use of the PMC and / or which PMC mode.
[0358] iii. Alternatively, whether and / or how the signaling notifies the CBF of the C0 block may depend on the use of the PMC and / or which PMC mode.
[0359] d. Alternatively, signaling notifications indicating the presence of a flag in the corresponding C1 block (e.g., the block flag (CBF) for the encoding and decoding of C1 color components) can always be skipped.
[0360] i. Alternatively, the CBF of the C1 color component is inferred to be equal to 1.
[0361] ii. Alternatively, whether and / or how the signaling notifies the CBF of the C1 block may depend on the use of the PMC and / or which PMC mode.
[0362] iii. Alternatively, whether and / or how signaling is given to the CBF of the C0 block may depend on the use of the PMC and / or which PMC mode.
[0363] Signaling related to PMC
[0364] 6. The PMC model can be viewed as some additional forecasting models.
[0365] a. Whether to signal the PMC mode can depend on the encoding / decoding mode of the current block.
[0366] i. In one example, the signaling notification is only given when the current block is encoded or decoded using one or more specific modes.
[0367] b. Whether the signaling notification for PMC mode indicates the mode can depend on the color format.
[0368] i. For example, if the color format is 4:0:0, then no signaling is given to this instruction.
[0369] c. In one example, signaling notification / parsing of binary bits / flags indicating the use of the PMC mode of C0 can be based on the CBF flag and / or the prediction mode of C1 and / or C2.
[0370] i. In one example, the PMC mode can be signaled when the CBF flag of C1 and / or C2 is 1 or 0, and / or the prediction mode of C1 and / or C2 is one of the CCP (e.g., TSCPM / CCLM) modes.
[0371] ii. In one example, if the CBF flag of C1 and / or C2 is 0 and / or the predicted mode of C1 and / or C2 is not one of the CCP (e.g., TSCPM / CCLM) modes, the PMC mode can be inferred as 0.
[0372] d. In one example, in addition to the existing intra-frame prediction mode, a signaling notification / parsing indication to enable one of several PMC modes can be used first.
[0373] i. Alternatively, when one of multiple PMC modes is enabled for a block, the index of multiple PMC modes can be further signaled.
[0374] ii. In one example, the first bin may be encoded or decoded to indicate the use of DM mode, the second bin may be encoded or decoded to indicate the use of CCP (e.g., TSCPM / CCLM), and the third bin may be encoded or decoded to indicate the use of PMC mode.
[0375] a) Optionally, the second bin is encoded to indicate the use of PMC, and the third bin is encoded to indicate the use of CCP (e.g., TSCPM / CCLM) mode.
[0376] b) Optionally, the first bin may be encoded or decoded to indicate the use of PMC mode, and subsequent bins may be encoded or decoded to indicate the use of DM and / or CCP (e.g., TSCPM / CCLM) modes.
[0377] e. In one example, the PMC pattern can be viewed as an additional variation across component prediction methods, such as as part of a set of CCP (e.g., CCLM / TSCPM) patterns.
[0378] i. Alternatively, whether signaling notification / parsing PMC mode is used may depend on the use of CCP mode.
[0379] a) In one example, if CCP mode is enabled for the block (e.g., in VVC) The second bin of the chroma intra-frame prediction mode in AVS3 can then be further signaled to the index to indicate which of the multiple CCP modes applies to the block.
[0380] 1) Alternatively, for those available CCP methods, it can be further divided into multiple categories, such as TSCPM / CCLM / PMC. The category index can be further signaled.
[0381] [1] In one example, the indication of the category index can be encoded or decoded first, followed by the index relative to the category if necessary.
[0382] [2] In one example, the indication of the category index can be encoded or decoded after the index relative to the category if needed.
[0383] [3] In one example, the same or different contexts can be used to encode and decode a first index relative to the first category (e.g., an indication of TSCPM) and a second index relative to the second category.
[0384] f. In one example, the order in which signaling notifications of DM / CCP / PMC modes (e.g., DM before or after PMC) may depend on the mode information of the encoding and decoding of the spatial block.
[0385] i. In one example, if a neighboring block is encoded and decoded in PMC mode, the signaling can notify the PMC mode indication before indicating other CCP / DM modes.
[0386] ii. Alternatively, if neighboring blocks are encoded and decoded in DM mode, the DM mode indication can be signaled before the CCP mode indication.
[0387] iii. Optionally, if a neighboring block is encoded or decoded in a non-PMC mode (e.g., DM mode or other chroma intra-prediction mode that is not equal to PMC), the indication of DM mode can be signaled before the indication of PMC mode.
[0388] g. Alternatively, in addition to existing modes, the PMC mode is considered a new intra-frame prediction mode.
[0389] i. In one example, different PMC modes can be assigned different mode indices and encoded / decoded using binary bin strings.
[0390] h. In one example, the indication of the use of PMC mode (e.g., flag / bin) can be bypassed for encoding and decoding, for example, without any context.
[0391] i. Alternatively, the indication of the use of PMC mode (e.g., flag / bin) can be context-encoded, for example, with one or more contexts.
[0392] a) In one example, the context can be derived using the pattern information of neighboring blocks (e.g., equal to PMC or equal to CCP) and / or the availability of neighboring blocks.
[0393] b) In one example, the context can be derived based on the block dimensions of the current block (e.g., width and / or height).
[0394] i. In one example, enabling three PMC modes to process video units (e.g., video / picture / strip / tile / piece / subpicture) can utilize the following encoding / decoding method indicated by the use of a mode. The three PCM modes are represented by PMC_Mode0, PMC_Mode1, and PMC_Mode2, where PMC_Mode0 indicates a PMC mode that uses left and top neighbor samples to derive linear model parameters; PMC_Mode1 and PMC_Mode2 indicate PMC modes that use only left and only top neighbor samples to derive linear model parameters, respectively.
[0395] i. Examples are listed in Tables 4-1, 4-2, 4-3, 4-4, 4-5, 4-6, and 4-7 to describe the corresponding bin strings for different chroma intra-prediction modes. The differences compared to the design before the introduction of PMC are as follows: Text highlighted. Note that the TSCPMs listed in these tables can be replaced by other CCP methods, and the bin order / pattern index can also be interchanged.
[0396] Signaling notification related to differences in cross-component prediction (CCP) methods
[0397] 7. Whether the indication of signaling notification / parsing CCP methods (e.g., LM-T, LM-L, TSCPM-T, TSCPM-L, PMC-T, PMC-L) depends on the availability of neighboring samples (e.g., adjacent or non-adjacent).
[0398] a. In one example, if the upper neighboring sample is unavailable, the indication of the CCP method (e.g., LM-T, TSCPM-T, PMC-T) that relies on the upper neighboring sample may not be signaled.
[0399] b. In one example, if the left neighboring sample is unavailable, the indication of the CCP method (e.g., LM-L, TSCPM-L, PMC-L) that relies on the left neighboring sample may not be signaled.
[0400] c. In one example, if neither the left nor the top neighboring samples are available, the indication of the CCP method that depends on the neighboring samples (e.g., LM-T, LM-L, TSCPM-T, TSCPM-L, PMC-T, PMC-L, LM-LT, TSCPM-LT, PMC-LT, CCLM / TSCPM / PMC, and other variations) may not be signaled.
[0401] d. In one example, if only neighboring samples located on one side (the left or top of the current block) are available, indications for CCP methods (e.g., LM-LT, TSCPM-LT, PMC-LT) that depend on neighboring samples on both sides may not be signaled.
[0402] e. In one example, if neighboring samples to the left or above are unavailable, indications for CCP methods that rely on neighboring samples (e.g., LM-T, LM-L, TSCPM-T, TSCPM-L, PMC-T, PMC-L, CCLM, TSCPM, PMC) may not be signaled.
[0403] f. Alternatively, in addition, when the indication is not signaled, the encoding / decoding method is presumed to be disabled.
[0404] 8. Whether and / or how the above methods are indicated can be signaled in the video processing unit (e.g., sequence / video / picture / strip / piece / tile / sub-picture / CTU line / CTU / VPDU / CU / PU / TU / CU / PU sub-block).
[0405] a. Alternatively, and in addition, whether and / or how to use the above methods can be indicated in signaling notifications within SPS / VPS / PPS / Picture headers / Strip headers / Piece group headers / CTU groups / CTUs / other types of video data units.
[0406] 9. Whether and / or how to use the above methods may depend on the information being decoded, such as block dimension, the position of the block relative to the video processing unit (e.g., relative to the strip), strip / picture type, segmentation type (e.g., dual-tree or single-tree), etc.
[0407] a. In one example, this approach is not allowed for blocks (e.g., chroma blocks) with a number of samples greater than (or equal to) M (e.g., M = 4096, 1024).
[0408] b. In one example, this approach is not allowed for blocks (e.g., chroma blocks) with a number of samples less than (or equal to) M (e.g., M = 4, 8, 16).
[0409] c. In one example, this approach is not allowed for blocks (e.g., chroma blocks) with a width and / or height greater than (or equal to) M (e.g., M = 64, 32).
[0410] d. In one example, this approach is not allowed for blocks (e.g., chroma blocks) with a width and / or height less than (or equal to) M (e.g., M = 2, 4).
[0411] e. When the above methods are prohibited, the instructions for using these methods can be skipped.
[0412] f. Alternatively, confirm that the bitstream follows a rule that disables this method when certain conditions are met (e.g., depending on the block dimension).
[0413] Table 4-1: Bin strings for each chroma intra-frame prediction mode (PMC is considered one of the TSCPM modes, and a bin (e.g., the 4th bin) is further signaled to indicate that it belongs to TSCPM or PMC).
[0414]
[0415] Table 4-2: Bin strings for each chroma intra-prediction mode (PMC is considered one of the TSCPM modes, and a bin string (e.g., bin 4) is further signaled to indicate whether it belongs to TSCPM or PMC).
[0416]
[0417] Table 4-3: Bin strings for each chroma intra-frame prediction mode (PMC is considered a new category (indicated by bin 1), prior to the indication of TSCPM represented by bin 2).
[0418]
[0419]
[0420] Table 4-4: Bin strings for each chroma intra-frame prediction mode (PMC is considered a new category (indicated by bin 0)).
[0421]
[0422] Table 4-5: Bin strings for each chroma intra-frame prediction mode (the indication of the PMC mode is signaled after the TSCPM mode and is represented by the second bin).
[0423]
[0424]
[0425] Table 4-6: Bin string for each chroma intra-prediction mode (each PMC mode is considered a new chroma intra-prediction mode. All PMC modes are added after the existing modes).
[0426]
[0427] Table 4-7: Bin string for each chroma intra-frame prediction mode (mode index notified by signaling after the CBF flag).
[0428]
[0429] 5 Examples
[0430] An example of the decoding process is shown below. Prediction from multiple cross-component (PMC) modes is proposed. The prediction of component C0 is derived from the reconstructed samples of other color components C1 and C2.
[0431] 5.1 Example #1
[0432] In this embodiment, C0 is the Cr color component, C1 is the luminance color component, and C2 is the Cb color component.
[0433] The prediction of the Cr component is derived through a linear combination of samples reconstructed from Y and Cb. Three multi-component modes (e.g., PMC_LT, PMC_L, and PMC_T) are proposed. As shown in Table 5-1, the PMC mode is indicated by a flag after TSCPM. Simultaneously, the indications of explicit PMC mode indices (e.g., PMC_LT, PMC_L, and PMC_T) are aligned with the representations of TSCPM mode indices (e.g., TSCPM_LT, TSCPM_L, and TSCPM_T). Furthermore, if the corresponding Cb / Cr block is encoded and decoded in PMC mode, the block flag (cbf) for the encoded Cb block is inferred to be 1. For cases where adjacent reference samples to the left and / or above are unavailable, only TSCPM_LT / PMC_LT is used. In this case, bin2 and bin3 of the indices indicating the utilization of enhanced TSCPM / PMC (e.g., TSCPM_L, TSCPM_T / PMC_L, PMC_T) can be removed.
[0434] Table 0-1: Bin strings for each chroma intra-prediction mode (PMC is considered one of the TSCPM modes, and a bin (e.g., the 4th bin) is further signaled to indicate that it belongs to TSCPM or PMC).
[0435]
[0436]
[0437] The overall process is as follows Figure 16As shown. First, the inter-channel linear model parameters (α0, β0) of Y-Cb and the model parameters (α1, β1) of Y-Cr are obtained from the samples that are near the reconstruction. The linear model parameters of PMC_LT, PMC_L, and PMC_T are derived by the same methods as those of TSCPM_LT, TSCPM_L, and TSCPM_T in AVS3.
[0438] Second, internal blocks IPred with the same luminance codec block dimension are generated using the following linear model.
[0439] IPred=(α0+α1)·Rec Y +(β0+β1), (21)
[0440] Among them Rec Y These are the reconstructed samples of the Y component.
[0441] Third, a downsampled block IPred′ is generated from IPred, which uses the same downsampled filter bank as in TSCPM.
[0442] Fourth, the final prediction of Cr FPred Cr This can be expressed by the following formula:
[0443] FPred Cr =Clip(0, (1<<bitDepth)-1, IPred′-Rec Cb ). (twenty two)
[0444] Among them Rec Cb These are the reconstructed samples of the Cb component.
[0445] Alternatively, the following may apply:
[0446] A method for prediction across multiple components (PMC) is proposed, where the prediction of the Cr component is derived through a linear combination of samples reconstructed from Y and Cb. First, an internal block IPred is derived based on a linear model applied to the corresponding luma block, and the final prediction of Cr is set as the difference between the downsampled temporary block and the reconstructed Cb block. More specifically, the final prediction of the Cr block is defined as follows:
[0447] IPred = A·Rec Y +B, (24)
[0448] FPred Cr =IPred′-Rec Cb (25)
[0449] Among them Rec YIPred represents the reconstruction of the Y component, and IPred is an internal block that has the same dimensions as the luminance codec block. IPred′ represents the downsampled IPred, which uses the same downsampled filter bank as in TSCPM.
[0450] To maintain the lowest possible complexity and restore the logic of TSCPM, the linear parameters (A, B) are set to (α0+α1, β0+β1), where (α0, β0) and (α1, β1) are two sets of linear model parameters derived from Cb and Cr respectively, such as using the TSCPM / CCLM method.
[0451] 5.2 Example #2
[0452] If the TSCPM mode is disabled (tscpm_enable_flag = 0), the flag / bin (enhance_tscpm_enable_flag) indicating the enable of enhanced TSCPMs (e.g., TSCPM_L, TSCPM_T) is implicitly inferred to be 0 without signaling notification / parsing.
[0453] 5.3 Example #3
[0454] If the enhanced TSCPM mode is disabled (e.g., enhance_tscpm_enable_flag = 0), the flag / bin indicating the TSCPM type (e.g., TSCPM_LT or enhanced TSCPM) (index 2 in Table 5-1) is removed. The flag / bin used to distinguish between TSCPM-L and TSCPM-T (index 3 in Table 5-1) is also excluded.
[0455] 5.4 Example #4
[0456] If Intra-Block Copy (IBC) mode is disabled (ibc_enable_flag = 0), the flag / bin (abvr_enable_flag) is implicitly inferred to be 0 without signaling notification / parsing.
[0457] Example implementations of the disclosed technology
[0458] Figure 17 A flowchart of example video processing method 1700 is shown. In operation 1702, representative samples of the second and / or third components of the video are used to determine the predicted values of the samples of the first component of the video block. In operation 1704, based on the determined predicted values of the first component, a conversion is performed between the video block and its bitstream representation.
[0459] In some embodiments, the determination is based on the reconstructed value or the predicted value of the representative sample. In some embodiments, the representative sample is obtained during the transformation. In some embodiments, the predicted value of the first component of a sample of a video block is obtained using an equation. In some embodiments, the equation includes: FPred c0 =X×TPred c0 +Y×(Rec c2 -FPred c2 )+Z, where FPred c0 The predicted value of a sample point, where X and Y are weighting factors, Z is the offset value, and TPred is the predicted value. c0 It is a temporary predicted value for a sample point using the prediction model, and Rec c2 and FPred c2 These represent the reconstructed value and the final predicted value of the representative sample points of the third component, respectively.
[0460] In some embodiments, the equation includes: FPred c0 =X×(α) c0 *Rec c1 +β c0 )+Y×(Rec c2 –(α c2 *Rec c1 +β c2 )+Z, where FPred c0 The predicted value of a sample point, where X and Y are weighting factors, Z is the offset value, and α is the weighting factor. c0 α c2 These are two variables, β, applied to representative samples of the second component. c0 and β c2 It's the offset value, Rec c1 and Rec c2 These represent the reconstructed values of representative samples of the second and third components, respectively.
[0461] In some embodiments, the equation includes: FPred c0 =(X×α) c0 -Y×α c2 )*Rec c1 +(X×β c0 -Y×β c2 )+Y×Rec c2 +Z, where FPred c0 The predicted value of a sample point, where X and Y are weighting factors, Z is the offset value, and α is the weighting factor. c0 α c2 These are two variables, β, applied to representative samples of the second component. c0 and β c2 It's the offset value, Recc1 and Rec c2 These represent the reconstructed values of representative samples from the second and third components, respectively.
[0462] In some embodiments, X or Y or Z equals 1, or X or Y or Z equals 0, or X equals 1, Y equals -1 and Z equals 0, or X or Y or Z equals 2K or -2K, where K is an integer value in the range [-M, N], where M and N are greater than or equal to 0. In some embodiments, the equation includes predefined, signaled, or derived variables in the bitstream.
[0463] In some embodiments, Figure 17 The method further includes deriving two temporary video blocks for the first and third components based on two sets of linear model parameters corresponding to a second video block associated with the second component, wherein the two temporary video blocks and the second video block have a first width and a first height, the first width and the first height being different from the second width and the second height of the video block. In some embodiments, the two temporary blocks are derived using linear model parameters applied to the second video block associated with the second component.
[0464] In some embodiments, Figure 17 The method further includes deriving a temporary video block based on linear model parameters corresponding to a second video block associated with the second component, wherein the temporary video block and the second video block have a first width and a first height, the first width and the first height being different from the second width and the second height of the video block. In some embodiments, Figure 17 The method also includes deriving a temporary video block for the second component from a second video block associated with the second component, wherein the second video block has a first width and a first height, the first width and the first height being different from the second width and the second height of the video block, applying linear model parameters to the temporary video block, and, after applying the linear model parameters, adding co-located samples to the temporary video block or subtracting co-located samples from the temporary video block.
[0465] In some embodiments, the first component is a blue chromaticity component, the second component is a luminance component, and the third component is a red chromaticity component; or the first component is a red chromaticity component, the second component is a luminance component, and the third component is a blue chromaticity component; or the first component is either a luminance component or a blue component, and the second and third components are the remaining components.
[0466] In some embodiments, the selection and number of representative samples for the second and / or third components are determined on an ad hoc basis. In some embodiments, the selection of representative samples is based on the position and / or color format of the current samples of the first component. In some embodiments, the color format includes a 4:2:0 color format, and the representative samples of the second and / or third components surround the samples of the second and / or third components.
[0467] In some embodiments, representative samples include reconstructed samples prior to the loop filtering method. In some embodiments, representative samples are a function of reconstructed samples prior to the loop filtering method. In some embodiments, linear model parameters are applied to the representative samples of the second component. In some embodiments, the linear model parameters include αc0 and βc0 derived for samples or video blocks, α c0 β is the variable applied to the representative samples of the second component, and β c0 It is the offset value.
[0468] In some embodiments, α is derived using neighboring samples of the video block and neighboring samples of the second video block associated with the second component. c0 and β c0 In some embodiments, the linear model parameters include αc2 and βc2 derived from representative samples of the third component or from a third video block associated with the third component, α c2 β is the variable applied to the representative samples of the third component, and β c2 This is the offset value. In some embodiments, α is derived using neighboring samples of the second video block and the third video block associated with the second component. c2 and β c2 .
[0469] In some embodiments, the linear model parameters are derived using a universal video codec (VVC), a joint exploration model (JEM), or a two-step cross-component prediction mode (TSCPM). In some embodiments, the equation includes variables and uses one of multiple predictions from multiple cross-component (PMC) modes to determine the predicted values, which include: different variable values or different derivation methods for the linear model parameters, and / or different downsampling or upsampling methods, and / or different locations of neighboring samples for the reconstructed or downsampled reconstruction used to derive the linear model parameters.
[0470] In some embodiments, when prediction from multiple component-matrix (PMC) modes is enabled for a video block of the first component, residual information of the video block is further signaled. In some embodiments, when prediction from multiple component-matrix (PMC) modes is enabled for a video block of the first component, the residual information of the video block is omitted. In some embodiments, a flag indicating the presence of non-zero coefficients in the video block of the first component is signaled. In some embodiments, the indication of prediction from multiple component-matrix (PMC) modes for the video block is signaled based on the encoding / decoding mode of the video block. In some embodiments, the indication of prediction from multiple component-matrix (PMC) modes for the video block is signaled based on the color format.
[0471] In some embodiments, signaling notifies or parses the bins or flags used for predictions from multiple cross-component (PMC) modes of the first component, based on the block flags (CBF) and / or prediction modes of the encoding and decoding of the second and / or third components. In some embodiments, a prediction value is determined using one of multiple predictions from multiple cross-component (PMC) modes, and in addition to existing intra-prediction modes, an indication of enabling a PMC mode is also signaled or parsed. In some embodiments, signaling notifies an index of multiple PMC modes.
[0472] In some embodiments, a predicted value is determined using one of multiple predictions from multiple cross-component (PMC) modes, and in addition to existing intra-frame prediction modes, a signaling notification or parsing indication of enabling a PMC mode is also provided. In some embodiments, a predicted value is determined using one of multiple predictions from multiple cross-component (PMC) modes, and the multiple PMC modes are additional variations of cross-component prediction (CCP) modes or methods. In some embodiments, the signaling notification or parsing of the determination of a PMC mode depends on the use of a CCP mode.
[0473] In some embodiments, a cross-component prediction (CCP) method is used to determine the predicted value, and the CCP method is signaled based on the availability of neighboring samples adjacent to the sample of the first component. In some embodiments, no signaling notification is indicated for a CCP method that depends on neighboring samples located above the sample of the first component and which are unavailable. In some embodiments, no signaling notification is indicated for a CCP method that depends on neighboring samples located to the left of the sample of the first component and which are unavailable. In some embodiments, a cross-component prediction (CCP) method or a prediction (PMC) pattern from multiple cross-components is used to determine the predicted value, wherein the CCP method or PMC pattern is indicated via signal notification in the video processing unit.
[0474] In some embodiments, Figure 17The method further includes performing a determination based on decoding information associated with the video block, indicating whether the predicted value is determined using a cross-component prediction (CCP) method or predictions from multiple cross-component (PMC) modes. In some embodiments, in response to the video block having a number of samples greater than or equal to an integer M, it is determined that neither CCP nor PMC is permitted to be used to determine the predicted value, where M is 4096 or 1024. In some embodiments, in response to the video block having a number of samples less than or equal to an integer M, it is determined that neither CCP nor PMC is permitted to be used to determine the predicted value, where M is 4, 8, or 16.
[0475] Figure 18 This is a block diagram of a video processing apparatus 1800. Apparatus 1800 can be used to implement one or more methods described herein. Apparatus 1800 can be embodied in a smartphone, tablet, computer, Internet of Things (IoT) receiver, etc. Apparatus 1800 may include one or more processors 1802, one or more memories 1804, and video processing hardware 1806. Processor 1802 can be configured to implement one or more methods described in this document (including, but not limited to, method 15). Memory 1804 can be used to store data and code for implementing the methods and techniques described herein. Video processing hardware 1806 can be used to implement some of the techniques described in this document in hardware circuitry. In some embodiments, video encoding / decoding methods can be implemented using apparatus implemented on a hardware platform, as referenced in [reference missing]. Figure 18 As stated above.
[0476] Figure 19 This is a block diagram illustrating an example video processing system 1900, in which various techniques disclosed herein can be implemented. Various implementations may include some or all of the components of system 1900. System 1900 may include an input 1902 for receiving video content. The video content may be received in a raw or uncompressed format, such as 8- or 10-bit multi-component pixel values, or it may be in a compressed or encoded format. Input 1902 may represent a network interface, a peripheral bus interface, or a storage interface. Examples of network interfaces include wired interfaces such as Ethernet, Passive Optical Networking (PON), etc., and wireless interfaces such as Wi-Fi or cellular interfaces.
[0477] System 1900 may include codec component 1704, which can implement the various codec or encoding methods described in this document. Codec component 1704 can reduce the average bit rate of the video from input 1902 to the output of codec component 1704 to produce a codec representation of the video. Therefore, codec techniques are sometimes referred to as video compression or video codec techniques. As indicated by component 1706, the output of codec component 1704 can be stored or transmitted via connected communication. Component 1908 can use the stored or transmitted bitstream (or codec) representation of the video received at input 1902 to generate pixel values or displayable video sent to display interface 1910. The process of generating user-visible video from the bitstream representation is sometimes referred to as video decompression. Furthermore, although some video processing operations are referred to as “codec” operations or tools, it should be understood that codec tools or operations are used at the encoder, and corresponding decoding tools or operations, the opposite of the result of codec, will be performed by the decoder.
[0478] Examples of peripheral bus interfaces or display interfaces may include Universal Serial Bus (USB), High Definition Multimedia Interface (HDMI), or DisplayPort. Examples of storage interfaces include SATA (Serial Advanced Technology Accessory), PCI, IDE, etc. The technologies described in this document can be implemented in a variety of electronic devices, such as mobile phones, laptops, smartphones, or other devices capable of performing digital data processing and / or video display.
[0479] Figure 20 This is a block diagram illustrating an example video encoding / decoding system 100 in which the technology of the present invention can be utilized.
[0480] like Figure 20 As shown, the video encoding / decoding system 100 may include a source device 110 and a destination device 120. The source device 110 generates encoded video data, which may be referred to as a video encoding device. The destination device 120 decodes the encoded video data generated by the source device 110, and may be referred to as a video decoding device.
[0481] The source device 110 may include a video source 112, a video encoder 114, and an input / output (I / O) interface 116.
[0482] Video source 112 may include sources such as video capture devices, interfaces for receiving video data from video content providers, and / or computer graphics systems for generating video data, or combinations of these sources. Video data may include one or more pictures. Video encoder 114 encodes the video data from video source 112 to generate a bitstream. The bitstream may include sequences of bits forming a encoded representation of the video data. The bitstream may include encoded pictures and associated data. The encoded pictures are encoded representations of the pictures. The associated data may include sequence parameter sets, picture parameter sets, and other syntax structures. I / O interface 116 may include a modulator / demodulator (modem) and / or a transmitter. Encoded video data may be transmitted directly to destination device 120 via network 130a through I / O interface 116. Encoded video data may also be stored on storage media / server 130b for access by destination device 120.
[0483] Destination device 120 may include I / O interface 126, video decoder 124 and display device 122.
[0484] I / O interface 126 may include a receiver and / or a modem. I / O interface 126 may acquire encoded video data from source device 110 or storage medium / server 130b. Video decoder 124 may decode the encoded video data. Display device 122 may display the decoded video data to a user. Display device 122 may be integrated with destination device 120, or it may be external to destination device 120, which is configured to interface with an external display device.
[0485] The video encoder 114 and the video decoder 124 can operate according to video compression standards, such as the High Efficiency Video Codec (HEVC) standard, the Universal Video Codec (VVC) standard, and other current and / or further standards.
[0486] Figure 21 This is a block diagram showing an example of a video encoder 200, which can be... Figure 20 The video encoder 114 in the system 100 shown.
[0487] The video encoder 200 can be configured to perform any or all of the techniques of this invention. Figure 21 In the example, the video encoder 200 includes multiple functional components. The techniques described in this invention can be shared among the various components of the video encoder 200. In some examples, the processor can be configured to perform any or all of the techniques described in this disclosure.
[0488] The functional components of the video encoder 200 may include a segmentation unit 201, a prediction unit 202 that may include a mode selection unit 203, a motion estimation unit 204, a motion compensation unit 205 and an intra-frame prediction unit 206, a residual generation unit 207, a transform unit 208, a quantization unit 209, an inverse quantization unit 210, an inverse transform unit 211, a reconstruction unit 212, a buffer 213 and an entropy coding unit 214.
[0489] In other examples, the video encoder 200 may include more, fewer, or different functional components. In one instance, the prediction unit 202 may include an intra-block copy (IBC) unit. The IBC unit can perform prediction in IBC mode, where at least one reference picture is the picture containing the current video block.
[0490] Furthermore, some components (such as motion estimation unit 204 and motion compensation unit 205) can be highly integrated, but for illustrative purposes, in Figure 5 The examples are shown separately.
[0491] The segmentation unit 201 can segment an image into one or more video blocks. The video encoder 200 and the video decoder 300 can support various video block sizes.
[0492] The mode selection unit 203 can, for example, select one of the encoding / decoding modes (intra-frame or inter-frame) based on the error result, and provide the resulting intra-frame or inter-frame encoded / decoded blocks to the residual generation unit 207 to generate residual block data, and to the reconstruction unit 212 to reconstruct the encoded blocks for use as reference images. In some examples, the mode selection unit 203 can select a combination of intra-frame and inter-frame prediction (CIIP) modes, where prediction is based on inter-frame prediction signals and intra-frame prediction signals. In the case of inter-frame prediction, the mode selection unit 203 can also select the resolution of the motion vectors for the blocks (e.g., sub-pixel or integer pixel precision).
[0493] To perform inter-frame prediction on the current video block, motion estimation unit 204 can generate motion information for the current video block by comparing one or more reference frames from buffer 213 with the current video block. Motion compensation unit 205 can determine the predicted video block for the current video block based on motion information from images other than those associated with the current video block from buffer 213 and decoded samples.
[0494] The motion estimation unit 204 and the motion compensation unit 205 can perform different operations on the current video block, for example, depending on whether the current video block is in an I-band, P-band, or B-band.
[0495] In some instances, motion estimation unit 204 can perform unidirectional prediction on the current video block, and can search for a reference video block for the current video block in reference images in list 0 or list 1. Motion estimation unit 204 can then generate a reference index indicating the reference image in list 0 or list 1, the reference image containing the reference video block and a motion vector indicating the spatial displacement between the current video block and the reference video block. Motion estimation unit 204 can output the reference index, prediction direction indicator, and motion vector as motion information for the current video block. 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 of the current video block.
[0496] In other instances, motion estimation unit 204 can perform bidirectional prediction on the current video block. Motion estimation unit 204 can search for a reference video block for the current video block in the reference images in list 0, and can also search for another reference video block for the current video block in the reference images in list 1. Motion estimation unit 204 can then generate a reference index and a motion vector. The reference index indicates the reference images in lists 0 and 1 that contain the reference video block, and the motion vector indicates the spatial displacement between the reference video block and the current video block. Motion estimation unit 204 can output the reference index and motion vector of the current video block as motion information for the current video block. Motion compensation unit 205 can generate a predicted video block for the current video block based on the reference video block indicated by the motion information of the current video block.
[0497] In some instances, the motion estimation unit 204 may output a set of all motion information for the decoder's decoding processing.
[0498] In some instances, motion estimation unit 204 may not output a complete set of motion information for the current video. Instead, motion estimation unit 204 may signal the motion information of the current video block by referencing the motion information of another video block. For example, motion estimation unit 204 may determine that the motion information of the current video block is sufficiently similar to the motion information of neighboring video blocks.
[0499] In one instance, the motion estimation unit 204 may indicate a value in the syntax structure associated with the current video block that indicates to the video decoder 300 that the current video block has the same motion information as another video block.
[0500] In another instance, motion estimation unit 204 can identify another video block and motion vector difference (MVD) within the syntax structure associated with the current video block. The motion vector difference indicates the difference between the motion vector of the current video block and the motion vector of the indicated video block. Video decoder 300 can use the motion vector of the indicated video block and the motion vector difference to determine the motion vector of the current video block.
[0501] As described above, the video encoder 200 can predictively signal motion vectors. Two examples of predictive signaling techniques that can be implemented by the video encoder 200 include Advanced Motion Vector Prediction (AMVP) and Merged Mode Signaling Notification.
[0502] Intra-prediction unit 206 can perform intra-prediction on the current video block. When intra-prediction unit 206 performs intra-prediction on the current video block, it can generate prediction data for the current video block based on the decoded samples of other video blocks in the same frame. The prediction data for the current video block may include the predicted video block and various syntax elements.
[0503] The residual generation unit 207 can generate residual data for the current video block by subtracting (e.g., indicated by a negative sign) the predicted video block from the current video block. The residual data for the current video block may include residual video blocks corresponding to different sample components in the current video block.
[0504] In other instances, the current video block may not have residual data, such as in skip mode, and the residual generation unit 207 may not perform the subtraction operation.
[0505] The transform processing unit 208 can generate one or more transform coefficient video blocks of the current video block by applying one or more transforms to the residual video block associated with the current video block.
[0506] After the transform processing unit 208 generates a transform coefficient video block associated with the current video block, the quantization unit 209 can quantize the transform coefficient video block associated with the current video block based on one or more quantization parameter (QP) values associated with the current video block.
[0507] Inverse quantization unit 210 and inverse transform unit 211 can apply inverse quantization and inverse transform to the transform coefficient video block, respectively, to reconstruct the residual video block from the transform coefficient video block. Reconstruction unit 212 can add the reconstructed residual video block to the corresponding samples of one or more predicted video blocks generated by prediction unit 202 to produce a reconstructed video block associated with the current block, which is stored in buffer 213.
[0508] After the video block is reconstructed by the reconstruction unit 212, a loop filtering operation can be performed to reduce video block artifacts in the video block.
[0509] Entropy encoding unit 214 can receive data from other functional components of video encoder 200. When entropy encoding unit 214 receives data, it can perform one or more entropy encoding operations to generate entropy-encoded data and output a bitstream including the entropy-encoded data.
[0510] Figure 22 This is a block diagram illustrating an example of a video decoder 300, which can be... Figure 20 The video decoder 114 in the system 100 shown.
[0511] The video decoder 300 can be configured to perform any or all of the techniques of this invention. Figure 22 In the example, the video decoder 300 includes multiple functional components. The techniques described in this disclosure can be shared among the various components of the video decoder 300. In some examples, the processor can be configured to perform any or all of the techniques described in this disclosure.
[0512] exist Figure 22 In the example, the video decoder 300 includes an entropy decoding unit 301, a motion compensation unit 302, an intra-frame prediction unit 303, an inverse quantization unit 304, an inverse transform unit 305, a reconstruction unit 306, and a buffer 307. In some examples, the video decoder 300 can perform functions typically associated with the video encoder 200 (e.g., Figure 21 The encoding process described is the opposite of the decoding process.
[0513] The entropy decoding unit 301 can retrieve the encoded bitstream. The encoded bitstream may include entropy-coded video data (e.g., encoded blocks of video data). The entropy decoding unit 301 can decode the entropy-coded video data, and from the entropy-coded video data, the motion compensation unit 302 can determine motion information, including motion vectors, motion vector precision, reference image list index, and other motion information. The motion compensation unit 302 can determine this information, for example, by performing AMVP and merging modes.
[0514] Motion compensation unit 302 can generate motion compensation blocks, possibly performing interpolation based on an interpolation filter. The syntax elements may include identifiers of the interpolation filters to be used with sub-pixel precision.
[0515] The motion compensation unit 302 can use interpolation filters, such as those used by the video encoder 200 during the encoding of a video block, to calculate interpolated values for sub-integer pixels of the reference block. The motion compensation unit 302 can determine the interpolation filter used by the video encoder 200 based on the received syntax information and use the interpolation filter to generate a prediction block.
[0516] The motion compensation unit 302 may use some syntax information to determine the size of the blocks of frames and / or stripes of the video sequence used for encoding, segmentation information describing how each macroblock of the picture of the encoded video sequence is segmented, a mode indicating how each segment is encoded, one or more reference frames (and a list of reference frames) of each inter-frame encoded block, and other information for decoding the encoded video sequence.
[0517] Intra-prediction unit 303 can use, for example, an intra-prediction mode received in the bitstream to form prediction blocks from spatially adjacent blocks. Inverse quantization unit 303 inverse quantizes (e.g., dequantizes) the quantized video block coefficients provided in the bitstream and decoded by entropy decoding unit 301. Inverse transform unit 303 applies an inverse transform.
[0518] The reconstruction unit 306 can add the residual block to the corresponding prediction block generated by the motion compensation unit 202 or the intra-frame prediction unit 303 to form a decoded block. If necessary, a deblocking filter can also be applied to filter the decoded block to remove block artifacts. The decoded video block is then stored in a buffer 307, which provides a reference block for subsequent motion compensation / intra-frame prediction and also generates the decoded video for presentation on the display device.
[0519] Figure 23 This is a flowchart representation of a video processing method 2300 according to the present technology. Method 2300 includes, in operation 2310, determining predicted values of samples from the video block using representative samples outside the video block for a conversion between a video block and a bitstream representation of the video in a first component. The representative samples are determined during the conversion process. Method 2300 also includes, in operation 2320, performing the conversion based on this determination.
[0520] In some embodiments, representative samples include samples from at least one of the following: a video block of a second component, a video block of a third component, or a neighboring block of a video block, wherein the neighboring block is adjacent to or not adjacent to the video block. In some embodiments, the determination is based on the reconstructed value or the predicted value of the representative samples.
[0521] In some embodiments, the determination is based on applying a linear function to representative samples. In some embodiments, the determination is based on applying a nonlinear function to representative samples.
[0522] In some embodiments, the final predicted value of the sample points in the first component C0 is represented as FPred. c0 And FPred c0 =X×TPred c0 +Y×(Rec c2 -FPred c2 )+Z. TPred c0 Rec represents the provisional predicted value of the sample point. c2 and FPred c2 This represents the reconstructed and final predicted values of representative samples in the third component C2. X and Y represent weighting factors, and Z represents the offset value; X, Y, and Z are real numbers. In some embodiments, the final predicted value of samples in the first component C0 is represented as FPred.c0 And FPred c0 =X×(α) c0 *Rec c1 +β c0 )+Y×(Rec c2 –(α c2 *Rec c1 +β c2 )+Z, where Rec c1 Rec represents the reconstructed value of a representative sample in the second component C1, and Rec c2 X represents the reconstructed value of a representative sample in the third component C2. X and Y represent weighting factors, and Z represents the offset value, α c0 and β c0 These are the linear model parameters used for the first component, and α c2 and β c2 These are the linear model parameters used for the third component: X, Y, Z, α. c0 β c0 α c2 and β c2 It is a real number. In some embodiments, the final predicted value of the sample points in the first component C0 is represented as FPred. c0 And FPred c0 =(X×α) c0 -Y×α c2 )*Rec c1 +(X×β c0 -Y×β c2 )+Y×Rec c2 +Z. Rec c1 Rec represents the reconstructed value of a representative sample in the second component C1, and Rec c2 This represents the reconstructed value of a representative sample in the third component C2. X and Y represent weighting factors, and Z represents the offset value. α c0 and β c0 These are the linear model parameters used for the first component, and α c2 and β c2 These are the linear model parameters used for the third component: X, Y, Z, α. c0 β c0 α c2 and β c2 It is a real number.
[0523] In some embodiments, the first component has a size of K'×L', and the second component has a size of K×LW. Based on the linear model parameters (X×α) c0 ,X×β c0 ) and (Y×α c2 ,Y×β c2Two temporary blocks of size K×L are exported, and the two temporary blocks are downsampled to size K′×L′. In some embodiments, the two temporary blocks are downsampled with or without clipping.
[0524] In some embodiments, the first component has a size of K'×L', and the second component has a size of K×L. Based on the linear model parameters (X×α) c0 -Y×α c2 ,X×β c0 -Y×β c2 A temporary block with dimensions K×L is exported, and this temporary block is downsampled to dimensions K'×L'. In some embodiments, the temporary block is downsampled with or without clipping.
[0525] In some embodiments, with or without downsampling, the predicted values of the video block's samples are determined by adding or subtracting co-occurring samples in the temporary block. In some embodiments, the first component has a size of K'×L', and the second component has a size of K×L. A temporary block is derived based on downsampling the second component to a size of K×L, and the linear model parameters (X×α) are used to determine the predicted values of the video block's samples. c0 ,X×β c0 ) and (Y×α c2 ,Y×β c2 It is applied to temporary blocks and the predicted values of the video block's samples are determined by adding or subtracting co-bit samples from the temporary blocks.
[0526] In some embodiments, α is derived using neighboring samples of the first component and neighboring samples of the second component. c0 and β c0 In some embodiments, α is derived using neighboring samples of the third component and neighboring samples of the second component. c2 and β c2 In some embodiments, the linear model parameters are derived in the same manner as those of a cross-component linear model (CCLM) prediction mode or a two-step cross-component prediction mode. In some embodiments, the linear model parameters are derived based on the reconstructed values of neighboring samples of a second component without downsampling. In some embodiments, the linear model parameters are derived based on the reconstructed values of neighboring samples of a first or third component used in conjunction with upsampling. In some embodiments, the linear model parameters are clipped to a range before being used by the CCP codec tool.
[0527] In some embodiments, at least one of X, Y, or Z is equal to 1. In some embodiments, at least one of X, Y, or Z is equal to 0. In some embodiments, X is equal to 1, Y is equal to -1, and Z is equal to 0. In some embodiments, at least one of X, Y, or Z is equal to 2K or -2K, where K is an integer value in the range [-M, N], where M and N are not less than 0. In some embodiments, the bitstream representation indicates the inclusion of at least X, Y, Z, α c0 β c0 α c2 or β c2 The variables. In some embodiments, these include at least X, Y, Z, and α. c0 β c0 α c2 or β c2 The variables are derived on the fly. In some embodiments, at least one of the variables has the same value for all samples within a video unit, which includes a codec block, a prediction block, or a transform block.
[0528] In some embodiments, the linear model parameters have multiple sets of values. In some embodiments, different points within a video unit use different sets of values. In some embodiments, the first component is a Cb color component, the second component is a Y component, and the third component is a Cr component. In some embodiments, the first component is a Cr color component, the second component is a Y component, and the third component is a Cb component. In some embodiments, the first component is a luminance component, and the second and third components are chrominance components.
[0529] In some embodiments, the final predicted value is clipped within a predetermined range. In some embodiments, representative samples are selected during conversion based on the characteristics of a first component. In some embodiments, the characteristics of the first component include the position of the samples of the first component or the color format of the first component. In some embodiments, when the color format is 4:2:0, representative samples are located around the current samples of the first component.
[0530] In some embodiments, the current sample point is located at position (x, y), and a representative sample point is located at (2x, 2y). In some embodiments, the current sample point is located at position (x, y), and a representative sample point is located at (2x+1, 2y). In some embodiments, the current sample point is located at position (x, y), and a representative sample point is located at (2x+1, 2y+1). In some embodiments, the current sample point is located at position (x, y), and two representative sample points are located at (2x, 2y) and (2x, 2y+1). In some embodiments, the current sample point is located at position (x, y), and two representative sample points are located at (2x, 2y) and (2x+1, 2y). In some embodiments, the current sample point is located at position (x, y), and six representative samples are located at (2x-1, 2y), (2x, 2y), (2x+1, 2y), (2x-1, 2y+1), (2x, 2y+1), and (2x+1, 2y+1). In some embodiments, the current sample point is located at position (x, y), and eight representative samples are located at (2x, 2y-1), (2x-1, 2y), (2x, 2y), (2x+1, 2y), (2x-1, 2y+1), (2x, 2y+1), (2x+1, 2y+1), and (2x, 2y+2). In some embodiments, the representative samples are located at the same positions as the current sample point of the first component.
[0531] In some embodiments, the characteristics of the first component include a loop filtering method applied to the first component. In some embodiments, representative samples are based on reconstructed samples before the application of the loop filtering method. In some embodiments, representative samples are based on a function of reconstructed samples before the application of the loop filtering method. In some embodiments, the function includes a downsampling filtering function. In some embodiments, the function includes a linear function or a nonlinear function. In some embodiments, the loop filtering method includes a deblocking filtering method, a sample adaptive offset (SAO) method, an adaptive loop filtering method, or a cross-component adaptive loop filtering method.
[0532] Figure 24 This is a flowchart representation of a video processing method 2400 according to the present technology. Method 2400 includes, at operation 2410, determining a plurality of cross-component codec modes for a conversion between a video block and a bitstream representation of the video in a first component of the video. The codec modes are determined from a plurality of modes available for encoding and decoding the video block. The plurality of modes have different parameters for determining predicted values of samples from at least one of the second component, a third component, or neighboring blocks of the video block. Method 2400 further includes, at operation 2420, performing a conversion based on this determination.
[0533] In some embodiments, one of the multiple modes specifies that neighboring samples from only the row above or directly above the first component are used for the predicted values of the samples of the first component. In some embodiments, one of the multiple modes specifies that neighboring samples from only the column to the left or lower left of the first component are used for the predicted values of the samples of the first component. In some embodiments, one of the multiple modes specifies that multiple linear models are applied to the video block. In some embodiments, the reconstructed values of the samples of the first component and the samples of the neighboring blocks are grouped into multiple categories, and different linear models are applied to samples of different categories. In some embodiments, one of the multiple modes specifies that the downsampling filter includes a subsampling filter. In some embodiments, one of the multiple modes specifies that K predicted values of a sample depend on L representative samples, where K and L are integers.
[0534] Figure 25 This is a flowchart representation of a video processing method 2500 according to the present technology. Method 2500 includes, in operation 2510, performing a conversion between video blocks and a bitstream representation of the video. The video blocks are encoded and decoded using multiple cross-component prediction modes from multiple cross-component prediction (PMC) codec tools. The multiple cross-component prediction modes are signaled as intra-frame prediction modes or inter-frame prediction modes in the bitstream representation.
[0535] In some embodiments, signaling notification of multiple modes in the bitstream representation is based on characteristics of video blocks. In some embodiments, this characteristic includes the encoding / decoding mode of the video block. In some embodiments, when the video block is encoded / decoded using a specified encoding / decoding mode, multiple modes are signaled in the bitstream representation. In some embodiments, this characteristic includes the color format of the video block. In some embodiments, when the color format of the video block is 4:0:0, multiple modes are signaled in the bitstream representation. In some embodiments, this characteristic includes the code block flag or prediction mode of a second or third component. In some embodiments, when the code block flag of the second or third component is 1 or 0, and / or the prediction mode of the second or third component includes a cross-component prediction (CCP) mode, at least one of multiple modes is signaled in the bitstream representation. In some embodiments, when the code block flag of the second or third component is 0 and the prediction mode of the second or third component is not a cross-component prediction (CCP) mode, one of the multiple modes is determined to be 0.
[0536] In some embodiments, in addition to signaling one or more prediction modes, the bitstream representation also includes signaling notification that one of multiple modes is enabled. In some embodiments, the bitstream representation also includes an index indicating one of the multiple modes after signaling notification that one of the multiple modes is enabled. In some embodiments, the use of DM mode, the use of cross-component prediction (CCP) mode, and the use of one of the multiple modes of the PMC codec tool are organized in a specific order. In some embodiments, the specific order is based on information from the encoding and decoding of neighboring blocks. In some embodiments, when encoding and decoding neighboring blocks using the PMC codec tool, the use of the PMC codec tool is signaled before the use of DM mode and CCP mode. In some embodiments, when encoding and decoding neighboring blocks using DM mode, the use of DM mode is signaled before the use of CCP mode or the use of the PMC codec tool.
[0537] In some embodiments, signaling notifications for multiple modes used by the PMC codec tool are included as part of information for one or more cross-component prediction (CCP) modes used by the CCP codec tool. In some embodiments, the signaling notifications for multiple modes used by the PMC codec tool are based on the use of CCP modes. In some embodiments, when the CCP codec tool is enabled for a video block, an index is included in the bitstream representation to indicate one of the one or more CCP modes applicable to the video block. In some embodiments, one or more CCP modes are categorized into multiple classes, and the bitstream representation includes a class index indicating the corresponding class. In some embodiments, the index and class index are organized sequentially.
[0538] In some embodiments, one of the multiple modes used by the PMC codec tool is considered an intra-prediction mode. In some embodiments, different modes used by the PMC codec tool are assigned different indices and encoded / decoded with different binary bin strings. In some embodiments, signaling notifications for multiple modes in the bitstream representation are bypassed and encoded / decoded without any context. In some embodiments, one or more contexts derived based on information from video blocks or neighboring blocks are used for context encoding / decoding of signaling notifications for multiple modes in the bitstream representation. In some embodiments, one or more contexts are derived based on the encoding / decoding mode or availability of neighboring blocks. In some embodiments, one or more contexts are derived based on the dimensions of video blocks.
[0539] Figure 26This is a flowchart representation of a video processing method 2600 according to the present technology. Method 2600 includes, at operation 2610, determining residual information of video units for the conversion between video blocks and the bitstream representation of the video, with prediction from multiple cross-component (PMC) codec tools enabled for a first component. Method 2600 also includes, at operation 2620, performing a conversion based on this determination.
[0540] In some embodiments, residual information of video units is indicated in the bitstream representation. In some embodiments, residual information of video units is omitted from the bitstream representation when only zero coefficients are available. In some embodiments, the bitstream representation includes a flag indicating the presence of non-zero coefficients in the video unit. In some embodiments, when the flag is omitted from the bitstream representation, the flag is inferred to be equal to 1. In some embodiments, the signaling notification flag is based on the use of PMC codec tools.
[0541] In some embodiments, a PMC codec tool is used to determine the predicted values of samples from the first component using representative samples from at least the second or third component, and the bitstream representation includes a flag indicating the presence of non-zero coefficients in the second or third component. In some embodiments, this flag is inferred to be equal to 1 and is omitted from the bitstream representation. In some embodiments, the signaling notification flag is configured based on the use of the PMC codec tool.
[0542] Figure 27 This is a flowchart representation of a video processing method 2700 according to the present technology. The method includes, in operation 2710, a conversion between video blocks and a bitstream representation of the video, determining whether to signal the use of a cross-component prediction (CCP) codec tool in the bitstream representation based on the availability of neighboring samples of the video blocks. Neighboring samples are either adjacent to or not adjacent to the video blocks. The method further includes, in operation 2720, performing the conversion based on this determination.
[0543] In some embodiments, the CCP codec tool relies on neighboring samples above the video block, and signaling notification of CCP codec tool usage is omitted if neighboring samples above the video block are unavailable. In some embodiments, the CCP codec tool relies on neighboring samples to the left of the video block, and signaling notification of CCP codec tool usage is omitted if neighboring samples to the left of the video block are unavailable. In some embodiments, the CCP codec tool relies on neighboring samples above and to the left of the video block, and signaling notification of CCP codec tool usage is omitted if neighboring samples above and to the left of the video block are unavailable. In some embodiments, the CCP codec tool relies on neighboring samples on both sides of the video block, and signaling notification of CCP codec tool usage is omitted if only neighboring samples on one side of the video block are available. In some embodiments, the CCP codec tool relies on neighboring samples of the video block, and signaling notification of CCP codec tool usage is omitted if neighboring samples to the left or right of the video block are unavailable. In some embodiments, when signaling notification of CCP usage is omitted, the CCP codec tool is considered disabled.
[0544] In some embodiments, the use of any of the above methods is indicated in the bitstream representation in the video processing unit. In some embodiments, the video processing unit includes sequences, pictures, stripes, slices, tiles, sub-pictures, codec tree unit rows, codec tree units, virtual pipeline data units, codec units, prediction units, transform units, or sub-blocks within codec units or prediction units. In some embodiments, the use is included in a sequence parameter set, video parameter set, picture parameter set, picture header, strip header, slice group header, a set of codec tree units, or codec tree units.
[0545] In some embodiments, the use of this method is based on information about the video. In some embodiments, the information about the video includes the dimensions of the video block, the number of samples in the video block, the position of the video block relative to the video processing unit, the strip type, the picture type, or the segmentation type. In some embodiments, the method is disabled if the number of samples in the video block is greater than or equal to a threshold. In some embodiments, the threshold is 1024 or 4096. In some embodiments, the method is disabled if the number of samples in the video block is less than or equal to a threshold. In some embodiments, the threshold is 4, 8, or 16. In some embodiments, the method is disabled if the dimensions of the video block are greater than or equal to a threshold. In some embodiments, the threshold is 32 or 64. In some embodiments, the method is disabled if the dimensions of the video block are less than or equal to a threshold. In some embodiments, the threshold is 2 or 4. In some embodiments, when the method is disabled, signaling notification of the use of the method is omitted.
[0546] In some embodiments, performing the conversion includes encoding video blocks into a bitstream representation. In some embodiments, performing the conversion includes decoding video blocks from the bitstream representation.
[0547] Some embodiments of the disclosed technology involve making a decision or determination to enable a video processing tool or mode. In one instance, when a video processing tool or mode is enabled, the encoder will use or implement that tool or mode in the processing of video blocks, but may not necessarily modify the resulting bitstream based on the use of the tool or mode. That is, when a video processing tool or mode is enabled based on a decision or determination, the conversion from a video block to a bitstream representation of the video will use that video processing tool or mode. In another example, when a video processing tool or mode is enabled, the decoder will process the bitstream knowing that it has been modified based on the video processing tool or mode. That is, the conversion from a bitstream representation of the video to a video block will be performed using the video processing tool or mode enabled based on that decision or determination.
[0548] Some embodiments of the disclosed technology include making a decision or determination to disable a video processing tool or mode. In one example, when a video processing tool or mode is disabled, the encoder will not use the tool or mode when converting video blocks into a bitstream representation of the video. In another example, when a video processing tool or mode is disabled, the decoder will process the bitstream knowing that it has not been modified using a video processing tool or mode enabled based on the decision or determination.
[0549] As can be understood from the foregoing, specific embodiments of the currently disclosed technology have been described herein for illustrative purposes; however, various modifications may be made without departing from the scope of the invention. Therefore, the currently disclosed technology is not limited except for the appended claims.
[0550] The implementation of the subject matter and functional operations described in this patent document can be implemented in various systems, digital electronic circuits, or computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or combinations thereof. Implementation of the subject matter described in this specification can be implemented as one or more computer program products, for example, one or more modules of computer program instructions encoded on a tangible and non-transitory computer-readable medium for execution by or control of the operation of a data processing apparatus. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a combination of materials that enable machine-readable propagation of signals, or combinations thereof. The terms "data processing unit" or "data processing apparatus" encompass all means, devices, and machines for processing data, including, for example, a programmable processor, a computer, or multiple processors or computers. In addition to hardware, the apparatus may include code that creates an execution environment for the computer program in question, for example, code constituting processor firmware, a protocol stack, a database management system, an operating system, or combinations thereof.
[0551] Computer programs (also known as programs, software, software applications, scripts, or code) can be written in any programming language, including compiled or interpreted languages, and can be deployed in any form, including as standalone programs or as modules, components, subroutines, or other units suited to a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored as a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple collaborative files (e.g., a file storing one or more modules, subroutines, or code sections). Computer programs can be deployed to execute on a single computer or on multiple computers located at a site or distributed across multiple sites and interconnected via a communication network.
[0552] The processes and logic flows described in this specification can be executed by one or more programmable processors that execute one or more computer programs to perform functions by manipulating input data and generating outputs. The processes and logic flows can also be executed by dedicated logic circuits, and the devices can be implemented as dedicated logic circuits, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits).
[0553] For example, processors suitable for executing computer programs include general-purpose and special-purpose microprocessors, as well as any one or more processors in any kind of digital computer. Typically, the processor receives instructions and data from read-only memory or random access memory, or both. The basic components of a computer are a processor for executing instructions and one or more storage devices for storing instructions and data. Typically, a computer will also include, or be operatively coupled to, one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks, to receive data from or transfer data to, or both. However, a computer does not need to have such devices. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and storage devices, including, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices. The processor and memory may be supplemented or incorporated therein by dedicated logic circuitry.
[0554] This specification, together with the accompanying drawings, is to be considered exemplary only, where exemplary means instance. As used herein, the use of "or" is intended to include "and / or" unless the context clearly indicates otherwise.
[0555] While this patent document contains numerous details, these details should not be construed as limiting any invention or the scope of the claims, but rather as descriptions of features characteristic of particular embodiments of a particular invention. Certain features described in the context of independent embodiments in this patent document may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments. Furthermore, although features may be described above as functioning in certain combinations, and even initially claimed in this way, one or more features from a claimed combination may be removed from that combination in some cases, and the claimed combination may be for sub-combinations or variations thereof.
[0556] Similarly, although operations are described in a specific order in the accompanying drawings, this should not be construed as requiring these operations to be performed in the specific order or sequence shown, or requiring all illustrated operations to be performed to obtain the desired result. Furthermore, the separation of various system components in the embodiments described in this patent document should not be construed as requiring such separation in all embodiments.
[0557] Only some implementation methods and examples are described, and other implementation methods, enhancements and variations may be made based on the content described and shown in this patent document.
Claims
1. A video processing method, comprising: For the conversion between a video block of the first component of the video and the bitstream of the video, the predicted values of the samples in the video block are determined using representative samples outside the video block, wherein the representative samples are determined during the conversion; and The conversion is performed based on the determination. The representative sample points include sample points from video blocks of the second component and sample points from video blocks of the third component. Wherein, the first component is the Cb color component, the second component is the Y component, and the third component is the Cr component, or Wherein, the first component is the Cr color component, the second component is the Y component, and the third component is the Cb component, or Wherein, the first component is the luminance component, and the second and third components are chrominance components. Wherein, the final predicted value of the sample points in the first component C0 is represented as FPred c0 And FPred c0 = X ×(α c0 Rec c1 + β c0 ) + Y × (Rec c2 – (α c2 Rec c1 + β c2 ) )+ Z, or FPred c0 = (X × α c0 - Y × α c2 ) Rec c1 + (X × β c0 - Y × β c2 ) + Y × Rec c2 + Z, Among them, Rec c1 Rec represents the reconstructed value of a representative sample point in the second component C1, and Rec c2 Let X represent the reconstructed value of a representative sample in the third component C2, where X and Y represent weighting factors, and Z represents the offset value, and where α c0 and β c0 These are the linear model parameters of the first component, and α c2 and β c2 These are the linear model parameters of the third component, X, Y, Z, α. c0 β c0 α c2 and β c2 It is a real number.
2. The method according to claim 1, wherein the representative sample points include sample points from neighboring blocks of the video block, the neighboring blocks being adjacent to or not adjacent to the video block.
3. The method according to claim 1, wherein the predicted value of the sample points for determining the video block is based on the reconstructed value of the representative sample points or the predicted value of the representative sample points.
4. The method of claim 1, wherein the predicted values of the samples for determining the video block are based on applying a linear function to the representative samples.
5. The method of claim 1, wherein the predicted values of the samples for determining the video block are based on applying a nonlinear function to the representative samples.
6. The method according to claim 1, wherein the final predicted value of the sample points in the first component C0 is represented as FPred. c0 And FPred c0 = X×TPred c0 + Y × (Rec c2 - FPred c2 ) + Z, where TPred c0 Rec represents the provisional predicted value of the sample points in the first component C0, where Rec c2 and FPred c2 Let X represent the reconstructed value and the final predicted value of the representative sample points in the third component C2, where X and Y represent weighting factors and Z represents the offset value, and X, Y and Z are real numbers.
7. The method of claim 1, wherein the first component has a size of K'×L' and the second component has a size of K×L, wherein the linear model parameters (X × α) are used. c0 , X × β c0 ) and (Y × α c2 , Y × β c2 Derive two temporary blocks with dimensions K×L, and the two temporary blocks are downsampled to dimensions K'×L'.
8. The method of claim 7, wherein the two temporary blocks are downsampled with or without pruning.
9. The method of claim 1, wherein the first component has a size of K'×L', and the second component has a size of K×L, wherein the linear model parameters (X × α) are used. c0 - Y × α c2 , X × β c0 - Y × β c2 Export a temporary block with a size of K×L, and the temporary block is downsampled to a size of K'×L'.
10. The method of claim 9, wherein the temporary block is downsampled with or without pruning.
11. The method of claim 9, wherein, with or without downsampling, the predicted value of the sample in the video block is determined by adding or subtracting co-occurring sample points in the temporary block.
12. The method of claim 1, wherein the first component has a size of K'×L' and the second component has a size of K×L, wherein a temporary block is derived based on downsampling the second component, and wherein the linear model parameters (X × α) are used to... c0 , X × β c0 ) and (Y × α c2 , Y × β c2 The method is applied to the temporary block, and the predicted value of the sample points of the video block is determined by adding or subtracting co-occurring sample points in the temporary block.
13. The method of claim 1, wherein α is derived using neighboring samples of the first component and neighboring samples of the second component. c0 and β c0 .
14. The method of claim 1, wherein α is derived using neighboring samples of the third component and neighboring samples of the second component. c2 and β c2 .
15. The method of claim 1, wherein the linear model parameters are derived in the same manner as the parameters of a cross-component linear model (CCLM) prediction mode or a two-step cross-component prediction mode.
16. The method of claim 15, wherein the linear model parameters are derived based on the reconstructed values of neighboring samples of the second component, without performing downsampling.
17. The method of claim 15, wherein the linear model parameters are derived based on the reconstructed values of neighboring samples of the first component or the third component used in conjunction with upsampling.
18. The method of claim 15, wherein the linear model parameters are clipped to a range before being used by the cross-component prediction codec tool.
19. The method of claim 1, wherein at least one of X, Y or Z is equal to 1.
20. The method of claim 1, wherein at least one of X, Y or Z is equal to 0.
21. The method of claim 1, wherein X equals 1, Y equals -1, and Z equals 0.
22. The method of claim 1, wherein at least one of X, Y, or Z is equal to 2. K or -2 K , where K is an integer value in the range [-M, N], where M and N are not less than 0.
23. The method of claim 1, wherein the bit stream indicates at least X, Y, Z, α c0 β c0 α c2 or β c2 Variables.
24. The method of claim 1, wherein at least X, Y, Z, and α are included. c0 β c0 α c2 or β c2 The variables are exported on the fly.
25. The method of claim 23, wherein for all samples within a video unit, at least one of the variables has the same value, and the video unit comprises a codec block, a prediction block, or a transform block.
26. The method of claim 1, wherein the linear model parameters have multiple sets of values.
27. The method of claim 26, wherein different points within a video unit use different group values.
28. The method of claim 1, wherein the final predicted value is cropped within a predetermined range.
29. The method of claim 1, wherein the representative sample points are selected during the conversion based on the characteristics of the first component.
30. The method of claim 29, wherein the characteristics of the first component include the position of the sample points of the first component or the color format of the first component.
31. The method of claim 30, wherein, in the case of a color format of 4:2:0, the representative sample point is located around the current sample point of the first component.
32. The method of claim 31, wherein the current sample point is located at position (x, y), and one of the representative sample points is located at (2x, 2y).
33. The method of claim 31, wherein the current sample point is located at position (x, y), and one of the representative sample points is located at (2x+1, 2y).
34. The method of claim 31, wherein the current sample point is located at position (x, y), and one of the representative sample points is located at (2x+1, 2y+1).
35. The method of claim 31, wherein the current sample point is located at position (x, y), and one of the representative sample points is located at (2x, 2y+1).
36. The method of claim 31, wherein the current sample point is located at position (x, y), and wherein two representative sample points are located at (2x, 2y) and (2x, 2y+1).
37. The method of claim 31, wherein the current sample point is located at position (x, y), and wherein two representative sample points are located at (2x, 2y) and (2x+1, 2y).
38. The method of claim 31, wherein the current sample point is located at position (x, y), and wherein six representative sample points are located at (2x-1, 2y), (2x, 2y), (2x+1, 2y), (2x-1, 2y+1), (2x, 2y+1), and (2x+1, 2y+1).
39. The method of claim 31, wherein the current sample point is located at position (x, y), and wherein eight representative sample points are located at (2x, 2y-1), (2x-1, 2y), (2x, 2y), (2x+1, 2y+1), (2x, 2y+1), (2x+1, 2y+1), and (2x, 2y+2).
40. The method of claim 29 or 30, wherein the representative sample is located at the same position as the current sample of the first component.
41. The method of claim 29, wherein the characteristics of the first component include a loop filtering method applied to the first component.
42. The method of claim 41, wherein the representative samples are based on reconstructed samples prior to the application of the loop filtering method.
43. The method of claim 41 or 42, wherein the representative samples are based on a function of reconstructed samples prior to the application of the loop filtering method.
44. The method of claim 43, wherein the function comprises a downsampling filter function.
45. The method of claim 43, wherein the function comprises a linear function or a nonlinear function.
46. The method according to claim 41, wherein the loop filtering method includes a deblocking filtering method, a sample adaptive offset (SAO) method, an adaptive loop filtering method, or a cross-component adaptive loop filtering method.
47. The method according to claim 1, further comprising: For the aforementioned conversion, the encoding / decoding modes of multiple cross-component encoding / decoding tools are determined. The encoding / decoding mode is determined from a plurality of modes that can be used to encode / decode the video block. The plurality of modes have different parameters in order to determine the predicted values of the samples of the video block using representative samples from at least one of the second component, the third component, or the neighboring blocks of the video block.
48. The method of claim 47, wherein one of the plurality of modes specifies that only neighboring samples from the row above or directly above the first component are used for the predicted value of the sample of the first component.
49. The method of claim 47 or 48, wherein one of the plurality of modes specifies that only neighboring samples from the column to the left or lower left of the first component are used for the predicted value of the sample of the first component.
50. The method of claim 47 or 48, wherein one of the plurality of modes specifies that a plurality of linear models are applied to the video block.
51. The method of claim 50, wherein the reconstructed values of the samples of the first component and the samples of the neighboring block are grouped into multiple categories, and wherein different linear models are applied to the samples of different categories.
52. The method of claim 47 or 48, wherein one of the plurality of modes specifies that the downsampling filter includes a subsampling filter.
53. The method of claim 47 or 48, wherein one of the plurality of modes specifies that K predicted values of the sample points depend on L representative sample points, where K and L are integers.
54. The method according to claim 1, further comprising: For the conversion between video blocks and the video bitstream, the video blocks are encoded and decoded using multiple cross-component prediction modes from multiple cross-component prediction PMC codec tools. The multiple cross-component prediction modes are signaled as intra-frame prediction modes or inter-frame prediction modes in the bitstream.
55. The method of claim 54, wherein the signaling notification of the plurality of modes in the bitstream is based on the characteristics of the video block.
56. The method of claim 55, wherein the feature includes the encoding / decoding mode of the video block.
57. The method of claim 56, wherein when encoding and decoding video blocks using specified encoding / decoding modes, the plurality of modes are signaled in the bitstream.
58. The method of claim 55, wherein the characteristic includes the color format of the video block.
59. The method of claim 58, wherein when the color format of the video block is 4:0:0, the plurality of modes are signaled in the bitstream.
60. The method of claim 55, wherein the characteristic includes a code block flag or prediction pattern of a second or third component.
61. The method of claim 60, wherein, in the case that the code block flag of the second component or the third component is 1 or 0, and / or the prediction mode of the second component or the third component includes a cross-component prediction CCP mode, at least one of the plurality of modes is signaled in the bit stream.
62. The method of claim 60, wherein one of the plurality of modes is determined to be 0 when the code block flag of the second component or the third component is 0 and the prediction mode of the second component or the third component is not a cross-component prediction CCP mode.
63. The method according to any one of claims 54 to 62, wherein, in addition to signaling notification of one or more prediction modes, the bitstream also includes signaling notification for one of the plurality of modes being enabled.
64. The method of claim 63, wherein after signaling notification enables one of the plurality of modes, the bit stream further includes an index indicating one of the plurality of modes.
65. The method of claim 63, wherein the use of the DM mode, the use of the cross-component prediction CCP mode, and the use of one of the multiple modes of the PMC codec tool are organized in a specific order.
66. The method of claim 65, wherein the particular order is based on encoding and decoding information of neighboring blocks of the video block.
67. The method of claim 66, wherein when the adjacent block is encoded and decoded using the PMC codec tool, the use of the PMC codec tool is signaled before the use of the DM mode and the use of the CCP mode.
68. The method of claim 66, wherein when the neighboring block is encoded or decoded using the DM mode, the use of the DM mode is signaled before the use of the CCP mode or the use of the PMC encoding / decoding tool.
69. The method according to any one of claims 54 to 62, wherein the plurality of modes of the PMC codec tool are transmitted via signaling as part of one or more cross-component prediction CCP modes of the CCP codec tool.
70. The method of claim 69, wherein the signaling notification of the plurality of modes of the PMC codec tool is based on the use of the CCP mode.
71. The method of claim 69, wherein when the CCP codec tool is enabled for the video block, an index is included in the bitstream to indicate one of the one or more CCP modes applied to the video block.
72. The method of claim 69, wherein the one or more CCP modes are classified into multiple categories, and wherein the bitstream includes a category index indicating the corresponding category.
73. The method of claim 72, wherein the index and category index are organized sequentially.
74. The method according to any one of claims 54 to 62, wherein one of the plurality of modes of the PMC codec tool is regarded as an intra-frame prediction mode.
75. The method of claim 74, wherein the different modes of the PMC codec tool are assigned different indices and encoded / decoded with different binary strings.
76. The method according to any one of claims 54 to 62, wherein the signaling notifications of the plurality of modes in the bitstream are bypassed and encoded / decoded without any context.
77. The method of any one of claims 54 to 62, wherein one or more contexts derived based on information from the video block or neighboring blocks of the video block are used to perform context encoding / decoding of signaling notifications for the plurality of modes in the bitstream.
78. The method of claim 77, wherein the one or more contexts are derived based on the encoding / decoding mode or availability of the neighboring blocks.
79. The method of claim 69, wherein the one or more contexts are derived based on the dimensions of the video block.
80. The method according to claim 1, further comprising: With predictions from multiple cross-component PMC codec tools enabled for the first component, residual information for video units is determined for the conversion between video blocks and the bitstream of the video.
81. The method of claim 80, wherein the residual information of the video unit is indicated in the bitstream.
82. The method of claim 80, wherein residual information of the video unit is omitted from the bitstream when only zero coefficients are available.
83. The method of claim 82, wherein the bitstream includes a flag indicating the presence of non-zero coefficients in the video unit.
84. The method of claim 83, wherein if the flag is omitted from the bit stream, the flag is inferred to be equal to 1.
85. The method of claim 83 or 84, wherein the signaling notification of the flag is based on the use of the PMC codec tool.
86. The method according to any one of claims 80 to 82, wherein, Using the PMC encoding / decoding tool, a predicted value for a sample of the first component is determined using representative samples from at least the second or third component, wherein the bitstream includes a flag indicating the presence of a non-zero coefficient in the second or third component.
87. The method of claim 86, wherein the flag is inferred to be equal to 1 and is omitted from the bit stream.
88. The method of claim 86, wherein the signaling notification of the flag is based on the use of the PMC codec tool.
89. The method according to claim 1, further comprising: For the conversion between video blocks and the video bitstream, based on the availability of neighboring samples of the video block, it is determined whether to signal the use of the cross-component prediction CCP codec tool in the bitstream, where the neighboring samples are adjacent to or not adjacent to the video block.
90. The method of claim 89, wherein the CCP codec tool depends on neighboring samples above the video block, and wherein, if neighboring samples above the video block are unavailable, signaling notification of the use of the CCP codec tool is omitted.
91. The method of claim 89, wherein the CCP codec tool depends on the neighboring samples to the left of the video block, and wherein, if the neighboring samples to the left of the video block are unavailable, signaling notification of the use of the CCP codec tool is omitted.
92. The method of claim 89, wherein the CCP codec tool depends on neighboring samples above and to the left of the video block, and wherein, if neighboring samples above and to the left of the video block are unavailable, signaling notification of the use of the CCP codec tool is omitted.
93. The method of claim 89, wherein the CCP codec tool depends on neighboring samples on both sides of the video block, and wherein, if neighboring samples on only one side of the video block are available, signaling notification of the use of the CCP codec tool is omitted.
94. The method of claim 89, wherein the CCP codec tool depends on the neighboring samples of the video block, and wherein signaling notification of the use of the CCP codec tool is omitted if neighboring samples to the left or right of the video block are unavailable.
95. The method according to any one of claims 89 to 94, wherein, If the signaling notification of the use of CCP is omitted, the CCP codec tool is considered disabled.
96. The method according to any one of claims 1 to 39, wherein the use of the method is indicated in the bitstream of the video processing unit.
97. The method according to claim 96, wherein the video processing unit comprises a sequence, an image, a strip, a slice, a tile, a sub-image, a codec tree unit row, a codec tree unit, a virtual pipeline data unit, a codec unit, a prediction unit, a transform unit, or a sub-block of a codec unit or prediction unit.
98. The method of claim 96, wherein the use is included in a sequence parameter set, a video parameter set, a picture parameter set, a picture header, a strip header, a slice header, a set of codec tree units, or a codec tree unit.
99. The method of claim 1, wherein the use of the method is based on information about the video.
100. The method according to claim 99, wherein, Information about the video includes the dimensions of the video block, the number of samples in the video block, the position of the video block relative to the video processing unit, the strip type, the image type, or the segmentation type.
101. The method according to claim 99 or 100, wherein the method is disabled if the number of samples in the video block is greater than or equal to a threshold.
102. The method of claim 101, wherein the threshold is 1024 or 4096.
103. The method according to claim 99 or 100, wherein the method is disabled if the number of samples in the video block is less than or equal to a threshold.
104. The method of claim 103, wherein the threshold is 4, 8, or 16.
105. The method of claim 99 or 100, wherein the method is disabled if the dimension of the video block is greater than or equal to a threshold.
106. The method of claim 105, wherein the threshold is 32 or 64.
107. The method of claim 99 or 100, wherein the method is disabled if the dimension of the video block is less than or equal to a threshold.
108. The method of claim 107, wherein the threshold is 2 or 4.
109. The method according to any one of claims 1 to 39, wherein, in the case that the method is disabled, the signaling notification of the use of the method is omitted.
110. The method of any one of claims 1 to 39, wherein performing the conversion comprises encoding the video block into a bitstream.
111. The method according to any one of claims 1 to 39, wherein performing the conversion includes decoding the video block from the bitstream.
112. An apparatus in a video system, comprising a processor and a non-transitory memory having instructions thereon, wherein the instructions, when executed by the processor, cause the processor to perform the method of any one of claims 1 to 111.
113. A computer program product stored on a non-transitory computer-readable medium, comprising computer instructions, wherein, When the computer instructions are executed by the processor, they implement the method of any one of claims 1 to 111.
114. A computer-readable storage medium having stored thereon instructions and a bitstream of video, wherein the instructions, when executed by a processor, implement the method of any one of claims 1 to 110 to generate the bitstream.