Video encoding and decoding method, device, computer-readable medium, and electronic device
By deciding whether to adopt SAWP mode based on the size of the chromaticity encoding block and selecting other prediction modes when SAWP cannot be used, the problem of SAWP technology causing slow hardware execution speed in video encoding and decoding is solved, and the hardware encoding and decoding performance is improved.
Patent Information
- Application Number
- CN202110396639.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-04-13
- Publication Date
- 2025-06-17
- Estimated Expiration
- 2041-04-13
AI Technical Summary
SAWP technology uses SAWP on smaller blocks in video encoding and decoding, due to the slow hardware execution speed, the use of SAWP on hardware-sized blocks will reduce the hardware execution speed and codec performance.
By determining whether the chromaticity encoding block can adopt the SAWP mode according to the size of the chromaticity encoding block, the chromaticity encoding block can be used. If not, the target prediction mode other than the SAWP mode is selected to decode the chromaticity encoding block.
Improves the hardware's codec performance and avoids the reduction in execution speed caused by using SAWP mode on chromaticity encoding blocks of unreasonable sizes.
Smart Images

Figure CN115209138B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the fields of computer and communication technologies. Specifically, it relates to a video encoding and decoding method, apparatus, computer-readable medium, and electronic device. Background Art
[0002] In the field of video encoding and decoding, since a single prediction mode cannot adapt to complex textures in an image, the SAWP (Spatial Angular Weighted Prediction) technology has been proposed. In the SAWP technology, two different intra-prediction modes need to be used to predict the same coding block, and the final predicted image is generated by weighting two intra-predicted images.
[0003] Due to the characteristics of SAWP itself, its hardware execution speed is slower than that of ordinary intra-prediction modes. If SAWP is used on a block with a smaller size, the hardware execution speed will be further reduced, thereby reducing the hardware encoding and decoding performance. Summary of the Invention
[0004] Embodiments of this application provide a video encoding and decoding method, apparatus, computer-readable medium, and electronic device, which can, to at least some extent, improve the hardware encoding and decoding performance.
[0005] Other characteristics and advantages of this application will become apparent through the following detailed description, or will be partially learned through the practice of this application.
[0006] According to one aspect of the embodiments of this application, a video decoding method is provided, including: performing decoding processing on a video bitstream to obtain the prediction mode used by a luminance coding block; if the luminance coding block uses the Spatial Angular Weighted Prediction (SAWP) mode, determining whether the chrominance coding block corresponding to the luminance coding block can use the SAWP mode according to the size of the chrominance coding block; if it is determined that the chrominance coding block cannot use the SAWP mode, selecting a target prediction mode other than the SAWP mode to perform decoding processing on the chrominance coding block.
[0007] According to one aspect of the embodiments of this application, a video encoding method is provided, including: determining the prediction mode used by a luminance coding block during encoding; if the luminance coding block uses the SAWP mode, determining whether the chrominance coding block corresponding to the luminance coding block can use the SAWP mode according to the size of the chrominance coding block; if it is determined that the chrominance coding block cannot use the SAWP mode, selecting a target prediction mode other than the SAWP mode to perform encoding processing on the chrominance coding block.
[0008] According to one aspect of the embodiments of the present application, a video decoding device is provided, including: a decoding unit configured to perform decoding processing on a video bitstream to obtain a prediction mode adopted by a luminance coding block; a first determination unit configured to, if the luminance coding block adopts a Spatial Angle Weighted Prediction (SAWP) mode, determine whether the chrominance coding block corresponding to the luminance coding block can adopt the SAWP mode according to the size of the chrominance coding block; a processing unit configured to, if it is determined that the chrominance coding block cannot adopt the SAWP mode, select a target prediction mode other than the SAWP mode to perform decoding processing on the chrominance coding block.
[0009] In some embodiments of the present application, based on the foregoing solution, the first determination unit is configured to: if the size of the chrominance coding block satisfies at least one of the following conditions, determine that the chrominance coding block can adopt the SAWP mode:
[0010] The width of the chrominance coding block is greater than or equal to a first set value;
[0011] The width of the chrominance coding block is less than or equal to a second set value, and the second set value is greater than or equal to the first set value;
[0012] The height of the chrominance coding block is greater than or equal to a third set value;
[0013] The height of the chrominance coding block is less than or equal to a fourth set value, and the fourth set value is greater than or equal to the third set value;
[0014] The area of the chrominance coding block is greater than or equal to a fifth set value;
[0015] The area of the chrominance coding block is less than or equal to a sixth set value, and the sixth set value is greater than or equal to the fifth set value.
[0016] In some embodiments of the present application, based on the foregoing solution, the first set value is equal to the third set value, and the second set value is equal to the fourth set value.
[0017] In some embodiments of the present application, based on the foregoing solution, the numerical values of both the first set value and the third set value are 8.
[0018] In some embodiments of the present application, based on the foregoing solution, the first determination unit is configured to: if the combination of the width and height of the chrominance coding block is not a specified numerical combination, determine that the chrominance coding block can adopt the SAWP mode; where the specified numerical combination includes at least one of the following numerical combinations: (4, 4), (4, 8), (4, 16), (8, 4), (16, 4), (8, 8), (8, 16), (16, 8), (16, 16).
[0019] In some embodiments of the present application, based on the foregoing solution, the target prediction mode includes at least one of the following:
[0020] One of the intra prediction modes used by the SAWP mode adopted by the luminance coding block;
[0021] Two-step cross-component prediction mode TSCPM;
[0022] Cross multi-component prediction PMC mode;
[0023] Other prediction modes selected from the chrominance prediction mode list except the direct mode;
[0024] The intra prediction mode adopted by adjacent chrominance coding blocks or luminance coding blocks;
[0025] The intra prediction mode selected from the allowed intra prediction modes.
[0026] In some embodiments of the present application, based on the foregoing solution, the processing unit is further configured to: if it is determined that the chrominance coding block cannot adopt the SAWP mode, skip the decoding process of the flag bit included in the video bitstream for indicating whether the chrominance coding block adopts the direct mode.
[0027] In some embodiments of the present application, based on the foregoing solution, the processing unit is configured to: if it is determined that the chrominance coding block cannot adopt the SAWP mode, when the decoded chrominance coding block prediction mode indication information indicates that the chrominance coding block adopts the direct mode, select a target prediction mode other than the SAWP mode to perform decoding processing on the chrominance coding block.
[0028] In some embodiments of the present application, based on the foregoing solution, the processing unit is further configured to: if it is determined that the chrominance coding block can adopt the SAWP mode, when the decoded chrominance coding block prediction mode indication information indicates that the chrominance coding block adopts the direct mode, perform decoding processing on the chrominance coding block based on the SAWP mode.
[0029] In some embodiments of the present application, based on the foregoing solution, the first determining unit is further configured to: determine the size of the chrominance coding block according to the format of the video bitstream and the size of the decoded luminance coding block.
[0030] According to one aspect of the embodiments of the present application, a video encoding device is provided, including: a second determination unit configured to determine a prediction mode adopted by a luminance encoding block during encoding; a third determination unit configured to, if the SAWP mode is adopted by the luminance encoding block, determine whether the chrominance encoding block corresponding to the luminance encoding block can adopt the SAWP mode according to the size of the chrominance encoding block; an encoding unit configured to, if it is determined that the chrominance encoding block cannot adopt the SAWP mode, select a target prediction mode other than the SAWP mode to perform encoding processing on the chrominance encoding block.
[0031] According to one aspect of the embodiments of the present application, a computer-readable medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the video encoding method or the video decoding method described in the above embodiments is implemented.
[0032] According to one aspect of the embodiments of the present application, an electronic device is provided, including: one or more processors; a storage device configured to store one or more programs, and when the one or more programs are executed by the one or more processors, the one or more processors are caused to implement the video encoding method or the video decoding method described in the above embodiments.
[0033] According to one aspect of the embodiments of the present application, a computer program product or a computer program is provided, the computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the video encoding method or the video decoding method provided in the above various alternative embodiments.
[0034] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present application.
[0035] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] The drawings herein are incorporated into and constitute a part of this specification, showing embodiments consistent with the present application, and are used together with the specification to explain the principles of the present application. Obviously, the drawings in the following description are only some embodiments of the present application, and those of ordinary skill in the art can obtain other drawings based on these drawings without creative efforts. In the drawings:
[0037] Figure 1 FIG. shows a schematic diagram of an exemplary system architecture to which the technical solution of the embodiments of the present application can be applied;
[0038] Figure 2 FIG. shows a schematic diagram of the placement of a video encoding device and a video decoding device in a streaming system;
[0039] Figure 3 FIG. shows a basic flowchart of a video encoder;
[0040] Figure 4 FIG. shows a schematic diagram of prediction directions in an intra prediction mode;
[0041] Figure 5 FIG. shows an image with complex textures;
[0042] Figure 6 FIG. shows a schematic diagram of eight weight generation angles;
[0043] Figure 7 FIG. shows a schematic diagram of seven reference weight prediction positions;
[0044] Figure 8 FIG. shows a processing flowchart of PMC;
[0045] Figure 9 FIG. shows a flowchart of a video decoding method according to an embodiment of the present application;
[0046] Figure 10 FIG. shows a flowchart of a video encoding method according to an embodiment of the present application;
[0047] Figure 11 FIG. shows a block diagram of a video decoding device according to an embodiment of the present application;
[0048] Figure 12 FIG. shows a block diagram of a video encoding device according to an embodiment of the present application;
[0049] Figure 13 FIG. shows a schematic diagram of the structure of a computer system of an electronic device suitable for implementing the embodiments of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0050] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments can be implemented in various forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this application will be more complete and comprehensive, and will fully convey the concept of the exemplary embodiments to those skilled in the art.
[0051] In addition, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of the embodiments of this application. However, those skilled in the art will realize that the technical solutions of this application can be practiced without one or more of the specific details, or other methods, components, devices, steps, etc. may be used. In other cases, well-known methods, devices, implementations, or operations are not shown or described in detail to avoid obscuring aspects of this application.
[0052] The block diagrams shown in the drawings are only functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0053] The flowcharts shown in the drawings are only illustrative and do not necessarily include all the content and operations / steps, nor do they necessarily have to be executed in the order described. For example, some operations / steps can be decomposed, while some operations / steps can be combined or partially combined, so the actual execution order may change according to the actual situation.
[0054] It should be noted that: "a plurality of" as mentioned herein means two or more. "And / or" describes the association relationship of associated objects and indicates that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. The character " / " generally represents an "or" relationship between the associated objects before and after.
[0055] Figure 1 A schematic diagram of an exemplary system architecture to which the technical solutions of the embodiments of this application can be applied is shown.
[0056] As Figure 1 shown, the system architecture 100 includes a plurality of terminal devices, and the terminal devices can communicate with each other through, for example, the network 150. For example, the system architecture 100 may include a first terminal device 110 and a second terminal device 120 interconnected through the network 150. In Figure 1 the embodiment, the first terminal device 110 and the second terminal device 120 perform unidirectional data transmission.
[0057] For example, the first terminal device 110 may encode video data (such as a video picture stream collected by the terminal device 110) for transmission to the second terminal device 120 via the network 150. The encoded video data is transmitted in the form of one or more encoded video bitstreams. The second terminal device 120 may receive the encoded video data from the network 150, decode the encoded video data to recover the video data, and display video pictures based on the recovered video data.
[0058] In one embodiment of the present application, the system architecture 100 may include a third terminal device 130 and a fourth terminal device 140 that perform two-way transmission of encoded video data. Such two-way transmission may occur, for example, during a video conference. For two-way data transmission, each of the third terminal device 130 and the fourth terminal device 140 may encode video data (such as a video picture stream collected by the terminal device) for transmission to the other of the third terminal device 130 and the fourth terminal device 140 via the network 150. Each of the third terminal device 130 and the fourth terminal device 140 may also receive the encoded video data transmitted by the other of the third terminal device 130 and the fourth terminal device 140, decode the encoded video data to recover the video data, and display video pictures on an accessible display device based on the recovered video data.
[0059] In Figure 1 an embodiment, the first terminal device 110, the second terminal device 120, the third terminal device 130, and the fourth terminal device 140 may be servers, personal computers, and smart phones, but the principles disclosed in the present application are not limited thereto. The disclosed embodiments of the present application are applicable to laptop computers, tablet computers, media players, and / or dedicated video conferencing devices. The network 150 represents any number of networks for transmitting encoded video data between the first terminal device 110, the second terminal device 120, the third terminal device 130, and the fourth terminal device 140, including, for example, wired and / or wireless communication networks. The communication network 150 may exchange data in circuit-switched and / or packet-switched channels. The network may include a telecommunications network, a local area network, a wide area network, and / or the Internet. For the purposes of the present application, unless otherwise explained hereinafter, the architecture and topology of the network 150 may be irrelevant to the operations disclosed in the present application.
[0060] In one embodiment of the present application, Figure 2Shows the placement of a video encoding device and a video decoding device in a streaming environment. The subject matter disclosed in this application is equally applicable to other video-enabled applications, including, for example, video conferencing, digital TV (television), storing compressed video on digital media such as CDs, DVDs, memory sticks, and so on.
[0061] A streaming system may include an acquisition subsystem 213, and the acquisition subsystem 213 may include a video source 201 such as a digital camera. The video source creates an uncompressed video picture stream 202. In an embodiment, the video picture stream 202 includes samples taken by the digital camera. Compared with the encoded video data 204 (or the encoded video bitstream 204), the video picture stream 202 is depicted as a thick line to emphasize the high-data-volume video picture stream. The video picture stream 202 may be processed by an electronic device 220, and the electronic device 220 includes a video encoding device 203 coupled to the video source 201. The video encoding device 203 may include hardware, software, or a combination of both to implement or carry out aspects of the subject matter disclosed in more detail below. Compared with the video picture stream 202, the encoded video data 204 (or the encoded video bitstream 204) is depicted as a thin line to emphasize the lower-data-volume encoded video data 204 (or the encoded video bitstream 204), which may be stored on a streaming server 205 for future use. One or more streaming client subsystems, such as Figure 2 the client subsystem 206 and the client subsystem 208 in, may access the streaming server 205 to retrieve copies 207 and 209 of the encoded video data 204. The client subsystem 206 may include, for example, a video decoding device 210 in an electronic device 230. The video decoding device 210 decodes an incoming copy 207 of the encoded video data and generates an output video picture stream 211 that can be presented on a display 212 (such as a display screen) or another rendering device. In some streaming systems, the encoded video data 204, the video data 207, and the video data 209 (such as a video bitstream) may be encoded according to certain video encoding / compression standards. Embodiments of such standards include ITU-T H.265. In an embodiment, a video encoding standard that is being developed is informally referred to as Versatile Video Coding (VVC), and this application may be used in the context of the VVC standard.
[0062] It should be noted that the electronic device 220 and the electronic device 230 may include other components not shown in the figure. For example, the electronic device 220 may include a video decoding device, and the electronic device 230 may also include a video encoding device.
[0063] In an embodiment of the present application, taking the international video coding standards HEVC (High Efficiency Video Coding) and VVC (Versatile Video Coding), as well as the Chinese national video coding standard AVS as examples, after an input video frame image, according to a block size, the video frame image is divided into a number of non-overlapping processing units, and each processing unit will perform similar compression operations. This processing unit is called a CTU (Coding Tree Unit), or an LCU (Largest Coding Unit). The CTU can be further divided more finely to obtain one or more basic coding units CU, and the CU is the most basic element in a coding process. The following introduces some concepts when coding the CU:
[0064] Predictive Coding: Predictive coding includes methods such as intra-frame prediction and inter-frame prediction. After the original video signal is predicted by the selected reconstructed video signal, a residual video signal is obtained. The encoding end needs to decide which predictive coding mode to select for the current CU and inform the decoding end. Among them, intra-frame prediction means that the predicted signal comes from the region that has been encoded and reconstructed within the same image; inter-frame prediction means that the predicted signal comes from other images that have been encoded and are different from the current image (referred to as reference images).
[0065] Transform & Quantization: After the residual video signal undergoes transformation operations such as DFT (Discrete Fourier Transform) and DCT (Discrete Cosine Transform), the signal is converted into the transform domain, which is called the transform coefficient. The transform coefficient further undergoes a lossy quantization operation, losing certain information, making the quantized signal conducive to compressed representation. In some video coding standards, there may be more than one transform method to choose from, so the encoding end also needs to select one of the transform methods for the current CU and inform the decoding end. The fineness of quantization is usually determined by the quantization parameter (QP for short). A larger QP value means that a larger range of coefficients will be quantized to the same output, so it usually brings greater distortion and a lower bit rate; on the contrary, a smaller QP value means that a smaller range of coefficients will be quantized to the same output, so it usually brings less distortion and a corresponding higher bit rate.
[0066] Entropy Coding or Statistical Coding: The quantized transform domain signal will be statistically compressed and coded according to the frequencies of each value, and finally a binary (0 or 1) compressed bitstream will be output. At the same time, other information generated during coding, such as the selected coding mode, motion vector data, etc., also needs to be entropy coded to reduce the bit rate. Statistical coding is a lossless coding method that can effectively reduce the bit rate required to represent the same signal. Common statistical coding methods include Variable Length Coding (VLC) or Content-Adaptive Binary Arithmetic Coding (CABAC).
[0067] Loop Filtering: The signal after transformation and quantization will obtain the reconstructed image through operations such as inverse quantization, inverse transformation, and prediction compensation. Compared with the original image, due to the influence of quantization, some information is different from the original image, that is, the reconstructed image will produce distortion. Therefore, filtering operations can be performed on the reconstructed image, such as Deblocking filter (DB), SAO (Sample Adaptive Offset), or ALF (Adaptive Loop Filter) and other filters, which can effectively reduce the distortion degree caused by quantization. Since these filtered reconstructed images will be used as references for subsequent coded images to predict future image signals, the above filtering operations are also called loop filtering, that is, filtering operations within the coding loop.
[0068] In an embodiment of the present application, Figure 3 The basic flowchart of a video encoder is shown. In this process, intra-frame prediction is taken as an example for illustration. Among them, the original image signal s k [x, y] and the predicted image signal perform a difference operation to obtain the residual signal u k [x, y]. The residual signal u k [x, y] is processed through transformation and quantization to obtain quantization coefficients. The quantization coefficients, on the one hand, obtain the coded bitstream through entropy coding, and on the other hand, obtain the reconstructed residual signal u' k [x, y] through inverse quantization and inverse transformation processing. The predicted image signal and the reconstructed residual signal u' k [x, y] are superimposed to generate the image signal The image signal On the one hand, it is input to the intra-mode decision module and the intra-prediction module for intra-prediction processing. On the other hand, the reconstructed image signal s' is output through loop filtering. k [x,y], the reconstructed image signal s' k [x,y] can be used as the reference image for the next frame for motion estimation and motion compensation prediction. Then, based on the result s' of motion compensation prediction r [x + m x ,y + m y and the intra-prediction result The predicted image signal of the next frame is obtained And the above process is continued to repeat until the encoding is completed.
[0069] Based on the above encoding process, at the decoding end, for each CU, after obtaining the compressed bitstream (i.e., the bitstream), entropy decoding is performed to obtain various mode information and quantization coefficients. Then, the quantization coefficients are processed through inverse quantization and inverse transformation to obtain the residual signal. On the other hand, according to the known encoding mode information, the prediction signal corresponding to the CU can be obtained. Then, after adding the residual signal and the prediction signal, the reconstructed signal is obtained. The reconstructed signal is further processed through operations such as loop filtering to generate the final output signal.
[0070] There are three intra-coding modes in AVS3: ordinary intra-prediction technology, intra-block copying technology (abbreviated as IBC), and intra-string copying technology (abbreviated as ISC). For ordinary intra-prediction technology, as Figure 4 shown, there are a total of 66 intra-prediction modes. Among them, modes 3 - 32, modes 34 - 65 are angular prediction modes, mode 33 is the PCM (Pulse Code Modulation) mode, mode 0 is the DC prediction mode, mode 1 is the Plane prediction mode, and mode 2 is the Bilinear prediction mode.
[0071] Figure 4 The dotted arrows in [figure] indicate the newly introduced angular extension mode (Extended IntraPrediction Mode, abbreviated as EIPM) in the second stage of AVS3. Mode 12 and mode 24 respectively represent the vertical prediction mode and the horizontal prediction mode. Assuming the total number of intra-prediction modes is IPD_CNT, then if EIPM is turned off, IPD_CNT is 34; if EIPM is turned on, IPD_CNT is 66.
[0072] In addition, considering that the traditional single prediction mode cannot adapt to relatively complex image textures, such as Figure 5The image shown contains two parts of texture. The SAWP technology proposes to use two different intra-prediction modes to predict the same coding block, and the final predicted image is generated by weighting two intra-predicted images.
[0073] Specifically, assuming that the predicted images obtained by two intra-prediction modes are predMatrix0 and predMatrix1 respectively, the final predicted image generated by SAWP is predMatrixSawp, the mask is weightMatrixAwap, and [i][j] represents a coordinate point within the image block, then there is the following formula:
[0074] predMatrixSawp[i][j] = (predMatrix0[i][j] × weightMatrixAwap[i][j] +
[0075] predMatrix1[i][j] × (8 - weightMatrixAwap[i][j]) + 4) >> 3
[0076] Figure 6 Eight weight generation angles are shown. Figure 7 Seven reference weight prediction positions (i.e., seven weight configurations) are shown, and for each weight configuration, a mask weightMatrixAwap can be generated along the Figure 6 eight angles shown, so 8 × 7 = 56 masks can be generated.
[0077] Meanwhile, for the chrominance prediction method, the related technologies mainly propose the TSCPM (Two-Step Cross-component Prediction Mode) and PMC (Prediction from Multiple Cross-component) technologies.
[0078] Among them, for TSCPM, after the luminance reconstruction block is reconstructed, a linear model is established. Using the luminance reconstruction block (Y) as the input, the color block prediction blocks (Cb, Cr) are generated, as shown in the following formula:
[0079] pred C = α × Rec Y + β
[0080] Among them, pred C represents the chrominance prediction block; α and β are linear model parameters calculated online; Rec Y represents the luminance reconstruction block.
[0081] After the luminance reconstruction block and the Cb chrominance reconstruction block are both reconstructed, PMC establishes a linear model. Taking the luminance reconstruction block (Y) and the Cb chrominance reconstruction block as inputs, it generates the Cr chrominance prediction block, as shown in the following formula:
[0082] Ipred = A × Rec Y + B
[0083] Fpred Cr = Ipred′ - Rec Cb
[0084] where A and B are linear model parameters obtained by online calculation; Rec Y represents the luminance reconstruction block; Ipred represents the intermediate prediction block output by the linear model, and after downsampling, Ipred′ is obtained; Rec Cb represents the Cb chrominance reconstruction block; Fpred Cr represents the Cr chrominance prediction block.
[0085] The processing flow of PMC is as Figure 8 shown. Based on the luminance reconstruction block Rec Y the intermediate prediction block Ipred is obtained. The intermediate prediction block Ipred is subjected to downsampling processing to obtain Ipred′. The difference between Ipred′ and the Cb chrominance reconstruction block Rec Cb is taken to obtain the Cr chrominance prediction block Fpred Cr .
[0086] In addition, there are 21 chrominance prediction modes in total. Among them, the DM (Direct Mode) mode means directly using the intra prediction mode of the luminance block as the prediction mode of the chrominance block. The chrominance prediction modes are specifically shown in Table 1 below:
[0087]
[0088]
[0089] Table 1
[0090] Referring to Table 1 above, the serial number of the DM mode in Table 1 is 0, and it is represented as Intra_Chroma_DM and Intra_Chroma_PCM. The serial numbers 1-4 in Table 1 respectively represent using the DC prediction mode, Horizontal prediction mode, Vertical prediction mode, and Bilinear prediction mode to predict the current chroma block; the serial numbers 5-8 respectively represent the TSCPM prediction mode, where the calculation methods of the linear models corresponding to each prediction mode are different (where L represents Left and T represents Top); the serial numbers 9-20 respectively represent the PMC prediction mode, where the calculation methods of the linear models corresponding to each prediction mode are different. EPMC in Table 1 represents Extended-PMC, that is, the extended PMC mode.
[0091] When the luma block adopts the SAWP mode, the DM mode of the chroma block refers to performing intra prediction on the chroma block using the same SAWP mode as the chroma block (the same mask, the same intra prediction mode).
[0092] Assume that the width and height of the luma block are luma_w and luma_h respectively. Then the range of the effect of the SAWP mode on the luma block is:
[0093] luma_w ≥ 8 and luma_w ≤ 32
[0094] luma_h ≥ 8 and luma_h ≤ 32
[0095] For videos in the 420 sampling format (the standard default format), the size range of the chroma block where the SAWP mode can be implemented is:
[0096] chroma_w ≥ 4 and chroma_w ≤ 16
[0097] chroma_h ≥ 4 and chroma_h ≤ 16
[0098] Among them, chroma_w and chroma_h respectively represent the width and height of the chroma block.
[0099] As shown above, due to the characteristics of SAWP itself, its hardware execution speed is slower than that of ordinary intra prediction modes. If SAWP is used on blocks with smaller sizes, the hardware execution speed will be further reduced, thereby reducing the hardware encoding and decoding performance. Based on this, the technical solution of the embodiment of the present application proposes a solution to determine whether the chroma coding block can adopt SAWP for intra prediction in combination with the size of the chroma coding block when the luma coding block uses SAWP, thereby improving the hardware encoding and decoding performance to a certain extent.
[0100] The implementation details of the technical solution of the embodiments of the present application are elaborated in detail as follows:
[0101] Figure 9 The flowchart of a video decoding method according to an embodiment of the present application is shown. The video decoding method can be executed by a device with computing and processing capabilities, such as a terminal device or a server. Referring to Figure 9 as shown, the video decoding method at least includes steps S910 to S930, which are introduced in detail as follows:
[0102] In step S910, the video bitstream is decoded to obtain the prediction mode adopted by the luminance coding block.
[0103] In an embodiment of the present application, the video bitstream is a bitstream obtained by encoding a sequence of video image frames. Among them, the sequence of video image frames includes a series of images, and each image can be further divided into slices, and the slices can be further divided into a series of LCUs (or CTUs), and an LCU contains several CUs. Video image frames are encoded in units of blocks during encoding. In some new video coding standards, such as in the H.264 standard, there are macroblocks (MBs), and a macroblock can be further divided into multiple prediction blocks that can be used for predictive coding. In the HEVC standard, basic concepts such as coding units CU, prediction units (PU), and transform units (TU) are adopted to functionally divide various block units and describe them using a brand-new tree-based structure. For example, a CU can be divided into smaller CUs according to a quadtree, and the smaller CUs can continue to be divided, thus forming a quadtree structure. The coding blocks (including luminance coding blocks, chrominance coding blocks, etc.) in the embodiments of the present application can be CUs, or blocks smaller than CUs, such as smaller blocks obtained by dividing a CU.
[0104] In an embodiment of the present application, the prediction mode that the luminance coding block can adopt can be, for example, Figure 4 the 66 intra prediction modes shown in, or the SAWP mode, etc.
[0105] In step S920, if the SAWP mode is adopted by the luminance coding block, then according to the size of the chrominance coding block corresponding to the luminance coding block, it is determined whether the chrominance coding block can adopt the SAWP mode.
[0106] In an embodiment of the present application, if the size of the chrominance coding block satisfies at least one of the following conditions, it is determined that the chrominance coding block can adopt the SAWP mode:
[0107] The width of the chroma coding block is greater than or equal to a first set value;
[0108] The width of the chroma coding block is less than or equal to a second set value, and the second set value is greater than or equal to the first set value;
[0109] The height of the chroma coding block is greater than or equal to a third set value;
[0110] The height of the chroma coding block is less than or equal to a fourth set value, and the fourth set value is greater than or equal to the third set value;
[0111] The area of the chroma coding block is greater than or equal to a fifth set value;
[0112] The area of the chroma coding block is less than or equal to a sixth set value, and the sixth set value is greater than or equal to the fifth set value.
[0113] Optionally, in the foregoing embodiments, the first set value may be equal to the third set value, and the second set value may be equal to the fourth set value.
[0114] Optionally, in an embodiment of the present application, the numerical values of the first set value and the third set value may be 8.
[0115] In an embodiment of the present application, if the combination of the width and height of the chroma coding block is not a specified numerical combination, it is determined that the chroma coding block can adopt the SAWP mode; wherein, the specified numerical combinations include at least one of the following numerical combinations: (4, 4), (4, 8), (4, 16), (8, 4), (16, 4), (8, 8), (8, 16), (16, 8), (16, 16).
[0116] Specifically, in combination with the above embodiments, if the size of the chroma coding block satisfies at least one of the following conditions, it is determined that the chroma coding block can adopt the SAWP mode:
[0117] Condition 1: chroma_w (the width of the chroma coding block) is greater than or equal to k1 (k1 is the first set value).
[0118] Condition 2: chroma_w is less than or equal to k2 (k2 is the second set value).
[0119] Condition 3: chroma_h (the height of the chroma coding block) is greater than or equal to k3 (k3 is the third set value). Optionally, k1 = k3 = 8.
[0120] Condition 4: chroma_h is less than or equal to k4 (k4 is the fourth set value). Optionally, k1 = k3 < k2 = k4.
[0121] Condition 5: chroma_w × chroma_h is greater than or equal to k5 (k5 is the fifth set value). Optionally, k5 can be 64.
[0122] Condition 6: chroma_w × chroma_h is less than or equal to k6 (k6 is the sixth set value).
[0123] Condition 7: chroma_w and chroma_h are not specified values. For example, the specified values can be at least one of the following: (4, 4), (4, 8), (4, 16), (8, 4), (16, 4), (8, 8), (8, 16), (16, 8), (16, 16).
[0124] In an embodiment of the present application, the size of the chrominance coding block can be determined according to the format of the video bitstream and the size of the luminance coding block obtained by decoding. For example, if the format of the video bitstream is the 420 sampling format, then the size of the chrominance coding block is half of the size of the luminance coding block.
[0125] Continue to refer to Figure 9 As shown, in step S930, if it is determined that the chrominance coding block cannot adopt the SAWP mode, then a target prediction mode other than the SAWP mode is selected to perform decoding processing on the chrominance coding block.
[0126] In an embodiment of the present application, if it is determined that the chrominance coding block cannot adopt the SAWP mode, then when the chrominance coding block prediction mode indication information indicates that the chrominance coding block adopts the direct mode, a target prediction mode other than the SAWP mode is selected to perform decoding processing on the chrominance coding block. That is, in this embodiment, the coding method of the chrominance coding block prediction mode indication information can remain unchanged, but the prediction mode corresponding to the DM mode is modified to the target prediction mode.
[0127] In an embodiment of the present application, the target prediction mode includes at least one of the following:
[0128] One of the intra prediction modes used by the SAWP mode adopted by the luminance coding block, such as the first intra prediction mode used by the SWAP mode adopted by the luminance coding block;
[0129] Cross-component two-step prediction mode TSCPM;
[0130] Cross multi-component prediction PMC mode;
[0131] Other prediction modes selected from the chrominance prediction mode list except the direct mode, such as the prediction modes with serial numbers 1-20 in Table 1 above;
[0132] The intra prediction mode adopted by adjacent chrominance coding blocks or luminance coding blocks;
[0133] An intra prediction mode selected from the allowed intra prediction modes, such as the intra prediction mode among the 66 intra prediction modes shown in Figure 4 the 66 intra prediction modes shown in
[0134] In an embodiment of the present application, if it is determined that a chrominance coding block cannot adopt the SAWP mode, the decoding process of the flag bit used to indicate whether the chrominance coding block adopts the direct mode included in the video bitstream can be skipped. This is because when the chrominance coding block cannot adopt the SAWP mode, if the luma coding block adopts the SAWP mode, then the chrominance coding block cannot adopt the direct mode. Therefore, the decoding process of the flag bit used to indicate whether the chrominance coding block adopts the direct mode can be skipped. In this case, the encoding end does not need to perform encoding either, improving the encoding efficiency.
[0135] In an embodiment of the present application, if it is determined that a chrominance coding block can adopt the SAWP mode, when the chrominance coding block prediction mode indication information obtained by decoding indicates that the chrominance coding block adopts the direct mode, the chrominance coding block is decoded based on the SAWP mode.
[0136] Figure 10 The flowchart of a video coding method according to an embodiment of the present application is shown. This video coding method can be executed by a device with computing and processing capabilities, such as a terminal device or a server. Referring to Figure 10 as shown, this video coding method at least includes steps S1010 to S1040, which are introduced in detail as follows:
[0137] In step S1010, determine the prediction mode adopted by the luma coding block during encoding.
[0138] In step S1020, if the luma coding block adopts the SAWP mode, determine whether the chrominance coding block can adopt the SAWP mode according to the size of the chrominance coding block corresponding to the luma coding block.
[0139] In step S1030, if it is determined that the chrominance coding block cannot adopt the SAWP mode, select a target prediction mode other than the SAWP mode to perform encoding processing on the chrominance coding block.
[0140] It should be noted that the processing process at the encoding end is similar to that at the decoding end. For example, according to the size of the chrominance coding block corresponding to the luma coding block, determine whether the chrominance coding block can adopt the SAWP mode, etc., which will not be elaborated here.
[0141] The technical solution of the embodiment of the present application can determine whether a chrominance coding block can adopt the SAWP mode according to the size of the chrominance coding block, thereby avoiding using the SAWP mode on a chrominance coding block with an unreasonable size (such as a small size) and reducing the execution speed of the hardware. By selecting a target prediction mode other than the SAWP mode to decode the chrominance coding block in this case, the codec performance of the hardware can be improved to a certain extent.
[0142] The following introduces the device embodiments of the present application, which can be used to execute the methods described in the above embodiments of the present application. For details not disclosed in the device embodiments of the present application, please refer to the method embodiments of the present application above.
[0143] Figure 11 The block diagram of a video decoding device according to an embodiment of the present application is shown. The video decoding device can be disposed in a device with computing and processing capabilities, such as a terminal device or a server.
[0144] Refer to Figure 11 As shown, a video decoding device 1100 according to an embodiment of the present application includes: a decoding unit 1102, a first determination unit 1104, and a processing unit 1106.
[0145] Among them, the decoding unit 1102 is configured to perform decoding processing on a video bitstream to obtain the prediction mode adopted by a luminance coding block; the first determination unit 1104 is configured to determine whether the chrominance coding block can adopt the SAWP mode according to the size of the chrominance coding block corresponding to the luminance coding block if the luminance coding block adopts the Spatial Angle Weighted Prediction (SAWP) mode; the processing unit 1106 is configured to select a target prediction mode other than the SAWP mode to perform decoding processing on the chrominance coding block if it is determined that the chrominance coding block cannot adopt the SAWP mode.
[0146] In some embodiments of the present application, based on the foregoing solution, the first determination unit 1104 is configured to: determine that the chrominance coding block can adopt the SAWP mode if the size of the chrominance coding block satisfies at least one of the following conditions:
[0147] The width of the chrominance coding block is greater than or equal to a first set value;
[0148] The width of the chrominance coding block is less than or equal to a second set value, and the second set value is greater than or equal to the first set value;
[0149] The height of the chrominance coding block is greater than or equal to a third set value;
[0150] The height of the chrominance coding block is less than or equal to a fourth set value, and the fourth set value is greater than or equal to the third set value;
[0151] The area of the chrominance coding block is greater than or equal to a fifth set value;
[0152] The area of the chrominance coding block is less than or equal to a sixth set value, and the sixth set value is greater than or equal to the fifth set value.
[0153] In some embodiments of the present application, based on the foregoing solution, the first set value is equal to the third set value, and the second set value is equal to the fourth set value.
[0154] In some embodiments of the present application, based on the foregoing solution, the values of both the first set value and the third set value are 8.
[0155] In some embodiments of the present application, based on the foregoing solution, the first determination unit 1104 is configured to: if the combination of the width and height of the chrominance coding block is not a specified numerical combination, determine that the chrominance coding block can adopt the SAWP mode; wherein, the specified numerical combination includes at least one of the following numerical combinations: (4, 4), (4, 8), (4, 16), (8, 4), (16, 4), (8, 8), (8, 16), (16, 8), (16, 16).
[0156] In some embodiments of the present application, based on the foregoing solution, the target prediction mode includes at least one of the following:
[0157] One of the intra prediction modes used by the SAWP mode adopted by the luminance coding block;
[0158] Cross-component two-step prediction mode TSCPM;
[0159] Cross multi-component prediction PMC mode;
[0160] Other prediction modes selected from the chrominance prediction mode list except the direct mode;
[0161] The intra prediction mode adopted by adjacent chrominance coding blocks or luminance coding blocks;
[0162] The intra prediction mode selected from the allowed intra prediction modes.
[0163] In some embodiments of the present application, based on the foregoing solution, the processing unit 1106 is further configured to: if it is determined that the chrominance coding block cannot adopt the SAWP mode, skip the decoding process of the flag bit included in the video bitstream for indicating whether the chrominance coding block adopts the direct mode.
[0164] In some embodiments of the present application, based on the foregoing solution, the processing unit 1106 is configured to: if it is determined that the chrominance coding block cannot adopt the SAWP mode, when the chrominance coding block prediction mode indication information obtained by decoding indicates that the chrominance coding block adopts the direct mode, select a target prediction mode other than the SAWP mode to perform decoding processing on the chrominance coding block.
[0165] In some embodiments of the present application, based on the foregoing solution, the processing unit 1106 is further configured to: if it is determined that the chrominance coding block can adopt the SAWP mode, when the chrominance coding block prediction mode indication information obtained by decoding indicates that the chrominance coding block adopts the direct mode, perform decoding processing on the chrominance coding block based on the SAWP mode.
[0166] In some embodiments of the present application, based on the foregoing solution, the first determination unit 1104 is further configured to: determine the size of the chrominance coding block according to the format of the video bitstream and the size of the decoded luminance coding block.
[0167] Figure 12 The block diagram of a video encoding device according to an embodiment of the present application is shown. The video encoding device may be disposed in a device having a computing and processing function, such as a terminal device or a server.
[0168] Refer to Figure 12 As shown, a video encoding device 1200 according to an embodiment of the present application includes: a second determination unit 1202, a third determination unit 1204, and an encoding unit 1206.
[0169] Among them, the second determination unit 1202 is configured to determine the prediction mode adopted by the luminance coding block during encoding; the third determination unit 1204 is configured to, if the luminance coding block adopts the SAWP mode, determine whether the chrominance coding block can adopt the SAWP mode according to the size of the chrominance coding block corresponding to the luminance coding block; the encoding unit 1206 is configured to, if it is determined that the chrominance coding block cannot adopt the SAWP mode, select a target prediction mode other than the SAWP mode to perform encoding processing on the chrominance coding block.
[0170] Figure 13 The structural schematic diagram of a computer system of an electronic device suitable for implementing the embodiments of the present application is shown.
[0171] It should be noted that Figure 13 The computer system 1300 of the electronic device shown is only an example, and should not impose any limitation on the functions and usage scopes of the embodiments of the present application.
[0172] Such as Figure 13As shown, computer system 1300 includes a Central Processing Unit (CPU) 1301, which can perform various appropriate actions and processes according to the program stored in the Read-Only Memory (ROM) 1302 or the program loaded from the storage section 1308 into the Random Access Memory (RAM) 1303, such as executing the method described in the above embodiments. In the RAM 1303, various programs and data required for system operation are also stored. The CPU 1301, ROM 1302, and RAM 1303 are connected to each other via a bus 1304. An Input / Output (I / O) interface 1305 is also connected to the bus 1304.
[0173] The following components are connected to the I / O interface 1305: an input section 1306 including a keyboard, a mouse, etc.; an output section 1307 including, for example, a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), etc. and a speaker, etc.; a storage section 1308 including a hard disk, etc.; and a communication section 1309 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 1309 performs communication processing via a network such as the Internet. A drive 1310 is also connected to the I / O interface 1305 as needed. A removable medium 1311, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 1310 as needed so that a computer program read from it can be installed into the storage section 1308 as needed.
[0174] Specifically, according to an embodiment of the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a computer program for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network via the communication section 1309, and / or installed from the removable medium 1311. When the computer program is executed by the Central Processing Unit (CPU) 1301, various functions defined in the system of the present application are executed.
[0175] It should be noted that the computer-readable medium shown in the embodiments of the present application can be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of the computer-readable storage medium can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, the computer-readable storage medium can be any tangible medium that contains or stores a program, and this program can be used by or in combination with an instruction execution system, apparatus, or device. In the present application, the computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable computer program is carried. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer-readable signal medium can also be any computer-readable medium other than the computer-readable storage medium, and this computer-readable medium can send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device. The computer program contained on the computer-readable medium can be transmitted by any suitable medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.
[0176] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present application. Among them, each block in the flowchart or block diagram can represent a module, a program segment, or a part of code, and the above module, program segment, or part of code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than marked in the accompanying drawings. For example, two consecutive blocks shown can actually be executed substantially in parallel, and they can sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram or flowchart, and the combination of blocks in the block diagram or flowchart, can be implemented by a dedicated hardware-based system for performing the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.
[0177] The units involved in the embodiments described in this application can be implemented in software or in hardware, and the described units can also be provided in a processor. Among them, the names of these units do not, in some cases, constitute a limitation on the unit itself.
[0178] As another aspect, this application also provides a computer-readable medium, which can be included in the electronic device described in the above embodiments; or it can exist alone without being assembled into the electronic device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by an electronic device, the electronic device implements the methods described in the above embodiments.
[0179] It should be noted that although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of the two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0180] From the description of the above embodiments, those skilled in the art can easily understand that the example embodiments described here can be implemented by software or by software in combination with necessary hardware. Therefore, the technical solutions according to the embodiments of this application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (such as a personal computer, a server, a touch terminal, or a network device, etc.) to execute the methods according to the embodiments of this application.
[0181] After considering the specification and practicing the embodiments disclosed herein, those skilled in the art will readily conceive of other embodiments of this application. This application is intended to cover any variations, uses, or adaptations of this application, which follow the general principles of this application and include known common knowledge or conventional technical means in the technical field not disclosed in this application.
[0182] It should be understood that this application is not limited to the exact structures described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is only limited by the appended claims.
Claims
1. A video decoding method, characterized in that, Including: Performing decoding processing on a video bitstream to obtain a prediction mode adopted by a luminance coding block; If the adopted prediction mode of the luminance coding block is a spatial angle weighted prediction (SAWP) mode, when the size of the chrominance coding block corresponding to the luminance coding block satisfies size condition 1 or size condition 2, determining that the chrominance coding block can adopt the SAWP mode; If it is determined that the chrominance coding block cannot adopt the SAWP mode, selecting a target prediction mode other than the SAWP mode to perform decoding processing on the chrominance coding block; Wherein, the size condition 1 includes at least one of the following conditions: the width of the chrominance coding block is greater than or equal to a first set value, the height of the chrominance coding block is greater than or equal to a third set value, and the area of the chrominance coding block is greater than or equal to a fifth set value; The size condition 2 includes: the combination of the width and height of the chrominance coding block is not a specified numerical combination, and the specified numerical combination includes at least one of the following numerical combinations: (4, 4), (4, 8), (4, 16), (8, 4), (16, 4), (8, 8), (8, 16), (16, 8), (16, 16).
2. The video decoding method according to claim 1, characterized in that, The width of the chrominance coding block is greater than or equal to the first set value, and the width of the chrominance coding block is less than or equal to a second set value, and the second set value is greater than or equal to the first set value.
3. The video decoding method according to claim 1, characterized in that, The height of the chrominance coding block is greater than or equal to the third set value, and the height of the chrominance coding block is less than or equal to a fourth set value, and the fourth set value is greater than or equal to the third set value.
4. The video decoding method according to claim 1, characterized in that, The area of the chrominance coding block is greater than or equal to the fifth set value, and the area of the chrominance coding block is less than or equal to a sixth set value, and the sixth set value is greater than or equal to the fifth set value.
5. The video decoding method according to claim 1, characterized in that, The first set value is equal to the third set value.
6. The video decoding method according to claim 1, characterized in that, The numerical values of the first set value and the third set value are both 8.
7. The video decoding method according to claim 2, characterized in that, The height of the chrominance coding block is greater than or equal to the third set value, and the height of the chrominance coding block is less than or equal to a fourth set value, the fourth set value is greater than or equal to the third set value, and the second set value is equal to the fourth set value.
8. The video decoding method according to claim 1, characterized in that, The target prediction mode includes at least one of the following: One of the intra prediction modes used by the SAWP mode adopted by the luminance coding block; Trans-component two-step prediction mode (TSCPM); Cross multi-component prediction (PMC) mode; Other prediction modes selected from the chrominance prediction mode list except the direct mode; The intra prediction mode adopted by an adjacent chrominance coding block or luminance coding block; The intra prediction mode selected from the allowed intra prediction modes.
9. The video decoding method according to claim 1, characterized in that, The video decoding method further includes: If it is determined that the chrominance coding block cannot adopt the SAWP mode, skipping the decoding process of the flag bit included in the video bitstream for indicating whether the chrominance coding block adopts the direct mode.
10. The video decoding method according to claim 1, characterized in that, If it is determined that the chrominance coding block cannot adopt the SAWP mode, selecting a target prediction mode other than the SAWP mode to perform decoding processing on the chrominance coding block, including: If it is determined that the chrominance coding block cannot adopt the SAWP mode, when the chrominance coding block prediction mode indication information obtained by decoding indicates that the chrominance coding block adopts the direct mode, a target prediction mode other than the SAWP mode is selected to perform decoding processing on the chrominance coding block.
11. The video decoding method according to claim 1, characterized in that, The video decoding method further includes: If it is determined that the chrominance coding block can adopt the SAWP mode, when the chrominance coding block prediction mode indication information obtained by decoding indicates that the chrominance coding block adopts the direct mode, decoding processing is performed on the chrominance coding block based on the SAWP mode.
12. The video decoding method according to any one of claims 1 to 11, characterized in that, The video decoding method further includes: According to the format of the video bitstream and the size of the decoded luminance coding block, determine the size of the chrominance coding block.
13. A video encoding method, characterized in that, It includes: Determine the prediction mode adopted by the luminance coding block during encoding; If the luminance coding block adopts the SAWP mode, when the size of the chrominance coding block corresponding to the luminance coding block meets size condition 1 or size condition 2, determine that the chrominance coding block can adopt the SAWP mode; If it is determined that the chrominance coding block cannot adopt the SAWP mode, select a target prediction mode other than the SAWP mode to perform encoding processing on the chrominance coding block; Wherein, the size condition 1 includes at least one of the following conditions: the width of the chrominance coding block is greater than or equal to a first set value, the height of the chrominance coding block is greater than or equal to a third set value, and the area of the chrominance coding block is greater than or equal to a fifth set value; The size condition 2 includes: the combination of the width and height of the chrominance coding block is not a specified numerical combination, and the specified numerical combination includes at least one of the following numerical combinations: (4, 4), (4, 8), (4, 16), (8, 4), (16, 4), (8, 8), (8, 16), (16, 8), (16, 16).
14. A video decoding device, characterized in that, It includes: A decoding unit configured to perform decoding processing on the video bitstream to obtain the prediction mode adopted by the luminance coding block; A first determination unit configured to, if the luminance coding block adopts the spatial angle weighted prediction (SAWP) mode, when the size of the chrominance coding block corresponding to the luminance coding block meets size condition 1 or size condition 2, determine that the chrominance coding block can adopt the SAWP mode; A processing unit configured to, if it is determined that the chrominance coding block cannot adopt the SAWP mode, select a target prediction mode other than the SAWP mode to perform decoding processing on the chrominance coding block; Wherein, the size condition 1 includes at least one of the following conditions: the width of the chrominance coding block is greater than or equal to a first set value, the height of the chrominance coding block is greater than or equal to a third set value, and the area of the chrominance coding block is greater than or equal to a fifth set value; The size condition 2 includes: the combination of the width and height of the chrominance coding block is not a specified numerical combination, and the specified numerical combination includes at least one of the following numerical combinations: (4, 4), (4, 8), (4, 16), (8, 4), (16, 4), (8, 8), (8, 16), (16, 8), (16, 16).
15. A video encoding device, characterized in that, including: a second determination unit configured to determine a prediction mode adopted by the luminance coding block during coding; a third determination unit configured to, if the SAWP mode is adopted by the luminance coding block, determine that the chrominance coding block corresponding to the luminance coding block can adopt the SAWP mode when the size of the chrominance coding block satisfies the size condition 1 or the size condition 2; an encoding unit configured to, if it is determined that the chrominance coding block cannot adopt the SAWP mode, select a target prediction mode other than the SAWP mode to perform encoding processing on the chrominance coding block; wherein, the size condition 1 includes at least one of the following conditions: the width of the chrominance coding block is greater than or equal to a first set value, the height of the chrominance coding block is greater than or equal to a third set value, and the area of the chrominance coding block is greater than or equal to a fifth set value; The size condition 2 includes: the combination of the width and height of the chrominance coding block is not a specified numerical combination, and the specified numerical combination includes at least one of the following numerical combinations: (4, 4), (4, 8), (4, 16), (8, 4), (16, 4), (8, 8), (8, 16), (16, 8), (16, 16).
16. A computer-readable medium, on which a computer program is stored, characterized in that, When the computer program is executed by a processor, it implements the video decoding method according to any one of claims 1 to 12, or implements the video encoding method according to claim 13.
17. An electronic device, characterized in that, including: one or more processors; a storage device for storing one or more programs, which, when executed by the one or more processors, cause the one or more processors to implement the video decoding method according to any one of claims 1 to 12, or implement the video encoding method according to claim 13.
18. A computer program product, characterized in that, The computer program product includes a computer program, the computer program is stored in a computer-readable storage medium, and a processor of a computer device reads and executes the computer program from the computer-readable storage medium, so that the computer device executes the video decoding method according to any one of claims 1 to 12, or executes the video encoding method according to claim 13.
19. A method for storing a video bitstream, characterized in that, The video bitstream is decoded according to the video decoding method according to any one of claims 1 to 12, or the video bitstream is generated according to the video encoding method according to claim 13.
Citation Information
Patent Citations
Intra prediction method, intra prediction apparatus, and computer readable storage medium
CN112565773A
Intra-prediction mode-based image processing method and apparatus therefor
US20200177878A1