Video decoding method, video encoding method, and related device

CN115866263BActive Publication Date: 2026-08-11VIVO MOBILE COMM CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-24
Publication Date
2026-08-11

AI Technical Summary

Technical Problem

由于编码块内部的纹理变化不是呈线性分布,无法获得准确的第二参考像素点,导致输出的像素预测值准确度较低

Benefits of technology

[0030]本申请实施例通过设置第一预设条件限制使用PDPC的场景,仅针对不满足第一预设条件的编码单元可以使用PDPC方法获取编码单元内各像素点的像素预测值。这样,可以降低不适用PDPC的编码单元输出的像素预测值的不准确性,从而提高整体像素预测值的准确度。此外,对于不适用PDPC的编码单元不进行PDPC方法计算,从而可以减少解码端的冗余计算。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115866263B_ABST
    Figure CN115866263B_ABST
Patent Text Reader

Abstract

This application discloses a video decoding method, a video encoding method, and related equipment, belonging to the field of video processing technology. The video decoding method of this application includes: when the decoding end determines that the target information does not meet a first preset condition, using the Position Correlated Prediction Combination (PDPC) method to obtain the first pixel prediction value of each pixel point within the encoding unit to be decoded, wherein the target information includes information for determining whether to use the PDPC method to obtain the pixel prediction value; the decoding end decodes the encoding unit based on the first pixel prediction value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of video processing technology, and in particular relates to a video decoding method, a video encoding method, and related equipment. Background Technology

[0002] With the development of video encoding and decoding technology, position-dependent intra-prediction combination (PDPC) calculations are typically performed on all intra-prediction modes during video decoding. For example, firstly, intra-prediction algorithms are used to obtain pixel prediction values ​​for the coded block to be decoded. Then, PDPC is used to optimize these pixel prediction values. During optimization, a second reference pixel needs to be obtained that is on the same straight line as the first reference pixel in a specified prediction direction. Then, the pixel prediction values ​​for each pixel within the current coded block are derived by combining these two reference pixels. However, because the texture variations within the coded block are not linearly distributed, an accurate second reference pixel cannot be obtained, resulting in low accuracy of the output pixel prediction values. Summary of the Invention

[0003] This application provides a video decoding method, a video encoding method, and related equipment, which can improve the accuracy of pixel prediction values.

[0004] Firstly, a video decoding method is provided, including:

[0005] If the decoding end determines that the target information does not meet the first preset condition, it uses the position-related prediction combined (PDPC) method to obtain the first pixel prediction value of each pixel in the coding unit to be decoded. The target information includes information for determining whether to use the PDPC method to obtain the pixel prediction value.

[0006] The decoding end decodes the encoding unit based on the first pixel prediction value.

[0007] Secondly, a video encoding method is provided, including:

[0008] The encoding end determines the encoding unit of the video to be encoded;

[0009] The encoding end encodes the encoding unit to obtain the target bitstream;

[0010] The target bitstream includes offset information, which is used to indicate the offset value. The offset value is used to determine the threshold value of the target interval range in the first preset condition. The first preset condition is a trigger condition for obtaining pixel prediction values ​​without using the position-related prediction combined PDPC method.

[0011] Thirdly, a video decoding device is provided, comprising:

[0012] The acquisition module is used to acquire the first pixel prediction value of each pixel in the coding unit to be decoded by using the position-related prediction combination (PDPC) method when the target information does not meet the first preset condition. The target information includes information for determining whether to use the PDPC method to acquire pixel prediction values.

[0013] The first determining module is used to decode the encoding unit based on the first pixel prediction value.

[0014] Fourthly, a video encoding apparatus is provided, comprising:

[0015] The second determining module is used to determine the encoding unit of the video to be encoded.

[0016] The encoding module is used to encode the encoding unit to obtain the target bitstream;

[0017] The target bitstream includes offset information, which is used to indicate the offset value. The offset value is used to determine the threshold value of the target interval range in the first preset condition. The first preset condition is a trigger condition for obtaining pixel prediction values ​​without using the position-related prediction combined PDPC method.

[0018] Fifthly, an electronic device is provided, comprising a processor, a memory, and a program or instructions stored in the memory and executable on the processor, wherein the program or instructions, when executed by the processor, implement the steps of the method described in the first aspect, or implement the steps of the method described in the second aspect.

[0019] Sixthly, an electronic device is provided, including a processor and a communication interface, wherein,

[0020] The processor is used to perform the following operations:

[0021] If the target information does not meet the first preset condition, the position-related prediction combined with the PDPC method is used to obtain the first pixel prediction value of each pixel in the coding unit to be decoded. The target information includes information for determining whether to use the PDPC method to obtain the pixel prediction value.

[0022] The encoding unit is decoded based on the first pixel prediction value.

[0023] Alternatively, the processor may be used to perform the following operations:

[0024] Determine the encoding units of the video to be encoded;

[0025] The encoding unit is encoded to obtain the target bitstream;

[0026] The target bitstream includes offset information, which is used to indicate the offset value. The offset value is used to determine the threshold value of the target interval range in the first preset condition. The first preset condition is a trigger condition for obtaining pixel prediction values ​​without using the position-related prediction combined PDPC method.

[0027] In a seventh aspect, a readable storage medium is provided, on which a program or instructions are stored, which, when executed by a processor, implement the steps of the method described in the first aspect, or implement the steps of the method described in the second aspect.

[0028] Eighthly, embodiments of this application provide a chip, the chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor being used to run programs or instructions to implement the steps of the method described in the first aspect, or to implement the steps of the method described in the second aspect.

[0029] A ninth aspect provides a computer program / program product stored in a non-transient storage medium, the computer program / program product being executed by at least one processor to implement the method as described in the first aspect, or to implement the method as described in the second aspect.

[0030] This application embodiment restricts the use of PDPC by setting a first preset condition. PDPC is only used to obtain pixel prediction values ​​for each pixel within an encoding unit that does not meet the first preset condition. This reduces the inaccuracy of pixel prediction values ​​output by encoding units that do not use PDPC, thereby improving the overall accuracy of pixel prediction values. Furthermore, PDPC calculations are not performed on encoding units that do not use PDPC, thus reducing redundant calculations at the decoding end. Attached Figure Description

[0031] Figure 1 This is a structural diagram of a network system that can be applied to the embodiments of this application;

[0032] Figure 2 This is an example diagram illustrating the definition of reference pixels during the decoding process in an embodiment of this application;

[0033] Figure 3 This is an example diagram illustrating the definition of angle mode values ​​for different gradient directions in embodiments of this application;

[0034] Figure 4 This is an example diagram of PDPC prediction for angle prediction modes in non-vertical and non-horizontal directions during the decoding process of this application embodiment;

[0035] Figure 5This is a flowchart of a video decoding method provided in an embodiment of this application;

[0036] Figure 6 This is a flowchart of a video encoding method provided in an embodiment of this application;

[0037] Figure 7 This is a structural diagram of a video decoding device provided in an embodiment of this application;

[0038] Figure 8 This is a structural diagram of a video encoding device provided in an embodiment of this application;

[0039] Figure 9 This is a structural diagram of a communication device provided in an embodiment of this application;

[0040] Figure 10 This is a structural diagram of an electronic device provided in an embodiment of this application. Detailed Implementation

[0041] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.

[0042] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same class, not limited in number; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.

[0043] It is worth noting that the technologies described in this application are not limited to Long Term Evolution (LTE) / LTE-Advanced (LTE-A) systems, but can also be used in other wireless communication systems, such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access (OFDMA), Single-carrier Frequency-Division Multiple Access (SC-FDMA), and other systems. The terms "system" and "network" in this application are often used interchangeably, and the described technologies can be used in the systems and radio technologies mentioned above, as well as in other systems and radio technologies. The following description describes New Radio (NR) systems for illustrative purposes, and NR terminology is used in most of the following description. These technologies can also be applied to applications beyond NR systems, such as 6th Generation (6G) communication systems.

[0044] Figure 1This diagram illustrates a block diagram of a wireless communication system applicable to embodiments of this application. The wireless communication system includes a terminal 11 and a network-side device 12. The terminal 11 can be a mobile phone, tablet computer, laptop computer, personal digital assistant (PDA), handheld computer, netbook, ultra-mobile personal computer (UMPC), mobile internet device (MID), augmented reality (AR) / virtual reality (VR) device, extended reality (XR) device, robot, wearable device, vehicle-mounted device (VUE), pedestrian terminal (PUE), smart home (home appliances with wireless communication capabilities, such as refrigerators, televisions, washing machines, or furniture), etc. Wearable devices include: smartwatches, smart bracelets, smart headphones, smart glasses, smart jewelry (smart bracelets, smart chains, smart rings, smart necklaces, smart anklets, smart anklets, etc.), smart wristbands, smart clothing, game consoles, etc. It should be noted that the specific type of terminal 11 is not limited in this application embodiment. The network-side device 12 can be a base station or a core network device. The base station can be referred to as a node B, evolved node B, access point, base transceiver station (BTS), radio base station, radio transceiver, basic service set (BSS), extended service set (ESS), B node, evolved B node (eNB), home B node, home evolved B node, WLAN access point, WiFi node, transmitting and receiving point (TRP), or any other suitable term in the field. As long as the same technical effect is achieved, the base station is not limited to specific technical terms. It should be noted that this application embodiment only uses a base station in an NR system as an example, but does not limit the specific type of base station.

[0045] For ease of understanding, the following describes some aspects of the embodiments of this application:

[0046] In real-world scenarios, uncompressed digital video requires a very high bitrate. For example, 1080p video with 8 bits per sample, captured at 60Hz in 4:2:0 format, requires nearly 1.5 gigabits per second of bandwidth, and a one-hour video would require 600 gigabytes of storage. However, these videos contain a significant amount of redundant information; each frame has spatial redundancy, and there is temporal redundancy between frames. The purpose of video encoding and decoding is to reduce the redundancy of the input video signal by compressing the video data.

[0047] In the framework of a 2D video encoder, the video sequence is first divided into many frames. Each frame is then divided into blocks called Coding Tree Units (CTUs), and each CTU is further subdivided into Coding Units (CUs). Next, prediction is performed on the CU blocks. There are two prediction strategies for each block: intra-frame prediction and inter-frame prediction. Inter-frame prediction involves referencing information from previous and / or subsequent frames for encoding, while intra-frame prediction only references information from already encoded blocks within the current frame. Different prediction and coding strategies are selected based on the specific circumstances. After prediction and encoding of the current image block, the predicted pixels are subtracted from the original pixels to obtain a residual image block. This residual image block is then transformed, quantized, dequantized, and inverse transformed before rate-distortion optimization is performed to calculate the prediction method with the lowest cost. Then, the data from the predictive coding method and the quantized residual image block data are entropy-coded together and written into the bitstream. At the same time, the residual image block after inverse transformation and the image block after predictive coding are added together to form a reconstructed image block. Then, a loop filtering operation is performed on the reconstructed image block. The information generated during the loop filtering is also entropy-coded and written into the bitstream.

[0048] In intra-frame prediction mode, the decoder-side Intra Mode Derivation (DIMD) method first calculates the histograms of each texture direction for the reference pixels to the left and top of the current coding block. The amplitude of each texture direction is then calculated, and the amplitudes of different texture directions are summed to obtain the cumulative amplitude for that texture direction. Finally, the angles corresponding to the two texture directions with the largest cumulative amplitudes in the texture direction histogram are used as the pixel prediction values ​​for the current coding block. The specific process is as follows:

[0049] 1. Use the Sobel algorithm to calculate the gradient values ​​of the reference pixels on the left and top, and then calculate the corresponding angle prediction value based on the gradient values.

[0050] Optionally, such as Figure 2 As shown in the figure, the small circles to the left and above the current block are reference pixels, and the dashed boxes are the areas where the Sobel algorithm is performed, i.e., the reference pixel blocks.

[0051] The Soble operator consists of two 3x3 matrices, one horizontal and one vertical. Convolving these matrices with a reference pixel block yields approximate brightness differences in the horizontal and vertical directions. Let A represent the image, and Gx and Gy represent the grayscale values ​​of the image after horizontal and vertical edge detection, respectively. The calculation formulas are as follows:

[0052]

[0053]

[0054] Then calculate the gradient direction using the following formula: Here, Θ represents the gradient direction calculated by the Sobel algorithm. The amplitude corresponding to this gradient direction is then calculated as: |G(x,y)|=|Gx|+|Gy|.

[0055] 2. Locate the corresponding angle pattern based on the gradient direction and accumulate and record the amplitude corresponding to the angle pattern. Record the angle pattern with the largest accumulated amplitude as dimd1, and the angle pattern with the second largest accumulated amplitude as dimd2. The angle pattern values ​​corresponding to different gradient directions are as follows: Figure 3 As shown.

[0056] Intra-prediction modes include DC, Planar, and Angular modes. Versatile Video Coding (VVC) uses 67 intra-prediction modes and introduces the PDPC method to improve the coding efficiency of these 67 intra-prediction modes. If the current coding block uses the PDPC mode, after obtaining the pixel prediction values ​​for each of the 67 intra-prediction modes, the corresponding PDPC method for each mode is used to update the prediction values.

[0057] For DC mode and Planar mode:

[0058] Pred[x,y]=val+((wL*(left[y]-val)+wT*(top[x]-val)+32)>>6);

[0059] Where val is the result of prediction in DC and planar modes, top[x] is the reference pixel above the current prediction point, left[y] is the reference pixel to the left of the current prediction point, wL=32>>min(31,((x<<1)>>scale)), where x is the x-coordinate of the current prediction point, scale=((Log2(width)-2+Log2(height)-2+2)>>2); where width is the width of the current CU block, and height is the height of the current CU block.

[0060] For angle prediction mode:

[0061] For the vertical direction: Pred[x,y]=val+((wL*(left-topLeft)+32)>>6); where val represents the predicted value of the current angle, left represents the reference pixel to the left of the current sample, and topleft represents the first reference pixel at the top of the current sample;

[0062] For the horizontal direction: Pred[x,y]=val+((wT*(top-topLeft)+32)>>6); where val represents the predicted value of the current angle, wT=32>>(2*y>>scale), top represents the reference pixel at the top of the current sample, and topleft represents the first reference pixel on the left side of the current sample;

[0063] For non-vertical and non-horizontal directions: Pred[x,y]=val+((wL*(left–val)+32)>>6);

[0064] scale=min(2,log2(sideSize)–log2(3*absInvAngle-2)-8);

[0065] sideSize=isModeVer? height:width;

[0066] absInvAngle=invAngTable[absAngMode];

[0067] invAngTable

[32] ={

[0068] 0,16384,8192,5461,4096,2731,2048,1638,1365,1170,1024,910,819,712,630,565,512,468,420,364,321,287,256,224,191,161,128,96,64,48,32,16};

[0069] absAngMode=abs(intraPredAngleMode);

[0070] intraPredAngleMode=isModeVer? predMode-VER_IDx:-(predMode-HOR_IDx);

[0071] isModeVer=(predMode>=DIA_IDx);

[0072] predMode refers to the current prediction angle mode. The DIA_IDx value is 34, the VER_IDx value is 50, the HOR_IDx value is 18, and isModeVer indicates whether the current mode uses the reference pixels above for prediction.

[0073] The PDPC principle for non-vertical and non-horizontal angle prediction modes is as follows:

[0074] When the prediction direction is greater than 50 (i.e., vertical), a pixel is found among the reference pixels to the left along the current prediction direction, and its weight is determined by its distance from the pixel above; the closer the pixel is to the reference pixel above, the greater its weight. When the prediction direction is less than 18 (i.e., horizontal), a pixel is found among the reference pixels above along the current prediction direction, and its weight is determined by its distance from the reference pixel to the left; the closer the pixel is to the reference pixel to the left, the greater its weight.

[0075] like Figure 4 As shown, taking an intra-frame prediction mode value of 66 as an example: pred(x,y) is the pixel to be predicted. Since the current prediction direction is diagonally upward, after the angle prediction mode, pred(x,y) will use the left reference pixel R(-1,y) as the predicted pixel to obtain the predicted pixel block; after PDPC calculation, it will use R(x,-1) as the prediction point to fit and update the predicted pixel block again. pred(x,y) uses different weights for fitting based on the different distances from R(-1,y) and R(x,-1).

[0076] The PDPC method, which uses non-vertical and non-horizontal angle prediction modes, can significantly improve coding performance when the texture distribution within the current coding block is linear and the texture pixels change uniformly. However, it does not consider the direction of the texture information within the current coding block. If the internal texture direction is curved, PDPC cannot accurately find the second reference pixel. If PDPC is still used, it will increase the encoding and decoding complexity and waste computational resources.

[0077] The video decoding method provided in this application will be described in detail below with reference to the accompanying drawings and through some embodiments and application scenarios.

[0078] Please see Figure 5 , Figure 5 This is a flowchart of a video decoding method provided in an embodiment of this application, such as... Figure 5 As shown, it includes the following steps:

[0079] Step 501: If the decoding end determines that the target information does not meet the first preset condition, it uses the position-related prediction combination (PDPC) method to obtain the first pixel prediction value of each pixel in the coding unit to be decoded. The target information includes information for determining whether to use the PDPC method to obtain the pixel prediction value.

[0080] In this embodiment, the decoding end and encoding end can be understood as the terminals in the above embodiments. The decoding end and encoding end can be the same terminal or different terminals, without further limitation. The estimated area can be determined based on the height value and other encoding information, which may include the number of columns of the encoding unit used to perform PDPC.

[0081] Optionally, the aforementioned first preset condition can be a trigger condition for obtaining pixel prediction values ​​without using the location-related prediction combined PDPC method. Specifically, the first preset condition can be determined based on the target information. The first preset condition may include one or more conditions. When the first preset condition includes multiple conditions, if one of the conditions is not met, the target information can be considered not to meet the first preset condition.

[0082] It should be understood that if the first preset condition is not met, it means that the encoding unit to be decoded can be applied to the PDPC method, that is, the PDPC method can be used to obtain the first pixel prediction value of each pixel in the encoding unit.

[0083] The decoding end uses the PDPC method to obtain the first pixel prediction value of each pixel in the coding unit to be decoded, which can be understood as follows: the decoding end first uses the intra-frame prediction algorithm to obtain the second pixel prediction value of each pixel in the coding unit, and then uses the PDPC method to optimize and correct the second pixel prediction value to obtain the first pixel prediction value.

[0084] Step 502: The decoding end decodes the encoding unit according to the first pixel prediction value.

[0085] In this embodiment of the application, the decoding end can decode the encoding unit based on the first pixel prediction value, which may include determining the reconstructed value of the encoding unit and the subsequent decoding process based on the first pixel prediction value and the target residual value. For details, please refer to the relevant technology, which will not be further described here.

[0086] Optionally, the target residual value is obtained by inverse quantization and inverse transformation based on the target residual information of the coding unit, and the target residual information is obtained from the target bitstream corresponding to the coding unit.

[0087] This application embodiment restricts the use of PDPC by setting a first preset condition. PDPC is only used to obtain pixel prediction values ​​for each pixel within an encoding unit that does not meet the first preset condition. This reduces the inaccuracy of pixel prediction values ​​output by encoding units that do not use PDPC, thereby improving the overall accuracy of pixel prediction values. Furthermore, PDPC calculations are not performed on encoding units that do not use PDPC, thus reducing redundant calculations at the decoding end.

[0088] Optionally, in some embodiments, the target information mentioned above includes at least one of the following: first information, decoder intra-mode derivation (DIMD) identifier information, template-based intra-mode derivation (TIMD) identifier information, height value of the coding unit, and estimated area of ​​the coding unit for performing the PDPC method. The first information includes at least two of the following: intra-prediction mode value, first texture direction value, and second texture direction value. The first texture direction value and the second texture direction value are texture direction values ​​of the reference pixel of the coding unit.

[0089] In this embodiment of the application, the first texture direction value and the second texture direction value can be understood as texture direction values ​​pointing to the reference pixels above and to the left of the encoding unit to be decoded. The first texture direction value can be a texture direction value pointing upward or to the left, and the second texture direction value can be a texture direction value pointing to the left or to the top. The first texture direction value and the second texture direction value are different.

[0090] It should be understood that the texture direction value mentioned in the embodiments of this application can be understood as the value corresponding to a certain texture direction, and the value corresponding to each texture direction can be as follows: Figure 4 As shown.

[0091] Optionally, in some embodiments, the first preset condition includes at least one of the following:

[0092] The intra-frame prediction mode value is greater than or equal to a first preset value, and the first texture direction value or the second texture direction value is within a first interval range;

[0093] The intra-frame prediction mode value is less than or equal to the second preset value, and the first texture direction value or the second texture direction value is within the second interval range;

[0094] One of the first texture direction value and the second texture direction value is located in the third interval range, and the other is located in the fourth interval range;

[0095] The intra-frame prediction mode value is located in the fifth interval range, and the first texture direction value or the second texture direction value is located in the sixth interval range.

[0096] The intra-frame prediction mode value is located in the seventh interval range, and the first texture direction value or the second texture direction value is located in the eighth interval range.

[0097] The TIMD identifier information is a first preset value;

[0098] The DIMD identifier information is a second preset value;

[0099] The height value falls within the ninth interval range;

[0100] The encoding unit is used to perform the estimated area of ​​PDPC within the tenth interval range;

[0101] Wherein, the first preset value is greater than the second preset value, and the minimum threshold of the fifth interval range is greater than the maximum threshold of the seventh interval range.

[0102] In this embodiment of the application, the aforementioned first preset value, second preset value, first interval range, second interval range, third interval range, fourth interval range, fifth interval range, sixth interval range, seventh interval range, eighth interval range, ninth interval range, and tenth interval range can be agreed upon by a protocol or indicated by the encoding end. For example, indication information can be carried in the target bitstream to indicate at least one of the first preset value, second preset value, first interval range, second interval range, third interval range, fourth interval range, fifth interval range, sixth interval range, seventh interval range, eighth interval range, ninth interval range, and tenth interval range.

[0103] It should be noted that the values ​​of the first and second preset values ​​can be set according to actual needs. For example, in one embodiment, the first and second preset values ​​are 1. Here, TIMD being 1 indicates that the TIMD method is used when the coding block performs intra-frame prediction, and 0 indicates that the TIMD method is not used. DIMD being 1 indicates that the DIMD method is used when the coding block performs intra-frame prediction, and 0 indicates that the DIMD method is not used.

[0104] Furthermore, in some embodiments, the method further includes:

[0105] The decoding end determines the target interval range based on the target object, wherein the target object includes the intra-prediction mode value, or the target object includes the intra-prediction mode value and the target offset value, the target offset value is used to represent the degree of deviation between the intra-prediction mode value and the texture direction value, and the target interval range includes at least one of the first interval range, the second interval range, the third interval range, the fourth interval range, the fifth interval range, the sixth interval range, the seventh interval range and the eighth interval range.

[0106] It should be noted that the aforementioned target offset value may include the offset values ​​corresponding to each interval range. The offset values ​​corresponding to the interval ranges may be the same or different, or partially the same and partially different. No further limitations are imposed here. This will be explained in detail in the following embodiments.

[0107] Optionally, the minimum threshold of the first interval range can be a third preset value or cur_mode-A+B1, and the maximum threshold can be a fourth preset value; the minimum threshold of the second interval range can be a fifth preset value, and the maximum threshold can be a sixth preset value or cur_mode+A+B1; wherein, cur_mode is the intra-frame prediction mode value, A is the first preset value, and B1 is the first offset value.

[0108] In this embodiment, the values ​​of the first, second, third, fourth, fifth, and sixth preset values ​​can be set according to actual needs. For example, in some embodiments, the first preset value is 50, the second preset value is 18, the third preset value is 26, the fourth and fifth preset values ​​are 34, and the sixth preset value is 42. It should be understood that in other embodiments, A can be replaced with other thresholds. Furthermore, A in the minimum threshold of the first interval range and A in the minimum threshold of the second interval range can be the same or different. For example, cur_mode-A+B1 can be replaced with cur_mode-A1+B1, cur_mode-A2+B1, where A1 and A2 represent preset thresholds, and A1 and A2 can be the same or different.

[0109] Optionally, B1 above represents the degree of deviation between the intra-frame prediction mode value and the texture direction value. Of course, in other embodiments, A and B1 can be defined as a whole, in which case the whole of A and B1 can be understood as the degree of deviation between the intra-frame prediction mode value and the texture direction value.

[0110] Optionally, the minimum threshold of the third interval range is a seventh preset value, and the maximum threshold is the sum of the seventh preset value and the second offset value; the minimum threshold of the fourth interval range is the difference between an eighth preset value and the third offset value, and the maximum threshold is the eighth preset value. The second offset value can be understood as the degree of deviation between the intra-frame prediction mode value and the texture direction value.

[0111] In this embodiment, the values ​​of the seventh and eighth preset values ​​can be set according to actual needs. For example, in some embodiments, the seventh preset value can be 50 and the eighth preset value can be 18. The third offset value can be understood as the degree of deviation between the intra-frame prediction mode value and the texture direction value.

[0112] Optionally, the minimum threshold of the fifth interval range and the eighth interval range is the ninth preset value, and the maximum threshold is the sum of the ninth preset value and the fourth offset value; the minimum value of the sixth interval range and the seventh interval range is the difference between the tenth preset value and the fifth offset value, and the maximum value is the tenth preset value.

[0113] In this embodiment, the values ​​of the ninth and tenth preset values ​​can be set according to actual needs. For example, in some embodiments, the ninth preset value can be 50 and the tenth preset value can be 18. It should be noted that, in other embodiments, the fifth and eighth interval ranges can be different ranges, and similarly, the sixth and seventh interval ranges can be different ranges. The fourth and fifth offset values ​​can be understood as the degree of deviation between the intra-frame prediction mode value and the texture direction value; the values ​​of the fourth and fifth offset values ​​can be the same or different.

[0114] It should be noted that if the first preset condition includes the presence of the TIMD identifier information in the target bitstream corresponding to the coding unit, then the presence of the TIMD identifier information in the target bitstream corresponding to the coding unit indicates that the coding unit is not suitable for performing PDPC. If the first preset condition includes the TIMD identifier information being a first preset value, then when the TIMD identifier information is the first preset value, it indicates that the coding unit is not suitable for performing PDPC. This first preset value can be understood as a flag value used to indicate the use of the TIMD method for intra-frame prediction, for example, 1. If the first preset condition includes the TIMD identifier information being a second preset value, then when the TIMD identifier information is the second preset value, it indicates that the coding unit is not suitable for performing PDPC. This second preset value can be understood as a flag value used to indicate the use of the DIMD method for intra-frame prediction, for example, 1.

[0115] It should be understood that the aforementioned target offset value can be agreed upon by the protocol or indicated by the encoding end. In some embodiments, when indicated by the encoding end, the decoding end needs to first obtain the target offset value. For example, when the target object includes the target offset value, the method further includes:

[0116] The decoding end obtains offset information from the target bitstream corresponding to the encoding unit, and the offset information is used to indicate the target offset value.

[0117] Optionally, the aforementioned offset information may specifically be an offset value, an index value of the offset value in the offset value set, and an identifier of the offset value. The index value indicates the position of the offset value in the same preset offset value set at both the encoding and decoding ends; the identifier of the offset value may indicate image type information. For example, an identifier of the first value indicates a first image type, using offset value 1; an identifier of the second value indicates a second image type, using offset value 2.

[0118] It should be noted that the encoding end can transmit a pre-set offset value to the decoding end through the target bitstream, or the encoding end can determine the offset value required for the video to be encoded and then transmit it to the decoding end through the target bitstream. Specifically, offset information can be additionally carried in the target bitstream to indicate the offset value used by the decoding end.

[0119] In some embodiments, the encoding end can determine the offset information based on the image information of the video to be encoded, wherein the image information includes at least one of image type and image content. The image type may include screen content type and natural image type; if it is screen content type, the offset value is the first value; if it is natural image type, the offset value is the second value.

[0120] It should be noted that when multiple offset values ​​need to be indicated, you can directly indicate the specific value of this set of offset values, or indicate the position index of this set of offset values ​​in the offset value set.

[0121] Optionally, if the first preset condition is met, the second pixel prediction value may not need to be corrected, or other optimization methods may be used to correct the second pixel prediction value. It should be understood that if the second pixel prediction value is not corrected, the reconstructed value of the coding unit can be directly determined based on the second pixel prediction value. For example, in some embodiments, the method further includes:

[0122] When the first preset condition is met, the decoding end decodes the encoding unit according to the second pixel prediction value, whereby the second pixel prediction value is the pixel prediction value obtained by performing intra-frame prediction on the encoding unit based on the intra-frame prediction mode corresponding to the intra-frame prediction mode value.

[0123] In this embodiment, the target information satisfying the first preset condition can be understood as all conditions included in the first preset condition being satisfied. For example, when the first preset condition includes condition A and condition B, if the target information does not satisfy any one of the conditions in condition A, or if the target information does not satisfy all the conditions in condition A and does not satisfy any one of the conditions in condition B, then the target information satisfies the first preset condition; otherwise, the target information satisfies the first preset condition. Condition A includes at least one of the following: the TIMD identifier information is a first preset value; the DIMD identifier information is a second preset value; the height value is within the ninth interval range; and the estimated area used by the encoding unit to perform PDPC is within the tenth interval range. Condition B includes at least one of the following: the intra-prediction mode value is greater than or equal to a first preset value, and the first texture direction value or the second texture direction value is located in a first interval range; the intra-prediction mode value is less than or equal to a second preset value, and the first texture direction value or the second texture direction value is located in a second interval range; one of the first texture direction value and the second texture direction value is located in a third interval range, and the other is located in a fourth interval range; the intra-prediction mode value is located in a fifth interval range, and the first texture direction value or the second texture direction value is located in a sixth interval range; the intra-prediction mode value is located in a seventh interval range, and the first texture direction value or the second texture direction value is located in an eighth interval range.

[0124] Optionally, the method for determining the first texture direction value and the second texture direction value can be set according to actual needs. For example, in some embodiments, the method further includes:

[0125] The decoding end determines the target pixel, which includes the pixel located to the left of the encoding unit and the pixel located above the encoding unit;

[0126] The decoding end uses a preset texture analysis method to perform texture analysis on the target pixel to obtain the first texture direction value and the second texture direction value.

[0127] In this embodiment, during intra-frame prediction, the first and second texture direction values ​​of the target reference pixels can be derived using a preset texture analysis method. The target reference pixels can be the reference pixels in row N1 above and column N2 to the left of the coding unit to be decoded. The values ​​of N1 and N2 can be set according to actual needs; for example, both N1 and N2 are integers greater than or equal to 3. The reference pixels can be adjacent to or not adjacent to the coding unit to be decoded. The preset texture analysis method can be derived using DIMD.

[0128] In some embodiments, the method further includes:

[0129] The decoding end determines a first reference pixel and a second reference pixel, wherein the first reference pixel is a pixel located to the left of the encoding unit, and the second reference pixel is a pixel located above the encoding unit;

[0130] The decoding end uses a preset texture analysis method to obtain the first texture direction value corresponding to the first reference pixel and the second texture direction value corresponding to the second reference pixel.

[0131] It should be understood that in the embodiments of this application, a preset texture analysis method can be used to analyze the first reference pixel to obtain the first texture direction value corresponding to the first reference pixel; then the second reference pixel can be analyzed to obtain the second texture direction value corresponding to the second reference pixel.

[0132] Optionally, the aforementioned preset texture analysis method can be set according to actual needs. For example, in some embodiments, the preset texture analysis method is to use DIMD export. The first reference pixel can be the reference pixel in the N2 columns to the left of the encoding unit to be decoded, and the second reference pixel can be the reference pixel in the N1 rows above the encoding unit to be decoded. The sizes of N1 and N2 can be set according to actual needs; for example, N1 and N2 are both integers greater than or equal to 3. The first and second reference pixels can be adjacent to or not adjacent to the encoding unit to be decoded.

[0133] In this embodiment, the first texture direction value is the texture direction value indicating the left side, and therefore the first texture direction value is within a certain range, such as 2 to 34; the second texture direction value is the texture direction value indicating the top, and therefore the second texture direction value is within a certain range, such as 34 to 66. Therefore, the definition of the above-mentioned first preset condition can be simplified. For example, the first preset condition includes at least one of the following:

[0134] The intra-frame prediction mode value is greater than or equal to a first preset value, and the first texture direction value is within a first interval range;

[0135] The intra-frame prediction mode value is less than or equal to the second preset value, and the second texture direction value is within the second interval range;

[0136] The first texture direction value is located in the third interval range, and the second texture direction value is located in the fourth interval range;

[0137] The intra-frame prediction mode value is located in the fifth interval range, and the first texture direction value is located in the sixth interval range.

[0138] The intra-frame prediction mode value is located in the seventh interval range, and the second texture direction value is located in the eighth interval range;

[0139] The TIMD identifier information is a first preset value;

[0140] The DIMD identifier information is a second preset value;

[0141] The height value falls within the ninth interval range;

[0142] The encoding unit is used to perform the estimated area of ​​PDPC within the tenth interval range;

[0143] Wherein, the first preset value is greater than the second preset value, and the minimum threshold of the fifth interval range is greater than the maximum threshold of the seventh interval range.

[0144] To better understand this application, the following detailed explanations are provided through specific examples.

[0145] Example 1: The decoding end obtains the pixel prediction value of each pixel in the coding unit to be decoded according to the following steps:

[0146] The first step is to obtain the intra-frame prediction information of the coding unit to be decoded from the bitstream. The intra-frame prediction information includes the intra-frame prediction mode value of the coding unit to be decoded.

[0147] The second step is to use DIMD to export the first texture direction value dimd1 and the second texture direction value dimd2 of the adjacent reference pixels of the encoding unit to be decoded.

[0148] It should be noted that adjacent reference pixels can be the three rows above and three columns to the left of the encoding unit to be decoded, or more than three rows above and more than three columns to the left of the encoding unit to be decoded.

[0149] The third step involves determining whether the PDPC is used to obtain the pixel prediction values ​​of each pixel within the coded unit to be decoded, based on the intra-prediction mode value cur_mode of the coded unit to be decoded and the first texture direction value dimd1 and the second texture direction value dimd2 derived in the second step. Specifically, if one of the first preset conditions is met, the PDPC is not used to obtain the pixel prediction values ​​of each pixel within the coded unit to be decoded; otherwise, the PDPC is used to obtain the pixel prediction values ​​of each pixel within the coded unit to be decoded.

[0150] The first precondition includes:

[0151] Condition 1. If cur_mode is greater than 50, and dimd1 or dimd2 is in the range of greater than 26 and less than 34;

[0152] Condition 2. If cur_mode is less than 18, and dimd1 or dimd2 is in the range greater than 34 and less than 42;

[0153] It should be noted that the thresholds of 50 and 18, as well as the intervals greater than 26 and less than 34 and greater than 34 and less than 42, can be other values, and there are no restrictions here.

[0154] The fourth step is to obtain the residual information of the coding unit to be decoded from the bitstream, and to perform inverse quantization and inverse transformation on the residual information to obtain the residual value, which is then added to the prediction value to obtain the reconstructed value of the coding unit to be decoded.

[0155] This embodiment can be used with luma blocks or chroma blocks, or both luma blocks and chroma blocks; there are no restrictions here.

[0156] It should be noted that different first preset conditions can be set for different embodiments. For example, in some embodiments, conditions 1 and 2 can be replaced by conditions 3 and 4, or the first preset conditions may further include conditions 3 and 4.

[0157] Condition 3. If cur_mode is greater than 50, and dimd1 or dimd2 is in the range greater than ((cur_mode-50+offset)) and less than 34;

[0158] Condition 4. If cur_mode is less than 18, and dimd1 or dimd2 is in the range greater than 50 and less than (cur_mode + 50 + offset);

[0159] It should be noted that the thresholds are 50 and 18, the range is less than 34 and greater than 50, and other values ​​are not restricted here. The offset can take any positive number, negative number, or 0, etc.

[0160] Furthermore, in some embodiments, conditions 1 and 2 can be replaced by conditions 5 and 6, or the first preset condition may further include conditions 5 and 6.

[0161] Condition 5. If dimd1 is greater than 50 and less than (50 + offset), and dimd2 is greater than (18 - offset) and less than 18;

[0162] Condition 6. If dimd1 is greater than (18 - offset) and less than 18, and dimd2 is greater than 50 and less than (50 + offset);

[0163] It should be noted that the thresholds of 50 and 18 can be other values, and there are no restrictions here. The offset can take any positive number, negative number, or 0, etc.

[0164] Furthermore, in some embodiments, conditions 1 and 2 can be replaced by conditions 7 and 8, or the first preset condition may further include conditions 7 and 8.

[0165] Condition 7. If cur_mode is in the range greater than 50 and less than (50 + offset), and dimd1 or dimd2 is in the range greater than (18 - offset) and less than 18;

[0166] Condition 8. If cur_mode is greater than (18-offset) and less than 18, and dimd1 or dimd2 is in the range greater than 50 and less than (50+offset);

[0167] It should be noted that the thresholds of 50 and 18 can be other values, and there are no restrictions here. The offset can take any positive number, negative number, or 0, etc.

[0168] Furthermore, in some embodiments, at least one of the following can be added as a judgment condition for the first preset condition: TIMD identifier information, TIMD identifier information, height value of the encoding unit, and estimated area of ​​the encoding unit for performing PDPC. For example, in some embodiments, the above-mentioned first preset condition may further include:

[0169] The TIMD identifier information is 1;

[0170] The DIMD identifier information is 1;

[0171] The height value is less than or equal to 16;

[0172] The encoding unit is used to perform the estimated area of ​​PDPC which is less than or equal to 16*12.

[0173] It should be noted that the thresholds of 16 and 12 can be other values, and there are no restrictions here.

[0174] Example 2: The decoding end obtains the pixel prediction value of each pixel in the coding unit to be decoded according to the following steps:

[0175] The first step is to obtain the intra-frame prediction information of the coding unit to be decoded from the bitstream. The intra-frame prediction information includes the intra-frame prediction mode value of the coding unit to be decoded.

[0176] The second step is to use DIMD to export the texture direction value dimd_top of the upper reference pixel and use DIMD to export the texture direction value dimd_left of the left reference pixel.

[0177] The upper reference pixel can be the reference pixel in the upper three rows or more adjacent to the coding unit to be decoded, and the left reference pixel can be the reference pixel in the upper three columns or more.

[0178] The third step involves determining whether the PDPC method is used to obtain the pixel prediction values ​​of each pixel within the coding unit to be decoded, based on the intra-prediction mode value cur_mode of the coding unit to be decoded, and the texture direction values ​​dimd_top and dimd_left of the top reference pixel derived in the second step. Specifically, if one of the following first preset conditions is met, then PDPC is not used to obtain the pixel prediction values ​​of each pixel within the coding unit to be decoded; otherwise, PDPC is used to obtain the pixel prediction values ​​of each pixel within the coding unit to be decoded.

[0179] Condition 1. If cur_mode is greater than 50 and dimd_left is in the range of greater than 26 and less than 34;

[0180] Condition 2. If cur_mode is less than 18 and dim_top is in the range of greater than 34 and less than 42;

[0181] It should be noted that the thresholds of 50 and 18, as well as the intervals greater than 26 and less than 34 and greater than 34 and less than 42, can be other values, and there are no restrictions here.

[0182] The fourth step is to obtain the residual information of the coding unit to be decoded from the bitstream, and to perform inverse quantization and inverse transformation on the residual information to obtain the residual value, which is then added to the prediction value to obtain the reconstructed value of the coding unit to be decoded.

[0183] It should be noted that this embodiment can be used with luminance blocks or chrominance blocks, or both luminance blocks and chrominance blocks; there is no limitation here.

[0184] It should be noted that different first preset conditions can be set for different embodiments. For example, in some embodiments, conditions 1 and 2 can be replaced by conditions 3 and 4, or the first preset conditions may further include conditions 3 and 4.

[0185] Condition 3. If cur_mode is greater than 50, and dim_left is in the range greater than (cur_mode-50+offset) and less than 34;

[0186] Condition 4. If cur_mode is less than 18, and dim_top is in the range greater than 50 and less than (cur_mode + 50 + offset);

[0187] It should be noted that the thresholds are 50 and 18, the range is less than 34 and greater than 50, and other values ​​are not restricted here. The offset can take any positive number, negative number, or 0, etc.

[0188] Furthermore, in some embodiments, conditions 1 and 2 can be replaced by condition 5, or the first preset condition may further include condition 5. Wherein,

[0189] Condition 5. If dimd_top is greater than 50 and less than (50 + offset), and dimd_left is greater than (18 - offset) and less than 18.

[0190] It should be noted that the thresholds of 50 and 18 can be other values, and there are no restrictions here. The offset can take any positive number, negative number, or 0, etc.

[0191] Furthermore, in some embodiments, conditions 1 and 2 can be replaced by conditions 6 and 7, or the first preset condition may further include conditions 6 and 7.

[0192] Condition 6. If cur_mode is in the range greater than 50 and less than (50 + offset), and dim_left is in the range greater than (18 - offset) and less than 18;

[0193] Condition 7. If cur_mode is greater than (18-offset) and less than 18, and dim_top is in the range greater than 50 and less than (50+offset);

[0194] It should be noted that the thresholds of 50 and 18 can be other values, and there are no restrictions here. The offset can take any positive number, negative number, or 0, etc.

[0195] Furthermore, in some embodiments, at least one of the following can be added as a judgment condition for the first preset condition: TIMD identifier information, TIMD identifier information, height value of the encoding unit, and estimated area of ​​the encoding unit for performing PDPC. For example, in some embodiments, the above-mentioned first preset condition may further include:

[0196] The TIMD identifier information is 1;

[0197] The DIMD identifier information is 1;

[0198] The height value is less than or equal to 16;

[0199] The encoding unit is used to perform the estimated area of ​​PDPC which is less than or equal to 16*12.

[0200] It should be noted that the thresholds of 16 and 12 can be other values, and there are no restrictions here.

[0201] Example 3: The decoding end obtains the pixel prediction value of each pixel in the coding unit to be decoded according to the following steps:

[0202] The first step is to obtain relevant information from the bitstream to determine whether to use the PDPC method to obtain pixel prediction values, such as TIMD identification information;

[0203] The second step is to determine whether the PDPC method is used to obtain the pixel prediction values ​​of each pixel within the coding unit to be decoded, based on the TIMD identifier information. Specifically, if condition 1 is met, then PDPC is not used to obtain the pixel prediction values ​​of each pixel within the coding unit to be decoded; otherwise, the PDPC method is used to obtain the pixel prediction values ​​of each pixel within the coding unit to be decoded. Condition 1 includes a TIMD identifier information of 1.

[0204] The third step is to obtain the residual information of the coding unit to be decoded from the bitstream, and to perform inverse quantization and inverse transformation on the residual information to obtain the residual value, which is then added to the pixel prediction value to obtain the reconstructed value of the coding unit to be decoded.

[0205] Furthermore, the aforementioned TIMD identifier information can be replaced with DIMD identifier information, or the aforementioned related information may further include DIMD identifier information, and condition 1 may also include DIMD identifier information of 1.

[0206] Example 4: The decoding end obtains the pixel prediction value of each pixel in the coding unit to be decoded according to the following steps:

[0207] The first step is to obtain relevant information from the bitstream to determine whether to use the PDPC method to obtain pixel prediction values, such as the height value of the coding unit to be decoded;

[0208] The second step is to determine whether the PDPC method is used to obtain the pixel prediction values ​​of each pixel within the coding unit to be decoded, based on the height value of the coding unit. Specifically, if condition 1 is met, PDPC is not used to obtain the pixel prediction values ​​of each pixel within the coding unit to be decoded; otherwise, PDPC is used to obtain the pixel prediction values ​​of each pixel within the coding unit to be decoded. Condition 1 includes: the height value is less than or equal to 16.

[0209] Furthermore, the aforementioned relevant information may include the estimated area used by the encoding unit to perform the PDPC method, and the condition further includes: the estimated area used by the encoding unit to perform the PDPC is less than or equal to 16*12.

[0210] Alternatively, the height value of the above coding unit can be replaced with the estimated area of ​​the coding unit used to perform the PDPC method, where condition 1 is that the estimated area of ​​the coding unit used to perform PDPC is less than or equal to 16*12.

[0211] It should be noted that 16 can represent the height value of the encoding unit, and 12 can represent the value calculated based on other encoding information. Other encoding information may include the number of columns used by the encoding unit to perform PDPC. The thresholds 16 and 12 can be other values, which are not limited here.

[0212] The third step is to obtain the residual information of the coding unit to be decoded from the bitstream, and to perform inverse quantization and inverse transformation on the residual information to obtain the residual value, which is then added to the pixel prediction value to obtain the reconstructed value of the coding unit to be decoded.

[0213] Please see Figure 6 , Figure 6 This is a flowchart of a video encoding method provided in an embodiment of this application, as shown below. Figure 6 As shown, it includes the following steps:

[0214] Step 601: The encoding end determines the encoding unit of the video to be encoded;

[0215] Step 602: The encoding end encodes the encoding unit to obtain the target bitstream;

[0216] The target bitstream includes offset information, which is used to indicate the offset value. The offset value is used to determine the threshold value of the target interval range in the first preset condition. The first preset condition is a trigger condition for obtaining pixel prediction values ​​without using the position-related prediction combined PDPC method.

[0217] Optionally, before determining the encoding unit of the video to be encoded, the method further includes:

[0218] The encoding end determines the offset information based on the image information of the video to be encoded, wherein the image information includes at least one of image type and image content.

[0219] Optionally, the target information includes at least one of the following: first information, decoder intra-frame mode derivation DIMD identifier information, template-based internal mode derivation TIMD identifier information, height value of the coding unit, and estimated area of ​​the coding unit for performing the PDPC method. The first information includes at least two of the following: intra-frame prediction mode value, first texture direction value, and second texture direction value. The first texture direction value and the second texture direction value are the texture direction values ​​of the reference pixels of the coding unit.

[0220] Optionally, the first preset condition includes at least one of the following:

[0221] The intra-frame prediction mode value is greater than or equal to a first preset value, and the first texture direction value or the second texture direction value is within a first interval range;

[0222] The intra-frame prediction mode value is less than or equal to the second preset value, and the first texture direction value or the second texture direction value is within the second interval range;

[0223] One of the first texture direction value and the second texture direction value is located in the third interval range, and the other is located in the fourth interval range;

[0224] The intra-frame prediction mode value is located in the fifth interval range, and the first texture direction value or the second texture direction value is located in the sixth interval range.

[0225] The intra-frame prediction mode value is located in the seventh interval range, and the first texture direction value or the second texture direction value is located in the eighth interval range.

[0226] The TIMD identifier information is a first preset value;

[0227] The DIMD identifier information is a second preset value;

[0228] The height value falls within the ninth interval range;

[0229] The encoding unit is used to perform the estimated area of ​​PDPC within the tenth interval range;

[0230] Wherein, the first preset value is greater than the second preset value, and the minimum threshold of the fifth interval range is greater than the maximum threshold of the seventh interval range.

[0231] It should be noted that this embodiment is used as... Figure 5 The implementation method of the encoding end corresponding to the illustrated embodiment can be found in the following examples. Figure 5 The embodiments shown herein, and the benefits achieved therein, will not be repeated here to avoid repetition.

[0232] It should be noted that the video decoding method provided in this application embodiment can be executed by a video decoding device, or by a control module within the video decoding device for executing the video decoding method. This application embodiment uses the execution of the video decoding method by a video decoding device as an example to illustrate the video decoding device provided in this application embodiment.

[0233] Please see Figure 7 , Figure 7 This is a structural diagram of a video decoding device provided in an embodiment of this application, as shown below. Figure 7 As shown, the video decoding device 700 includes:

[0234] The acquisition module 701 is used to obtain the first pixel prediction value of each pixel in the coding unit to be decoded by using the position-related prediction combination (PDPC) method when the target information does not meet the first preset condition. The target information includes information for determining whether to use the PDPC method to obtain the pixel prediction value.

[0235] The first determining module 702 is used to decode the encoding unit based on the first pixel prediction value.

[0236] Optionally, the target information includes at least one of the following: first information, decoder intra-frame mode derivation DIMD identifier information, template-based internal mode derivation TIMD identifier information, height value of the coding unit, and estimated area of ​​the coding unit for performing the PDPC method. The first information includes at least two of the following: intra-frame prediction mode value, first texture direction value, and second texture direction value. The first texture direction value and the second texture direction value are the texture direction values ​​of the reference pixels of the coding unit.

[0237] Optionally, the first preset condition includes at least one of the following:

[0238] The intra-frame prediction mode value is greater than or equal to a first preset value, and the first texture direction value or the second texture direction value is within a first interval range;

[0239] The intra-frame prediction mode value is less than or equal to the second preset value, and the first texture direction value or the second texture direction value is within the second interval range;

[0240] One of the first texture direction value and the second texture direction value is located in the third interval range, and the other is located in the fourth interval range;

[0241] The intra-frame prediction mode value is located in the fifth interval range, and the first texture direction value or the second texture direction value is located in the sixth interval range.

[0242] The intra-frame prediction mode value is located in the seventh interval range, and the first texture direction value or the second texture direction value is located in the eighth interval range.

[0243] The TIMD identifier information is a first preset value;

[0244] The DIMD identifier information is a second preset value;

[0245] The height value falls within the ninth interval range;

[0246] The encoding unit is used to perform the estimated area of ​​PDPC within the tenth interval range;

[0247] Wherein, the first preset value is greater than the second preset value, and the minimum threshold of the fifth interval range is greater than the maximum threshold of the seventh interval range.

[0248] Optionally, the video decoding device 700 further includes:

[0249] The third determining module is used to determine a target interval range based on the target object, wherein the target object includes the intra-prediction mode value, or the target object includes the intra-prediction mode value and a target offset value, the target offset value is used to represent the degree of deviation between the intra-prediction mode value and the texture direction value, and the target interval range includes at least one of the first interval range, the second interval range, the third interval range, the fourth interval range, the fifth interval range, the sixth interval range, the seventh interval range, and the eighth interval range.

[0250] Optionally, if the target object includes the target offset value, the acquisition module 702 is further configured to: acquire offset information from the target bitstream corresponding to the encoding unit, wherein the offset information is used to indicate the target offset value.

[0251] Optionally, the decoding module 702 is further configured to: decode the encoding unit according to the second pixel prediction value when the first preset condition is met, wherein the second pixel prediction value is the pixel prediction value obtained by performing intra-prediction on the encoding unit based on the intra-prediction mode corresponding to the intra-prediction mode value.

[0252] Optionally, the video decoding device 700 further includes:

[0253] The third determining module is used by the decoding end to determine the target pixel, the target pixel including the pixel located to the left of the encoding unit and the pixel located above the encoding unit; the decoding end performs texture analysis on the target pixel using a preset texture analysis method to obtain the first texture direction value and the second texture direction value.

[0254] Optionally, the video decoding device 700 further includes:

[0255] The third determining module is used to determine a first reference pixel and a second reference pixel, wherein the first reference pixel is a pixel located to the left of the encoding unit and the second reference pixel is a pixel located above the encoding unit; and obtains a first texture direction value corresponding to the first reference pixel and a second texture direction value corresponding to the second reference pixel using a preset texture analysis method.

[0256] It should be noted that the video encoding method provided in this application embodiment can be executed by a video encoding device, or by a control module within the video encoding device for executing the video encoding method. This application embodiment uses the execution of the video encoding method by a video encoding device as an example to illustrate the video encoding device provided in this application embodiment.

[0257] Please see Figure 8 , Figure 8 This is a structural diagram of a video encoding device provided in an embodiment of this application, such as... Figure 8 As shown, the video encoding device 800 includes:

[0258] The second determining module 801 is used to determine the encoding unit of the video to be encoded.

[0259] Encoding module 802 is used to encode the encoding unit to obtain the target bitstream;

[0260] The target bitstream includes offset information, which is used to indicate the offset value. The offset value is used to determine the threshold value of the target interval range in the first preset condition. The first preset condition is a trigger condition for obtaining pixel prediction values ​​without using the position-related prediction combined PDPC method.

[0261] Optionally, the second determining module 801 is further configured to determine the offset information based on the image information of the video to be encoded, wherein the image information includes at least one of image type and image content.

[0262] Optionally, the target information includes at least one of the following: first information, decoder intra-frame mode derivation DIMD identifier information, template-based internal mode derivation TIMD identifier information, height value of the coding unit, and estimated area of ​​the coding unit for performing the PDPC method. The first information includes at least two of the following: intra-frame prediction mode value, first texture direction value, and second texture direction value. The first texture direction value and the second texture direction value are the texture direction values ​​of the reference pixels of the coding unit.

[0263] Optionally, the first preset condition includes at least one of the following:

[0264] The intra-frame prediction mode value is greater than or equal to a first preset value, and the first texture direction value or the second texture direction value is within a first interval range;

[0265] The intra-frame prediction mode value is less than or equal to the second preset value, and the first texture direction value or the second texture direction value is within the second interval range;

[0266] One of the first texture direction value and the second texture direction value is located in the third interval range, and the other is located in the fourth interval range;

[0267] The intra-frame prediction mode value is located in the fifth interval range, and the first texture direction value or the second texture direction value is located in the sixth interval range.

[0268] The intra-frame prediction mode value is located in the seventh interval range, and the first texture direction value or the second texture direction value is located in the eighth interval range.

[0269] The TIMD identifier information is a first preset value;

[0270] The DIMD identifier information is a second preset value;

[0271] The height value falls within the ninth interval range;

[0272] The encoding unit is used to perform the estimated area of ​​PDPC within the tenth interval range;

[0273] Wherein, the first preset value is greater than the second preset value, and the minimum threshold of the fifth interval range is greater than the maximum threshold of the seventh interval range.

[0274] The video decoding device and video encoding device in the embodiments of this application can be devices, devices with operating systems or electronic devices, or components, integrated circuits, or chips in a terminal. The device can be a mobile terminal or a non-mobile terminal. For example, a mobile terminal can include, but is not limited to, the types of terminals 11 listed above, and a non-mobile terminal can be a server, network attached storage (NAS), personal computer (PC), television (TV), ATM, or self-service machine, etc. The embodiments of this application do not specifically limit the types of terminals.

[0275] The video decoding device and video encoding device provided in the embodiments of this application can achieve... Figures 5 to 6 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.

[0276] Optional, such as Figure 9As shown, this application embodiment also provides a communication device 900, including a processor 901, a memory 902, and a program or instructions stored in the memory 902 and executable on the processor 901. For example, when the communication device 900 is a decoding end, the program or instructions executed by the processor 901 implement the various processes of the above-described video decoding method embodiment and achieve the same technical effect. When the communication device 900 is an encoding end, the program or instructions executed by the processor 901 implement the various processes of the above-described video encoding method embodiment and achieve the same technical effect. To avoid repetition, further details are omitted here.

[0277] This application also provides an electronic device, including a processor and a communication interface, wherein the processor is used to perform the following operations:

[0278] If the target information does not meet the first preset condition, the position-related prediction combined with the PDPC method is used to obtain the first pixel prediction value of each pixel in the coding unit to be decoded. The target information includes information for determining whether to use the PDPC method to obtain the pixel prediction value.

[0279] The encoding unit is decoded based on the first pixel prediction value.

[0280] Alternatively, the processor may be used to perform the following operations:

[0281] The end determines the encoding unit of the video to be encoded;

[0282] The encoding unit is encoded to obtain the target bitstream;

[0283] The target bitstream includes offset information, which is used to indicate the offset value. The offset value is used to determine the threshold value of the target interval range in the first preset condition. The first preset condition is a trigger condition for obtaining pixel prediction values ​​without using the position-related prediction combined PDPC method.

[0284] The various implementation processes and methods of the above method embodiments can be applied to this electronic device embodiment and achieve the same technical effect. Specifically, Figure 10 A schematic diagram of the hardware structure of an electronic device for implementing the various embodiments of this application.

[0285] The electronic device 1000 includes, but is not limited to, at least some of the following components: radio frequency unit 1001, network module 1002, audio output unit 1003, input unit 1004, sensor 1005, display unit 1006, user input unit 1007, interface unit 1008, memory 1009, and processor 1010.

[0286] Those skilled in the art will understand that the electronic device 1000 may also include a power supply (such as a battery) for supplying power to various components. The power supply may be logically connected to the processor 1010 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system. Figure 10 The electronic device structure shown does not constitute a limitation on the electronic device. The electronic device may include more or fewer components than shown, or combine certain components, or have different component arrangements, which will not be elaborated here.

[0287] It should be understood that, in this embodiment, the input unit 1004 may include a graphics processing unit (GPU) and a microphone. The GPU processes image data of still images or videos obtained by an image capture device (such as a camera) in video capture mode or image capture mode. The display unit 1006 may include a display panel, which may be configured in the form of a liquid crystal display, an organic light-emitting diode, or the like. The user input unit 1007 includes a touch panel and other input devices. The touch panel is also called a touch screen. The touch panel may include a touch detection device and a touch controller. Other input devices may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, and joysticks, which will not be described in detail here.

[0288] In this embodiment, the radio frequency unit 1001 receives downlink data from the network-side device and processes it for the processor 1010; additionally, it sends uplink data to the network-side device. Typically, the radio frequency unit 1001 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier, a duplexer, etc.

[0289] The memory 1009 can be used to store software programs or instructions and various data. The memory 1009 may primarily include a program or instruction storage area and a data storage area. The program or instruction storage area may store the operating system, application programs or instructions required for at least one function (such as sound playback, image playback, etc.). Furthermore, the memory 1009 may include high-speed random access memory and non-transient memory, wherein the non-transient memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. For example, at least one disk storage device, flash memory device, or other non-transient solid-state storage device.

[0290] Processor 1010 may include one or more processing units; optionally, processor 1010 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications or instructions, and the modem processor mainly handles wireless communication, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into processor 1010.

[0291] Processor 1010 is used to perform the following operations:

[0292] If the target information does not meet the first preset condition, the position-related prediction combined with the PDPC method is used to obtain the first pixel prediction value of each pixel in the coding unit to be decoded. The target information includes information for determining whether to use the PDPC method to obtain the pixel prediction value.

[0293] The encoding unit is decoded based on the first pixel prediction value.

[0294] Alternatively, processor 1010 is used to perform the following operations:

[0295] The end determines the encoding unit of the video to be encoded;

[0296] The encoding unit is encoded to obtain the target bitstream;

[0297] The target bitstream includes offset information, which is used to indicate the offset value. The offset value is used to determine the threshold value of the target interval range in the first preset condition. The first preset condition is a trigger condition for obtaining pixel prediction values ​​without using the position-related prediction combined PDPC method.

[0298] The processor 1010 in this embodiment can implement each step of the above-described video decoding method and video encoding method, and can achieve the same effect.

[0299] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the various processes of the above-described video decoding method or video encoding method embodiments and achieve the same technical effect. To avoid repetition, they will not be described again here.

[0300] The processor is the processor in the electronic device described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.

[0301] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above-described video decoding method or video encoding method embodiments, and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0302] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.

[0303] This application also provides a program product, which is stored in a non-transient storage medium. The program product is executed by at least one processor to implement the various processes of the above-described video decoding method or video encoding method embodiments, and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0304] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.

[0305] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a computer software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or base station, etc.) to execute the methods described in the various embodiments of this application.

[0306] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.

Claims

1. A video decoding method, characterized in that, include: If the decoding end determines that the target information does not meet the first preset condition, it uses the position-related prediction combined (PDPC) method to obtain the first pixel prediction value of each pixel in the coding unit to be decoded. The target information includes information for determining whether to use the PDPC method to obtain the pixel prediction value. The decoding end decodes the encoding unit based on the first pixel prediction value; The target information includes first information. The first information includes at least two of the following: an intra-prediction mode value, a first texture direction value, and a second texture direction value, wherein the first texture direction value and the second texture direction value are the texture direction values ​​of the reference pixels of the coding unit; The first preset condition includes at least one of the following: The intra-frame prediction mode value is greater than or equal to a first preset value, and the first texture direction value or the second texture direction value is within a first interval range; The intra-frame prediction mode value is less than or equal to the second preset value, and the first texture direction value or the second texture direction value is within the second interval range; One of the first texture direction value and the second texture direction value is located in the third interval range, and the other is located in the fourth interval range; The intra-frame prediction mode value is located in the fifth interval range, and the first texture direction value or the second texture direction value is located in the sixth interval range. The intra-frame prediction mode value is located in the seventh interval range, and the first texture direction value or the second texture direction value is located in the eighth interval range. Wherein, the first preset value is greater than the second preset value, and the minimum threshold of the fifth interval range is greater than the maximum threshold of the seventh interval range.

2. The method according to claim 1, characterized in that, The target information also includes at least one of the following: decoder intra-frame mode derivation DIMD identifier information, template-based internal mode derivation TIMD identifier information, the height value of the coding unit, and the estimated area of ​​the coding unit for performing the PDPC method.

3. The method according to claim 2, characterized in that, The first preset condition also includes at least one of the following: The TIMD identifier information is a first preset value; The DIMD identifier information is a second preset value; The height value falls within the ninth interval range; The encoding unit is used to perform the estimated area of ​​PDPC within the tenth interval range.

4. The method according to claim 3, characterized in that, The method further includes: The decoding end determines the target interval range based on the target object, wherein the target object includes the intra-prediction mode value, or the target object includes the intra-prediction mode value and the target offset value, the target offset value is used to represent the degree of deviation between the intra-prediction mode value and the texture direction value, and the target interval range includes at least one of the first interval range, the second interval range, the third interval range, the fourth interval range, the fifth interval range, the sixth interval range, the seventh interval range and the eighth interval range.

5. The method according to claim 4, characterized in that, If the target object includes the target offset value, the method further includes: The decoding end obtains offset information from the target bitstream corresponding to the encoding unit, and the offset information is used to indicate the target offset value.

6. The method according to any one of claims 1 to 5, characterized in that, The method further includes: When the first preset condition is met, the decoding end decodes the encoding unit according to the second pixel prediction value, whereby the second pixel prediction value is the pixel prediction value obtained by performing intra-frame prediction on the encoding unit based on the intra-frame prediction mode corresponding to the intra-frame prediction mode value.

7. The method according to any one of claims 2 to 5, characterized in that, The method further includes: The decoding end determines the target pixel, which includes the pixel located to the left of the encoding unit and the pixel located above the encoding unit; The decoding end uses a preset texture analysis method to perform texture analysis on the target pixel to obtain the first texture direction value and the second texture direction value.

8. The method according to any one of claims 2 to 5, characterized in that, The method further includes: The decoding end determines a first reference pixel and a second reference pixel, wherein the first reference pixel is a pixel located to the left of the encoding unit, and the second reference pixel is a pixel located above the encoding unit; The decoding end uses a preset texture analysis method to obtain the first texture direction value corresponding to the first reference pixel and the second texture direction value corresponding to the second reference pixel.

9. A video encoding method, characterized in that, include: The encoding end determines the encoding unit of the video to be encoded; The encoding end encodes the encoding unit to obtain the target bitstream; The target bitstream includes offset information, which is used to indicate the offset value. The offset value is used to determine the threshold value of the target interval range in the first preset condition. The first preset condition is a trigger condition for determining the pixel prediction value without using the position-related prediction combination PDPC method based on the target information. The target information includes first information. The first information includes at least two of the following: an intra-prediction mode value, a first texture direction value, and a second texture direction value, wherein the first texture direction value and the second texture direction value are the texture direction values ​​of the reference pixels of the coding unit; The first preset condition includes at least one of the following: The intra-frame prediction mode value is greater than or equal to a first preset value, and the first texture direction value or the second texture direction value is within a first interval range; The intra-frame prediction mode value is less than or equal to the second preset value, and the first texture direction value or the second texture direction value is within the second interval range; One of the first texture direction value and the second texture direction value is located in the third interval range, and the other is located in the fourth interval range; The intra-frame prediction mode value is located in the fifth interval range, and the first texture direction value or the second texture direction value is located in the sixth interval range. The intra-frame prediction mode value is located in the seventh interval range, and the first texture direction value or the second texture direction value is located in the eighth interval range. Wherein, the first preset value is greater than the second preset value, and the minimum threshold of the fifth interval range is greater than the maximum threshold of the seventh interval range.

10. The method according to claim 9, characterized in that, Before determining the encoding unit of the video to be encoded, the method further includes: The encoding end determines the offset information based on the image information of the video to be encoded, wherein the image information includes at least one of image type and image content.

11. A video decoding device, characterized in that, include: The acquisition module is used to obtain the first pixel prediction value of each pixel in the coding unit to be decoded by using the position-related prediction combination (PDPC) method when the target information does not meet the first preset condition. The target information includes information for determining whether to use the PDPC method to obtain the pixel prediction value. The first determining module is used to decode the encoding unit based on the first pixel prediction value; The target information includes first information. The first information includes at least two of the following: an intra-prediction mode value, a first texture direction value, and a second texture direction value, wherein the first texture direction value and the second texture direction value are the texture direction values ​​of the reference pixels of the coding unit; The first preset condition includes at least one of the following: The intra-frame prediction mode value is greater than or equal to a first preset value, and the first texture direction value or the second texture direction value is within a first interval range; The intra-frame prediction mode value is less than or equal to the second preset value, and the first texture direction value or the second texture direction value is within the second interval range; One of the first texture direction value and the second texture direction value is located in the third interval range, and the other is located in the fourth interval range; The intra-frame prediction mode value is located in the fifth interval range, and the first texture direction value or the second texture direction value is located in the sixth interval range. The intra-frame prediction mode value is located in the seventh interval range, and the first texture direction value or the second texture direction value is located in the eighth interval range. Wherein, the first preset value is greater than the second preset value, and the minimum threshold of the fifth interval range is greater than the maximum threshold of the seventh interval range.

12. The apparatus according to claim 11, characterized in that, The target information also includes at least one of the following: decoder intra-frame mode derivation DIMD identifier information, template-based internal mode derivation TIMD identifier information, the height value of the coding unit, and the estimated area of ​​the coding unit for performing the PDPC method.

13. The apparatus according to claim 12, characterized in that, The first preset condition also includes at least one of the following: The TIMD identifier information is a first preset value; The DIMD identifier information is a second preset value; The height value falls within the ninth interval range; The encoding unit is used to perform the estimated area of ​​PDPC within the tenth interval range.

14. A video encoding device, characterized in that, include: The second determining module is used to determine the encoding unit of the video to be encoded. The encoding module is used to encode the encoding unit to obtain the target bitstream; The target bitstream includes offset information, which is used to indicate the offset value. The offset value is used to determine the threshold value of the target interval range in the first preset condition. The first preset condition is a trigger condition for determining the pixel prediction value without using the position-related prediction combination PDPC method based on the target information. The target information includes first information. The first information includes at least two of the following: an intra-prediction mode value, a first texture direction value, and a second texture direction value, wherein the first texture direction value and the second texture direction value are the texture direction values ​​of the reference pixels of the coding unit; The first preset condition includes at least one of the following: The intra-frame prediction mode value is greater than or equal to a first preset value, and the first texture direction value or the second texture direction value is within a first interval range; The intra-frame prediction mode value is less than or equal to the second preset value, and the first texture direction value or the second texture direction value is within the second interval range; One of the first texture direction value and the second texture direction value is located in the third interval range, and the other is located in the fourth interval range; The intra-frame prediction mode value is located in the fifth interval range, and the first texture direction value or the second texture direction value is located in the sixth interval range. The intra-frame prediction mode value is located in the seventh interval range, and the first texture direction value or the second texture direction value is located in the eighth interval range. Wherein, the first preset value is greater than the second preset value, and the minimum threshold of the fifth interval range is greater than the maximum threshold of the seventh interval range.

15. The apparatus according to claim 14, characterized in that, The second determining module is further configured to determine the offset information based on the image information of the video to be encoded, wherein the image information includes at least one of image type and image content.

16. An electronic device, characterized in that, include: A memory, a processor, and a program stored in the memory and executable on the processor, wherein the program, when executed by the processor, implements the steps of the video decoding method as claimed in any one of claims 1 to 8, or the program, when executed by the processor, implements the steps of the video encoding method as claimed in any one of claims 9 to 10.

17. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed by a processor, implement the steps of the video decoding method as described in any one of claims 1 to 8, or, when executed by the processor, implement the steps of the video encoding method as described in any one of claims 9 to 10.

Citation Information

Patent Citations

  • Method and apparatus of mode- and size-dependent block-level restrictions for position dependent prediction combination

    CN113196748A