Weighting factor for prediction sample filtering in intra-frame mode

By combining position-related intra-frame prediction and weighting factor processing, the boundary discontinuity problem of non-square blocks in video encoding and decoding is solved, thereby improving encoding and decoding efficiency and video quality.

CN118921457BActive Publication Date: 2025-10-28DOUYIN VISION CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411173625.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-08-14
Filing Date
2020-08-14
Publication Date
2025-10-28
Estimated Expiration
2040-08-14

AI Technical Summary

Technical Problem

Existing video encoding and decoding technologies suffer from discontinuity issues in the boundary processing of intra-frame prediction modes when dealing with non-square blocks, leading to a decrease in encoding and decoding efficiency and quality.

Method used

The Position-Related Intra-Prediction Combination (PDPC) method is adopted to generate a refined prediction signal for the current video block by combining unfiltered boundary reference samples with filtered boundary reference samples in HEVC style intra-prediction. Then, a weighting factor is used to weight the neighboring samples.

Benefits of technology

It improves the prediction accuracy and encoding/decoding efficiency of non-square blocks in video encoding and decoding, reduces artifacts at boundaries, and enhances video quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118921457B_ABST
    Figure CN118921457B_ABST
Patent Text Reader

Abstract

A video processing method is provided, comprising: deriving a weighting factor for neighboring samples of a current video block according to a rule; and performing a conversion between the current video block and the codec representation of the video, wherein the rule specifies that, when encoding and decoding the current video block using a planar mode or a DC mode, a weighting factor is determined from at least one of the dimension of the current video block or the position of the samples of the current video block, wherein the current video block uses a PDPC method, which combines neighboring samples with the prediction signal of the current video block to generate a refined prediction signal, and wherein a weighting factor for the prediction signal of a sample is determined based on the weighting factors of the corresponding neighboring samples of the sample.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of Chinese Patent Application No. 202080057350.5, filed on August 14, 2020. Chinese Patent Application No. 202080057350.5 entered the Chinese national phase of International Patent Application No. PCT / CN2020 / 109217, filed on August 14, 2020, and claims priority to International Patent Application No. PCT / CN2019 / 100615, filed on August 14, 2019. The entire disclosure of the above applications is incorporated herein by reference and forms part of this disclosure. Technical Field

[0002] This document covers video and image encoding and decoding technologies. Background Technology

[0003] Digital video 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

[0004] The disclosed techniques can be used by video or image decoder or encoder embodiments to perform video encoding or decoding using intra-frame predictive sample filtering.

[0005] In one example aspect, a video processing method is disclosed. The method includes: deriving a weighting factor for neighboring samples of a current video block according to a rule; and performing a conversion between the current video block and the codec representation of the video, wherein the rule specifies, when encoding and decoding the current video block using a planar mode or a DC mode, determining a weighting factor from at least one of the dimensions of the current video block or the position of the samples of the current video block, wherein the current video block uses a position-dependent intra-prediction (PDPC) method that combines the neighboring samples with the prediction signal of the current video block to generate a refined prediction signal of the current video block, and wherein the weighting factor of the prediction signal of the sample is determined based on the weighting factors of the corresponding neighboring samples of the sample.

[0006] In yet another example, the above method can be implemented by a video encoder device that includes a processor.

[0007] In yet another example, the above method can be implemented by a video decoder device that includes a processor.

[0008] In yet another example, these methods can be embodied in the form of processor-executable instructions and stored on a computer-readable program medium.

[0009] This document further describes these and other aspects. Attached Figure Description

[0010] Figure 1 An example of an encoder block diagram is shown.

[0011] Figure 2 Examples of 67 intra-frame prediction modes are shown.

[0012] Figure 3A and Figure 3B An example of a reference sample for wide-angle intra-frame prediction is shown.

[0013] Figure 4 The discontinuity problem is shown when the orientation exceeds 45 degrees.

[0014] Figures 5A to 5D The definition of the reference sample point is shown.

[0015] Figure 6 Examples of 4×8 block and 8×4 block partitioning are shown.

[0016] Figure 7 Examples of block partitioning are shown, except for 4×8, 8×4, and 4×4.

[0017] Figure 8 An example of the location of the sample points used for the derivation of α and β is shown.

[0018] Figure 9 An example of the “CR” position derived from the DM of the corresponding brightness region is shown.

[0019] Figure 10 An example of neighboring samples involved along the prediction direction is shown.

[0020] Figure 11A and Figure 11B This is a block diagram of an example hardware platform used to implement the technologies described in this document.

[0021] Figure 12 and Figure 13 This is a flowchart of an example method for video processing. Detailed Implementation

[0022] This document provides a variety of techniques that decoders of image or video bitstreams can use to improve the quality of decompressing or decoding digital video or images. For brevity, the term "video" is used herein to include both sequences of pictures (conventionally referred to as video) and individual images. Furthermore, video encoders can implement these techniques during the encoding process to reconstruct decoded frames for further encoding.

[0023] The use of chapter headings in this document is for ease of understanding and not to limit the embodiments and techniques to the corresponding chapters. Thus, embodiments from one chapter can be combined with embodiments from other chapters.

[0024] 1. Overview

[0025] This document relates to video codec technology. Specifically, it relates to intra-frame prediction in image / video codecs. It can be applied to existing video codec standards, such as HEVC, or pending standards (Multi-Functional Video Codec). It can also be applied to future video codec standards or video codecs. 2. Background Technology

[0027] 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 Vision. The two organizations jointly developed the H.262 / MPEG-2 Video, H.264 / MPEG-4 Advanced Video Coding (AVC), and H.265 / HEVC standards. Since H.262, video codec standards have been based on a hybrid video codec architecture, employing 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 applied them to reference software called the Joint Exploration Model (JEM). In April 2018, a joint video expert team (JVET) was created between VCEG (Q6 / 16) and ISO / IEC JTC1SC29 / WG11 (MPEG) to study a VVC standard with a target bitrate reduction of 50% compared to HEVC.

[0028] The latest version of the VVC draft, namely Multi-Functional Video Codec (Draft 6), can be found at the following URL:

[0029] http: / / phenix.it-sudparis.eu / jvet / doc_end_user / documents / 15_Gothenburg / wg11 / JVET-O2001-v14.zip

[0030] The latest reference software for VVC, called VTM, can be found at the following website:

[0031] https: / / vcgit.hhi.fraunhofer.de / jvet / VVCSoftware_VTM / tags / VTM-5.2

[0032] 2.1 Color Space and Chroma Subsampling

[0033] A color space, also known as a color model (or color system), is an abstract mathematical model that simply describes the range of colors as tuples of numbers. These tuples typically contain three or four values ​​or color components (e.g., RGB). Essentially, a color space is an explanation of a coordinate system and its subspaces.

[0034] For video compression, the most frequently used color spaces are YCbCr and RGB.

[0035] YCbCr, Y′CbCr, or Y Pb / Cb Pr / Cr (also written as YCBCR or Y'CBCR) are a series of color spaces used as part of the color image pipeline in video and digital photography systems. Y′ is the luminance component, and CB and CR are the blue and red difference chromaticity components. Y′ (preferred) is distinct from Y as luminance, meaning that light intensity is non-linearly encoded based on gamma-corrected RGB primary colors.

[0036] Chromatic subsampling is a practice of encoding images by applying chromaticity information at a lower resolution than luminance information. It takes advantage of the fact that the human visual system is less sensitive to color differences than to luminance differences. 2.1.1 4:4:4

[0038] Each of the three Y'CbCr components has the same sampling rate, thus eliminating chromatic subsampling. This scheme is sometimes used in high-end film scanners and film post-production. 2.1.2 4:2:2

[0040] The two chroma components are sampled at half the luminance sampling rate: this halves the horizontal chroma resolution. This reduces the bandwidth of the uncompressed video signal by one-third, with almost no visual difference. 2.1.3 4:2:0

[0042] In 4:2:0, the horizontal sampling is doubled compared to 4:1:1, but the vertical resolution is halved because the Cb and Cr channels are sampled only alternately in this scheme. Therefore, the data rate is the same. Each sub-sample in Cb and Cr is factored by 2 in both the horizontal and vertical directions. There are three variations of the 4:2:0 scheme with different horizontal and vertical addressing.

[0043] In MPEG-2, Cb and Cr are horizontally co-located. Cb and Cr are vertically addressed between pixels (gap-filling addressing).

[0044] In JPEG / JFIF, H.261, and MPEG-1, Cb and Cr are interstitial addressed at half the distance between every other luminance sample.

[0045] In a 4:2:0DV configuration, Cb and Cr are co-located horizontally. Vertically, they are co-located across alternating rows.

[0046] 2.2 Encoding and decoding process of typical video codecs

[0047] Figure 1 An example of a VVC encoder block diagram is shown, comprising three loop filter blocks: a deblocking filter (DF), a sample adaptive offset (SAO), and an ALF. Unlike the DF, which uses predefined filters, the SAO and ALF, when the encoding / decoding side information signaling informs the offset and filter coefficients, respectively utilize the original samples of the current image to reduce the mean square error between the original and reconstructed samples by adding an offset and applying a finite impulse response (FIR) filter. The ALF is located at the final processing stage of each image and can be viewed as a tool to attempt to capture and repair artifacts established in previous stages.

[0048] 2.3 Intra-mode encoding and decoding with 67 intra-prediction modes

[0049] To capture arbitrary edge directions present in natural video, the number of directional intra-frame modes is expanded from 33 (as used in HEVC) to 65. Figure 2 The additional directional modes are illustrated with red dashed arrows, and the planar mode and DC mode remain the same. These denser directional intra-prediction modes are applicable to all block sizes and both luma intra-prediction and chroma intra-prediction.

[0050] The standard intra-frame prediction direction is defined clockwise from 45 degrees to -135 degrees, such as... Figure 2 As shown. In VTM2, for non-square blocks, several regular angular intra-prediction modes are adaptively replaced by wide-angle intra-prediction modes. The original signaling method is used to notify the replaced modes, and after parsing, the replaced modes are remapped to the wide-angle mode index. The total number of intra-prediction modes remains unchanged at 67, and the intra-mode encoding and decoding remain unchanged.

[0051] In HEVC, each intra-frame codec block has a square shape, and the length of each side is a power of 2. Therefore, in DC mode, no partitioning operation is needed to generate intra-frame prediction values. In VVV2, blocks can have a rectangular shape, which generally requires partitioning each block. To avoid partitioning operations for DC prediction, only the longer side is used to calculate the mean of non-square blocks.

[0052] Figure 2 Examples of 67 intra-frame prediction modes are shown.

[0053] 2.4 Wide-Angle Intra-Frame Prediction for Non-Square Blocks

[0054] The standard angular intra-prediction direction is defined clockwise from 45 degrees to -135 degrees. In VTM2, for non-square blocks, several standard angular intra-prediction modes are adaptively replaced by wide-angle intra-prediction modes. The replaced modes are signaled using the original method, and after parsing, the replaced modes are remapped to the wide-angle mode index. The total number of intra-prediction modes for a given block remains constant at 67, and the intra-mode encoding and decoding are also constant.

[0055] Figure 3A and Figure 3B An example of a reference sample for wide-angle intra-frame prediction is shown.

[0056] To support these predicted directions, such as Figures 3A-3B The diagram shows the definition of a top reference with a length of 2W+1 and a left reference with a length of 2H+1.

[0057] In the wide-angle orientation mode, the mode number of the replaced mode depends on the aspect ratio of the block. Table 2-1 shows the replaced intra-prediction modes.

[0058] Table 2-1 - Intra-prediction modes replaced by wide-angle mode

[0059] condition Replaced intra-prediction mode W / H==2 Patterns 2, 3, 4, 5, 6, 7 W / H>2 Patterns 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 W / H==1 none H / W = 1 / 2 Patterns 61, 62, 63, 64, 65, 66 H / W<1 / 2 Patterns 57, 58, 59, 60, 61, 62, 63, 64, 65, 66

[0060] Figure 4 The discontinuity problem is shown when the orientation exceeds 45 degrees.

[0061] like Figure 4 As shown, in the case of wide-angle intra-frame prediction, two vertically adjacent predicted samples can use two non-adjacent reference samples. Therefore, a low-pass reference sample filter and edge smoothing are applied to wide-angle prediction to reduce the increased gap Δp. α The negative impact.

[0062] 2.5 Location-related intra-frame prediction combination

[0063] In VTM2, the intra-prediction results for planar modes are further modified using the position-dependent intraprediction 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-prediction modes without signaling notification: planar, DC, horizontal, vertical, lower-left angle modes and their eight adjacent angle modes, and upper-right angle mode and its eight adjacent angle modes.

[0064] The intra-frame prediction mode (DC, plane, angle) is used to predict the internal prediction sample pred(x,y), and a linear combination of reference samples can be further applied according to the equation to generate the final prediction sample pred(x,y) as follows:

[0065] pred(x,y)=(wL×R (-1,y) +wT×R (x,-1) –wTL×R (-1,-1) +(64–wL–wT+wTL)×pred(x,y)+32)>>

[0066] 6(2-1)

[0067] Among them, 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 indicates the reference sample point located at the top left corner of the current block.

[0068] If PDPC is applied to DC, planar, horizontal, and vertical intra-frame modes, then no additional boundary filters are needed. However, these additional boundary filters are required in the case of HEVC DC mode boundary filters or horizontal / vertical mode edge filters.

[0069] Figures 5A-5D Reference samples (R) of PDPC applied to various prediction models are shown. (x,-1) R (-1,y) and R (-1,-1) The definition of a prediction sample point is given. The prediction sample point `pred(x',y')` is located at (x',y') within the prediction block. The reference sample point `R` is given by `x = x' + y' + 1`. (x,-1) The coordinates x are given by the reference sample point R, which is given by y = x' + y' + 1. (-1,y) The coordinates y.

[0070] Figures 5A-5D An example definition of the sample points used by PDPC for diagonal and adjacent angle intra-frame modes is shown. Figure 5A An example of the top-right diagonal pattern is shown. Figure 5B An example of the bottom left diagonal pattern is shown. Figure 5C An example of the pattern shown is the top right of the adjacent diagonal. Figure 5D An example of the bottom left pattern on the adjacent diagonal is shown.

[0071] The PDPC weights depend on the prediction pattern and are shown in Table 2-2.

[0072] Table 2-2 - Examples of PDPC weights based on prediction models

[0073] Predictive patterns wT wL wTL diagonal top right 16>>((y'<<1)>> shift) 16>>((x'<<1)>> shift) 0 diagonal bottom left 16>>((y'<<1)>> shift) 16>>((x'<<1)>> shift) 0 adjacent diagonal top right 32>>((y'<<1)>> shift) 0 0 The lower left of the adjacent diagonal 0 32>>((x'<<1)>> shift) 0

[0074] The following section provides a detailed description of the PDPC in VVC Draft 6.

[0075] 8.4.5.2.5 General Intra-Frame Sample Prediction

[0076] The input for this process is:

[0077] –Sample position (xTbCmp, yTbCmp), specifies the top-left sample of the current transform block relative to the top-left sample of the current image.

[0078] – The variable predModeIntra specifies the intra-frame prediction mode.

[0079] – The variable nTbW specifies the width of the transform block.

[0080] – The variable nTbH specifies the height of the transform block.

[0081] – The variable nCbW specifies the width of the encoding / decoding block.

[0082] – The variable nCbH specifies the codec block height.

[0083] – The variable cIdx specifies the color component of the current block.

[0084] The output of this process is the predicted sample points predSamples[x][y], where x = 0..nTbW-1 and y = 0..nTbH-1.

[0085] The variables refW and refH are derived as follows:

[0086] – If IntraSubPartitionsSplitType equals ISP_NO_SPLIT or cIdx is not equal to 0, then the following applies:

[0087] refW=nTbW*2(8-118)

[0088] refH=nTbH*2(8-119)

[0089] – Otherwise (IntraSubPartitionsSplitType is not equal to ISP_NO_SPLIT and cIdx is equal to 0), the following applies:

[0090] refW=nCbW+nTbW (8-120)

[0091] refH=nCbH+nTbH (8-121)

[0092] The following derivation specifies the variable refIdx for the intra-frame prediction reference line index:

[0093] refIdx=(cIdx==0)? IntraLumaRefLineIdx[xTbCmp][yTbCmp]:0(8-122)

[0094] The wide-angle intra-frame prediction mode mapping procedure as specified in Clause 8.4.5.2.6 is invoked with predModeIntra, nTbW, nTbH and cIdx as inputs, and the output is a modified predModeIntra.

[0095] The following is the derivation of the variable refFilterFlag:

[0096] – If predModeIntra equals one of the following values: 0, -14, -12, -10, -6, 2, 34, 66, 72, 76, 78, 80, then set refFilterFlag to equal 1.

[0097] Otherwise, set refFilterFlag to 0.

[0098] For the generation of reference sample points p[x][y] (where x = -1 - refIdx, y = -1 - refIdx..refH-1, and x = -refIdx..refW-1, y = -1 - refIdx), the following ordered steps apply:

[0099] 1. With the sample position (xTbCmp, yTbCmp), intra-prediction reference line index refIdx, reference sample width refW, reference sample height refH, and color component index cIdx as input, call the reference sample availability marking procedure as specified in Clause 8.4.5.2.7, and the output is the reference sample refUnfilt[x][y] (where x = -1 - refIdx, y = -1 - refIdx..refH-1 and x = -refIdx..refW-1, y = -1 - refIdx).

[0100] 2. When at least one sample refUnfilt[x][y] (where x = -1 - refIdx, y = -1 - refIdx..refH-1 and x = -refIdx..refW-1, y = -1 - refIdx) is marked as "not available for intra-prediction", the reference sample width refW, reference sample height refH, and reference sample refUnfilt[x][y] (where x = -1 - refIdx, y = -1 - refIdx) are used to determine the reference sample width and height. If refIdx..refH-1 and x = -refIdx..refW-1, y = -1-refIdx) and color component index cIdx are input, the reference sample replacement procedure as specified in Clause 8.4.5.2.8 is invoked, and the output is the modified reference sample refUnfilt[x][y] (where x = -1-refIdx, y = -1-refIdx..refH-1 and x = -refIdx..refW-1, y = -1-refIdx).

[0101] 3. The reference sample filtering procedure as specified in Clause 8.4.5.2.9 is invoked with the intra-prediction reference line index refIdx, transform block width nTbW and height nTbH, reference sample width refW, reference sample height refH, reference filter flag refFilterFlag, unfiltered sample refUnfilt[x][y] (where x = -1-refIdx, y = -1-refIdx..refH-1 and x = -refIdx..refW-1, y = -1-refIdx) and color component index cIdx as input, and the output is reference sample p[x][y] (where x = -1-refIdx, y = -1-refIdx..refH-1 and x = -refIdx..refW-1, y = -1-refIdx).

[0102] The following application uses the intra-frame sample prediction process based on predModeIntra:

[0103] – If predModeIntra equals INTRA_PLANAR, then the corresponding intra-prediction mode procedure as specified in Clause 8.4.5.2.10 is invoked with the transform block width nTbW, the transform block height nTbH, and the reference sample array p as inputs, and the output is the prediction sample array predSamples.

[0104] Otherwise, if predModeIntra equals INTRA_DC, then the corresponding intra-prediction mode procedure as specified in Clause 8.4.5.2.11 is invoked with the transform block width nTbW, transform block height nTbH, intra-prediction reference line index refIdx, and reference sample array p as input, and the output is the prediction sample array predSamples.

[0105] Otherwise, if predModeIntra is equal to INTRA_LT_CCLM, INTRA_L_CCLM, or INTRA_T_CCLM, then the corresponding intra-prediction mode procedure as specified in Clause 8.4.5.2.13 is invoked with the intra-prediction mode predModeIntra, the sample position (xTbC, yTbC) set to be equal to (xTbCmp, yTbCmp), the transform block width nTbW and height nTbH, the color component index cIdx, and the reference sample array p as input, and the output is the prediction sample array predSamples.

[0106] Otherwise, the corresponding intra-prediction mode procedure as specified in Clause 8.4.5.2.12 is invoked with the intra-prediction mode predModeIntra, the intra-prediction reference line index refIdx, the transform block width nTbW, the transform block height nTbH, the reference sample width refW, the reference sample height refH, the codec block width nCbW and height nCbH, the reference filter flag refFilterFlag, the color component index cIdx, and the reference sample array p as inputs, and the output is the prediction sample array predSamples.

[0107] When all of the following conditions are true, the position-dependent predictive sample filtering procedure as specified in Clause 8.4.5.2.14 is invoked with the following inputs: intra-prediction mode predModeIntra, transform block width nTbW, transform block height nTbH, predictive samples predSamples[x][y] (where x = 0..nTbW-1, y = 0..nTbH-1), reference sample width refW, reference sample height refH, reference sample p[x][y] (where x = -1, y = -1..refH-1 and x = 0..refW-1, y = -1), and color component index cIdx. The output is a modified predictive sample array predSamples.

[0108] –nTbW is greater than or equal to 4 and nTbH is greater than or equal to 4, or cIdx is not equal to 0

[0109] –refIdx is equal to 0 or cIdx is not equal to 0

[0110] –BdpcmFlag[xTbCmp][xTbCmp] equals 0

[0111] –One of the following conditions is true:

[0112] –predModeIntra equals INTRA_PLANAR

[0113] –predModeIntra equals INTRA_DC

[0114] –predModeIntra is less than or equal to INTRA_ANGULAR18

[0115] –predModeIntra is less than or equal to INTRA_ANGULAR50

[0116] 8.4.5.2.14 Location-related intra-frame prediction sample filtering processing

[0117] The input for this process is:

[0118] –Intra-frame prediction mode predModeIntra

[0119] – The variable nTbW specifies the width of the transform block.

[0120] – The variable nTbH specifies the height of the transform block.

[0121] – The variable refW specifies the width of the reference sample point.

[0122] – The variable refH specifies the height of the reference sample point.

[0123] – Predicted sample points predSamples[x][y], where x = 0..nTbW-1, y = 0..nTbH-1,

[0124] – Neighboring sample points p[x][y], where x = -1, y = -1..refH-1 and x = 0..refW-1, y = -1,

[0125] – The variable cIdx specifies the color component of the current block.

[0126] The output of this process is the modified predicted samples predSamples[x][y], where x = 0..nTbW-1 and y = 0..nTbH-1.

[0127] Based on the value of cIdx, the function clip1Cmp is set as follows:

[0128] – If cIdx equals 0, then set clip1Cmp to equal Clip1. Y .

[0129] Otherwise, set clip1Cmp to equal Clip1. C .

[0130] The variable nScale is derived as follows:

[0131] – If predModeIntra is greater than INTRA_ANGULAR50, then set nScale to equal Min(2,Log2(nTbH)-Floor(Log2(3*invAngle-2))+8) using invAngle as specified in Clause 8.4.5.2.12.

[0132] – Otherwise, if predModeIntra is less than INTRA_ANGULAR18, then use invAngle as specified in Clause 8.4.5.2.12 to set nScale to equal Min(2,Log2(nTbW)-Floor(Log2(3*invAngle-2))+8).

[0133] Otherwise, set nSacle to ((Log2(nTbW)+Log2(nTbH)-2)>>2).

[0134] The following is a derivation of the reference sample arrays mainRef[x] and sideRef[y] (where x = 0..refW-1 and y = 0..refH-1):

[0135] mainRef[x] = p[x][-1](8-244)

[0136] sideRef[y] = p[-1][y]

[0137] The following is a derivation of the variables refL[x][y], refT[x][y], wT[y], wL[x], and wTL[x][y] (where x = 0..nTbW-1, y = 0..nTbH-1):

[0138] – If predModeIntra equals INTRA_PLANAR or INTRA_DC, then the following applies:

[0139] refL[x][y]=p[-1][y](8-245)refT[x][y]=p[x][-1](8-246)wT[y]=32>>((y<<1)>>nScale)

[0140] (8-247)

[0141] wL[x]=32>>((x<<1)>>nScale)

[0142] (8-248)

[0143] wTL[x][y] = 0 (8-249) – Otherwise, if predModeIntra equals INTRA_ANGULAR18 or INTRA_ANGULAR50, then the following applies:

[0144] refL[x][y]=p[-1][y](8-250)refT[x][y]=p[x][-1](8-251)wT[y]=(predModeIntra==INTRA_ANGULAR18)?

[0145] 32>>((y<<1)>>nScale):0(8-252)

[0146] wL[x]=(predModeIntra==INTRA_ANGULAR50)?

[0147] 32>>((x<<1)>>nScale):0(8-253)

[0148] wTL[x][y]=(predModeIntra==INTRA_ANGULAR18)? wT[y]:

[0149] wL[x](8-254)

[0150] Otherwise, if predModeIntra is less than INTRA_ANGULAR18 and nScale is equal to or greater than 0, then the following ordered steps apply:

[0151] 1. Using invAngle as specified in clause 8.4.5.2.12 according to intraPredMode, derive the variables dXInt[y] and dX[x][y] as follows:

[0152] dXInt[y]=((y+1)*invAngle+256)>>9

[0153] (8-255)

[0154] dX[x][y]=x+dXInt[y]

[0155] 2. The following is the derivation of the variables refL[x][y], refT[x][y], wT[y], wL[x], and wTL[x][y]:

[0156] refL[x][y]=0(8-256)refT[x][y]=(y<(3<<nScale))?mainRef[dX[x][y]]:0(8-257)wT[y]=32> >((y<<1)>>nScale)

[0157] (8-258)

[0158] wL[x] = 0 (8-259) wTL[x][y] = 0 (8-260) – Otherwise, if predModeIntra is greater than INTRA_ANGULAR50 and nScale is equal to or greater than 0, then the following ordered steps apply:

[0159] 1. Based on intraPredMode, derive the variables dYInt[x] and dY[x][y] using invAngle as specified in clause 8.4.5.2.12 as follows:

[0160] dYInt[x]=((x+1)*invAngle+256)>>9

[0161] (8-261)

[0162] dY[x][y] = y + dYInt[x]

[0163] 2. The following is the derivation of the variables refL[x][y], refT[x][y], wT[y], wL[x], and wTL[x][y]:

[0164] refL[x][y]=(y<(3<<nScale))?sideRef[dY[x][y]]:0(8-262)refT[x][y]=0(8-263)wT[y]=0(8-264)wL[x]=32> >((x<<1)>>nScale)

[0165] (8-265)

[0166] wTL[x][y] = 0 (8-266) – Otherwise, set refL[x][y], refT[x][y], wT[y], wL[x] and wTL[x][y] to 0.

[0167] The modified values ​​of the predicted samples predSamples[x][y] are derived as follows, where x = 0..nTbW-1 and y = 0..nTbH-1:

[0168] predSamples[x][y]=clip1Cmp((refL[x][y]*wL[x]+refT[x][y]*wT[y]-

[0169] p[-1][-1]*wTL[x][y]+

[0170] (8-267)(64-wL[x]-wT[y]+

[0171] wTL[x][y])*predSamples[x][y]+32)

[0172] >>6)

[0173] 2.6 Intra-subblock partitioning (ISP)

[0174] In JVET-M0102, an ISP was proposed, which divides the lumen intra-prediction block vertically or horizontally into 2 or 4 sub-partitions, depending on the block size dimension, as shown in Table 1. Figure 6 and Figure 7 Examples of two possibilities are shown. All sub-partitions satisfy the condition of having at least 16 samples.

[0175] Table 1: Number of sub-partitions depending on block size

[0176] Block size Number of sub-partitions 4×4 No division 4×8 and 8×4 2 All other cases 4

[0177] Figure 6 Examples of 4×8 block and 8×4 block partitioning are shown.

[0178] Figure 7Examples of block partitioning are shown, except for 4×8, 8×4, and 4×4.

[0179] For each of these sub-partitions, a residual signal is generated by entropy decoding of the coefficients sent by the encoder, followed by inverse quantization and inverse transform. Intra-frame prediction is then performed on the sub-partition, and finally, the corresponding reconstructed samples are obtained by adding the residual signal to the predicted signal. Therefore, the reconstructed values ​​of each sub-partition can be used to generate the prediction for the next sub-partition, and the process is repeated for the next sub-partition, and so on. All sub-partitions share the same intra-frame mode.

[0180] Based on the intra-frame mode and partitioning used, two different processing sequences are employed, referred to as the normal sequence and the inverse sequence. In the normal sequence, the first sub-partition to be processed is the one containing the top-left sample of the CU, and then it continues downwards (horizontal partitioning) or to the right (vertical partitioning). Therefore, the reference samples used to generate the sub-partition prediction signal are only located to the left and top of the line. On the other hand, the inverse processing sequence either begins with the sub-partition containing the bottom-left sample of the CU and continues upwards, or begins with the sub-partition containing the top-right vertex of the CU and continues to the left.

[0181] 2.7 Quantization Residual Domain BDPCM

[0182] In JVET-N0413, Quantization Residual Domain BDPCM (hereinafter referred to as RBDPCM) was proposed. Intra-prediction of the entire block is performed by copying samples within a prediction direction (horizontal or vertical prediction) similar to intra-prediction. The residuals are quantized, and the Δ between the quantized residuals and the quantized values ​​of their predictors (horizontal or vertical) is encoded and decoded.

[0183] For a block of size M (rows) × N (columns), let r i,j Let Q(r) be the prediction residual after performing intra-frame prediction using unfiltered samples from the top or left block boundary samples, either horizontally (copying the left neighbor pixel values ​​line by line across the prediction block) or vertically (copying the top neighbor line to each line in the prediction block). i,j ), 0≤u≤M-1, 0≤j≤N-1 represents the residual r i,j The quantized version is then used, where the residual is the difference between the initial block and the predicted block values. The block DPCM is then applied to the quantized residual samples to obtain a modified M×N array. Its elements are When signaling to the vertical BDPCM:

[0184]

[0185] For horizontal prediction, a similar rule is applied, and residual quantization samples are obtained through the following equation.

[0186]

[0187] quantize residual samples Send to the decoder.

[0188] On the decoder side, the above calculation is reversed to produce Q(r). i,j ), 0≤i≤M-1, 0≤j≤N-1. For the vertical prediction case,

[0189]

[0190] Regarding the horizontal situation

[0191]

[0192] Inverse quantization residual Q -1 (Q(r) i,j This is added to the intra-block prediction value to generate reconstructed sample values.

[0193] The main advantage of this approach is that it allows for the inverse DPCM to be performed on the fly during coefficient resolution simply by adding predictors, or it can be performed after resolution.

[0194] Transform skipping is always used in the quantized residual domain BDPCM.

[0195] 2.8 Cross-component linear model prediction (CCLM)

[0196] To reduce cross-component redundancy, VTM4 uses a cross-component linear model (CCLM) prediction mode. In this mode, brightness samples are predicted based on reconstructed brightness samples from the same CU using a linear model, as follows:

[0197] pred C (i,j)=α·rec L '(i,j)+β

[0198] Among them, pred C (i,j) represents the predicted chromaticity sample points in the CU, and rec L(i,j) represents the downsampled reconstructed luminance sample in the same CU. The linear model parameters α and β are derived from the relationship between the luminance and chrominance values ​​of two samples, which are the luminance sample with the minimum and maximum sample values ​​and their corresponding chrominance samples within the set of downsampled neighboring luminance samples. The linear model parameters α and β are obtained according to the following equation.

[0199]

[0200] β=Y b -α·X b

[0201] Where Y a and X a This represents the luminance and chromaticity values ​​of the luminance sample point with the maximum luminance sample value. And X b and Y b These represent the luminance value and chromaticity value of the luminance sample point with the smallest luminance sample point value, respectively. Figure 8 This shows an example of the positions of the left and top samples, as well as the sample points of the current block, involved in CCLM mode.

[0202] Figure 8 An example of the sample point locations used for the derivation of α and β is shown. A lookup table is used to implement the division operation for calculating the parameter α. To reduce the storage required to store this table, the diff value (the difference between the maximum and minimum values) and the parameter α are expressed using exponential notation. For example, a 4-bit significant part and an exponent are used to approximate the diff. Therefore, the table for 1 / diff is simplified to 16 elements for the 16 values ​​of this significant number as follows:

[0203] DivTable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0}

[0204] The advantage of doing this is that it reduces both the computational complexity and the memory size required to store the necessary tables.

[0205] In addition to being able to use the top template and the left template together to calculate the linear model coefficients, it is also possible to choose between the top template and the left template in two other LM modes (referred to as LM_A and LM_L).

[0206] In LM_A mode, only the upper template is used to calculate the linear model coefficients. To obtain more sample points, the upper template is extended to (W+H). In LM_L mode, only the left template is used to calculate the linear model coefficients. To obtain more sample points, the left template is extended to (H+W).

[0207] For non-square blocks, expand the top template to W+W and the left template to H+H.

[0208] To match the chroma sample positions of a 4:2:0 video sequence, two types of downsampling filters are applied to the luminance samples to achieve a 2:1 downsampling ratio in both the horizontal and vertical squares. The selection of the downsampling filters is specified by the SPS level flag. The two downsampling filters, as described below, correspond to "Type 0" and "Type 2" content, respectively.

[0209]

[0210] Note that when the upper reference line is at the CTU boundary, only one luminance line (a general line buffer in intra-frame prediction) is used to generate downsampled luminance samples.

[0211] Based on the current VVC design, PDPC is further applied to the prediction blocks generated in CCLM mode based on luminance sample pairs.

[0212] This parameter calculation is performed as part of the decoding process, not just as part of the encoder's search operation. Therefore, the α and β values ​​are not communicated to the decoder using syntax.

[0213] For chroma intra-mode encoding and decoding, a total of eight intra-modes are allowed. These modes include five traditional intra-modes and three cross-component linear model modes (CCLM, LM_A, and LM_L). Chroma mode encoding and decoding directly depends on the intra-prediction mode of the corresponding luma block. Due to the separate block partitioning structure for luma and chroma components enabled in I-strips, one chroma block can correspond to multiple luma blocks. Therefore, for chroma DM mode, the intra-prediction mode of the corresponding luma block covering the center position of the current chroma block is directly inherited.

[0214] 2.9 Chroma Intra-Frame Prediction Mode

[0215] For chroma intra-mode encoding and decoding, a total of 8 or 5 intra-modes are allowed, depending on whether Cross-Component Linear Model (CCLM) is enabled. These modes include five traditional intra-modes and three Cross-Component Linear Model modes (where IntraPredModeC is set to 81, 82, and 83 respectively).

[0216] 2.9.1 DM Mode

[0217] In chroma direct mode or derivation mode (DM), the prediction mode of juxtaposed luma blocks is used to derive the intra-frame prediction mode of chroma.

[0218] First, the intra-prediction mode lumaIntraPredMode is derived.

[0219] • If the co-located luma blocks are encoded and decoded in MIP mode, then set lumaIntraPredMode.

[0220] Set to equal to flat mode.

[0221] Otherwise, if the juxtaposed luma blocks are encoded or decoded in IBC or Palette mode, then set lumaIntraPredMode to equal DC mode.

[0222] Otherwise, set lumaIntraPredMode to the intra-prediction mode of the juxtaposed luma block, which is equal to the luma sample of the corresponding luma block covering the center of the chroma block. Figure 9 An example is shown in the figure.

[0223] Secondly, the intra-chroma prediction mode (denoted as IntraPredModeC) is derived from lumaIntraPredMode, as highlighted in bold italics in the table below. Note that intra_chroma_pred_mode equal to 4 refers to DM mode.

[0224] Note that in VVC, due to the dual-tree architecture, a single chroma block can correspond to a luminance region covering multiple CUs. For example, in... Figure 9 In the diagram, the gray area of ​​the chroma block corresponds to the luminance area covering five CUs. When deriving the DM mode, only one of the five CUs is examined, and it is as follows: Figure 9 The “CR” shown.

[0225] Figure 9 An example of the “CR” position for DM derivation from the corresponding brightness region is shown.

[0226] Table 8-2 - Depends on cclm_mode_flag, cclm_mode_idx,

[0227] Specifications of intra_chroma_pred_mode and lumaIntraPredMode's IntraPredModeC[xCb][yCb]

[0228]

[0229] Finally, if the image color format is 4:2:2, then for DM mode, further modify IntraPredModeC according to the table below.

[0230] Specification for 4:2:2 mapping from intra-chroma prediction mode X to mode Y when chroma_format_idc equals 2

[0231]

[0232] 3. Examples of technical problems solved by the embodiments

[0233] PDPC has the following problems:

[0234] 1. In planar or DC modes, the weighting factors for neighboring samples (e.g., wL, wT, and wLT) depend on the prediction angle, which is not defined in planar and DC modes.

[0235] 2. PDPC is enabled for CCLM mode; however, how to select neighboring samples and the weights applied to neighboring samples and the chromaticity prediction signal generated from the luma block using a linear model are not defined.

[0236] 3. Enable PDPC when "predModeIntra is less than or equal to INTRA_ANGULAR50". PDPC will be disabled for the upper right wide-angle mode. Therefore, disabling PDPC for some wide-angle modes may be unreasonable.

[0237] 4. List of technologies and embodiments

[0238] The following examples should be considered as illustrations of the general concept. These items should not be interpreted narrowly. Furthermore, these items can be combined in any way possible.

[0239] Assuming the width and height of the block (CU / PU / TU / CB / PB / TB, etc.) are W and H respectively, then predSamples(x,y) represents the predicted sample at position (x,y), where x = 0...W–1, y = 0…H–1. (x,y) is the coordinate of this sample relative to the top-left sample of the block, and x and y are the horizontal and vertical positions of the sample, respectively. R(x,y) represents the neighboring sample (e.g., reconstructed neighboring sample or reconstructed neighboring sample modified by a certain filtering process), where x = -1, y = -1…refH–1 and x = 0…refW–1, y = -1, where refH and refW are the height and width of the reference neighboring sample. Let maxTbSize be the maximum transform block size, for example, 32 or 64, and wL[x] and wT[y] are the weighting factors of the left and top neighboring samples, respectively. Let the function Log2(N) be the base-2 logarithm of N.

[0240] 1. It is proposed that in planar mode and / or DC mode, the weighting factor of neighboring samples in PDPC may depend only on the (multiple) dimensions of the block (e.g., the width represented as W and / or the height represented as H) and / or the location of the sample to be filtered.

[0241] a. In one example, for a sample point at position (x,y), the sample points above (e.g., R) can be considered. (x,-1) The weighting factor is defined as wT[y] = N1 >> ((y <<N2)> >nScale), where nScale=((Log2(W)+Log2(H)–N3)>>N4) and N1, N2, N3 and N4 are non-negative integers.

[0242] b. In one example, for a sample point at position (x,y), the left neighboring sample point (e.g., R) can be used. (-1,y) The weighting factor is defined as wL[x] = N1 >> ((x <<N2)> >nScale), where nScale=((Log2(W)+Log2(H)–N3)>>N4).

[0243] c. In one example, for a sample point at position (x,y), the top-left neighboring sample point (e.g., R) can be used. (-1,-1) The weighting factor is set to zero.

[0244] d. N1, N2, N3, and N4 are non-negative integers. For example, N1 = 32, N2 = 1, N3 = 2, and N4 = 2.

[0245] 2. Whether and / or how to apply PDPC can depend on whether it is in CCLM mode (such as LM,

[0246] Encode and decode the current block under LM-T and LM-L.

[0247] a. PDPC can be omitted in CCLM mode.

[0248] b. Alternatively, PDPC can be applied in conjunction with CCLM mode, where the final predicted chroma block is derived using the prediction signal generated from the luma block and chroma neighbor samples. The selection of neighbor chroma samples and / or weighting factors can be defined as follows:

[0249] i. In one example, the way neighboring chromaticity samples are selected and / or the weighting factors for neighboring chromaticity samples are determined can be the same as in a predefined mode (e.g., a planar mode).

[0250] ii. Alternatively, when the corresponding luma block is encoded or decoded in an intra-prediction mode such as angular prediction mode (e.g., further including wide-angle prediction mode or vertical or horizontal mode) or planar mode or DC mode, such an intra-prediction mode can be used to select neighboring chroma samples and determine the weighting factor of neighboring chroma samples.

[0251] 1. In one example, the corresponding brightness block is the corresponding brightness area (e.g., Figure 9The gray area in the image represents one of the encoding / decoding units / prediction units / transformation units covered by the image.

[0252] a. In one example, the corresponding luminance block covers the center chroma sample point (e.g., Figure 9 The encoding / decoding unit / prediction unit / transformation unit for the corresponding luminance sample in CR).

[0253] iii. Alternatively, when the corresponding luma block is encoded or decoded in an intra-prediction mode such as angular prediction mode (e.g., further including wide-angle prediction mode or vertical or horizontal mode) or planar mode or DC mode, such an intra-prediction mode can be used to select neighboring chroma samples and determine the weighting factor of neighboring chroma samples.

[0254] c. Alternatively, PDPC can be applied to CCLM codec blocks using the predicted signal generated from the luma block and the derived chroma neighbor samples instead of using reconstructed chroma neighbor samples.

[0255] i. In one example, neighboring chromaticity samples can be derived from neighboring luminance samples of the corresponding luminance block using a linear model derived in CCLM processing.

[0256] d. Alternatively, the corresponding reconstructed luminance samples in the corresponding luminance block can be filtered by PDPC before being used to predict chrominance samples.

[0257] i. In one example, when filtering the reconstructed brightness samples, neighboring samples are selected and

[0258] / Or the method for determining the weighting factors of neighboring brightness samples can be compared with a predefined mode.

[0259] The same as in (for example, in a planar pattern).

[0260] ii. Alternatively, the method of selecting neighboring samples and / or determining the weighting factors of neighboring luminance samples may depend on the intra-prediction mode of the luminance block.

[0261] 1. In one example, when the luma block is encoded or decoded in an intra-prediction mode such as angular prediction mode (including wide-angle prediction mode, vertical mode, or horizontal mode), planar mode, or DC mode, such an intra-prediction mode can be used to select neighboring luma samples and determine the weighting factor of neighboring luma samples.

[0262] 3. Whether and / or how to apply PDPC may depend on whether the current block is encoded or decoded in wide-angle intra-prediction mode.

[0263] a. PDPC can be applied to blocks that use wide-angle intra-prediction mode.

[0264] i. In one example, PDPC can be applied to blocks that employ certain (not all) wide-angle intra-prediction modes.

[0265] b. PDPC may not be applied to blocks that use the wide-angle intra-prediction mode.

[0266] 4. Whether to apply PDPC to a block may depend on whether it "involves" the upper neighbor sample and the left neighbor sample along the intra-prediction direction (e.g., R in equation (2-1)). (-1,y) and R (x,-1) Both. For example, in intra-frame prediction, suppose a sample is predicted from the left / top neighbor sample (which may be located at a fractional position). Drawing a ray along the intra-frame prediction direction with the starting point being the left / top neighbor sample, if this ray intersects the top / left neighbor row / column, then for that sample, it is said that along the intra-frame prediction direction, both the top and left neighbor samples are involved. Note that R can always be... (-1,-1) It is considered as a neighboring sample point on the left or above, but not both.

[0267] a. In one example, the intra-frame prediction direction can be defined as the angular intra-frame prediction mode.

[0268] i. In one example, intra-frame prediction direction may exclude vertical prediction direction and / or horizontal prediction direction.

[0269] ii. In one example, intra-frame prediction direction may exclude DC mode and / or planar mode.

[0270] iii. In one example, the intra-prediction direction can exclude the wide-angle intra-prediction mode.

[0271] b. In one example, PDPC can be applied if both the upper neighbor sample and the left neighbor sample are involved along the intra-prediction direction that "involves" at least N samples (e.g., N=1) used to predict the block. Figure 10 An example of PDPC being enabled is shown in (a) and 10(b).

[0272] i. Alternatively, if these two neighboring samples are not "involved" in the intra-frame prediction process used to predict any points in the block, then PDPC may not be applied. Figure 10 (c) and Figure 10 An example is shown in (d).

[0273] Figure 10 An example of neighboring samples involved along the prediction direction is shown.

[0274] 5. Whether to enable or disable PDPC can depend on the color components.

[0275] a. In one example, PDPC can be enabled for the luminance color component (e.g., Y in the YCbCr color format; G in the RGB color format), but PDPC can be disabled for at least one chrominance color component (e.g., Cb and / or Cr in the YCbCr color format; B and / or R in the RGB color format).

[0276] 6. Based on the number of samples involved in the filtering process, a final predicted sample can be derived, allowing for various PDPC methods.

[0277] a. In one example, a final predicted sample can be derived from one or more left neighboring samples (filtered or unfiltered) and the internal prediction value obtained by (for example) a normal intra-frame prediction process (e.g., pred(x,y) in Equation 2-1).

[0278] b. In one example, a final predicted sample can be derived from one or more upper neighboring samples (filtered or unfiltered) and the internal prediction value obtained by (for example) a normal intra-frame prediction process (e.g., pred(x,y) in Equation 2-1).

[0279] c. Which PDPC method to apply to a block can depend on the encoding / decoding information:

[0280] i. Block dimension

[0281] ii. Block shape

[0282] iii. The ratio between block width and height

[0283] iv. Indexes or flags for signaling notifications in video units

[0284] 7. Whether a PDPC can be applied to a block may depend on the block dimension and / or block shape (square or non-square).

[0285] a. In one example, PDPC can be disabled for non-square blocks.

[0286] b. In one example, enabling or disabling PDPC can depend on the ratio between the block width and the block height.

[0287] c. PDPC may not be allowed when the block size is small.

[0288] i. In one example, PDPC may not be allowed when the width of the block is less than or equal to a threshold T (e.g., T = 2, 4).

[0289] ii. In one example, PDPC may not be allowed when the height of the block is less than or equal to a threshold (e.g., T = 2, 4).

[0290] iii. In one example, the number of brightness samples in the block is less than or equal to the threshold.

[0291] (For example, 16, 32, 64) PDPC may not be allowed.

[0292] d. PDPC may not be allowed when the block size is large.

[0293] i. In one example, PDPC may not be allowed when the width of the block is greater than or equal to a threshold T (e.g., T = 32).

[0294] ii. In one example, PDPCs may not be allowed when the block height is greater than or equal to a threshold (e.g., T = 32).

[0295] iii. In one example, the number of brightness samples in the block is greater than or equal to the threshold.

[0296] (For example, 1024) PDPC may not be allowed.

[0297] e. PDPC can be enabled or disabled independently for different color components.

[0298] 5. Examples

[0299] Newly added parts are highlighted in bold italics, and deleted parts are marked with double brackets (e.g., [[a]] indicates the deletion of the letter "a").

[0300] 5.1 An Example

[0301] This is an example of bullet point 1.

[0302] 8.4.5.2.14 Location-related intra-frame prediction sample filtering processing

[0303] The input for this process is:

[0304] –Intra-frame prediction mode predModeIntra

[0305] – The variable nTbW specifies the width of the transform block.

[0306] – The variable nTbH specifies the height of the transform block.

[0307] – The variable refW specifies the width of the reference sample point.

[0308] – The variable refH specifies the height of the reference sample point.

[0309] – Predicted sample points predSamples[x][y], where x = 0..nTbW-1, y = 0..nTbH-1,

[0310] – Neighboring sample points p[x][y], where x = -1, y = -1..refH-1 and x = 0..refW-1, y = -1,

[0311] – The variable cIdx specifies the color component of the current block.

[0312] The output of this processing is the modified prediction samples predSamples[x][y], where x = 0..nTbW-1 and y = 0..nTbH-1.

[0313] Based on the value of cIdx, the function clip1Cmp is set as follows:

[0314] – If cIdx equals 0, then set clip1Cmp to equal Clip1. Y .

[0315] Otherwise, set clip1Cmp to equal Clip1. C .

[0316] The variable nScale is derived as follows:

[0317] – If predModeIntra is greater than INTRA_ANGULAR50, then use invAngle as specified in Clause 8.4.5.2.12 to set nScale to equal Min(2,Log2(nTbH)-Floor(Log2(3*invAngle-2))+8).

[0318] Otherwise, if predModeIntra is less than INTRA_ANGULAR18 Then, using invAngle as specified in Clause 8.4.5.2.12, set nScale to equal Min(2,Log2(nTbW)-Floor(Log2(3*invAngle-2))+8).

[0319] Otherwise, set nSacle to ((Log2(nTbW)+Log2(nTbH)-2)>>2).

[0320] The following is a derivation of the reference sample arrays mainRef[x] and sideRef[y] (where x = 0..refW-1 and y = 0..refH-1):

[0321] mainRef[x] = p[x][-1](8-244)

[0322] sideRef[y] = p[-1][y]

[0323] The following is a derivation of the variables refL[x][y], refT[x][y], wT[y], wL[x], and wTL[x][y] (where x = 0..nTbW-1, y = 0..nTbH-1):

[0324] – If predModeIntra equals INTRA_PLANAR or INTRA_DC, then the following applies:

[0325] refL[x][y]=p[-1][y] (8-245)

[0326] refT[x][y]=p[x][-1] (8-246)

[0327] wT[y]=32>>((y<<1)>>nScale) (8-247)

[0328] wL[x]=32>>((x<<1)>>nScale) (8-248)

[0329] wTL[x][y]=0 (8-249)

[0330] - Otherwise, if predModeIntra equals INTRA_ANGULAR18 or INTRA_ANGULAR50, then the following applies:

[0331] refL[x][y]=p[-1][y] (8-250)

[0332] refT[x][y]=p[x][-1] (8-251)

[0333] wT[y]=(predModeIntra==INTRA_ANGULAR18)? 32>>((y<<1)>>nScale):

[0334] 0(8-252)

[0335] wL[x]=(predModeIntra==INTRA_ANGULAR50)? 32>>((x<<1)>>nScale):

[0336] 0(8-253)

[0337] wTL[x][y]=(predModeIntra==INTRA_ANGULAR18)? wT[y]:wL[x] (8-254)

[0338] Otherwise, if predModeIntra is less than INTRA_ANGULAR18 and nScale is equal to or greater than 0, then the following ordered steps apply:

[0339] 3. Using invAngle as specified in clause 8.4.5.2.12 according to intraPredMode, derive the variables dXInt[y] and dX[x][y] as follows:

[0340]

[0341] 4. Derive the variables refL[x][y], refT[x][y], wT[y], wL[x], and wTL[x][y] as follows:

[0342] refL[x][y]=0(8-256)

[0343] refT[x][y]=(y<(3<<nScale))? mainRef[dX[x][y]]: 0 (8-257)

[0344] wT[y]=32>>((y<<1)>>nScale)(8-258)

[0345] wL[x]=0(8-259)

[0346] wTL[x][y]=0 (8-260)

[0347] Otherwise, if predModeIntra is greater than INTRA_ANGULAR50 and nScale is equal to or greater than 0, then the following ordered steps apply:

[0348] 6. Using invAngle as specified in clause 8.4.5.2.12 according to intraPredMode, derive the variables dYInt[x] and dY[x][y] as follows:

[0349]

[0350] 7. Derive the variables refL[x][y], refT[x][y], wT[y], wL[x], and wTL[x][y] as follows:

[0351] refL[x][y]=(y<(3<<nScale))? sideRef[dY[x][y]]: 0 (8-262)

[0352] refT[x][y]=0 (8-263)

[0353] wT[y]=0 (8-264)

[0354] wL[x]=32>>((x<<1)>>nScale) (8-265)

[0355] wTL[x][y]=0 (8-266)

[0356] Otherwise, set all of refL[x][y], refT[x][y], wT[y], wL[x], and wTL[x][y] to 0.

[0357] Set it to 0.

[0358] The modified values ​​of the predicted samples predSamples[x][y] are derived as follows, where x = 0..nTbW-1 and y = 0..nTbH-1:

[0359]

[0360] Alternatively, the above line can be replaced by the following:

[0361] The variable nScale is derived as follows:

[0362] - If predModeIntra is greater than INTRA_ANGULAR50, then use invAngle as specified in Clause 8.4.5.2.12 to set nScale to equal Min(2, Log2(nTbH)-Floor(Log2(3*invAngle-2))+8).

[0363] - Otherwise, if predModeIntra is less than INTRA_ANGULAR18 and greater than INTRA_DC, then use invAngle as specified in Clause 8.4.5.2.12 to set nScale to equal Min(2, Log2(nTbW)-Floor(Log2(3*invAngle-2))+8).

[0364] -Otherwise, if Then nSacle is set to ((Log2(nTbW)+Log2(nTbH)-2)>>2).

[0365] 5.2 An Example

[0366] Here are examples of bullet points 2 and 3.

[0367] 8.4.5.2.5 General Intra-Frame Sample Prediction

[0368] The input for this process is:

[0369] -Sample position (xTbCmp, yTbCmp) specifies the position of the top-left sample of the current transform block relative to the top-left sample of the current image.

[0370] - The variable predModeIntra specifies the intra-frame prediction mode.

[0371] - The variable nTbW specifies the width of the transform block.

[0372] - The variable nTbH specifies the height of the transform block.

[0373] - The variable nCbW specifies the width of the encoding / decoding block.

[0374] - The variable nCbH specifies the height of the encoding / decoding block.

[0375] - The variable cIdx specifies the color component of the current block.

[0376] The output of this processing is the predicted sample points predSamples[x][y], where x = 0..nTbW-1 and y = 0..nTbH-1.

[0377] The variables refW and refH are derived as follows:

[0378] - If IntraSubPartitionsSplitType equals ISP_NO_SPLIT or cIdx is not equal to 0, then the following applies:

[0379] refW=nTbW*2(8—118)

[0380] refH=nTbH*2 (8—119)

[0381] - Otherwise (IntraSubPartitionsSplitType is not equal to ISP_NO_SPLIT and cIdx is equal to 0), the following applies:

[0382] refW=nCbW+nTbW(8—120)

[0383] refH=nCbH+nTbH (8-121)

[0384] The following derivation specifies the variable refIdx for the intra-frame prediction reference line index:

[0385] refIdx=(cIdx==0)? IntraLumaRefLineIdx[xTbCmp][yTbCmp]: 0 (8—122)

[0386] Invoke the wide-angle intra-prediction mode mapping process as specified in Clause 8.4.5.2.6 with predModeIntra, nTbW, nTbH, and cIdx as inputs and the modified predModeIntra as output.

[0387] The following is the derivation of the variable refFilterFlag:

[0388] - If predModeIntra equals one of the following values: 0, -14, -12, -10, -6, 2, 34, 66,

[0389] If the digits are 72, 76, 78, and 80, then set refFilterFlag to equal 1.

[0390] Otherwise, set refFilterFlag to 0.

[0391] For the generation of reference sample point p[x][y] (where x = -1 - refIdx, y = -1 - refIdx..refH-1, and x = -refIdx..refW-1, y = -1 - refIdx), the following ordered steps apply:

[0392] 4. Invoke the reference sample availability marking process as specified in Clause 8.4.5.2.7 when the input is the sample position (xTbCmp, yTbCmp), the intra-prediction reference line index refIdx, the reference sample width refW, the reference sample height refH, and the color component index cIdx, and the output is the reference sample refUnfilt[x][y] (where x = -1 - refIdx, y = -1 - refIdx..refH-1 and x = -refIdx..refW-1, y = -1 - refIdx).

[0393] 5. When at least one sample refUnfilt[x][y] (where x = -1 - refIdx, y = -1 - refIdx..refH-1 and x = -refIdx..refW-1, y = -1 - refIdx) is marked as "not available for intra-prediction", the reference sample width refW, reference sample height refH, and reference sample refUnfilt[x][y] (where x = -1 - refIdx, y = -1 - refIdx) are used to determine the reference sample width and height. The reference sample replacement process, as specified in Clause 8.4.5.2.8, is invoked with the input of the color component index cIdx and the output of the modified reference sample refUnfilt[x][y] (where x = -1-refIdx, y = -1-refIdx..refH-1 and x = -refIdx..refW-1, y = -1-refIdx) and the color component index cIdx.

[0394] 6. Invoke the reference sample filtering process as specified in Clause 8.4.5.2.9 with the following inputs: intra-prediction reference line index refIdx, transform block width nTbW and height nTbH, reference sample width refW, reference sample height refH, reference filter flag refFilterFlag, unfiltered sample refUnfilt[x][y] (where x = -1-refIdx, y = -1-refIdx..refH-1 and x = -refIdx..refW-1, y = -1-refIdx) and color component index cIdx, and with reference sample p[x][y] (where x = -1-refIdx, y = -1-refIdx..refH-1 and x = -refIdx..refW-1, y = -1-refIdx) as output.

[0395] The following application uses intra-frame sample prediction processing based on predModeIntra:

[0396] – If predModeIntra equals INTRA_PLANAR, then the corresponding intra-prediction mode processing as specified in Clause 8.4.5.2.10 is invoked with the transform block width nTbW, transform block height nTbH, and reference sample array p as input, and the output is the prediction sample array predSamples.

[0397] Otherwise, if predModeIntra equals INTRA_DC, then the corresponding intra-prediction mode as specified in Clause 8.4.5.2.11 is invoked with the transform block width nTbW, transform block height nTbH, intra-prediction reference line index refIdx, and reference sample array p as input, and the output is the prediction sample array predSamples.

[0398] Otherwise, if predModeIntra is equal to INTRA_LT_CCLM, INTRA_L_CCLM, or INTRA_T_CCLM, then the corresponding intra-prediction mode processing as specified in Clause 8.4.5.2.13 is invoked with the intra-prediction mode predModeIntra, the sample position (xTbC, yTbC) set to be equal to (xTbCmp, yTbCmp), the transform block width nTbW and height nTbH, the color component index cIdx, and the reference sample array p as input, and the output is the prediction sample array predSamples.

[0399] Otherwise, the corresponding intra-prediction mode processing as specified in Clause 8.4.5.2.12 is invoked when the intra-prediction mode predModeIntra, the intra-prediction reference line index refIdx, the transform block width nTbW, the transform block height nTbH, the reference sample width refW, the reference sample height refH, the codec block width nCbW and height nCbH, the reference filter flag refFilterFlag, the color component index cIdx, and the reference sample array p are taken as inputs and the prediction sample array predSamples is taken as output.

[0400] When all of the following conditions are true, position-dependent prediction sample filtering as specified in Clause 8.4.5.2.14 is invoked with the following inputs: intra-prediction mode predModeIntra, transform block width nTbW, transform block height nTbH, prediction samples predSamples[x][y] (where x = 0..nTbW-1, y = 0..nTbH-1), reference sample width refW, reference sample height refH, reference sample p[x][y] (where x = -1, y = -1..refH-1 and x = 0..refW-1, y = -1), and color component index cIdx. The output is a modified prediction sample array predSamples.

[0401] –nTbW is greater than or equal to 4 and nTbH is greater than or equal to 4, or cIdx is not equal to 0

[0402] –refIdx is equal to 0 or cIdx is not equal to 0

[0403] –BdpcmFlag[xTbCmp][xTbCmp] equals 0

[0404] –One of the following conditions is true:

[0405] –predModeIntra equals INTRA_PLANAR

[0406] –predModeIntra equals INTRA_DC

[0407] –predModeIntra is less than or equal to INTRA_ANGULAR18

[0408] –predModeIntra[[less than]] greater than or equal to INTRA_ANGULAR50

[0409] 5.4 An Example

[0410] This is an example of bullet point 4.

[0411] 8.4.5.2.5 General Intra-Frame Sample Prediction

[0412] The input for this process is:

[0413] –Sample position (xTbCmp, yTbCmp), specifies the position of the top-left sample of the current transform block relative to the top-left sample of the current image.

[0414] – The variable predModeIntra specifies the intra-frame prediction mode.

[0415] – The variable nTbW specifies the width of the transform block.

[0416] – The variable nTbH specifies the height of the transform block.

[0417] - The variable nCbW specifies the width of the encoding / decoding block.

[0418] - The variable nCbH specifies the height of the encoding / decoding block.

[0419] - The variable cIdx specifies the color component of the current block.

[0420] The output of this processing is the predicted sample points predSamples[x][y], where x = 0..nTbW-1 and y = 0..nTbH-1.

[0421] The variables refW and refH are derived as follows:

[0422] - If IntraSubPartitionsSplitType equals ISP_NO_SPLIT or cIdx is not equal to 0, then the following applies:

[0423] refW=nTbW*2(8—118)

[0424] refH=nTbH*2 (8-119)

[0425] - Otherwise (IntraSubPartitionsSplitType is not equal to ISP_NO_SPLIT and cIdx is equal to 0), the following applies:

[0426] refW=nCbW+nTbW(8—120)

[0427] refH=nCbH+nTbH (8-121)

[0428] The following derivation specifies the variable refIdx for the intra-frame prediction reference line index:

[0429] refIdx=(cIdx==0)? IntraLumaRefLineIdx[xTbCmp][yTbCmp]: 0 (8-122)

[0430] Invoke the wide-angle intra-prediction mode mapping process as specified in Clause 8.4.5.2.6 with predModeIntra, nTbW, nTbH, and cIdx as inputs and the modified predModeIntra as output.

[0431] The following is the derivation of the variable refFilterFlag:

[0432] -If predModeIntra equals one of the following values: 0, -14, -12, -10, -6, 2, 34, 66,

[0433] If the digits are 72, 76, 78, and 80, then set refFilterFlag to equal 1.

[0434] Otherwise, set refFilterFlag to 0.

[0435] For the generation of reference sample point p[x][y] (where x = -1 - refIdx, y = -1 - refIdx..refH-1, and x = -refIdx..refW-1, y = -1 - refIdx), the following ordered steps apply:

[0436] 7. Invoke the reference sample availability marking process as specified in Clause 8.4.5.2.7 when the input is the sample position (xTbCmp, yTbCmp), the intra-prediction reference line index refIdx, the reference sample width refW, the reference sample height refH, and the color component index cIdx, and the output is the reference sample refUnfilt[x][y] (where x = -1-refIdx, y = -1-refIdx..refH-1 and x = -refIdx..refW-1, y = -1-refIdx).

[0437] 8. When at least one sample refUnfilt[x][y] (where x = -1 - refIdx, y = -1 - refIdx..refH-1 and x = -refIdx..refW-1, y = -1 - refIdx) is marked as "not available for intra-prediction", the reference sample width refW, reference sample height refH, and reference sample refUnfilt[x][y] (where x = -1 - refIdx, y = -1 - refIdx) are used to determine the reference sample width refW, reference sample height refH, and reference sample height refH-1. The reference sample replacement process, as specified in Clause 8.4.5.2.8, is invoked with the input of the color component index cIdx and the output of the modified reference sample refUnfilt[x][y] (where x = -1-refIdx, y = -1-refIdx..refH-1 and x = -refIdx..refW-1, y = -1-refIdx) and the color component index cIdx.

[0438] 9. Invoke the reference sample filtering process as specified in Clause 8.4.5.2.9 when the input is the intra-prediction reference line index refIdx, the transform block width nTbW and height nTbH, the reference sample width refW, the reference sample height refH, the reference filter flag refFilterFlag, the unfiltered sample refUnfilt[x][y] (where x = -1-refIdx, y = -1-refIdx..refH-1 and x = -refIdx..refW-1, y = -1-refIdx) and the color component index cIdx, and the output is the reference sample p[x][y] (where x = -1-refIdx, y = -1-refIdx..refH-1 and x = -refIdx..refW-1, y = -1-refIdx).

[0439] The following application uses intra-frame sample prediction processing based on predModeIntra:

[0440] – If predModeIntra equals INTRA_PLANAR, then the corresponding intra-prediction mode processing as specified in Clause 8.4.5.2.10 is invoked with the transform block width nTbW, transform block height nTbH, and reference sample array p as input, and the output is the prediction sample array predSamples.

[0441] Otherwise, if predModeIntra equals INTRA_DC, then the corresponding intra-prediction mode as specified in Clause 8.4.5.2.11 is invoked with the transform block width nTbW, transform block height nTbH, intra-prediction reference line index refIdx, and reference sample array p as input, and the output is the prediction sample array predSamples.

[0442] Otherwise, if predModeIntra is equal to INTRA_LT_CCLM, INTRA_L_CCLM, or INTRA_T_CCLM, then the corresponding intra-prediction mode processing as specified in Clause 8.4.5.2.13 is invoked with the intra-prediction mode predModeIntra, the sample position (xTbC, yTbC) set to be equal to (xTbCmp, yTbCmp), the transform block width nTbW and height nTbH, the color component index cIdx, and the reference sample array p as input, and the output is the prediction sample array predSamples.

[0443] Otherwise, the corresponding intra-prediction mode processing as specified in Clause 8.4.5.2.12 is invoked when the intra-prediction mode predModeIntra, the intra-prediction reference line index refIdx, the transform block width nTbW, the transform block height nTbH, the reference sample width refW, the reference sample height refH, the codec block width nCbW and height nCbH, the reference filter flag refFilterFlag, the color component index cIdx, and the reference sample array p are taken as inputs and the prediction sample array predSamples is taken as output.

[0444] When all of the following conditions are true, position-dependent prediction sample filtering as specified in Clause 8.4.5.2.14 is invoked with the following inputs: intra-prediction mode predModeIntra, transform block width nTbW, transform block height nTbH, prediction samples predSamples[x][y] (where x = 0..nTbW-1, y = 0..nTbH-1), reference sample width refW, reference sample height refH, reference sample p[x][y] (where x = -1, y = -1..refH-1 and x = 0..refW-1, y = -1), and color component index cIdx. The output is a modified prediction sample array predSamples.

[0445] –nTbW is greater than or equal to 4 and nTbH is greater than or equal to 4, or cIdx is not equal to 0

[0446] –refIdx is equal to 0 or cIdx is not equal to 0

[0447] –BdpcmFlag[xTbCmp][xTbCmp] equals 0

[0448] –predModeIntra is less than INTRA_LT_CCLM

[0449] One of the following conditions is true:

[0450] –predModeIntra equals INTRA_PLANAR

[0451] –predModeIntra equals INTRA_DC

[0452] –predModeIntra is less than or equal to INTRA_ANGULAR18

[0453] –predModeIntra is less than or equal to INTRA_ANGULAR50]]

[0454] 8.4.5.2.14 Location-related intra-frame prediction sample filtering processing

[0455] The input for this process is:

[0456] –Intra-frame prediction mode predModeIntra

[0457] – The variable nTbW specifies the width of the transform block.

[0458] – The variable nTbH specifies the height of the transform block.

[0459] – The variable refW specifies the width of the reference sample point.

[0460] – The variable refH specifies the height of the reference sample point.

[0461] – Predicted samples predSamples[x][y], where x = 0..nTbW-1, y = 0..nTbH-1, – Neighboring samples p[x][y], where x = -1, y = -1..refH-1 and x = 0..refW-1,

[0462] y = -1,

[0463] – The variable cIdx specifies the color component of the current block.

[0464] The output of this processing is the modified prediction samples predSamples[x][y], where x = 0..nTbW-1 and y = 0..nTbH-1.

[0465] Based on the value of cIdx, the function clip1Cmp is set as follows:

[0466] – If cIdx equals 0, then set clip1Cmp to equal Clip1. Y .

[0467] Otherwise, set clip1Cmp to equal Clip1. C .

[0468] The variable nScale is derived as follows:

[0469]

[0470]

[0471]

[0472]

[0473]

[0474] – If predModeIntra is greater than

[0475] If [[INTRA_ANGULAR50]], then use invAngle as specified in Clause 8.4.5.2.12 to set nScale to equal Min(2,Log2(nTbH)-Floor(Log2(3*invAngle-2))+8).

[0476] Otherwise, [[if predModeIntra is greater than or less than INTRA_ANGULAR18,]] use invAngle as specified in Clause 8.4.5.2.12, and set nScale to equal Min(2,Log2(nTbW)-Floor(Log2(3*invAngle-2))+8).

[0477] Otherwise, set nSacle to ((Log2(nTbW)+Log2(nTbH)-2)>>2).

[0478]

[0479] The following is a derivation of the reference sample arrays mainRef[x] and sideRef[y] (where x = 0..refW-1 and y = 0..refH-1):

[0480] mainRef[x] = p[x][-1](8-244)

[0481] sideRef[y] = p[-1][y]

[0482] The following is a derivation of the variables refL[x][y], refT[x][y], wT[y], wL[x], and wTL[x][y] (where x = 0..nTbW-1, y = 0..nTbH-1):

[0483] – If predModeIntra equals INTRA_PLANAR or INTRA_DC, then the following applies:

[0484] refL[x][y]=p[-1][y] (8-245)

[0485] refT[x][y]=p[x][-1] (8-246)

[0486] wT[y]=32>>((y<<1)>>nScale) (8-247)

[0487] wL[x]=32>>((x<<1)>>nScale) (8-248)wTL[x][y]=0(8-249)

[0488] - Otherwise, if predModeIntra equals INTRA_ANGULAR18 or INTRA_ANGULAR50, then the following applies:

[0489] refL[x][y]=p[-1][y] (8-250)

[0490] refT[x][y]=p[x][-1] (8-251)

[0491] wT[y]=(predModeIntra==INTRA_ANGULAR18)? 32>>((y<<1)>>nScale):

[0492] 0(8-252)

[0493] wL[x]=(predModeIntra==INTRA_ANGULAR50)? 32>>((x<<1)>>nScale):

[0494] 0(8-253)

[0495] wTL[x][y]=(predModeIntra==INTRA_ANGULAR18)? wT[y]:wL[x](8-254)

[0496] Otherwise, if predModeIntra is less than INTRA_ANGULAR18 and nScale is equal to or greater than 0, then the following ordered steps apply:

[0497] 5. Using invAngle as specified in clause 8.4.5.2.12 according to intraPredMode, derive the variables dXInt[y] and dX[x][y] as follows:

[0498]

[0499] 6. Derive the variables refL[x][y], refT[x][y], wT[y], wL[x], and wTL[x][y] as follows:

[0500] refL[x][y]=0 (8-256)

[0501] refT[x][y]=(y<(3<<nScale))? mainRef[dx[x][y]]: 0 (8-257)

[0502] wT[y]=32>>((y<<1)>>nScale) (8-258)

[0503] wL[x]=0 (8-259)

[0504] wTL[x][y]=0 (8-260)

[0505] Otherwise, if predModeIntra is greater than INTRA_ANGULAR50 and nScale is equal to or greater than 0, then the following ordered steps apply:

[0506] 7. Using invAngle as specified in clause 8.4.5.2.12 according to intraPredMode, derive the variables dYInt[x] and dY[x][y] as follows:

[0507]

[0508] 8. Derive the variables refL[x][y], refT[x][y], wT[y], wL[x], and wTL[x][y] as follows:

[0509] refL[x][y]=(y<(3<<nScale))? sideRef[dY[x][y]]: 0 (8-262)

[0510] refT[x][y]=0 (8-263)

[0511] wT[y]=0(8-264)

[0512] wL[x]=32>>((x<<1)>>nScale) (8-265)

[0513] wTL[x][y]=0 (8-266)

[0514] Otherwise, set refL[x][y], refT[x][y], wT[y], wL[x], and wTL[x][y] to 0.

[0515] The modified values ​​of the predicted samples predSamples[x][y] are derived as follows, where x = 0..nTbW-1 and y = 0..nTbH-1:

[0516]

[0517] Figure 11AThis is a block diagram of a video processing apparatus 1100. Apparatus 1100 can be used to implement one or more of the methods described herein. Apparatus 1100 can be embodied in a smartphone, tablet, computer, Internet of Things (IoT) receiver, etc. Apparatus 1100 may include one or more processors 1102, one or more memories 1104, and video processing hardware 1106. The processors(multiple) 1102 can be configured to implement one or more methods described herein. The memories(multiple) 1104 can be used to store data and code for implementing the methods and techniques described herein. The video processing hardware 1106 can be used to implement some of the techniques described herein in hardware circuitry. In some embodiments, hardware 1106 may be at least partially located within processor 1102 (e.g., a graphics coprocessor).

[0518] Figure 11B This is another example of a block diagram of a video processing system that can implement the disclosed technology. Figure 11B This is a block diagram illustrating an example video processing system 2400 that can implement the various techniques disclosed herein. Various implementations may include some or all of the components of system 2400. System 2400 may include an input 2402 for receiving video content. The video content may be received in a raw or uncompressed format, such as 8-bit or 10-bit multi-component pixel values, or may have a compressed or encoded format. Input 2402 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 network (PON), and wireless interfaces such as Wi-Fi or cellular interfaces.

[0519] System 2400 may include an encoding / decoding unit 2404, which can implement the various encoding / decoding or coding methods described in this document. Encoding / decoding unit 2404 can reduce the average bit rate of the video from input 2402 to the output of encoding / decoding unit 2404 to produce an encoded / decoded representation of the video. Therefore, encoding / decoding techniques are sometimes referred to as video compression or video transcoding techniques. The output of encoding / decoding unit 2404 can be stored or transmitted via connected communication, as represented by unit 2406. The stored or transmitted bitstream (or encoded / decoded) representation of the video received at input 2402 can be used by unit 2408 to generate pixel values ​​or send displayable video to display interface 2410. The process of generating user-viewable video from the bitstream representation is sometimes referred to as video decompression. Furthermore, although some video processing operations are referred to as “encoding / decoding” operations or tools, it should be understood that encoding / decoding tools or operations are used at the encoder, and the corresponding decoding tools or operations that reverse the encoding / decoding results are performed by the decoder.

[0520] 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 found 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.

[0521] In some embodiments, it can be used in contact Figure 11A The video processing method discussed in this patent document may be implemented using a device implemented on the hardware platform described in 11B.

[0522] Some embodiments of the disclosed technology include making a decision or determination to enable a video processing tool or mode. In one example, when a video processing tool or mode is enabled, the encoder will use or implement the tool or mode in the processing of video blocks, but 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 the bitstream 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 a decision or determination.

[0523] Some embodiments of the disclosed technology include making a decision 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 in 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 no modifications have been made to the bitstream using a video processing tool or mode that was disabled based on the decision or mode.

[0524] In this document, the term "video processing" can refer to video encoding, video decoding, video compression, or video decompression. For example, a video compression algorithm may be applied during the conversion from the pixel representation of a video to the corresponding bitstream representation, or vice versa. The bitstream representation of the current video block may, for example, correspond to bits located in one place or scattered in different places within the bitstream, as defined by the syntax. For example, a macroblock may be encoded based on the transformed and encoded error residual value and also using bits in the header and other fields of the bitstream.

[0525] Various technologies and embodiments can be described using the following clause-based format. The first set of clauses describes certain features and aspects of the technologies disclosed in the preceding sections.

[0526] The following terms may be implemented together with the additional technologies described in the items listed in the preceding sections (e.g., item 1).

[0527] 1. A video processing method (e.g., Figure 12 The method 1200 shown includes: for a conversion between a current video block and a codec representation of the current video block, determining (1202) a weighting factor applied to neighboring samples using a self-coding mode, wherein the weighting factor is defined entirely by the size of the current video block or the sample location to which the weighting factor is applied; and performing (1204) the conversion based on the determination, wherein the self-coding mode includes a planar codec mode of a DC codec mode.

[0528] 2. The method according to Clause 1, wherein the sample point position is (x, y), and wherein the weighting factor for the neighboring sample point as the upper neighboring sample point is wT[y]=N1>>((y<<N2)> >nScale), where nScale=((Log2(W)+Log2(H)–N3)>>N4), where N1, N2, N3 and N4 are non-negative integers.

[0529] 3. The method according to Clause 1, wherein the sample point position is (x, y), and wherein the weighting factor of the neighboring sample point as the left neighboring sample point is wL[x]=N1>>((x<<N2)> >nScale), where nScale=((Log2(W)+Log2(H)–N3)>>N4), where N1, N2, N3 and N4 are non-negative integers.

[0530] 4. The method according to Clause 1, wherein the sample point is located at (x, y), and the weighting factor of the neighboring sample point in the upper left position is zero.

[0531] 5. The method described in accordance with any of the provisions of Clauses 1-4, wherein N1 = 32, N2 = 1, N3 = 2 or N4 = 2.

[0532] The following terms may be implemented in conjunction with the additional techniques described in the items listed in the preceding sections (e.g., items 2, 3, 4, and 7).

[0533] 6. A video processing method, comprising: during a conversion between a current video block and a codec representation of the current video block, determining, based on a rule, whether to apply a self-codec mode to the current video block, the rule using the codec mode used for the conversion of the current video block; and performing the conversion based on the determination.

[0534] 7. The method according to Clause 6, wherein the encoding / decoding mode includes a cross-component linear model (CCLM).

[0535] 8. The method described in Clause 7, wherein the rule specifies that the self-encoding / decoding mode is disabled when using CCLM.

[0536] 9. The method described in Clause 7, wherein the rule specifies that a self-encoding / decoding mode is enabled when using CCLM.

[0537] 10. The method described in Clause 9, wherein the second rule further specifies the location of the reference samples to be used during the self-encoding / decoding conversion.

[0538] 11. The method according to Clause 10, wherein the second rule specifies that the same location as the reference sample used in the planar encoding / decoding mode will be used.

[0539] 12. The method according to Clause 10, wherein the second rule specifies that the auto-decoder uses predicted luminance samples or derived chrominance neighbor samples during the conversion of the current video block.

[0540] 13. The method according to Clause 6, wherein the encoding / decoding mode includes a wide-angle intra-frame prediction mode.

[0541] 14. The method described in Clause 6, wherein the rule specifies that the self-decoding mode is disabled when using the wide-angle intra-frame prediction mode.

[0542] 15. The method described in Clause 6, wherein the rule specifies that self-decoding is enabled due to the use of wide-angle intra-frame prediction mode.

[0543] 16. The method according to Clause 6, wherein the encoding / decoding mode is defined based on whether an upper or left sample is involved during intra-frame prediction of the current video block.

[0544] 17. The method according to Clause 16, wherein the intra-frame prediction includes an angular intra-frame prediction mode.

[0545] 18. The method according to Clause 6, wherein the encoding / decoding mode corresponds to the height or width of the current video block or the shape of the current video block.

[0546] 19. The method described in Clause 18, wherein the rule specifies that the self-decoding mode is disabled because the current video block has a non-square shape.

[0547] The following terms may be implemented together with the additional technologies described in the items listed in the previous chapters (e.g., item 5).

[0548] 20. A video processing method, comprising: during a conversion between a current video block and a codec representation of the current video block, determining, based on a rule, whether to apply a self-codec mode to the current video block, the rule using components of the current video block; and performing the conversion based on the determination.

[0549] 21. The method described in Clause 20, wherein the rule specifies that the self-decoding mode is enabled because the current video block is a luma block.

[0550] 22. The method described in Clause 20, wherein the rule specifies that the self-decoding mode is disabled because the current video block is a chroma block.

[0551] The following solutions can be implemented together with the additional techniques described in the projects listed in previous chapters (e.g., Project 6).

[0552] 23. A video processing method, comprising: during a conversion between a current video block and a codec representation of the current video block, determining, based on rules, to apply multiple auto-decoding modes to the current video block; and performing the conversion using the result of applying the multiple auto-decoding modes.

[0553] 24. The method according to Clause 23, wherein the plurality of self-encoding / decoding modes include encoding / decoding modes based on filtered or unfiltered left neighbor samples.

[0554] 25. The method according to Clause 23, wherein the plurality of self-encoding / decoding modes include encoding / decoding modes based on filtered or unfiltered upper neighbor samples.

[0555] 26. The method described in accordance with any of the provisions of Clauses 23-25, wherein the rule is based on codec information including the dimensions of the current video block or the shape of the current video block or the ratio of the height to the width of the current video block or a signaling notification flag in the codec representation.

[0556] 27. The method described in accordance with any of the foregoing provisions, wherein the self-coding / decoding mode includes a location-dependent intra-prediction combination (PDPC) mode.

[0557] 28. The method described under any of the provisions 1 to 27, wherein the conversion includes encoding the video into a codec representation.

[0558] 29. The method according to any one of the provisions 1 to 27, wherein the conversion includes decoding the codec representation to generate pixel values ​​of the video.

[0559] 30. A video decoding apparatus, comprising a processor configured to implement one or more of the methods described in claims 1 to 27.

[0560] 31. A video encoding apparatus, comprising a processor configured to implement one or more of the methods described in claims 1 to 27.

[0561] 32. A computer program product having computer code stored thereon, which, when executed by a processor, causes the processor to perform the methods described in accordance with any one of the provisions of 1 to 27.

[0562] 33. The methods, apparatus or systems described in this document.

[0563] The second set of clauses describes certain features and aspects of the disclosed technology in the previous chapters (e.g., Example Implementation 1).

[0564] 1. A video processing method (e.g., Figure 13 The method 1300 shown includes: deriving (1302) a weighting factor for neighboring samples of a current video block of a video according to a rule; and performing (1304) a conversion between the current video block and the codec representation of the video, wherein the rule specifies that, when the current video block is encoded and decoded using a planar mode or a DC mode, the weighting factor is determined by at least one of the dimension of the current video block or the position of the samples of the current video block, wherein the current video block uses a position-dependent intra-frame prediction (PDPC) method that combines the neighboring samples with the prediction signal of the current video block to generate a refined prediction signal of the current video block, and wherein the weighting factor of the prediction signal of the sample is determined based on the weighting factor of the corresponding neighboring samples of the sample.

[0565] 2. According to the method described in Clause 1, the rule stipulates that for a sample point location (x, y), the weighting factor for the upper neighboring sample points is wT[y] = N1 >> ((y <<N2)> >nScale), where nScale=((Log2(W)+Log2(H)–N3)>>N4), and where N1, N2, N3 and N4 are non-negative integers.

[0566] 3. The method according to Clause 2, wherein the upper neighboring sample points include the position (x, -1).

[0567] 4. According to the method described in Clause 1, wherein the rule stipulates that for a sample point location (x, y), the weighting factor of the left neighboring sample point is wL[x] = N1 >> ((x <<N2)> >nScale), where nScale=((Log2(W)+Log2(H)–N3)>>N4), and N1, N2, N3 and N4 are non-negative integers.

[0568] 5. The method according to Clause 4, wherein the left neighboring sample includes the position (-1, y).

[0569] 6. The method described in Clause 1, wherein the rule stipulates that for sample location (x,y), the weighting factor of the upper left neighboring sample is zero.

[0570] 7. The method described in Clause 6, wherein the position of the upper left neighboring sample point is (-1, -1).

[0571] 8. The method described in accordance with any of the provisions 2 to 5, wherein N1 = 32, N2 = 1, N3 = 2 or N4 = 2.

[0572] 9. The method described under any of the provisions 1 to 8, wherein the performance of the conversion includes generating a codec representation from the current video block.

[0573] 10. The method according to any one of the provisions 1 to 8, wherein the performance of the conversion includes generating the current video block from the codec representation.

[0574] 11. A video processing apparatus, comprising a processor configured to implement the method described in any one or more of clauses 1 to 10.

[0575] 12. A computer-readable medium storing program code that, when executed, causes a processor to perform the method described in any one or more of clauses 1 to 10.

[0576] The disclosed and other solutions, examples, embodiments, modules, and functional operations described in this document can be implemented in digital electronic circuits or computer software, firmware, or hardware, including the structures disclosed in this document and their structural equivalents, or combinations thereof. The disclosed embodiments and other embodiments can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer-readable medium for execution by a data processing apparatus or for controlling the operation of the data processing apparatus. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a material composition that influences machine-readable propagated signals, or combinations thereof. The term "data processing apparatus" encompasses 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 also include code that creates an execution environment for the computer program under consideration, such as code constituting processor firmware, a protocol stack, a database management system, an operating system, or combinations thereof. The propagated signals are artificially generated signals, such as machine-generated electrical, optical, or electromagnetic signals, which are generated to encode information for transmission to a suitable receiver device.

[0577] 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 suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to that program, or in multiple coordinating files (e.g., a file storing one or more modules, subroutines, or code portions). Computer programs can be deployed to execute on one or more computers located at a single site or distributed across multiple sites and interconnected via a communication network.

[0578] The processes and logic flows described in this specification can be executed by one or more programmable processors executing one or more computer programs, thereby performing functions by manipulating input data and generating outputs. These processes and logic flows can also be executed by dedicated logic circuitry, and the apparatus can be implemented as dedicated logic circuitry, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits).

[0579] 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. Generally, a processor receives instructions and data from read-only memory or random access memory, or both. The basic components of a computer are a processor that executes instructions and one or more storage devices that store the instructions and data. Typically, a computer will also include one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks, or operatively coupled to receive data from or transfer data to one or more mass storage devices, or both. However, a computer does not necessarily have such devices. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROMs and DVD-ROMs. The processor and memory may be supplemented by or incorporated into special-purpose logic circuitry.

[0580] While this patent document contains numerous details, it should not be construed as limiting any subject matter or scope of the claims, but rather as a description of specific features of particular embodiments of a particular technology. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments. Furthermore, while certain features may be described above as functioning in certain combinations and even initially claimed in this manner, one or more features from the claimed combination may be removed from that combination in certain circumstances, and the claimed combination may involve sub-combinations or variations thereof.

[0581] Similarly, although the operations are shown in a specific order in the accompanying drawings, this should not be construed as requiring such operations to be performed in a sequential order or in the specific order shown, or as requiring all of the shown operations to achieve the desired result. Furthermore, the division of various system components in the embodiments described in this patent document should not be construed as requiring such division in all embodiments.

[0582] Only a few implementation methods and examples have been described. Other implementation methods, enhancements and variations can be made based on the content described and illustrated in this patent document.

Claims

1. A video processing method, comprising: For the conversion between the current video block and the bitstream of the video, predictive samples of the current video block are generated. The modified prediction samples for the current video block are generated using position-dependent intra-frame prediction sample filtering. The transformation is performed based on the modified predicted samples. In the filtering process, at least one neighboring sample and a first predicted sample of the current video block are combined to generate a modified first predicted sample based on the weighting factor of the first predicted sample and at least one weighting factor of the at least one neighboring sample. Specifically, when the current video block is encoded using one of INTRA_ANGULAR18, INTRA_ANGULAR50, planar mode, or DC mode, and the width of the current video block is greater than or equal to 4, the height of the current video block is greater than or equal to 4, the reference line index is equal to 0, and the block-based differential pulse codec modulation (Bdpcm) flag is equal to 0, the filtering process is allowed on the current video block, and at least one weighting factor of the at least one neighboring sample is determined only from the dimension of the current video block and the position of the first predicted sample. Specifically, when encoding and decoding the current video block using an intra-prediction mode greater than INTRA_ANGULAR50 and less than INTRA_LT_CCLM, or using an intra-prediction mode less than INTRA_ANGULAR18 and neither equal to planar mode nor equal to DC mode, wherein the current video block has a width greater than or equal to 4, a height greater than or equal to 4, a reference line index equal to 0, and a block-based differential pulse codec modulation (Bdpcm) flag equal to 0, the filtering process is allowed on the current video block, and at least one weighting factor of the at least one neighboring sample is determined not only from the dimension of the current video block and the position of the first predicted sample, but also... Specifically, when encoding and decoding the current video block using an intra-prediction mode greater than INTRA_ANGULAR18 and less than INTRA_ANGULAR50, the filtering process is not allowed on the current video block. Specifically, when the current video block is encoded and decoded using DC mode, the weighting factor of the upper left neighboring sample point is zero for the position (x, y) of the first predicted sample point.

2. The method according to claim 1, wherein, The dimensions of the current video block include its width and height.

3. The method according to claim 1, wherein, When encoding the current video block using one of INTRA_ANGULAR18, planar mode, or DC mode, for the position (x, y) of the first predicted sample, the weighting factor of the neighboring sample above the at least one neighboring sample is wT[y] = N1>>((y<<N2)> >nScale), Where, nScale = ((Log2(W) + Log2(H) – N3) >> N4), Where W represents the width of the current video block, Where H represents the height of the current video block, and Where N1, N2, N3 and N4 are non-negative integers.

4. The method according to claim 3, wherein, The adjacent sample point above is the sample point located at position (x, -1).

5. The method according to claim 3, wherein, When encoding the current video block using one of INTRA_ANGULAR50, planar mode, or DC mode, for the position (x, y) of the first predicted sample, the weighting factor of the left neighbor sample of the at least one neighbor sample is wL[x] = N1>>((x<<N2)> >nScale).

6. The method according to claim 5, wherein, The left neighboring sample point is the sample point located at position (-1, y).

7. The method according to claim 5, wherein, N1 = 32, N2 = 1, N3 = 2, or N4 = 2.

8. The method according to claim 1, wherein, When encoding and decoding the current video block using an intra-prediction mode greater than INTRA_ANGULAR50, or using an intra-prediction mode less than INTRA_ANGULAR18 that is neither equal to planar mode nor equal to DC mode, at least one weighting factor of the at least one neighboring sample is further determined based on the invAngle variable, wherein the invAngle variable is determined based on the intra-prediction mode.

9. The method according to claim 8, wherein, When encoding and decoding the current video block using an intra-prediction mode greater than INTRA_ANGULAR50, at least one weighting factor for the at least one neighboring sample is determined according to Min(2,Log2(H)-Floor(Log2(3*invAngle-2))+8). Where Floor(x) specifies the largest integer less than or equal to x, and Where H represents the height of the current video block.

10. The method according to claim 8, wherein, When encoding and decoding the current video block using an intra-prediction mode that is less than INTRA_ANGULAR18 and is neither equal to planar mode nor DC mode, at least one weighting factor for the at least one neighboring sample is determined according to Min(2,Log2(W)-Floor(Log2(3*invAngle-2))+8). Where Floor(x) specifies the largest integer less than or equal to x, and Where W represents the width of the current video block.

11. The method according to claim 1, wherein, The conversion includes encoding the current video block into the bitstream.

12. The method according to claim 1, wherein, The conversion includes decoding the current video block from the bitstream.

13. An apparatus for processing video data, comprising a processor and a non-transitory memory having instructions thereon, wherein, When the instruction is executed by the processor, the processor: For the conversion between the current video block and the bitstream of the video, predictive samples of the current video block are generated. The modified prediction samples for the current video block are generated using position-dependent intra-frame prediction sample filtering. The transformation is performed based on the modified predicted samples. In the filtering process, at least one neighboring sample and a first predicted sample of the current video block are combined to generate a modified first predicted sample based on the weighting factor of the first predicted sample and at least one weighting factor of the at least one neighboring sample. Specifically, when the current video block is encoded using one of INTRA_ANGULAR18, INTRA_ANGULAR50, planar mode, or DC mode, and the width of the current video block is greater than or equal to 4, the height of the current video block is greater than or equal to 4, the reference line index is equal to 0, and the block-based differential pulse codec modulation (Bdpcm) flag is equal to 0, the filtering process is allowed on the current video block, and at least one weighting factor of the at least one neighboring sample is determined only from the dimension of the current video block and the position of the first predicted sample. Specifically, when encoding and decoding the current video block using an intra-prediction mode greater than INTRA_ANGULAR50 and less than INTRA_LT_CCLM, or using an intra-prediction mode less than INTRA_ANGULAR18 and neither equal to planar mode nor equal to DC mode, wherein the current video block has a width greater than or equal to 4, a height greater than or equal to 4, a reference line index equal to 0, and a block-based differential pulse codec modulation (Bdpcm) flag equal to 0, the filtering process is allowed on the current video block, and at least one weighting factor of the at least one neighboring sample is determined not only from the dimension of the current video block and the position of the first predicted sample, but also... Specifically, when encoding and decoding the current video block using an intra-prediction mode greater than INTRA_ANGULAR18 and less than INTRA_ANGULAR50, the filtering process is not allowed on the current video block. Specifically, when the current video block is encoded and decoded using DC mode, the weighting factor of the upper left neighboring sample point is zero for the position (x, y) of the first predicted sample point.

14. The apparatus according to claim 13, wherein, The dimensions of the current video block include its width and height.

15. The apparatus according to claim 13, wherein, When encoding the current video block using one of INTRA_ANGULAR18, planar mode, or DC mode, for the position (x, y) of the first predicted sample, the weighting factor of the neighboring sample above the at least one neighboring sample is wT[y] = N1>>((y<<N2)> >nScale), Where, nScale = ((Log2(W) + Log2(H) – N3) >> N4), Where W represents the width of the current video block, Where H represents the height of the current video block, and Where N1, N2, N3 and N4 are non-negative integers.

16. The apparatus according to claim 15, wherein, The adjacent sample point above is the sample point located at position (x, -1).

17. The apparatus according to claim 15, wherein, When encoding the current video block using one of INTRA_ANGULAR50, planar mode, or DC mode, for the position (x, y) of the first predicted sample, the weighting factor of the left neighbor sample of the at least one neighbor sample is wL[x] = N1>>((x<<N2)> >nScale).

18. The apparatus according to claim 17, wherein, The left neighboring sample point is the sample point located at position (-1, y).

19. The apparatus according to claim 17, wherein, N1 = 32, N2 = 1, N3 = 2, or N4 = 2.

20. A non-transitory computer-readable storage medium for storing instructions, said instructions causing a processor to: For the conversion between the current video block and the bitstream of the video, predictive samples of the current video block are generated. The modified prediction samples for the current video block are generated using position-dependent intra-frame prediction sample filtering. The transformation is performed based on the modified predicted samples. in, In the filtering process, at least one neighboring sample and a first predicted sample of the current video block are combined to generate a modified first predicted sample based on the weighting factor of the first predicted sample and at least one weighting factor of the at least one neighboring sample. Specifically, when the current video block is encoded using one of INTRA_ANGULAR18, INTRA_ANGULAR50, planar mode, or DC mode, and the width of the current video block is greater than or equal to 4, the height of the current video block is greater than or equal to 4, the reference line index is equal to 0, and the block-based differential pulse codec modulation (Bdpcm) flag is equal to 0, the filtering process is allowed on the current video block, and at least one weighting factor of the at least one neighboring sample is determined only from the dimension of the current video block and the position of the first predicted sample. Specifically, when encoding and decoding the current video block using an intra-prediction mode greater than INTRA_ANGULAR50 and less than INTRA_LT_CCLM, or using an intra-prediction mode less than INTRA_ANGULAR18 and neither equal to planar mode nor equal to DC mode, wherein the current video block has a width greater than or equal to 4, a height greater than or equal to 4, a reference line index equal to 0, and a block-based differential pulse codec modulation (Bdpcm) flag equal to 0, the filtering process is allowed on the current video block, and at least one weighting factor of the at least one neighboring sample is determined not only from the dimension of the current video block and the position of the first predicted sample, but also... Specifically, when encoding and decoding the current video block using an intra-prediction mode greater than INTRA_ANGULAR18 and less than INTRA_ANGULAR50, the filtering process is not allowed on the current video block. Specifically, when the current video block is encoded and decoded using DC mode, the weighting factor of the upper left neighboring sample point is zero for the position (x, y) of the first predicted sample point.

21. A method for storing a video bitstream, comprising: Generate prediction samples for the current video block of the video. The modified prediction samples for the current video block are generated using position-related intra-frame prediction sample filtering. The bitstream is generated based on the modified prediction samples, and The bitstream is stored in a non-transitory computer-readable recording medium. In the filtering process, at least one neighboring sample and a first predicted sample of the current video block are combined to generate a modified first predicted sample based on the weighting factor of the first predicted sample and at least one weighting factor of the at least one neighboring sample. Specifically, when the current video block is encoded using one of INTRA_ANGULAR18, INTRA_ANGULAR50, planar mode, or DC mode, and the width of the current video block is greater than or equal to 4, the height of the current video block is greater than or equal to 4, the reference line index is equal to 0, and the block-based differential pulse codec modulation (Bdpcm) flag is equal to 0, the filtering process is allowed on the current video block, and at least one weighting factor of the at least one neighboring sample is determined only from the dimension of the current video block and the position of the first predicted sample. Specifically, when encoding and decoding the current video block using an intra-prediction mode greater than INTRA_ANGULAR50 and less than INTRA_LT_CCLM, or using an intra-prediction mode less than INTRA_ANGULAR18 and neither equal to planar mode nor equal to DC mode, wherein the current video block has a width greater than or equal to 4, a height greater than or equal to 4, a reference line index equal to 0, and a block-based differential pulse codec modulation (Bdpcm) flag equal to 0, the filtering process is allowed on the current video block, and at least one weighting factor of the at least one neighboring sample is determined not only from the dimension of the current video block and the position of the first predicted sample, but also... Specifically, when encoding and decoding the current video block using an intra-prediction mode greater than INTRA_ANGULAR18 and less than INTRA_ANGULAR50, the filtering process is not allowed on the current video block. Specifically, when the current video block is encoded and decoded using DC mode, the weighting factor of the upper left neighboring sample point is zero for the position (x, y) of the first predicted sample point.

22. A video processing apparatus comprising a processor configured to implement the method according to any one of claims 8 to 12.

23. A computer-readable medium storing program code that, when executed, causes a processor to perform the method according to any one of claims 2 to 12.

Citation Information

Patent Citations

  • Intra-frame prediction method

    CN101820546A

  • Method and apparatus of video coding

    CN108702515A