Video coding and decoding method and device, computer readable medium and electronic equipment

By adjusting the reference region filter coefficients of the extrapolation filter, the problem of decreased prediction performance in intra-frame prediction mode was solved, thereby improving the efficiency and accuracy of video encoding and decoding.

CN121509684APending Publication Date: 2026-02-10TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411099982.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-09
Publication Date
2026-02-10

AI Technical Summary

Technical Problem

In existing technologies, intra-prediction modes based on extrapolation filters exhibit decreased prediction performance when the current block is far from the reference region, affecting the accuracy of intra-prediction and encoding/decoding efficiency.

Method used

By obtaining the reference region filter coefficients and filter coefficient compensation values ​​corresponding to the current block, adjusted filter coefficients are generated, and the reference region filter coefficients are optimized to improve intra-frame prediction accuracy.

Benefits of technology

It improves video encoding and decoding efficiency and increases the accuracy of intra-frame prediction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121509684A_ABST
    Figure CN121509684A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a video encoding and decoding method and device, a computer readable medium and electronic equipment. The video decoding method comprises the following steps: for a current block adopting an intra-frame prediction mode based on an extrapolation filter, obtaining a reference region filter coefficient corresponding to the current block; decoding a video code stream to obtain a filter coefficient compensation value corresponding to the current block; generating an adjusted filter coefficient based on the filter coefficient compensation value and the reference region filter coefficient; and performing intra-frame prediction processing on the current block by using the adjusted filter coefficient. According to the technical scheme provided by the embodiment of the invention, the reference region filter coefficient corresponding to the current block can be optimized, so that the accuracy of intra-frame prediction can be improved, and the video coding and decoding efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer and communication, in particular, to a video coding method and device, a computer readable medium and an electronic device. BACKGROUND

[0002] In the field of video coding, the intra prediction mode is based on the correlation of the pixels of the video image existing in the spatial domain, and the prediction value of the current block is derived from the adjacent region. The extrapolation filter-based intra prediction (EIP) mode is to obtain the extrapolation filter coefficients from the reference region adjacent to the current block by using a predetermined filter template, and then generate the prediction pixels in the current block in a certain order.

[0003] For the current block using the EIP mode, the filter coefficients are derived from the pixels in the reference region adjacent to the current block, which leads to the prediction effect decreasing as the pixels in the current block move away from the reference region, and further affects the accuracy of the intra prediction and reduces the coding efficiency. SUMMARY

[0004] Embodiments of the present application provide a video coding method, device, computer readable medium and electronic device, which can optimize the reference region filter coefficients corresponding to the current block, and further improve the accuracy of the intra prediction, and is beneficial to improving the video coding efficiency.

[0005] Other characteristics and advantages of the present application will become apparent from the following detailed description, or will be learned by practice of the present application.

[0006] In a first aspect, embodiments of the present application provide a video decoding method, comprising: for a current block using an extrapolation filter-based intra prediction mode, obtaining reference region filter coefficients corresponding to the current block; decoding from a video bitstream a filter coefficient compensation value corresponding to the current block; generating an adjusted filter coefficient based on the filter coefficient compensation value and the reference region filter coefficients; and performing intra prediction processing on the current block using the adjusted filter coefficient.

[0007] In a second aspect, embodiments of the present application provide a video encoding method, comprising: for a current block using an extrapolation filter-based intra prediction mode, obtaining reference region filter coefficients corresponding to the current block, and a filter coefficient compensation value corresponding to the current block; generating an adjusted filter coefficient based on the filter coefficient compensation value and the reference region filter coefficients; performing intra prediction processing on the current block using the adjusted filter coefficient; and encoding the filter coefficient compensation value into a video bitstream.

[0008] In a third aspect, an embodiment of the present application provides a video decoding apparatus, including: an obtaining unit, configured to obtain filter coefficients of a reference region corresponding to a current block using an extrapolation filter based intra prediction mode; a decoding unit, configured to decode a filter coefficient compensation value corresponding to the current block from a video bitstream; a generating unit, configured to generate adjusted filter coefficients based on the filter coefficient compensation value and the filter coefficients of the reference region; and a processing unit, configured to perform intra prediction processing on the current block using the adjusted filter coefficients.

[0009] In a fourth aspect, an embodiment of the present application provides a video encoding apparatus, including: an obtaining unit, configured to obtain filter coefficients of a reference region corresponding to a current block using an extrapolation filter based intra prediction mode, and a filter coefficient compensation value corresponding to the current block; a generating unit, configured to generate adjusted filter coefficients based on the filter coefficient compensation value and the filter coefficients of the reference region; and a processing unit, configured to perform intra prediction processing on the current block using the adjusted filter coefficients, and encode the filter coefficient compensation value into a video bitstream.

[0010] In a fifth aspect, an embodiment of the present application provides a computer readable medium having stored thereon a computer program, the computer program being executed by a processor to implement the video decoding method or the video encoding method as described in the above embodiments.

[0011] In a sixth aspect, an embodiment of the present application provides an electronic device, including: one or more processors; and a storage apparatus configured to store one or more computer programs, the one or more computer programs being executed by the one or more processors to cause the electronic device to implement the video decoding method or the video encoding method as described in the above embodiments.

[0012] In a seventh aspect, an embodiment of the present application provides a computer program product, the computer program product including a computer program stored in a computer readable storage medium. A processor of an electronic device reads and executes the computer program from the computer readable storage medium, so that the electronic device performs the video decoding method or the video encoding method provided in the various optional embodiments described above.

[0013] In the technical solutions provided in some embodiments of the present application, for a current block using an extrapolation filter based intra prediction mode, reference region filter coefficients corresponding to the current block can be obtained, and then filter coefficient compensation values corresponding to the current block can be decoded from a video code stream, so as to generate adjusted filter coefficients based on the filter coefficient compensation values and the reference region filter coefficients, and then the current block is processed for intra prediction using the adjusted filter coefficients. It can be seen that in the technical solutions of the embodiments of the present application, for a current block using an extrapolation filter based intra prediction mode, the reference region filter coefficients corresponding to the current block can be adjusted through filter coefficient compensation values, the reference region filter coefficients corresponding to the current block are optimized, and then the accuracy of intra prediction can be improved, which is beneficial to improving the video coding efficiency.

[0014] It should be understood that the foregoing general description and the following detailed description are only exemplary and explanatory, and are not limiting to the present application. BRIEF DESCRIPTION OF DRAWINGS

[0015] Figure 1 A schematic diagram of an exemplary system architecture to which the technical solutions of the embodiments of the present application can be applied is shown;

[0016] Figure 2 A schematic diagram showing the placement of a video encoding device and a video decoding device in a streaming system is shown;

[0017] Figure 3 A basic flowchart of a video encoder is shown;

[0018] Figure 4 A schematic diagram showing the angular prediction direction in the intra prediction mode is shown;

[0019] Figure 5 A schematic diagram showing intra prediction is shown;

[0020] Figure 6 A schematic diagram showing the intra prediction residual distribution according to an embodiment of the present application is shown;

[0021] Figure 7 A schematic diagram showing the filter template shape that can be used in EIP according to an embodiment of the present application is shown;

[0022] Figure 8 A schematic diagram showing the reference region shape that can be used in EIP according to an embodiment of the present application is shown;

[0023] Figure 9 A schematic diagram showing the order of diagonal scanning used to generate prediction pixels according to an embodiment of the present application is shown;

[0024] Figure 10FIG. 6 shows a flowchart of a video decoding method according to an embodiment of the present application;

[0025] Figure 11 FIG. 7 shows a diagram of region division in a current block according to an embodiment of the present application;

[0026] Figure 12 FIG. 8 shows a diagram of region division in a current block according to an embodiment of the present application;

[0027] Figure 13 FIG. 9 shows a diagram of region division in a current block according to an embodiment of the present application;

[0028] Figure 14 FIG. 10 shows a flowchart of a video decoding method according to an embodiment of the present application;

[0029] Figure 15 FIG. 11 shows a flowchart of a video encoding method according to an embodiment of the present application;

[0030] Figure 16 FIG. 12 shows a block diagram of a video decoding apparatus according to an embodiment of the present application;

[0031] Figure 17 FIG. 13 shows a block diagram of a video encoding apparatus according to an embodiment of the present application;

[0032] Figure 18 FIG. 14 shows a structural diagram of a computer system of an electronic device suitable for implementing embodiments of the present application. DETAILED DESCRIPTION

[0033] The example embodiments are now described in greater detail in connection with the accompanying drawings. However, the example embodiments can be implemented in various forms and should not be construed as being limited to the examples described herein; rather, these embodiments are provided so that this application will be thorough and complete, and fully convey the scope of the example embodiments to those skilled in the art.

[0034] Furthermore, the features, structures, or characteristics described in connection with the embodiments disclosed herein can be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are recited in order to provide a thorough understanding of the embodiments of the present application. One skilled in the relevant art, however, will recognize that the embodiments of the present application can be practiced without one or more of the specific details, or with other methods, components, materials, and so forth.

[0035] In this application embodiment, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.

[0036] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0037] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.

[0038] It should be noted that "multiple" in this article refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.

[0039] 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.

[0040] like Figure 1 As shown, system architecture 100 includes multiple terminal devices that can communicate with each other via, for example, a network 150. For instance, system architecture 100 may include a first terminal device 110 and a second terminal device 120 interconnected via network 150. Figure 1 In one embodiment, the first terminal device 110 and the second terminal device 120 perform unidirectional data transmission.

[0041] For example, the first terminal device 110 can encode video data (e.g., a video image stream captured by the terminal device 110) to transmit it 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 streams. The second terminal device 120 can receive the encoded video data from the network 150, decode the encoded video data to recover the video data, and display video images based on the recovered video data.

[0042] In one embodiment of this application, system architecture 100 may include a third terminal device 130 and a fourth terminal device 140 that perform bidirectional transmission of encoded video data, such as during a video conference. For bidirectional data transmission, each of the third terminal device 130 and the fourth terminal device 140 may encode video data (e.g., a video image stream captured by the terminal device) for transmission over network 150 to the other terminal device. Each of the third terminal device 130 and the fourth terminal device 140 may also receive encoded video data transmitted by the other terminal device, decode the encoded video data to recover the video data, and display the video images on an accessible display device based on the recovered video data.

[0043] exist Figure 1 In the embodiments shown, the first terminal device 110, the second terminal device 120, the third terminal device 130 and the fourth terminal device 140 may be servers or terminals, but the principles disclosed in this application are not limited to these.

[0044] Servers can be standalone physical servers, server clusters or distributed systems composed of multiple physical servers, or cloud servers providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms. Terminals can be smartphones, tablets, laptops, desktop computers, smart speakers, smart voice interaction devices, smartwatches, smart home appliances, in-vehicle terminals, aircraft, etc., but are not limited to these.

[0045] Figure 1The network 150 shown represents any number of networks, including, for example, wired and / or wireless communication networks, that transmit 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. The communication network 150 may exchange data in circuit-switched and / or packet-switched channels. This network may include telecommunications networks, local area networks (LANs), wide area networks (WANs), and / or the Internet. For the purposes of this application, unless explained below, the architecture and topology of network 150 may be irrelevant to the operation of the disclosure herein.

[0046] In one embodiment of this application, Figure 2 The illustration shows the placement of video encoding and decoding devices 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 television (TV), and storing compressed video on digital media including CDs, DVDs, memory sticks, etc.

[0047] The streaming system may include an acquisition subsystem 213, which may include a video source 201 such as a digital camera, which creates an uncompressed video image stream 202. In an embodiment, the video image stream 202 includes samples captured by a digital camera. The video image stream 202 is depicted as a thick line to emphasize the high data volume of the video image stream compared to encoded video data 204 (or encoded video bitstream 204). The video image stream 202 may be processed by an electronic device 220, which 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 hardware and software to implement or enforce aspects of the disclosed subject matter as described in more detail below. The encoded video data 204 (or encoded video bitstream 204) is depicted as a thin line to emphasize the lower data volume of the encoded video data 204 (or 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 Client subsystems 206 and 208 can access streaming server 205 to retrieve copies 207 and 209 of encoded video data 204. Client subsystem 206 may include, for example, a video decoding device 210 in electronic device 230. Video decoding device 210 decodes the incoming copy 207 of the encoded video data and produces an output video picture stream 211 that can be displayed on display 212 (e.g., a screen) or another presentation device. In some streaming systems, the encoded video data 204, video data 207, and video data 209 (e.g., video stream) may be encoded according to certain video encoding / compression standards.

[0048] It should be noted that electronic devices 220 and 230 may include other components not shown in the figures. For example, electronic device 220 may include a video decoding device, and electronic device 230 may also include a video encoding device.

[0049] In one embodiment of this application, taking High Efficiency Video Coding (HEVC) and Versatile Video Coding (VVC) from international video coding standards, as well as the Chinese national video coding standard AVS, as examples, after an input video frame image, the video frame image is divided into several non-overlapping processing units according to a block size. Each processing unit performs a similar compression operation. This processing unit is called a Coding Tree Unit (CTU) or Largest Coding Unit (LCU). The CTU can be further subdivided into more refined units to obtain one or more basic Coding Units (CUs). The CU is the most basic element in a coding process.

[0050] In another embodiment, this processing unit can also be called a tile, which is a rectangular area of ​​a multimedia data frame that can be independently decoded and encoded. In the Alliance for Open Media Video 1 (AV1) standard, the tile can be further subdivided into one or more superblocks (SBs). The SB is the starting point for block partitioning and can be further divided into multiple subblocks. The superblocks are then further subdivided into one or more blocks. Each block is the most basic element in a coding process. Optionally, an SB can contain several blocks (Bs).

[0051] The above method of dividing video frame images can be called a block partition structure. The following introduces some concepts in the encoding process:

[0052] Predictive coding includes intra-frame prediction and inter-frame prediction. The original video signal is predicted from a selected reconstructed video signal to obtain a residual video signal. The encoder needs to decide which predictive coding mode to choose for the current coding unit (or coding block) and inform the decoder. Intra-frame prediction refers to the predicted signal coming from a region within the same image that has already been encoded and reconstructed; inter-frame prediction refers to the predicted signal coming from another encoded image (called a reference image) that is different from the current image.

[0053] Transform and Quantization: After the residual video signal undergoes transformation operations such as Discrete Fourier Transform (DFT) and Discrete Cosine Transform (DCT), the signal is transformed into the transform domain, and these are called transform coefficients. The transform coefficients are then subjected to lossy quantization, losing some information to make the quantized signal more suitable for compression. In some video coding standards, there may be more than one transform method to choose from. Therefore, the encoder needs to select one of the transform methods for the current coding unit (or coding block) and inform the decoder. The fineness of quantization is usually determined by the quantization parameter (QP). A larger QP value means that coefficients with a wider range of values ​​will be quantized into the same output, which usually leads to greater distortion and a lower bit rate. Conversely, a smaller QP value means that coefficients with a smaller range of values ​​will be quantized into the same output, which usually leads to less distortion and a higher bit rate.

[0054] Entropy coding, or statistical coding, involves statistically compressing the quantized transform-domain signal based on the frequency of each value, ultimately outputting a binary (0 or 1) compressed bitstream. Simultaneously, other information generated during encoding, such as the selected coding mode and motion vector data, also requires entropy coding to reduce the bit rate. Statistical coding is a lossless coding method that effectively reduces the bit rate required to represent the same signal. Common statistical coding methods include Variable Length Coding (VLC) and Content-Adaptive Binary Arithmetic Coding (CABAC).

[0055] Context-Based Binary Arithmetic Coding (CABAC) primarily involves three steps: binarization, context modeling, and binary arithmetic coding. After binarizing the input syntax elements, the binary data can be encoded using either a regular coding mode or a bypass coding mode. The bypass coding mode eliminates the need to assign a specific probability model to each binary bit; the input binary bit bin value is directly encoded using a simple bypass encoder, thus accelerating the overall encoding and decoding speed. Generally, different syntax elements are not completely independent, and even identical syntax elements possess a certain degree of memory. Therefore, according to conditional entropy theory, using other encoded syntax elements for conditional coding can further improve coding performance compared to independent coding or memoryless coding. This encoded symbol information used as conditions is called the context. In the regular coding mode, the binary bits of the syntax elements sequentially enter the context modeler. The encoder assigns an appropriate probability model to each input binary bit based on the values ​​of previously encoded syntax elements or binary bits; this process is called context modeling. The context model corresponding to a grammatical element can be located using the context index increment (ctxIdxInc) and the context index start (ctxIdxStart). After the bin value and the assigned probability model are fed into the binary arithmetic encoder for encoding, the context model needs to be updated based on the bin value, which is the adaptive process in encoding.

[0056] Loop Filtering: The transformed and quantized signal undergoes inverse quantization, inverse transform, and prediction compensation to obtain a reconstructed image. Due to the effects of quantization, the reconstructed image differs from the original image in some aspects, resulting in distortion. Therefore, filtering operations can be performed on the reconstructed image, such as deblocking filters (DB), sample adaptive offset (SAO), or adaptive loop filters (ALF), to effectively reduce the distortion caused by quantization. Since these filtered reconstructed images will serve as a reference for subsequent coded images to predict future image signals, the aforementioned filtering operations are also called loop filtering, i.e., filtering operations within the coding loop.

[0057] In one embodiment of this application, Figure 3 A basic flowchart of a video encoder is shown, illustrating the process using intra-frame prediction as an example. The original image signal s...k [x,y] and the predicted image signal Perform the difference operation to obtain the residual signal u. k [x,y], residual signal u k After transformation and quantization, [x,y] is obtained as quantization coefficients. These coefficients are then used to obtain the encoded bitstream through entropy encoding, and to obtain the reconstructed residual signal u' through inverse quantization and inverse transform. k [x,y], predict image signal With the reconstructed residual signal u' k [x,y] superimposed to generate image signals Image signal On one hand, the signal is input to the intra-frame mode decision module and the intra-frame prediction module for intra-frame prediction processing; on the other hand, the reconstructed image signal s' is output through loop filtering. k [x,y], reconstruct the image signal s' k [x,y] can be used as a reference image for the next frame for motion estimation and motion compensation prediction. Then, based on the result s' of the motion compensation prediction... r [x+m x ,y+m y ] and intra-frame prediction results Obtain the predicted image signal for the next frame. And continue repeating the above process until the coding is complete.

[0058] Based on the above encoding process, at the decoding end, for each encoding unit (or encoding block), after acquiring the compressed bitstream (i.e., bitstream), entropy decoding is performed to obtain various mode information and quantization coefficients. Then, the quantization coefficients undergo inverse quantization and inverse transform processing to obtain the residual signal. On the other hand, based on the known encoding mode information, the prediction signal corresponding to the encoding unit (or encoding block) can be obtained. Then, the residual signal and the prediction signal are added together to obtain the reconstructed signal. The reconstructed signal then undergoes loop filtering and other operations to generate the final output signal.

[0059] In the field of coding technology, intra-frame prediction is a commonly used predictive coding technique. Intra-frame prediction is based on the spatial correlation of pixels in a video image, deriving the predicted value of the current coding block from adjacent coded regions. AVS3 Phase 2 adopts Extended Intra Prediction Mode (EIPM). The previous generation, AVS2, had 33 intra-frame prediction modes, including 30 angle prediction modes and 3 special prediction modes (Plane prediction mode, DC prediction mode, and Bilinear prediction mode), using two Most Probable Modes (MPM) for encoding, with the remaining modes using 5-bit fixed-length encoding. To support finer angle prediction, AVS3 expands the angle prediction modes to 62, such as... Figure 4 As shown, the newly added angle prediction modes are numbered 34 to 65.

[0060] When using angle prediction mode, the pixels within the current prediction block use the reference pixel value at the corresponding position in the reference pixel row or column as the predicted value, based on the direction corresponding to the angle of the prediction mode. For example... Figure 5 As shown, for pixel P in the prediction block, the position of the reference pixel is first determined from the already encoded pixel row above, based on the prediction angle in the image. Then, the reference pixel value is used as the predicted value for pixel P. It should be noted that not all pixel positions point to reference pixel positions with integer pixel precision. Figure 5 The reference pixel position for pixel P is a sub-pixel position between pixels B and C. Therefore, the predicted pixel value at this position needs to be obtained by interpolation using surrounding pixels. To improve the efficiency of intra-frame prediction, on-chip memory is typically used to store the reference pixel for intra-frame prediction.

[0061] For intra-frame non-angular prediction modes, such as DC (average) prediction mode, the average of the surrounding reference pixels is calculated and then the average value is filled into each position of the prediction block.

[0062] Since the reference pixels come from the left and top regions of the current block, pixels in the left or top regions of the current block are statistically more correlated with the reference pixels due to their proximity, resulting in relatively smaller absolute values ​​of the prediction residuals. Conversely, pixels in the bottom or right regions of the current block are farther from the reference pixels, leading to relatively larger absolute values ​​of the prediction residuals. An exemplary intra-frame prediction residual distribution in this application can be as follows: Figure 6 As shown, in Figure 6 The example shown is a residual example for the prediction direction at a 45-degree angle in the lower right corner. The shaded area represents the current block, and the unshaded area represents the reference area of ​​the current block. Figure 6As can be seen, the prediction residual of the pixel sample in the lower right corner of the current block is 4, which is much larger than the prediction residual in the upper left corner.

[0063] Intra-indication prediction (EIP) mode based on extrapolation filters defines a neighboring (top + left) reference region for the current block, and then generates the predicted pixels for the current block by weighted combination of pixels within the reference region. If a pixel location within the reference region has not yet been reconstructed, the predicted pixel at that location can be used instead of the reconstructed pixel. Therefore, EIP is a technique that can simultaneously and synchronously perform predictions at multiple locations within the current block.

[0064] In EIP, it is necessary to obtain the extrapolation filter coefficients of the reference region of the current block. These filter coefficients can be obtained by fitting the relationship between template pixels and target pixels in the adjacent reference region, or by inheriting the extrapolation filter coefficients of the coded block.

[0065] In some alternative embodiments, when fitting the filter coefficients in the EIP, it is necessary to determine the shape of the reference region (i.e., the reconstructed region of the current block reference) and the shape of the filter template. Then, the selected filter is slid horizontally or vertically within the selected reference region to construct an autocorrelation matrix and cross-correlation vectors. The filter coefficients are then calculated based on the autocorrelation matrix and cross-correlation vectors. This process is similar to determining the filter coefficients in the Convolutional Cross-Component Intra Prediction Model (CCCM). Specifically, in CCCM, the autocorrelation matrix represents the correlation between luminance reconstructed pixels in the reference region; the cross-correlation vector represents the correlation between luminance reconstructed pixels and chrominance reconstructed pixels in the reference region. The filter coefficients are then solved by minimizing the mean squared error (MSE).

[0066] Optionally, the three possible filter template shapes used in EIP are as follows: Figure 7 As shown; the possible shapes of the reference areas are as follows: Figure 8 As shown, there may be three possibilities. Optionally, the size of the reference region depends on min(blockWidth, blockHeight) and the shape of the selected filter template. For example, if the current block size is 8×16 (i.e., blockWidth is 8, blockHeight is 16) and the selected filter template shape is 4×4, then the aboveSize of the reference region is equal to min(8,16)+4-1=11, and the leftSize of the reference region is equal to min(8,16)+4-1=11.

[0067] After obtaining the EIP filter template shape and corresponding filter coefficients, predicted pixels generated based on the EIP method can be constructed position by position within the current block according to a certain scanning order until the predicted values ​​of all pixels are generated. Figure 9 This diagram illustrates the generation of predicted pixels using a diagonal scanning sequence. Alternatively, the formula for generating the predicted pixel value at a certain location within the current block can be as follows:

[0068]

[0069] Among them, pred (x,y) This represents the predicted pixel value at coordinates (x, y) within the current block; c i Represents the filter coefficients in the filter shape, for Figure 7 As shown in the filter template shape, there are a total of 15 filter coefficients; Represents the reconstructed or predicted pixel value in the filter template (if the reconstructed pixel at that location has not yet been obtained, the predicted pixel value can be used); offset i and offsetY i These represent the position offsets from the current position along the x and y directions, respectively.

[0070] As described above, for the current block using EIP mode, the derived filter coefficients are based on pixels within the adjacent reference region of the current block. This causes the prediction performance to decrease as pixels within the current block move further away from the reference region, with a more significant impact on the region to the right / below of the current block. Consequently, this affects the accuracy of intra-frame prediction and reduces encoding / decoding efficiency. Therefore, in the technical solution proposed in this application, for the current block using intra-frame prediction mode based on extrapolation filters, the filter coefficients of the reference region corresponding to the current block can be adjusted using filter coefficient compensation values. This optimizes the filter coefficients of the reference region corresponding to the current block, thereby improving the accuracy of intra-frame prediction and enhancing video encoding / decoding efficiency.

[0071] The implementation details of the technical solutions in the embodiments of this application are described in detail below:

[0072] Figure 10 A flowchart of a video decoding method according to an embodiment of this application is shown. This video decoding method can be executed by a device with computing processing capabilities, such as a terminal device or a server. (Refer to...) Figure 10 As shown, this video decoding method includes at least S1010 to S1040, which are described in detail below:

[0073] In S1010, for the current block using the intra-prediction mode based on extrapolation filter, the reference region filter coefficients corresponding to the current block are obtained.

[0074] In some optional embodiments, the video contains a sequence of video image frames, which includes a series of images. Each image can be further divided into slices, and each slice can be further divided into a series of LCUs (or CTUs). Each LCU contains several CUs. Video image frames are encoded in blocks. In some newer video coding standards, such as H.264, there are macroblocks (MBs), which can be further divided into multiple prediction blocks for predictive coding. In the HEVC standard, basic concepts such as coding units (CUs), prediction units (PUs), and transform units (TUs) are used to functionally divide various block units, and a novel tree-based structure is used for description. For example, a CU can be divided into smaller CUs according to a quadtree, and these smaller CUs can be further divided to form a quadtree structure. In the embodiments of this application, the current block, reference block, and adjacent block can be CUs, or blocks smaller than CUs, such as smaller blocks obtained by dividing CUs.

[0075] In some optional embodiments, when obtaining the reference region filter coefficients corresponding to the current block, the reference region filter coefficients corresponding to the decoded blocks can be used as the reference region filter coefficients corresponding to the current block. That is, the reference region filter coefficients corresponding to the current block can be obtained by inheriting the reference region filter coefficients corresponding to the decoded blocks.

[0076] In some optional embodiments, when obtaining the reference region filter coefficients corresponding to the current block, the reference region filter coefficients corresponding to the current block can be fitted based on the reconstructed pixels or predicted pixels in the reference regions adjacent to the current block. This process is detailed in the foregoing embodiments and will not be repeated here.

[0077] In S1020, the filter coefficient compensation value corresponding to the current block is obtained by decoding from the video bitstream.

[0078] In some optional embodiments, the process of decoding the filter coefficient compensation value corresponding to the current block from the video bitstream can be: decoding the absolute value and sign corresponding to the filter coefficient compensation value from the video bitstream, and then determining the filter coefficient compensation value based on the absolute value and sign.

[0079] In some optional embodiments, the absolute values ​​corresponding to the filter coefficient compensation values ​​can be entropy encoded using context-based adaptive binary arithmetic coding; for example, the value of the i-th bit in the bit string representing the previous absolute value can be used as the context for the i-th bit in the bit string representing the next absolute value; where i is less than or equal to the length of the bit string representing the absolute value. This embodiment's technical solution can use the correlation between these absolute values ​​to improve coding efficiency.

[0080] In some optional embodiments, the process of decoding the filter coefficient compensation value corresponding to the current block from the video bitstream can be as follows: decoding the index of the filter coefficient compensation value from the video bitstream, and then determining the filter coefficient compensation value from a set coefficient compensation value list based on the index. Optionally, the set coefficient compensation value list may only contain the absolute values ​​of the coefficient compensation values, while the signs need to be indicated separately; or the set coefficient compensation value list may contain both the absolute values ​​and the signs of the coefficient compensation values.

[0081] In S1030, the adjusted filter coefficients are generated based on the filter coefficient compensation value and the filter coefficients of the reference region.

[0082] In S1040, the adjusted filter coefficients are used to perform intra-frame prediction processing on the current block.

[0083] In some alternative embodiments: the process of generating adjusted filter coefficients based on filter coefficient compensation values ​​and reference region filter coefficients can be as follows: adjust the reference region filter coefficients using the filter coefficient compensation values ​​to obtain the adjusted filter coefficients. In this case, the adjusted filter coefficients can be used to perform intra-frame prediction processing on a specified region in the current block.

[0084] Optionally, the specified region in the current block can be the entire region of the current block or a portion of the current block. If the specified region is a portion of the current block, then the reference region filter coefficients (i.e., the unadjusted filter coefficients) corresponding to the current block can be used to perform intra-frame prediction processing on the other regions in the current block besides the specified region.

[0085] In a specific example, the specified region can include: the area within the current block excluding the top M rows and left N columns; where 0 ≤ M ≤ the total number of rows in the current block; and 0 ≤ N ≤ the total number of columns in the current block. For example, in Figure 11 In the example shown, the specified area is the unshaded area in the figure, and M is 2 and N is 3.

[0086] It should be noted that if M is 0 and N is not 0, then the specified area can be any area in the current block except for the first N columns from the left; if M is not 0 and N is 0, then the specified area can be any area in the current block except for the first M rows from the top.

[0087] In a specific example, the specified region can include: the area within the current block excluding the top H / T rows and the leftmost W / S columns; where H represents the total number of lines in the current block; W represents the total number of columns in the current block; and T and S represent positive integer powers of 2. For example, in Figure 12 In the example shown, the specified area is the unshaded area in the figure, and H = W = 6, T = S = 2, which is 2 to the power of 1.

[0088] It should be noted that the specified area can also include only the area in the current block excluding the first H / T rows above; or the specified area can also include only the area in the current block excluding the first W / S columns to the left.

[0089] In a specific example, the specified region may include the lower right corner region obtained by dividing the current block from the upper right to the lower left. Optionally, the area of ​​the lower right corner region obtained by dividing the current block from the upper right to the lower left can be the same as or different from the area of ​​the upper left corner region. For example, in Figure 13 In the example shown, the specified area is the unshaded area in the figure.

[0090] It should be noted that in other embodiments of this application, the designated region can also be a combination of the regions shown in the above embodiments. The reason why the designated region is set as far to the right, lower right, or bottom of the current block as possible in this embodiment is mainly because pixels near the right and bottom of the current block will move away from the reference region of the current block. This may cause the prediction effect to decrease as pixels in the current block move further away from the reference region, thus affecting the accuracy of intra-frame prediction. By optimizing the reference region filter coefficients corresponding to the designated region, these problems can be avoided, ensuring the accuracy of intra-frame prediction.

[0091] In some alternative embodiments, for Figure 10S1030 and S1040 shown can also be implemented in other ways. Specifically, when generating the adjusted filter coefficients based on the filter coefficient compensation value and the reference region filter coefficients, the reference region filter coefficients can be used to perform intra-frame prediction processing on regions other than the specified region in the current block to obtain reconstructed pixels in other regions. Then, the reconstructed pixels in other regions are used as pixels in the reference region corresponding to the specified region to fit and obtain the reference region filter coefficients corresponding to the specified region. Then, the filter coefficient compensation value is used to adjust the reference region filter coefficients corresponding to the specified region to obtain the adjusted filter coefficients. That is, in this embodiment, the reference region filter coefficients corresponding to the current block can be used to perform intra-frame prediction processing on regions other than the specified region. After obtaining the reconstructed pixels, the scheme described in the previous embodiment can be used to fit and obtain the reference region filter coefficients corresponding to the specified region in the current block. This makes the reference region filter coefficients corresponding to the specified region more suitable for the pixels in the specified region. Then, after adjusting the reference region filter coefficients corresponding to the specified region using the filter coefficient compensation value, the adjusted filter coefficients can be used to perform intra-frame prediction processing on the specified region. Figure 14 The specific flow of this embodiment is shown, including S1410 to S1460:

[0092] In S1410, for the current block using the intra-prediction mode based on extrapolation filter, the reference region filter coefficients corresponding to the current block are obtained.

[0093] Optionally, the implementation details of S1410 can be referred to the description of S1010 in the foregoing embodiments, and will not be repeated here.

[0094] In S1420, the filter coefficient compensation value corresponding to the current block is obtained by decoding from the video bitstream.

[0095] Optionally, the implementation details of S1420 can be referred to the description of S1020 in the foregoing embodiments, and will not be repeated here.

[0096] In S1430, the reference region filter coefficients are used to perform intra-frame prediction processing on other regions in the current block except for the specified region to obtain the reconstructed pixels in other regions.

[0097] Alternatively, the designated area can also be any of the areas shown in the foregoing embodiments, such as... Figure 11 to Figure 13 The region shown is an example. In this embodiment, the reference region filter coefficients obtained for the current block can be used only for intra-frame prediction processing of regions other than the specified region in the current block.

[0098] In S1440, the reconstructed pixels in other regions are used as pixels in the reference region corresponding to the specified region, and the filter coefficients of the reference region corresponding to the specified region are obtained by fitting.

[0099] Optionally, the reference region filter coefficients corresponding to a specified region in the current block can be obtained by fitting the scheme described in the foregoing embodiments.

[0100] In S1450, the filter coefficients of the reference region corresponding to the specified region are adjusted using the filter coefficient compensation value to obtain the adjusted filter coefficients.

[0101] In S1460, the adjusted filter coefficients are used to perform intra-frame prediction processing on the specified region.

[0102] It can be seen that, in Figure 14 In the illustrated embodiment, the reference region filter coefficients corresponding to the current block can be used to perform prediction processing on a portion of the current block. Then, based on the prediction results, the reference region filter coefficients corresponding to the specified region are refitted. This makes the reference region filter coefficients corresponding to the specified region more suitable for the pixels in the specified region. After adjusting the reference region filter coefficients corresponding to the specified region using the filter coefficient compensation value, the adjusted filter coefficients can be used to perform intra-frame prediction processing on the specified region to optimize the reference region filter coefficients corresponding to the specified region, thereby improving the accuracy of intra-frame prediction.

[0103] It should be noted that, Figure 10 and Figure 14 The execution order of the steps shown is merely an example. In other embodiments of this application, the execution order of these steps can be interchanged. For example, S1420 can be executed after S1430, or after S1440.

[0104] Figure 10 and Figure 14 This description focuses on the technical solutions of the embodiments of this application from the perspective of video decoding. The following is a combination of... Figure 15 The technical solutions of the embodiments of this application will be described again from the perspective of video encoding.

[0105] Figure 15 A flowchart of a video encoding method according to an embodiment of this application is shown. This video encoding method can be executed by a device with computing processing capabilities, such as a terminal device or a server. (Refer to...) Figure 15 As shown, this video encoding method includes at least S1510 to S1530, which are described in detail below:

[0106] In S1510, for the current block using the intra-prediction mode based on extrapolation filter, the reference region filter coefficients corresponding to the current block and the filter coefficient compensation values ​​corresponding to the current block are obtained.

[0107] In S1520, the adjusted filter coefficients are generated based on the filter coefficient compensation value and the filter coefficients of the reference region.

[0108] In S1530, the adjusted filter coefficients are used to perform intra-frame prediction processing on the current block, and the filter coefficient compensation value is encoded into the video bitstream.

[0109] It should be noted that the processing at the video encoding end is similar to that at the video decoding end. For details, please refer to the aforementioned processing at the decoding end, which will not be repeated here.

[0110] In summary, the technical solution of this application improves the prediction accuracy of the EIP mode by optimizing the filter coefficient values, thereby reducing the overall block prediction residual. Specifically, the actual filter coefficients used in the reference region of the current block can be expressed as c i_final The filter coefficients used in the reference region of the current block, obtained through fitting or inheritance, can be expressed as c. i_derived The adjustment value of the filter coefficients can be expressed as c. i_delta Then c can be satisfied. i_final =c i_derived +c i_delta .

[0111] In some alternative embodiments, at the encoding end, c i_final It can be derived using the pixel fitting method shown in the above embodiments, or it can be obtained by inheriting the reference region filter coefficients corresponding to the coded block.

[0112] Optionally, when it is necessary to instruct c i_delta In this case, quantization can be used, and a fixed bit length can be used for identification. For example, a fixed 4-bit length can be used to identify the absolute value, ranging from [0, 0.5], and 1 bit can be used to indicate the sign.

[0113] Optionally, for c i_delta When absolute value entropy encoding is represented using a binary bit string, the value of the i-th bit (i = 1, 2, ...) in the bit string can be designed using the CABAC context model. For example, the previous 'c' can be used as the context of the binary bit string. i_delta The value of the i-th bit in the absolute value bit string is used as the current c. i_delta The context of the value of the i-th bit in the absolute value bit string.

[0114] Optionally, when it is necessary to instruct c i_delta In such cases, a table lookup method can be used, and then an index can be added to the bitstream for indication, such as the relation table with symbols shown in Table 1 below, or the relation table without symbols shown in Table 2 below.

[0115] Index 0 1 2 3 4 5 6 7 8 c i_delta ]]> 0 1 / 16 -1 / 16 1 / 8 -1 / 8 1 / 4 -1 / 4 1 / 2 -1 / 2 bit string 0 10 110 1110 11110 111110 1111110 111111110 111111110

[0116] Table 1

[0117] In Table 1, the index can be used to indicate the sign of c. i_delta .

[0118] Index 0 1 2 3 4 c i_delta ]]> 0 1 / 16 1 / 8 1 / 4 1 / 2 bit string 0 10 110 1110 1111

[0119] Table 2

[0120] In Table 2, the index can be used to indicate c that does not contain a symbol. i_delta However, symbols may need to be used for further indication.

[0121] In some optional embodiments, the actual coefficient value c corresponding to the current block in EIP mode is used. i_final It can be used as a filter coefficient on all pixels in the current block, or on a subset of pixels in the current block. For example, the current block can be divided into two regions, and c can be applied only to pixels in one of those regions. i_final The coefficients are used for EIP mode prediction; the pixels in another region still use c. i_derived The coefficients are used for EIP model prediction.

[0122] Optionally, for the first M rows and first N columns of pixels of the current block (W columns × H rows) (e.g. Figure 11 (the shaded area in the image), using c i_derived The coefficients are used for EIP mode prediction; the remaining pixels (such as...) Figure 11 (The non-shaded areas in the image) use c i_final The coefficients are used for EIP model prediction. M and N are positive integers, and 0 ≤ M ≤ H; 0 ≤ N ≤ W.

[0123] Optionally, for the first H / T rows of pixels and the first W / S columns of pixels (e.g., ...) of the current block (W columns × H rows), Figure 12 (the shaded area in the image), using c i_derived The coefficients are used for EIP mode prediction; the remaining pixels (such as...) Figure 12 (The non-shaded areas in the image) use c i_final The coefficients are used for EIP model prediction. T and S are positive integer powers of 2, such as 2, 4, ...

[0124] Optionally, for the current block (W columns × H rows), it is divided from the upper right to the lower left to create the upper left corner region (e.g.,Figure 13 The shaded area in the middle) and the lower right corner area (such as Figure 13 The two regions (the non-shaded areas in the image) can have the same or different areas. The top-left region uses c... i_derived The coefficients are used for EIP mode prediction; the remaining pixels use c i_final The coefficients are used for EIP model prediction.

[0125] In some alternative embodiments, the current block can be divided into two regions, and c can be used only on the pixels of the first region. i_derived The coefficients are predicted using EIP mode, and then the filter coefficients are refitted and derived based on the reconstructed pixels of the first region. This is then processed using c... i_delta Adjustments are made to obtain the actual filter coefficient value c. i_final Then use c i_final The filter coefficients for the pixels in the second region.

[0126] Optionally, for the first M rows and first N columns of pixels of the current block (W columns × H rows) (e.g. Figure 11 (the shaded area in the image), using c i_derived The coefficients are used for EIP mode prediction; the remaining pixels (such as...) Figure 11 (The non-shaded areas in the image) use c i_final The coefficients are used for EIP model prediction. M and N are positive integers, and 0 ≤ M ≤ H; 0 ≤ N ≤ W.

[0127] Optionally, for the first H / T rows of pixels and the first W / S columns of pixels (e.g., ...) of the current block (W columns × H rows), Figure 12 (the shaded area in the image), using c i_derived The coefficients are used for EIP mode prediction; the remaining pixels (such as...) Figure 12 (The non-shaded areas in the image) use c i_final The coefficients are used for EIP model prediction. T and S are positive integer powers of 2, such as 2, 4, ...

[0128] Optionally, for the current block (W columns × H rows), it is divided from the upper right to the lower left to create the upper left corner region (e.g., Figure 13 The shaded area in the middle) and the lower right corner area (such as Figure 13 The two regions (the non-shaded areas in the image) can have the same or different areas. The top-left region uses c... i_derived The coefficients are used for EIP mode prediction; the remaining pixels use c i_final The coefficients are used for EIP model prediction.

[0129] The following describes an apparatus embodiment of this application, which can be used to perform the methods described in the above embodiments of this application. For details not disclosed in the apparatus embodiments of this application, please refer to the method embodiments described above.

[0130] Figure 16 A block diagram of a video decoding apparatus according to an embodiment of the present application is shown. The video decoding apparatus can be installed in a device with computing processing capabilities, such as a terminal device or a server.

[0131] Reference Figure 16 As shown, a video decoding apparatus 1600 according to an embodiment of this application includes: an acquisition unit 1602, a decoding unit 1604, a generation unit 1606, and a processing unit 1608.

[0132] The acquisition unit 1602 is configured to acquire the reference region filter coefficients corresponding to the current block for the current block using an intra-frame prediction mode based on an extrapolation filter; the decoding unit 1604 is configured to decode the filter coefficient compensation value corresponding to the current block from the video bitstream; the generation unit 1606 is configured to generate adjusted filter coefficients based on the filter coefficient compensation value and the reference region filter coefficients; and the processing unit 1608 is configured to perform intra-frame prediction processing on the current block using the adjusted filter coefficients.

[0133] In some embodiments of this application, based on the foregoing scheme, the decoding unit 1604 is configured to: decode from the video bitstream to obtain the absolute value and sign corresponding to the filter coefficient compensation value; and determine the filter coefficient compensation value based on the absolute value and sign.

[0134] In some embodiments of this application, based on the foregoing scheme, the absolute value is entropy encoded using context-based adaptive binary arithmetic encoding; wherein, the value of the i-th bit in the bit string used to represent the previous absolute value is used as the context for the i-th bit in the bit string used to represent the next absolute value; i is less than or equal to the length of the bit string used to represent the absolute value.

[0135] In some embodiments of this application, based on the foregoing scheme, the decoding unit 1604 is configured to: decode the index of the filter coefficient compensation value from the video bitstream; and determine the filter coefficient compensation value from a set list of coefficient compensation values ​​according to the index.

[0136] In some embodiments of this application, based on the foregoing scheme, the generation unit 1606 is configured to: adjust the filter coefficients of the reference region using the filter coefficient compensation value to obtain the adjusted filter coefficients; the processing unit 1608 is configured to: perform intra-frame prediction processing on a specified region in the current block using the adjusted filter coefficients.

[0137] In some embodiments of this application, based on the foregoing scheme, the processing unit 1608 is further configured to: if the specified region is a part of the current block, then use the reference region filter coefficients corresponding to the current block to perform intra-frame prediction processing on other regions in the current block besides the specified region.

[0138] In some embodiments of this application, based on the foregoing scheme, the generation unit 1606 is configured to: perform intra-frame prediction processing on other regions in the current block except for the specified region using the reference region filter coefficients to obtain reconstructed pixels in the other regions; use the reconstructed pixels in the other regions as pixels in the reference region corresponding to the specified region, and fit to obtain the reference region filter coefficients corresponding to the specified region; adjust the reference region filter coefficients corresponding to the specified region using the filter coefficient compensation value to obtain adjusted filter coefficients; wherein, performing intra-frame prediction processing on the current block using the adjusted filter coefficients includes: performing intra-frame prediction processing on the specified region using the adjusted filter coefficients.

[0139] In some embodiments of this application, based on the foregoing scheme, the designated area includes: the area in the current block excluding the top M rows and the leftmost N columns; wherein, 0≤M≤ the total number of rows in the current block; 0≤N≤ the total number of columns in the current block.

[0140] In some embodiments of this application, based on the foregoing scheme, the designated area includes: the area in the current block excluding the top H / T rows and the left W / S columns; wherein, H represents the total number of lines in the current block; W represents the total number of columns in the current block; and T and S represent positive integer powers of 2.

[0141] In some embodiments of this application, based on the foregoing scheme, the designated area includes: the lower right corner area obtained by dividing the current block in a direction from the upper right to the lower left.

[0142] In some embodiments of this application, based on the foregoing scheme, the acquisition unit 1602 is configured to: fit the reference region filter coefficients corresponding to the current block based on the reconstructed pixels or predicted pixels in the reference region adjacent to the current block; or

[0143] Use the reference region filter coefficients corresponding to the decoded block as the reference region filter coefficients corresponding to the current block.

[0144] Figure 17 A block diagram of a video encoding apparatus according to an embodiment of the present application is shown. The video encoding apparatus can be installed in a device with computing processing capabilities, such as a terminal device or a server.

[0145] Reference Figure 17 As shown, a video encoding apparatus 1700 according to an embodiment of this application includes: an acquisition unit 1702, a generation unit 1704, and a processing unit 1706.

[0146] The acquisition unit 1702 is configured to acquire the reference region filter coefficients and the filter coefficient compensation value corresponding to the current block for the current block using the intra-frame prediction mode based on the extrapolation filter; the generation unit 1704 is configured to generate adjusted filter coefficients based on the filter coefficient compensation value and the reference region filter coefficients; and the processing unit 1706 is configured to perform intra-frame prediction processing on the current block using the adjusted filter coefficients and encode the filter coefficient compensation value into the video bitstream.

[0147] Figure 18 A schematic diagram of a computer system suitable for implementing an electronic device according to the embodiments of this application is shown. The electronic device may be a video encoding device or a video decoding device as described in the foregoing embodiments.

[0148] It should be noted that, Figure 18 The computer system 1800 of the electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.

[0149] like Figure 18 As shown, the computer system 1800 may include a Central Processing Unit (CPU) 1801, which can perform various appropriate actions and processes based on a program stored in Read-Only Memory (ROM) 1802 or a program loaded from storage portion 1808 into Random Access Memory (RAM) 1803, such as performing the methods described in the above embodiments. Various programs and data required for system operation are also stored in RAM 1803. The CPU 1801, ROM 1802, and RAM 1803 are interconnected via bus 1804. An input / output (I / O) interface 1805 is also connected to bus 1804.

[0150] The following components can be connected to I / O interface 1805: input section 1806 including keyboard, mouse, etc.; output section 1807 including cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; storage section 1808 including hard disk, etc.; and communication section 1809 including network interface card, modem, etc. Communication section 1809 performs communication processing via a network such as the Internet. Drive 1810 is also connected to I / O interface 1805 as needed. Removable media 1811, such as disk, optical disk, magneto-optical disk, semiconductor memory, etc., are installed on drive 1810 as needed so that computer programs read from them can be installed into storage section 1808 as needed.

[0151] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 1809, and / or installed from removable medium 1811. When the computer program is executed by central processing unit (CPU) 1801, it performs various functions defined in the system of this application.

[0152] It should be noted that the computer-readable medium shown in the embodiments of this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A 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 thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a computer program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying a computer-readable computer program. The transmitted data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The computer program contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to wireless, wired, etc., or any suitable combination thereof.

[0153] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. Each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and a computer program.

[0154] The units described in the embodiments of this application can be implemented in software or hardware, and the described units can also be located in a processor. The names of these units do not necessarily limit the specific unit itself.

[0155] In another aspect, this application also provides a computer-readable medium, which may be included in the electronic device described in the above embodiments; or it may exist independently and not assembled into the electronic device. The computer-readable medium carries one or more computer programs, which, when executed by the electronic device, cause the electronic device to perform the methods described in the above embodiments.

[0156] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of 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.

[0157] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software 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, USB flash drive, external hard drive, etc.) or on a network, and includes several instructions to cause an electronic device to execute the method according to the embodiments of this application.

[0158] For example, an electronic device can be a video decoding device, then the video decoding device can perform... Figure 10 or Figure 14 The video decoding method shown; for example, an electronic device can be a video encoding device, then the video encoding device can perform... Figure 15 The video encoding method shown.

[0159] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the embodiments disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein.

[0160] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.

Claims

1. A video decoding method, characterized in that, include: For the current block using the intra-prediction mode based on extrapolation filter, obtain the reference region filter coefficients corresponding to the current block; The filter coefficient compensation value corresponding to the current block is obtained by decoding the video bitstream; Based on the filter coefficient compensation value and the reference region filter coefficient, the adjusted filter coefficient is generated; Intra-frame prediction processing is performed on the current block using the adjusted filter coefficients.

2. The video decoding method according to claim 1, characterized in that, The filter coefficient compensation value corresponding to the current block is obtained by decoding from the video bitstream, including: The absolute value and sign of the filter coefficient compensation value are obtained by decoding from the video bitstream; The filter coefficient compensation value is determined based on the absolute value and sign.

3. The video decoding method according to claim 2, characterized in that, The absolute value is entropy encoded using context-based adaptive binary arithmetic encoding; Here, the value of the i-th bit in the bit string used to represent the previous absolute value serves as the context for the i-th bit in the bit string used to represent the next absolute value; i is less than or equal to the length of the bit string used to represent the absolute value.

4. The video decoding method according to claim 1, characterized in that, The filter coefficient compensation value corresponding to the current block is obtained by decoding from the video bitstream, including: The index of the filter coefficient compensation value is obtained by decoding the video bitstream; The filter coefficient compensation value is determined from the set list of coefficient compensation values ​​based on the index.

5. The video decoding method according to claim 1, characterized in that, Based on the filter coefficient compensation value and the reference region filter coefficients, the adjusted filter coefficients are generated, including: adjusting the reference region filter coefficients using the filter coefficient compensation value to obtain the adjusted filter coefficients; The process of performing intra-frame prediction processing on the current block using the adjusted filter coefficients includes: performing intra-frame prediction processing on a specified region in the current block using the adjusted filter coefficients.

6. The video decoding method according to claim 5, characterized in that, If the specified region is a portion of the current block, the video decoding method further includes: Intra-frame prediction processing is performed on the regions in the current block other than the specified region using the reference region filter coefficients corresponding to the current block.

7. The video decoding method according to claim 1, characterized in that, Based on the filter coefficient compensation value and the reference region filter coefficients, adjusted filter coefficients are generated, including: The reference region filter coefficients are used to perform intra-frame prediction processing on other regions in the current block except for the specified region to obtain the reconstructed pixels in the other regions. The reconstructed pixels in the other regions are used as pixels in the reference region corresponding to the specified region, and the filter coefficients of the reference region corresponding to the specified region are obtained by fitting. The filter coefficients of the reference region corresponding to the specified region are adjusted using the filter coefficient compensation value to obtain the adjusted filter coefficients. The process of performing intra-frame prediction processing on the current block using the adjusted filter coefficients includes: performing intra-frame prediction processing on the specified region using the adjusted filter coefficients.

8. The video decoding method according to any one of claims 5 to 7, characterized in that, The designated area includes: the area in the current block excluding the top M rows and the leftmost N columns; Where 0 ≤ M ≤ the total number of rows in the current block; 0 ≤ N ≤ the total number of columns in the current block.

9. The video decoding method according to any one of claims 5 to 7, characterized in that, The designated area includes: the area in the current block excluding the top H / T rows and the left front W / S columns; Where H represents the total number of lines in the current block; W represents the total number of columns in the current block; and T and S represent positive integer powers of 2.

10. The video decoding method according to any one of claims 5 to 7, characterized in that, The designated area includes the lower right corner area, which is obtained by dividing the current block in a direction from the upper right to the lower left.

11. The video decoding method according to any one of claims 1 to 7, characterized in that, Obtaining the reference region filter coefficients corresponding to the current block includes: Based on the reconstructed or predicted pixels within the reference regions adjacent to the current block, the filter coefficients of the reference region corresponding to the current block are fitted to obtain the coefficients; or Use the reference region filter coefficients corresponding to the decoded block as the reference region filter coefficients corresponding to the current block.

12. A video encoding method, characterized in that, include: For the current block using the intra-prediction mode based on extrapolation filter, obtain the reference region filter coefficients corresponding to the current block, and the filter coefficient compensation value corresponding to the current block; Based on the filter coefficient compensation value and the reference region filter coefficient, the adjusted filter coefficient is generated; The adjusted filter coefficients are used to perform intra-frame prediction processing on the current block, and the filter coefficient compensation values ​​are encoded into the video bitstream.

13. A video decoding device, characterized in that, include: The acquisition unit is configured to acquire the reference region filter coefficients corresponding to the current block for the current block using an intra-frame prediction mode based on an extrapolation filter. The decoding unit is configured to decode the filter coefficient compensation value corresponding to the current block from the video bitstream; The generation unit is configured to generate adjusted filter coefficients based on the filter coefficient compensation value and the filter coefficients of the reference region; The processing unit is configured to perform intra-frame prediction processing on the current block using the adjusted filter coefficients.

14. A video encoding device, characterized in that, include: The acquisition unit is configured to acquire, for the current block using an intra-prediction mode based on an extrapolation filter, the reference region filter coefficients corresponding to the current block and the filter coefficient compensation value corresponding to the current block. The generation unit is configured to generate adjusted filter coefficients based on the filter coefficient compensation value and the filter coefficients of the reference region; The processing unit is configured to perform intra-frame prediction processing on the current block using the adjusted filter coefficients, and to encode the filter coefficient compensation value into the video bitstream.

15. A computer-readable medium having a computer program stored thereon, 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 11; or implements the video encoding method according to claim 12.

16. An electronic device, characterized in that, include: One or more processors; A memory for storing one or more computer programs that, when executed by one or more processors, cause the electronic device to implement the video decoding method of any one of claims 1 to 11; or to implement the video encoding method of claim 12.

17. A computer program product, characterized in that, The computer program product includes a computer program stored in a computer-readable storage medium. The processor of the electronic device reads from the computer-readable storage medium and executes the computer program, causing the electronic device to perform the video decoding method of any one of claims 1 to 11; or implement the video encoding method of claim 12.