[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN115086654B - Video encoding and decoding method, device, computer readable medium and electronic device - Google Patents

Video encoding and decoding method, device, computer readable medium and electronic device Download PDF

Info

Publication number
CN115086654B
CN115086654B CN202110273043.7A CN202110273043A CN115086654B CN 115086654 B CN115086654 B CN 115086654B CN 202110273043 A CN202110273043 A CN 202110273043A CN 115086654 B CN115086654 B CN 115086654B
Authority
CN
China
Prior art keywords
intra
mode
prediction mode
prediction modes
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110273043.7A
Other languages
Chinese (zh)
Other versions
CN115086654A (en
Inventor
王力强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110273043.7A priority Critical patent/CN115086654B/en
Publication of CN115086654A publication Critical patent/CN115086654A/en
Application granted granted Critical
Publication of CN115086654B publication Critical patent/CN115086654B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请的实施例提供了一种视频编解码方法、装置、计算机可读介质及电子设备。该视频解码方法包括:对视频图像帧的编码块进行解码处理,得到SAWP索引值;获取所述编码块的相邻块所采用的帧内预测模式,并获取对所述视频图像帧中的编码块所采用的帧内预测模式进行统计得到的帧内预测模式统计结果;根据所述相邻块所采用的帧内预测模式、所述SAWP索引值,以及所述帧内预测模式统计结果,确定最大可能帧内预测模式列表;基于所述最大可能帧内预测模式列表对所述视频图像帧的其它编码块进行解码处理本申请实施例的技术方案可以提高视频的编解码效率。

The embodiments of the present application provide a video encoding and decoding method, device, computer-readable medium and electronic device. The video decoding method includes: decoding a coding block of a video image frame to obtain a SAWP index value; obtaining the intra-frame prediction mode adopted by the adjacent blocks of the coding block, and obtaining the intra-frame prediction mode statistics obtained by statistically analyzing the intra-frame prediction mode adopted by the coding block in the video image frame; determining the maximum possible intra-frame prediction mode list according to the intra-frame prediction mode adopted by the adjacent blocks, the SAWP index value, and the intra-frame prediction mode statistics; decoding other coding blocks of the video image frame based on the maximum possible intra-frame prediction mode list. The technical solution of the embodiments of the present application can improve the encoding and decoding efficiency of the video.

Description

Video encoding and decoding method and device, computer readable medium and electronic equipment
Technical Field
The present application relates to the field of computers and communication technologies, and in particular, to a video encoding and decoding method, a video encoding and decoding device, a computer readable medium, and an electronic device.
Background
In the related art, only the intra prediction mode of the spatial neighboring block and the preset intra prediction mode are used in the MPM (Most Probable Mode, maximum possible prediction mode) construction of SAWP (Spatial Angular Weighted Prediction, spatial angle weighted prediction), however, in the screen content coding, the intra prediction mode of the current coding block has weak correlation with the intra prediction mode of the spatial neighboring block, which further results in a longer average coding length of the intra prediction mode of SAWP, and affects the coding and decoding efficiency.
Disclosure of Invention
The embodiment of the application provides a video encoding and decoding method, a video encoding and decoding device, a computer readable medium and electronic equipment, and further can improve the encoding and decoding efficiency of video at least to a certain extent.
Other features and advantages of the application will be apparent from the following detailed description, or may be learned by the practice of the application.
According to an aspect of an embodiment of the present application, there is provided a video decoding method including: decoding the coded blocks of the video image frames to obtain SAWP index values; acquiring an intra-frame prediction mode adopted by adjacent blocks of the coding block, and acquiring an intra-frame prediction mode statistical result obtained by counting the intra-frame prediction mode adopted by the coding block in the video image frame; determining a maximum possible intra-frame prediction mode list according to the intra-frame prediction mode adopted by the adjacent block, the SAWP index value and the intra-frame prediction mode statistical result; other encoded blocks of the video image frame are decoded based on the list of most probable intra prediction modes.
According to an aspect of an embodiment of the present application, there is provided a video encoding method including: determining SAWP index values corresponding to the coding blocks of the video image frames; acquiring an intra-frame prediction mode adopted by adjacent blocks of the coding block, and acquiring an intra-frame prediction mode statistical result obtained by counting the intra-frame prediction mode adopted by the coding block in the video image frame; determining a maximum possible intra-frame prediction mode list according to the intra-frame prediction mode adopted by the adjacent block, the SAWP index value and the intra-frame prediction mode statistical result; encoding other encoded blocks of the video image frame based on the list of most probable intra prediction modes.
According to an aspect of an embodiment of the present application, there is provided a video decoding apparatus including: the decoding unit is configured to decode the coding blocks of the video image frames to obtain an index value of the spatial-domain angle weighted prediction SAWP; a first obtaining unit configured to obtain an intra-frame prediction mode adopted by an adjacent block of the encoded block, and obtain an intra-frame prediction mode statistical result obtained by counting the intra-frame prediction mode adopted by the encoded block in the video image frame; a first processing unit configured to determine a most probable intra-prediction mode list according to intra-prediction modes adopted by the neighboring blocks, the SAWP index values, and the intra-prediction mode statistics; and a second processing unit configured to perform decoding processing on other encoded blocks of the video image frame based on the maximum possible intra prediction mode list.
In some embodiments of the present application, based on the foregoing solution, the first obtaining unit is configured to: and counting the appointed intra-frame prediction mode adopted by the coding block in the video image frame to obtain the intra-frame prediction mode counting result.
In some embodiments of the present application, based on the foregoing scheme, the specifying the intra prediction mode includes:
all intra prediction modes; or alternatively
A horizontal prediction mode and a vertical prediction mode; or alternatively
A horizontal prediction mode, a vertical prediction mode, and Bilinear prediction modes; or alternatively
A horizontal prediction mode, a vertical prediction mode, bilinear prediction modes, and a DC prediction mode; or alternatively
An intra prediction mode selected from mode 0 through mode 33 among the intra prediction modes; or alternatively
An intra prediction mode selected from a horizontal prediction mode, a vertical prediction mode, bilinear prediction modes, a DC prediction mode, a horizontal-like prediction mode, and a vertical-like prediction mode; wherein the class horizontal prediction modes include modes 56 to 59, mode 23, and mode 25 of intra prediction modes; the vertical-like prediction modes include modes 42 to 45, mode 11, and mode 13 among intra prediction modes; or alternatively
An intra prediction mode selected from the intra prediction modes adopted by SAWP; or alternatively
An intra prediction mode is selected from intra prediction modes counted by FIMC (Frequency-based Intra Mode Coding) modes based on intra coding of Frequency information.
In some embodiments of the present application, based on the foregoing solution, the first obtaining unit is configured to: and obtaining FIMC-mode statistics of the obtained intra-frame prediction mode.
In some embodiments of the present application, based on the foregoing, the video decoding apparatus further includes: and the updating unit is configured to acquire two intra-frame prediction modes of SAWP modes obtained by decoding the coding block of the video image frame, and update the intra-frame prediction mode statistical result counted by FIMC modes through 1 or 2 intra-frame prediction modes in the two intra-frame prediction modes.
In some embodiments of the application, based on the foregoing, the first processing unit includes: a determining unit configured to determine a plurality of candidate prediction modes having a sequential relationship according to an intra prediction mode employed by the neighboring block, the SAWP index value, and the intra prediction mode statistics; and a selection unit configured to select a set number of different candidate prediction modes from the plurality of candidate prediction modes in accordance with the order relation to generate the maximum probable intra prediction mode list.
In some embodiments of the application, based on the foregoing, the determining unit is configured to: determining a first candidate mode set according to the intra-frame prediction mode adopted by the adjacent block, and determining a second candidate mode set according to the SAWP index value; according to the sequence of the statistics values from big to small, selecting n1 intra-frame prediction modes from the intra-frame prediction mode statistics results; the plurality of candidate prediction modes with the order relation are determined according to the first candidate mode set, the second candidate mode set and the n1 intra prediction modes.
In some embodiments of the application, based on the foregoing, the determining unit is configured to: replacing n1 intra-frame prediction modes in the first candidate mode set by the n1 intra-frame prediction modes to obtain an updated first candidate mode set, wherein n1 is smaller than or equal to the number of candidate modes contained in the first candidate mode set; and generating the plurality of candidate prediction modes with the sequence relation according to the second candidate mode set and the updated first candidate mode set.
In some embodiments of the application, based on the foregoing, the determining unit is configured to: replacing n1 intra-frame prediction modes in a third candidate mode set formed by the first candidate mode set and the second candidate mode set by the n1 intra-frame prediction modes to obtain an updated third candidate mode set, wherein n1 is smaller than or equal to the number of candidate modes contained in the third candidate mode set; and generating the plurality of candidate prediction modes with the sequence relation according to the updated third candidate mode set.
In some embodiments of the application, based on the foregoing, the determining unit is configured to: sequencing the candidate prediction modes in the first candidate mode set and the candidate prediction modes in the second candidate mode set to obtain sequenced candidate prediction modes; adding the n1 intra prediction modes to specified positions in the ordered candidate prediction modes to generate the plurality of candidate prediction modes having a sequential relationship; wherein the specified position includes a forefront, a rearmost, or an insertion of the ordered candidate prediction modes.
In some embodiments of the application, based on the foregoing, the first processing unit is further configured to: before determining the plurality of candidate prediction modes with a sequential relationship according to the first candidate mode set, the second candidate mode set and the n1 intra-prediction modes, replacing the first candidate mode set or the first intra-prediction mode of the first candidate mode set and the n1 intra-prediction modes with a vertical prediction mode or a vertical-like prediction mode, and replacing the second intra-prediction mode of the first candidate mode set with a horizontal prediction mode or a horizontal-like prediction mode; wherein the first intra prediction mode is mode 0, mode 1, or mode 32 of the intra prediction modes, the second intra prediction mode is mode 2, mode 3, or mode 33 of the intra prediction modes, the class horizontal prediction modes include modes 56 to 59, mode 23, and mode 25 of the intra prediction modes, and the class vertical prediction modes include modes 42 to 45, mode 11, and mode 13 of the intra prediction modes.
In some embodiments of the application, based on the foregoing, the determining unit is configured to: selecting the first n1 intra-frame prediction modes from the intra-frame prediction mode statistical results according to the sequence of the statistical values from large to small; or alternatively
And selecting the first n1 intra-prediction modes conforming to SAWP from the intra-prediction mode statistical results according to the sequence of the statistical values from large to small.
In some embodiments of the application, based on the foregoing, the first processing unit is configured to: generating an initial list of the most probable intra-frame prediction modes according to the intra-frame prediction modes adopted by the adjacent blocks and the SAWP index values; selecting the first n2 intra-frame prediction modes conforming to SAWP from the intra-frame prediction mode statistical results according to the sequence of the statistical values from large to small; and replacing part of intra-frame prediction modes in the initial list of the maximum possible intra-frame prediction modes by the first n2 intra-frame prediction modes conforming to SAWP to obtain the list of the maximum possible intra-frame prediction modes.
In some embodiments of the application, based on the foregoing, the first processing unit is configured to: and selecting the first n3 intra-frame prediction modes conforming to SAWP from the intra-frame prediction mode statistical result according to the sequence of the statistical value from big to small to generate the maximum possible intra-frame prediction mode list, wherein the number of the intra-frame prediction modes counted in the intra-frame prediction mode statistical result is larger than or equal to the number of the intra-frame prediction modes contained in the maximum possible intra-frame prediction mode list.
In some embodiments of the application, based on the foregoing, the first processing unit is further configured to: determining whether a corresponding coded block needs to be decoded according to an intra-prediction mode adopted by the adjacent block, the SAWP index value and the intra-prediction mode statistical result according to at least one of the following modes, and determining a maximum possible intra-prediction mode list:
the value of the index mark contained in the sequence head of the coding block corresponding to the video image frame sequence;
The value of the index mark contained in the image head of the coding block corresponding to the video image frame.
According to an aspect of an embodiment of the present application, there is provided a video encoding apparatus including: a determining unit configured to determine SAWP index values corresponding to the encoded blocks of the video image frame; a second obtaining unit configured to obtain an intra-frame prediction mode adopted by an adjacent block of the encoded block, and obtain an intra-frame prediction mode statistical result obtained by counting the intra-frame prediction mode adopted by the encoded block in the video image frame; a third processing unit configured to determine a most probable intra-prediction mode list according to intra-prediction modes adopted by the neighboring blocks, the SAWP index values, and the intra-prediction mode statistics; and a fourth processing unit configured to perform encoding processing on other encoded blocks of the video image frame based on the maximum possible intra prediction mode list.
According to an aspect of the embodiments of the present application, there is provided a computer readable medium having stored thereon a computer program which, when executed by a processor, implements a video decoding method or a video encoding method as described in the above embodiments.
According to an aspect of an embodiment of the present application, there is provided an electronic apparatus including: one or more processors; and a storage means 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 or the video encoding method as described in the above embodiments.
According to an aspect of embodiments of the present application, there is provided a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the video decoding method or the video encoding method provided in the above-described various alternative embodiments.
In some embodiments of the present application, an intra-prediction mode statistics result obtained by counting intra-prediction modes adopted by a coding block in a video image frame is obtained, and then a maximum possible intra-prediction mode list is determined according to the intra-prediction mode adopted by a neighboring block, SAWP index values, and the intra-prediction mode statistics result, so that the accuracy of the constructed MPM list can be improved, and further, the average coding length of the intra-prediction modes of SAWP can be reduced, thereby improving coding and decoding efficiency.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the application as claimed.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the application and together with the description, serve to explain the principles of the application. It is evident that the drawings in the following description are only some embodiments of the present application and that other drawings may be obtained from these drawings without inventive effort for a person of ordinary skill in the art. In the drawings:
FIG. 1 shows a schematic diagram of an exemplary system architecture to which the technical solution of an embodiment of the application may be applied;
Fig. 2 shows a schematic diagram of the placement of a video encoding device and a video decoding device in a streaming system;
FIG. 3 shows a basic flow diagram of a video encoder;
fig. 4 shows a schematic view of prediction directions in an intra prediction mode;
FIG. 5 shows an image of a complex texture;
FIG. 6 shows a schematic diagram of 8 weight generation angles;
FIG. 7 shows a schematic diagram of 7 reference weight prediction positions;
FIG. 8 is a schematic diagram showing the positional relationship between a current block and an adjacent block;
fig. 9 shows a flowchart of a video decoding method according to an embodiment of the present application;
FIG. 10 illustrates a flow chart for determining a plurality of candidate prediction modes having a sequential relationship, according to one embodiment of the application;
FIG. 11 shows a flow chart of a video encoding method according to one embodiment of the application;
Fig. 12 shows a block diagram of a video decoding apparatus according to an embodiment of the present application;
Fig. 13 shows a block diagram of a video encoding apparatus according to an embodiment of the present application;
Fig. 14 shows a schematic diagram of a computer system suitable for use in implementing an embodiment of the application.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments may be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the example embodiments to those skilled in the art.
Furthermore, 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 embodiments of the application. One skilled in the relevant art will recognize, however, that the application may be practiced without one or more of the specific details, or with other methods, components, devices, steps, etc. In other instances, well-known methods, devices, implementations, or operations are not shown or described in detail to avoid obscuring aspects of the application.
The block diagrams depicted in the figures are merely functional entities and do not necessarily correspond to physically separate entities. That is, the functional entities may be implemented in software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
The flow diagrams depicted in the figures are exemplary only, and do not necessarily include all of the elements and operations/steps, nor must they be performed in the order described. For example, some operations/steps may be decomposed, and some operations/steps may be combined or partially combined, so that the order of actual execution may be changed according to actual situations.
It should be noted that: references herein to "a plurality" means two or more. "and/or" describes an association relationship of an association object, meaning that there may be three relationships, e.g., a and/or B may represent: a exists alone, A and B exist together, and B exists alone. The character "/" generally indicates that the context-dependent object is an "or" relationship.
Fig. 1 shows a schematic diagram of an exemplary system architecture to which the technical solution of an embodiment of the present application may be applied.
As shown in fig. 1, the system architecture 100 includes a plurality of terminal devices that can communicate with each other through, for example, a network 150. For example, the system architecture 100 may include a first terminal device 110 and a second terminal device 120 interconnected by a network 150. In the embodiment of fig. 1, the first terminal apparatus 110 and the second terminal apparatus 120 perform unidirectional data transmission.
For example, the first terminal device 110 may encode video data (e.g., a stream of video pictures collected by the terminal device 110) for transmission over the network 150 to the second terminal device 120, the encoded video data transmitted in one or more encoded video code streams, 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 the video pictures in accordance with the recovered video data.
In one embodiment of the application, the system architecture 100 may include a third terminal device 130 and a fourth terminal device 140 that perform bi-directional transmission of encoded video data, such as may occur during a video conference. For bi-directional data transmission, each of the third terminal device 130 and the fourth terminal device 140 may encode video data (e.g., a stream of video pictures collected by the terminal device) for transmission over the network 150 to the other of the third terminal device 130 and the fourth terminal device 140. Each of the third terminal device 130 and the fourth terminal device 140 may also receive encoded video data transmitted by the other of the third terminal device 130 and the fourth terminal device 140, and may decode the encoded video data to restore the video data, and may display a video picture on an accessible display device according to the restored video data.
In the embodiment of fig. 1, the first, second, third and fourth terminal apparatuses 110, 120, 130 and 140 may be servers, personal computers and smart phones, but the principles of the present disclosure may not be limited thereto. The disclosed embodiments are applicable to laptop computers, tablet computers, media players, and/or dedicated video conferencing devices. Network 150 represents any number of networks that transfer encoded video data between first terminal device 110, second terminal device 120, third terminal device 130, and 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, the architecture and topology of network 150 may be irrelevant to the operation of the present disclosure, unless explained below.
In one embodiment of the present application, fig. 2 illustrates the placement of a video encoding device and a video decoding device in a streaming environment. The presently disclosed subject matter is equally applicable to other video-enabled applications including, for example, video conferencing, digital TV (television), storing compressed video on digital media including CDs, DVDs, memory sticks, etc.
The streaming system may include an acquisition subsystem 213, and the acquisition subsystem 213 may include a video source 201, such as a digital camera, that creates an uncompressed video picture stream 202. In an embodiment, the video picture stream 202 includes samples taken by a digital camera. The video picture stream 202 is depicted as a bold line to emphasize a high data volume video picture stream compared to the encoded video data 204 (or the encoded video code stream 204), the video picture stream 202 may be processed by an electronic device 220, the electronic device 220 comprising 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 implement aspects of the disclosed subject matter as described in more detail below. The encoded video data 204 (or encoded video stream 204) is depicted as a thin line compared to the video picture stream 202 to emphasize a lower amount of encoded video data 204 (or encoded video stream 204), which may be stored on the streaming server 205 for future use. One or more streaming client subsystems, such as client subsystem 206 and client subsystem 208 in fig. 2, may access streaming server 205 to retrieve copies 207 and 209 of encoded video data 204. Client subsystem 206 may include video decoding device 210, for example, in electronic device 230. Video decoding device 210 decodes an incoming copy 207 of the encoded video data and generates an output video picture stream 211 that may be presented on a display 212 (e.g., a display screen) or another presentation device. In some streaming systems, the encoded video data 204, 207, and 209 (e.g., video streams) may be encoded according to some video encoding/compression standard. Examples of such standards include ITU-T H.265. In an embodiment, the video coding standard being developed is informally referred to as next generation video coding (VERSATILE VIDEO CODING, VVC), and the present application may be used in the context of the VVC standard.
It should be noted that electronic device 220 and electronic device 230 may include other components not shown in the figures. For example, electronic device 220 may comprise a video decoding device, and electronic device 230 may also comprise a video encoding device.
In one embodiment of the present application, taking the international Video Coding standard HEVC (HIGH EFFICIENCY Video Coding), VVC (VERSATILE VIDEO CODING, multi-function Video Coding), and the national Video Coding standard AVS as examples, after a Video frame image is input, the Video frame image is divided into several non-overlapping processing units according to a block size, and each processing unit will perform a similar compression operation. This processing Unit is called CTU (Coding Tree Unit), or LCU (Largest Coding Unit, maximum Coding Unit). The CTU may continue to divide more finely down again, resulting in one or more basic coding units CU, which are the most basic elements in a coding unit. Some concepts when coding a CU are presented below:
Predictive coding (PREDICTIVE CODING): the predictive coding comprises modes of intra-frame prediction, inter-frame prediction and the like, and the residual video signal is obtained after the original video signal is predicted by the selected reconstructed video signal. The encoding end needs to decide which predictive coding mode to select for the current CU and inform the decoding end. Wherein, intra-frame prediction refers to that a predicted signal comes from a region which is already coded and reconstructed in the same image; inter prediction refers to a predicted signal from an already encoded picture (referred to as a reference picture) other than the current picture.
Transform & Quantization): the residual video signal is subjected to transformation operations such as DFT (Discrete Fourier Transform ), DCT (Discrete Cosine Transform, discrete cosine transform), etc., and then the signal is converted into a transform domain, which is called a transform coefficient. The transformation coefficient is further subjected to lossy quantization operation, and certain information is lost, so that the quantized signal is favorable for compression expression. In some video coding standards, there may be more than one transform mode to choose, so the coding end also needs to choose one of the transform modes for the current CU and inform the decoding end. The degree of refinement of quantization is usually determined by a quantization parameter (Quantization Parameter, QP for short), and the QP is larger, so that coefficients representing a larger range of values will be quantized to the same output, and therefore, larger distortion and lower code rate will usually be brought; conversely, a smaller QP value will represent a smaller range of coefficients to be quantized to the same output, and therefore will typically result in less distortion, while corresponding to a higher code rate.
Entropy coding (Entropy Coding) or statistical coding: the quantized transform domain signal is subjected to statistical compression coding according to the occurrence frequency of each value, and finally a binary (0 or 1) compressed code stream is output. Meanwhile, encoding generates other information, such as a selected encoding mode, motion vector data, etc., and entropy encoding is also required to reduce the code rate. The statistical coding is a lossless coding mode, which can effectively reduce the code rate required for expressing the same signal, and common statistical coding modes are variable length coding (Variable Length Coding, abbreviated as VLC) or context-based binary arithmetic coding (Content Adaptive Binary Arithmetic Coding, abbreviated as CABAC).
Loop Filtering (Loop Filtering): the modified and quantized signal is subjected to inverse quantization, inverse transformation and prediction compensation to obtain a reconstructed image. The reconstructed image differs from the original image in part of the information due to quantization effects compared to the original image, i.e. the reconstructed image is distorted (Distortion). Therefore, the filtering operation, such as deblocking filtering (Deblocking filter, DB for short), SAO (SAMPLE ADAPTIVE Offset, adaptive pixel compensation) or ALF (Adaptive Loop Filter, adaptive loop filtering) may be performed on the reconstructed image, so that the degree of distortion generated by quantization may be effectively reduced. Since these filtered reconstructed images will be used as a reference for subsequent encoded images to predict future image signals, the above-described filtering operation is also referred to as loop filtering, i.e. a filtering operation within the encoding loop.
In one embodiment of the application, fig. 3 shows a basic flow diagram of a video encoder, in which intra prediction is illustrated as an example. Wherein the original image signal s k [ x, y ] and the predicted image signalPerforming difference operation to obtain residual signal u k [ x, y ], transforming and quantizing residual signal u k [ x, y ] to obtain quantized coefficient, entropy coding the quantized coefficient to obtain coded bit stream, inverse quantizing and inverse transforming to obtain reconstructed residual signal u' k [ x, y ], and predicting image signalSuperimposed with reconstructed residual signal u' k [ x, y ] to generate image signalImage signalOn the one hand, the reconstructed image signal s 'k [ x, y ] is output through loop filtering, and on the other hand, the reconstructed image signal s' k [ x, y ] can be used as a reference image of the next frame for motion estimation and motion compensation prediction. Then based on the result s' r[x+mx,y+my of the motion compensated prediction and the intra prediction resultObtaining a predicted image signal of the next frameAnd continuing to repeat the process until the encoding is completed.
Based on the above-described encoding process, at the decoding end, for each CU, after a compressed code stream (i.e., bit stream) is acquired, entropy decoding is performed to obtain various mode information and quantization coefficients. And then the quantized coefficients are subjected to inverse quantization and inverse transformation to obtain residual signals. On the other hand, according to the known coding mode information, a prediction signal corresponding to the CU can be obtained, then, after the residual signal and the prediction signal are added, a reconstructed signal can be obtained, and the reconstructed signal is subjected to operations such as loop filtering and the like to generate a final output signal.
In decoding an image, a frame of the image is generally reconstructed by dividing the image into image blocks (LCUs) of equal size, and sequentially decoding the LCUs (each row of LCUs, left to right) in the order of raster scan from left to right and top to bottom. Each LCU is divided into a plurality of sub-blocks by a Quad-Tree (QT), a Binary-Tree (BT), and an Extended Quad-Tree (EQT), and the processing order of the sub-blocks is sequentially from left to right and from top to bottom.
There are 3 ways of intra coding modes of AVS 3: common intra prediction techniques, intra block copy techniques (Intra Block Copying, IBC for short), and intra string copy techniques (INTRA STRING copy, ISC for short). For the common intra prediction technique, as shown in fig. 4, there are 66 intra prediction modes in total, in which mode 3-mode 32 and mode 34-mode 65 are angle prediction modes, mode 33 is PCM (Pulse Code Modulation ) mode, mode 0 is DC prediction mode, mode 1 is Plane prediction mode, and mode 2 is Bilinear prediction mode.
The dashed arrows in fig. 4 represent the newly introduced angle expansion mode (Extended Intra Prediction Mode, EIPM for short) of the second stage of AVS3, and modes 12 and 24 represent the vertical prediction mode and the horizontal prediction mode, respectively. Assuming that the total number of intra prediction modes is ipd_cnt, if EIPM is turned off, ipd_cnt is 34; if EIPM is turned on, then IPD_CNT is 66.
When FIMC technology is used, a buffer with the length of ipd_cnt needs to be established, and intra-prediction modes corresponding to the encoded blocks of the decoded area are counted, so that two intra-prediction modes with the highest frequency are designated as MPMs corresponding to the encoded blocks to be decoded currently. As shown in table 1 below, AVS3 has 2 MPMs in the current MPM list, and if the prefix included in the parsed encoded block is 1, it indicates that the intra prediction mode of the current encoded block is in the MPM list, and then the 1bit suffix in the parsed encoded block specifically distinguishes the MPM modes. If the prefix in the analysis coding block is 0, the intra-frame prediction mode of the current coding block is not in the MPM list, and then the fixed-length code of 5bit or 6bit needs to be analyzed again to specifically distinguish the intra-frame prediction mode of the current coding block.
TABLE 1
In addition, considering that the conventional single prediction mode cannot adapt to a relatively complex image texture, such as the image shown in fig. 5 includes two textures, SAWP proposes that 2 different intra prediction modes are adopted for predicting the same coding block, and the final predicted image is generated by weighting 2 intra prediction images.
Specifically, assuming that the predicted images obtained by the 2 intra prediction modes are predMatrix 0 and predMatrix 1, and the final predicted image generated by SAWP is predMatrixSawp, and the mask is weightMatrixAwap, [ i ] [ j ] represents one coordinate point in the image block, the following formula is given:
predMatrixSawp[i][j]=(predMatrix0[i][j]×weightMatrixAwap[i][j]+
predMatrix1[i][j]×(8-weightMatrixAwap[i][j])+4)>>3
Fig. 6 shows 8 weight generation angles, fig. 7 shows 7 reference weight prediction positions (i.e., 7 weight configurations), and each weight configuration may generate masks weightMatrixAwap along the 8 angles shown in fig. 6, so 8x7 = 56 masks may be generated.
Meanwhile, both intra prediction modes SAWP can use only the mode 4-mode 31 shown in fig. 4 for 28 angle prediction modes in total, and the length of the MPM list is 4.SAWP the MPM list construction method comprises the following steps:
Step 1, setting an array cand_mode [10], initializing all values in the array into invalid values, and executing the following operations on the array:
Referring to fig. 8, if a neighboring block F of the current block "exists" and is a block employing a normal intra prediction mode, cand_mode [0] is equal to the intra prediction mode of the neighboring block F (specifically, a luminance intra prediction mode thereof). If the neighboring block G of the current block is "present" and is a block employing a normal intra prediction mode, cand_mode [1] is equal to the intra prediction mode of the neighboring block G (specifically, its luma intra prediction mode). If the neighboring block C of the current block is "present" and is a block employing a normal intra prediction mode, cand_mode [2] is equal to the intra prediction mode of the neighboring block C (specifically, its luma intra prediction mode). If the neighboring block A of the current block is "present" and is a block employing a normal intra prediction mode, cand_mode [3] is equal to the intra prediction mode of the neighboring block A (specifically, its luma intra prediction mode). If the neighboring block B of the current block is "present" and is a block employing a normal intra prediction mode, cand_mode [4] is equal to the intra prediction mode of the neighboring block B (specifically, its luma intra prediction mode). If the neighboring block D of the current block is "present" and is a block employing a normal intra prediction mode, cand_mode [5] is equal to the intra prediction mode of the neighboring block D (specifically, its luma intra prediction mode).
Meanwhile, cand_mode [6] is equal to SawpIndex% of the value of 8 (i.e., the result of the index value SAWP and 8 being the remainder) corresponding to the value of candidate pattern 0 in Table 2 below; the value cand_mode [7] equals SawpIndex%8 for candidate pattern 1 in Table 2 below; the value cand_mode [8] equals SawpIndex%8 corresponds to the value of candidate pattern 2 in Table 2 below; the value cand_mode [9] equals SawpIndex%8 corresponds to the value of candidate pattern 3 in Table 2 below.
SawpIndex%8 0 1 2 3 4 5 6 7
Candidate pattern 0 30 27 24 21 18 15 12 9
Candidate pattern 1 6 24 12 24 17 14 24 12
Candidate pattern 2 24 6 23 18 19 16 11 8
Candidate pattern 3 12 9 25 12 24 12 13 10
TABLE 2
Step2, for i from 0 to 5, executing the following operations:
a) If cand_mode [ i ]. Ltoreq.3 or cand_mode [ i ] equals 32 or 33, then
Candmode i is set to an invalid value.
B) If cand_mode [ i ] > 33, then the following is performed:
if 33 < cand_mode [ i ] < 44, letting cand_mode [ i ] =cand_mode [ i ] -30;
If 44 is less than or equal to cand_mode [ i ] < 58, cand_mode [ i ] =cand_mode [ i ] -33;
if cand_mode [ i ]. Gtoreq.58, cand_mode [ i ] = cand_mode [ i ] -34.
C) If the value of candMode [ i ] is some value from 4-31, then the value of candMode [ i ] is not modified.
Step 3, noting mpm_num as 0, for i from 0 to 9, selecting cand_mode [ i ] of non-invalid value in turn, comparing cand_mode [ i ] with predIntraPredMode [ j ] in the MPM list, wherein j is the value from 0 to mpm_num-1, if cand_mode [ i ] is not equal to predIntraPredMode [ j ], performing the following operation:
Let predIntraPredMode [ mpm_num ] equal to cand_mode [ i ], let mpm_num equal to mpm_num+1, if mpm_num is equal to 4, end step 3.
And 4, sorting 4 numbers predIntraPredMode [4] from small to large to obtain an MPM list.
According to the above-mentioned MPM list construction process, the MPM list of SAWP uses only the intra-prediction mode of the spatially adjacent block and the preset intra-prediction mode in the construction process, however, in the screen content coding, the intra-prediction mode of the current coding block has weak correlation with the intra-prediction mode of the spatially adjacent block, which further results in a longer average coding length of the intra-prediction mode of SAWP, and affects the coding and decoding efficiency. Based on the above, the technical scheme of the embodiment of the application introduces a history intra-frame prediction mode to improve the construction precision of the MPM list; in addition, in the process of constructing the MPM list of SAWP in the embodiment of the present application, when the spatial neighboring block is not an intra-frame coding block or the intra-frame prediction mode of the spatial neighboring block is not a SAWP available mode, the corresponding mode may be used to replace the spatial neighboring block so as to reduce the average coding length of the intra-frame prediction mode of SAWP to a certain extent, thereby improving the coding and decoding efficiency.
The implementation details of the technical scheme of the embodiment of the application are described in detail below:
fig. 9 shows a flowchart of a video decoding method according to an embodiment of the present application, which may be performed by a device having a calculation processing function, such as a terminal device or a server. Referring to fig. 9, the video decoding method at least includes steps S910 to S940, and is described in detail as follows:
in step S910, the encoded block of the video image frame is decoded to obtain the spatial-domain angle weighted prediction SAWP index value.
In one embodiment of the application, the sequence of video image frames includes a series of images, each of which may be further divided into slices (slices), which may in turn be divided into a series of LCUs (or CTUs) that contain a number of CUs. Video image frames are encoded in blocks, and in some new video coding standards, such as the h.264 standard, there are Macro Blocks (MBs) that can be further divided into a plurality of prediction blocks (predictors) that can be used for predictive coding. In the HEVC standard, a basic concept such as a coding unit CU, a Prediction Unit (PU), and a Transform Unit (TU) is adopted, and various block units are functionally divided and described by using a completely new tree-based structure. For example, a CU may be divided into smaller CUs in a quadtree, and smaller CUs may continue to be divided, thereby forming a quadtree structure. The coding block in the embodiment of the present application may be a CU, or a block smaller than a CU, such as a smaller block obtained by dividing a CU.
In one embodiment of the present application, SAWP index value is SawpIndex, and the values cand_mode [6] -cand_mode [9] can be obtained by summing SawpIndex and 8 and combining with the above table 2, so as to determine the MPM list of SAWP later.
In step S920, an intra-prediction mode used by a neighboring block of the encoded block is acquired, and an intra-prediction mode statistics result obtained by counting the intra-prediction modes used by the encoded block in the video image frame is acquired.
In one embodiment of the present application, the neighboring blocks of the encoded block may be, for example, neighboring block a, neighboring block B, neighboring block C, neighboring block D, neighboring block F, and neighboring block G shown in fig. 8.
In one embodiment of the present application, the process of obtaining the intra prediction mode statistics obtained by counting the intra prediction modes adopted by the coding blocks in the video image frames may be: and counting the appointed intra-frame prediction mode adopted by the coding block in the video image frame to obtain an intra-frame prediction mode counting result. The specified intra prediction mode has the following embodiments:
In one embodiment of the present application, the specified intra prediction mode may be an entire intra prediction mode. For example, in the AVS3 standard, the total number of all intra prediction modes is 66.
In one embodiment of the present application, specifying the intra prediction mode may include: a horizontal prediction mode and a vertical prediction mode. That is, the technical solution of this embodiment may only count the statistics of the horizontal prediction mode and the vertical prediction mode.
In one embodiment of the present application, specifying the intra prediction mode may include: horizontal prediction mode, vertical prediction mode, and Bilinear prediction mode. That is, the technical solution of this embodiment may only count the statistics of the horizontal prediction mode, the vertical prediction mode, and Bilinear prediction modes.
In one embodiment of the present application, specifying the intra prediction mode may include: horizontal prediction mode, vertical prediction mode, bilinear prediction mode, and DC prediction mode. That is, the technical solution of this embodiment may only count the horizontal prediction mode, the vertical prediction mode, bilinear prediction mode, and the DC prediction mode statistics.
In one embodiment of the present application, specifying the intra prediction mode may include: an intra prediction mode selected from mode 0 through mode 33 among the intra prediction modes. Alternatively, for example, the specified intra prediction modes may be modes 0 to 33, i.e., statistics of modes 0 to 33 are required at the time of statistics.
In one embodiment of the present application, the specified intra prediction mode may include a plurality of intra prediction modes selected from a horizontal prediction mode, a vertical prediction mode, bilinear prediction modes, a DC prediction mode, a horizontal-like prediction mode, and a vertical-like prediction mode; wherein the class horizontal prediction modes include modes 56 to 59, mode 23, and mode 25 among the intra prediction modes; the vertical-like prediction modes include modes 42 to 45, mode 11, and mode 13 among the intra prediction modes.
In one embodiment of the present application, the specified intra prediction mode may be an intra prediction mode selected from among intra prediction modes adopted by SAWP, i.e., an intra prediction mode selected from among modes 4 to 31.
In one embodiment of the present application, the specified intra prediction mode may be an intra prediction mode selected from intra prediction modes counted in FIMC ways. For example, the specified intra prediction mode may be FIMC modes of statistical intra prediction.
In one embodiment of the present application, the process of obtaining the intra prediction mode statistics obtained by counting the intra prediction modes adopted by the coding blocks in the video image frames may be: and obtaining FIMC-mode statistics of the obtained intra-frame prediction mode. That is, in this embodiment, the SWAP and FIMC techniques share the same intra prediction mode statistics.
In one embodiment of the present application, if the SWAP and FIMC techniques share the same intra-prediction mode statistics, after obtaining two intra-prediction modes of SAWP mode obtained by decoding a coded block of a video image frame, the intra-prediction mode statistics counted by FIMC mode may be updated by 1 or 2 intra-prediction modes of the two intra-prediction modes. Of course, in other embodiments of the present application, if the SWAP and FIMC techniques share the same intra-prediction mode statistics, then the intra-prediction mode statistics counted by the FIMC mode may not be updated with the two intra-prediction modes of the SAWP mode.
With continued reference to fig. 9, in step S930, a list of most probable intra prediction modes is determined based on the intra prediction modes employed by the neighboring blocks, SAWP index values, and intra prediction mode statistics.
In one embodiment of the present application, the determining the most probable intra prediction mode list in step S930 according to the intra prediction modes adopted by the neighboring blocks, SAWP index values, and intra prediction mode statistics may include: and determining a plurality of candidate prediction modes with a sequence relation according to the intra-frame prediction modes adopted by the adjacent blocks, SAWP index values and intra-frame prediction mode statistical results, and selecting a set number of different candidate prediction modes from the plurality of candidate prediction modes according to the sequence relation so as to generate a maximum possible intra-frame prediction mode list.
Alternatively, if 4 MPMs are included in the MPM list, after determining a plurality of candidate prediction modes having a sequential relationship, 4 non-identical candidate prediction modes may be sequentially selected from the plurality of candidate prediction modes to generate the MPM list.
In one embodiment of the present application, as shown in fig. 10, the process of determining a plurality of candidate prediction modes having a sequential relationship according to intra prediction modes, SAWP index values, and intra prediction mode statistics, which are adopted by neighboring blocks, may include the following steps S1010 to S1030, which are described in detail as follows:
in step S1010, a first candidate mode set is determined according to intra prediction modes employed by neighboring blocks, and a second candidate mode set is determined according to SAWP index values.
In one embodiment of the present application, the process of determining the first candidate mode set according to the intra prediction modes adopted by the neighboring blocks may refer to the process of determining the cand_mode [0] to cand_mode [5] in the previous embodiment in combination with fig. 8, and the first candidate mode set is cand_mode [0] to cand_mode [5]. The process of determining the second candidate pattern set according to SAWP index values, that is, cand_mode [6] to cand_mode [9], may refer to the process of determining cand_mode [6] to cand_mode [9] in the above embodiment in combination with table 2.
In step S1020, n1 intra prediction modes are selected from the intra prediction mode statistics in order of the statistics from the high to the low.
It should be noted that, there is no strict order between the step S1020 and the step S1010, in other words, the step S1010 may be executed first, and then the step S1020 may be executed; step S1020 may be performed first, and then step S1010 may be performed; step S1010 and step S1020 may also be performed simultaneously.
In one embodiment of the present application, the first n1 intra prediction modes may be selected from the intra prediction mode statistics in order of the statistics from the large to the small. I.e. the first n1 intra prediction modes are selected only in the order of the statistics from large to small in this embodiment, there may be intra prediction modes out of the n1 intra prediction modes that do not match SAWP. Thus, in one embodiment of the present application, the first n1 intra prediction modes according to SAWP may be selected from the intra prediction mode statistics in order of statistics from large to small.
In step S1030, a plurality of candidate prediction modes having a sequential relationship are determined according to the first candidate mode set, the second candidate mode set, and the n1 intra prediction modes.
In one embodiment of the present application, when determining a plurality of candidate prediction modes having a sequential relationship, n1 intra-prediction modes in a first candidate mode set may be replaced by the n1 intra-prediction modes to obtain an updated first candidate mode set, the n1 being less than or equal to the number of candidate modes included in the first candidate mode set, and then the plurality of candidate prediction modes having the sequential relationship are generated according to a second candidate mode set and the updated first candidate mode set. For example, n1 may be 2, 3, etc.
Alternatively, the process of generating a plurality of candidate prediction modes having a sequential relationship according to the second candidate mode set and the updated first candidate mode set may employ the scheme of "step 2" in the foregoing embodiment, that is, the mode numbers (i.e., cand_mode [0] to cand_mode [5 ]) in the updated first candidate mode set are first set to be 3 or less, and the candidate prediction modes having the mode numbers 32 and 33 are set to be invalid values, and the numbers of the other candidate prediction modes are adjusted to be between 4 and 31; and then sorting according to the orders of cand_mode [0] to cand_mode [5], cand_mode [6] to cand_mode [9] to obtain a plurality of candidate prediction modes with order relation. Wherein cand_mode [6] to cand_mode [9] are numbers of candidate prediction modes contained in the second candidate mode set.
In one embodiment of the present application, when determining a plurality of candidate prediction modes having a sequential relationship, n1 intra-prediction modes in a third candidate mode set formed by the first candidate mode set and the second candidate mode set may be replaced by the n1 intra-prediction modes, an updated third candidate mode set is obtained, the n1 is less than or equal to the number of candidate modes included in the third candidate mode set, and then a plurality of candidate prediction modes having a sequential relationship are generated according to the updated third candidate mode set.
Alternatively, assuming that cand_mode [0] to cand_mode [5] are numbers of candidate prediction modes contained in the first candidate mode set, cand_mode [6] to cand_mode [9] are numbers of candidate prediction modes contained in the second candidate mode set, then the numbers of candidate prediction modes contained in the third candidate mode set are cand_mode [0] to cand_mode [9]. In this case, the generation of the plurality of candidate prediction modes having the sequential relationship from the updated third candidate mode set may employ a scheme similar to "step 2" in the foregoing embodiment, that is, the mode numbers (i.e., cand_mode [0] to cand_mode [9 ]) in the updated third candidate mode set are first set to 3 or less, and the candidate prediction modes having the mode numbers 32 and 33 are set to invalid values, and the numbers of the other candidate prediction modes are adjusted to between 4 and 31, resulting in the plurality of candidate prediction modes having the sequential relationship.
In one embodiment of the present application, when determining a plurality of candidate prediction modes having a sequential relationship, the candidate prediction modes in the first candidate mode set and the candidate prediction modes in the second candidate mode set may be ranked to obtain ranked candidate prediction modes, and then the n1 intra-frame prediction modes selected are added to designated positions in the ranked candidate prediction modes to generate a plurality of candidate prediction modes having a sequential relationship; wherein the specified position includes the forefront, rearmost or inserted into the ordered candidate prediction modes.
Alternatively, assuming that cand_mode [0] to cand_mode [5] are numbers of candidate prediction modes contained in the first candidate mode set and cand_mode [6] to cand_mode [9] are numbers of candidate prediction modes contained in the second candidate mode set, the numbers of candidate prediction modes obtained by sorting the candidate prediction modes in the first candidate mode set and the candidate prediction modes in the second candidate mode set are cand_mode [0] to cand_mode [9]. In this case, after the n1 intra prediction modes selected are added to the specified positions in the sorted candidate prediction modes, a scheme similar to "step 2" in the foregoing embodiment may be employed to obtain a plurality of candidate prediction modes having a sequential relationship, i.e., the mode numbers in the sorted candidate prediction modes are 3 or less, and the candidate prediction modes having the mode numbers 32 and 33 are set as invalid values, and the numbers of the other candidate prediction modes are adjusted to between 4 and 31 to obtain a plurality of candidate prediction modes having a sequential relationship.
In one embodiment of the present application, when determining a plurality of candidate prediction modes having a sequential relationship, the first candidate mode set, or the first intra prediction mode of the first candidate mode set and the n1 intra prediction modes may be replaced with a vertical prediction mode or a vertical-like prediction mode, and the second intra prediction mode of the first candidate mode set may be replaced with a horizontal prediction mode or a horizontal-like prediction mode; wherein the first intra prediction mode is mode 0, mode 1, or mode 32 in the intra prediction mode, the second intra prediction mode is mode 2, mode 3, or mode 33 in the intra prediction mode, the class horizontal prediction mode includes modes 56 to 59, mode 23, and mode 25 in the intra prediction mode, and the class vertical prediction mode includes modes 42 to 45, mode 11, and mode 13 in the intra prediction mode. According to the technical scheme, when the intra-frame prediction mode is not SAWP available intra-frame prediction modes, the intra-frame prediction modes can be replaced by appointed prediction modes, so that the average coding code length of the intra-frame prediction modes of SAWP is reduced, and the coding and decoding efficiency is improved.
In one embodiment of the present application, the determining the most probable intra prediction mode list in step S930 according to the intra prediction modes adopted by the neighboring blocks, SAWP index values, and intra prediction mode statistics may include: generating an initial list of the maximum possible intra-frame prediction modes according to the intra-frame prediction modes adopted by the adjacent blocks and SAWP index values, selecting the first n2 intra-frame prediction modes conforming to SAWP from the intra-frame prediction mode statistical results according to the sequence of the statistical values from big to small, and replacing part of the intra-frame prediction modes in the initial list of the maximum possible intra-frame prediction modes by the first n2 intra-frame prediction modes conforming to SAWP to obtain the list of the maximum possible intra-frame prediction modes.
Alternatively, the process of generating the initial list of the most probable intra prediction modes according to the intra prediction modes and SAWP index values adopted by the neighboring blocks may refer to "step 1", "step 2", "step 3" and "step 4" in the foregoing embodiments, and will not be described in detail.
In one embodiment of the present application, the first n3 intra-prediction modes conforming to SAWP may be directly selected from the intra-prediction mode statistics results according to the order of the statistics values from large to small to generate the maximum possible intra-prediction mode list, where the number of intra-prediction modes counted in the intra-prediction mode statistics results is greater than or equal to the number of intra-prediction modes included in the maximum possible intra-prediction mode list. The technical solution of this embodiment is to directly use the intra-frame prediction mode conforming to SAWP selected from the intra-frame prediction mode statistics results as the MPM to generate an MPM list.
With continued reference to fig. 9, in step S940, other encoded blocks of the video image frame are subjected to decoding processing based on the maximum possible intra prediction mode list.
Based on the technical solution of the embodiment shown in fig. 9, in one embodiment of the present application, it may be further determined whether the corresponding encoded block needs to be decoded according to at least one of the following modes, the intra prediction mode adopted by the neighboring block, the SAWP index value, and the intra prediction mode statistics, to determine the maximum possible intra prediction mode list:
the value of the index mark contained in the sequence head of the coding block corresponding to the video image frame sequence;
The value of the index mark contained in the image head of the coding block corresponding to the video image frame.
Specifically, in determining whether a maximum possible intra prediction mode list needs to be determined according to intra prediction modes employed by neighboring blocks, SAWP index values, and intra prediction mode statistics, there may be the following ways:
1. Indicated by an index identification in the sequence header of the corresponding coded block of the sequence of video image frames. For example, if the index in the sequence header is identified as 1 (the numerical value is only an example), it is indicated that all the encoded blocks corresponding to the video image frame sequence need to determine the most probable intra prediction mode list according to the intra prediction mode adopted by the adjacent blocks, the SAWP index value, and the intra prediction mode statistics.
2. Indicated by an index identification in the header of the encoded block to which the video image frame corresponds. For example, if the index in the header is identified as 1 (the numerical value is merely an example), it is indicated that all the encoded blocks corresponding to the video image frame need to determine the most probable intra prediction mode list according to the intra prediction mode adopted by the neighboring blocks, the SAWP index value, and the intra prediction mode statistics.
3. The index identification in the sequence header of the coding block corresponding to the video image frame sequence and the index identification in the image header of the coding block corresponding to the video image frame are indicated together. For example, if the index in the sequence header is identified as 1 (the numerical value is only an example), and the index in the image header is identified as 1 (the numerical value is only an example), then it is indicated that all the encoded blocks corresponding to the image header need to determine the most probable intra prediction mode list according to the intra prediction mode adopted by the adjacent blocks, the SAWP index values and the intra prediction mode statistics.
Fig. 11 shows a flowchart of a video encoding method according to an embodiment of the present application, which may be performed by a device having a calculation processing function, such as a terminal device or a server. Referring to fig. 11, the video encoding method at least includes steps S1110 to S1140, which are described in detail as follows:
In step S1110, SAWP index values corresponding to the encoded blocks of the video image frame are determined.
In step S1120, an intra-prediction mode used by a neighboring block of the encoded block is acquired, and an intra-prediction mode statistics result obtained by counting the intra-prediction modes used by the encoded block in the video image frame is acquired.
In step S1130, a list of most probable intra prediction modes is determined based on the intra prediction modes employed by the neighboring blocks, the SAWP index values, and the intra prediction mode statistics.
In step S1140, other encoded blocks of the video image frame are encoded based on the maximum probable intra prediction mode list.
It should be noted that, the process of determining the maximum possible intra prediction mode list by the encoding end is similar to that of the decoding end, and will not be repeated.
According to the technical scheme of the embodiment of the application, the construction precision of the MPM list is improved by introducing the historical intra-frame prediction mode, and the average coding code length of the intra-frame prediction mode of SAWP can be reduced to a certain extent, so that the coding and decoding efficiency is improved.
The following describes embodiments of the apparatus of the present application that may be used to perform 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.
Fig. 12 shows a block diagram of a video decoding apparatus according to an embodiment of the present application, which may be provided in a device having a calculation processing function, such as a terminal device or a server.
Referring to fig. 12, a video decoding apparatus 1200 according to an embodiment of the present application includes: a decoding unit 1202, a first acquisition unit 1204, a first processing unit 1206, and a second processing unit 1208.
The decoding unit 1202 is configured to perform decoding processing on the encoded blocks of the video image frames to obtain an index value of the spatial-domain angle weighted prediction SAWP; the first obtaining unit 1204 is configured to obtain an intra-frame prediction mode adopted by an adjacent block of the encoded block, and obtain an intra-frame prediction mode statistical result obtained by counting the intra-frame prediction modes adopted by the encoded block in the video image frame; the first processing unit 1206 is configured to determine a list of most probable intra prediction modes according to intra prediction modes employed by the neighboring blocks, the SAWP index values, and the intra prediction mode statistics; the second processing unit 1208 is configured to perform decoding processing on other encoded blocks of the video image frame based on the maximum probable intra prediction mode list.
In some embodiments of the present application, based on the foregoing scheme, the first obtaining unit 1204 is configured to: and counting the appointed intra-frame prediction mode adopted by the coding block in the video image frame to obtain the intra-frame prediction mode counting result.
In some embodiments of the present application, based on the foregoing scheme, the specifying the intra prediction mode includes: all intra prediction modes; or alternatively
A horizontal prediction mode and a vertical prediction mode; or alternatively
A horizontal prediction mode, a vertical prediction mode, and Bilinear prediction modes; or alternatively
A horizontal prediction mode, a vertical prediction mode, bilinear prediction modes, and a DC prediction mode; or an intra prediction mode selected from mode 0 through mode 33 among the intra prediction modes; or alternatively
An intra prediction mode selected from a horizontal prediction mode, a vertical prediction mode, bilinear prediction modes, a DC prediction mode, a horizontal-like prediction mode, and a vertical-like prediction mode; wherein the class horizontal prediction modes include modes 56 to 59, mode 23, and mode 25 of intra prediction modes; the vertical-like prediction modes include modes 42 to 45, mode 11, and mode 13 among intra prediction modes; or alternatively
An intra prediction mode selected from the intra prediction modes adopted by SAWP; or alternatively
An intra prediction mode is selected from intra prediction modes counted by FIMC (Frequency-based Intra Mode Coding) modes based on intra coding of Frequency information.
In some embodiments of the present application, based on the foregoing scheme, the first obtaining unit 1204 is configured to: and obtaining FIMC-mode statistics of the obtained intra-frame prediction mode.
In some embodiments of the present application, based on the foregoing scheme, the video decoding apparatus 1200 further includes: and the updating unit is configured to acquire two intra-frame prediction modes of SAWP modes obtained by decoding the coding block of the video image frame, and update the intra-frame prediction mode statistical result counted by FIMC modes through 1 or 2 intra-frame prediction modes in the two intra-frame prediction modes.
In some embodiments of the present application, based on the foregoing scheme, the first processing unit 1206 includes: a determining unit configured to determine a plurality of candidate prediction modes having a sequential relationship according to an intra prediction mode employed by the neighboring block, the SAWP index value, and the intra prediction mode statistics; and a selection unit configured to select a set number of different candidate prediction modes from the plurality of candidate prediction modes in accordance with the order relation to generate the maximum probable intra prediction mode list.
In some embodiments of the application, based on the foregoing, the determining unit is configured to: determining a first candidate mode set according to the intra-frame prediction mode adopted by the adjacent block, and determining a second candidate mode set according to the SAWP index value; according to the sequence of the statistics values from big to small, selecting n1 intra-frame prediction modes from the intra-frame prediction mode statistics results; the plurality of candidate prediction modes with the order relation are determined according to the first candidate mode set, the second candidate mode set and the n1 intra prediction modes.
In some embodiments of the application, based on the foregoing, the determining unit is configured to: replacing n1 intra-frame prediction modes in the first candidate mode set by the n1 intra-frame prediction modes to obtain an updated first candidate mode set, wherein n1 is smaller than or equal to the number of candidate modes contained in the first candidate mode set; and generating the plurality of candidate prediction modes with the sequence relation according to the second candidate mode set and the updated first candidate mode set.
In some embodiments of the application, based on the foregoing, the determining unit is configured to: replacing n1 intra-frame prediction modes in a third candidate mode set formed by the first candidate mode set and the second candidate mode set by the n1 intra-frame prediction modes to obtain an updated third candidate mode set, wherein n1 is smaller than or equal to the number of candidate modes contained in the third candidate mode set; and generating the plurality of candidate prediction modes with the sequence relation according to the updated third candidate mode set.
In some embodiments of the application, based on the foregoing, the determining unit is configured to: sequencing the candidate prediction modes in the first candidate mode set and the candidate prediction modes in the second candidate mode set to obtain sequenced candidate prediction modes; adding the n1 intra prediction modes to specified positions in the ordered candidate prediction modes to generate the plurality of candidate prediction modes having a sequential relationship; wherein the specified position includes a forefront, a rearmost, or an insertion of the ordered candidate prediction modes.
In some embodiments of the present application, based on the foregoing, the first processing unit 1206 is further configured to: before determining the plurality of candidate prediction modes with a sequential relationship according to the first candidate mode set, the second candidate mode set and the n1 intra-prediction modes, replacing the first candidate mode set or the first intra-prediction mode of the first candidate mode set and the n1 intra-prediction modes with a vertical prediction mode or a vertical-like prediction mode, and replacing the second intra-prediction mode of the first candidate mode set with a horizontal prediction mode or a horizontal-like prediction mode; wherein the first intra prediction mode is mode 0, mode 1, or mode 32 of the intra prediction modes, the second intra prediction mode is mode 2, mode 3, or mode 33 of the intra prediction modes, the class horizontal prediction modes include modes 56 to 59, mode 23, and mode 25 of the intra prediction modes, and the class vertical prediction modes include modes 42 to 45, mode 11, and mode 13 of the intra prediction modes.
In some embodiments of the application, based on the foregoing, the determining unit is configured to: selecting the first n1 intra-frame prediction modes from the intra-frame prediction mode statistical results according to the sequence of the statistical values from large to small; or alternatively
And selecting the first n1 intra-prediction modes conforming to SAWP from the intra-prediction mode statistical results according to the sequence of the statistical values from large to small.
In some embodiments of the present application, based on the foregoing scheme, the first processing unit 1206 is configured to: generating an initial list of the most probable intra-frame prediction modes according to the intra-frame prediction modes adopted by the adjacent blocks and the SAWP index values; selecting the first n2 intra-frame prediction modes conforming to SAWP from the intra-frame prediction mode statistical results according to the sequence of the statistical values from large to small; and replacing part of intra-frame prediction modes in the initial list of the maximum possible intra-frame prediction modes by the first n2 intra-frame prediction modes conforming to SAWP to obtain the list of the maximum possible intra-frame prediction modes.
In some embodiments of the present application, based on the foregoing scheme, the first processing unit 1206 is configured to: and selecting the first n3 intra-frame prediction modes conforming to SAWP from the intra-frame prediction mode statistical result according to the sequence of the statistical value from big to small to generate the maximum possible intra-frame prediction mode list, wherein the number of the intra-frame prediction modes counted in the intra-frame prediction mode statistical result is larger than or equal to the number of the intra-frame prediction modes contained in the maximum possible intra-frame prediction mode list.
In some embodiments of the present application, based on the foregoing, the first processing unit 1206 is further configured to: determining whether a corresponding coded block needs to be decoded according to an intra-prediction mode adopted by the adjacent block, the SAWP index value and the intra-prediction mode statistical result according to at least one of the following modes, and determining a maximum possible intra-prediction mode list:
the value of the index mark contained in the sequence head of the coding block corresponding to the video image frame sequence;
The value of the index mark contained in the image head of the coding block corresponding to the video image frame.
Fig. 13 shows a block diagram of a video encoding apparatus according to an embodiment of the present application, which may be provided in a device having a calculation processing function, such as a terminal device or a server.
Referring to fig. 13, a video encoding apparatus 1300 according to an embodiment of the present application includes: a determination unit 1302, a second acquisition unit 1304, a third processing unit 1306, and a fourth processing unit 1308.
Wherein the determining unit 1302 is configured to determine SAWP index values corresponding to the encoded blocks of the video image frame; the second obtaining unit 1304 is configured to obtain an intra-frame prediction mode adopted by a neighboring block of the encoded block, and obtain an intra-frame prediction mode statistical result obtained by counting the intra-frame prediction modes adopted by the encoded block in the video image frame; the third processing unit 1306 is configured to determine a most probable intra prediction mode list according to intra prediction modes adopted by the neighboring blocks, the SAWP index values, and the intra prediction mode statistics; the fourth processing unit 1308 is configured to encode other encoded blocks of the video image frame based on the maximum possible intra prediction mode list.
Fig. 14 shows a schematic diagram of a computer system suitable for use in implementing an embodiment of the application.
It should be noted that, the computer system 1400 of the electronic device shown in fig. 14 is only an example, and should not impose any limitation on the functions and the application scope of the embodiments of the present application.
As shown in fig. 14, the computer system 1400 includes a central processing unit (Central Processing Unit, CPU) 1401, which can perform various appropriate actions and processes, such as performing the methods described in the above embodiments, according to a program stored in a Read-Only Memory (ROM) 1402 or a program loaded from a storage portion 1408 into a random access Memory (Random Access Memory, RAM) 1403. In the RAM 1403, various programs and data required for system operation are also stored. The CPU 1401, ROM 1402, and RAM 1403 are connected to each other through a bus 1404. An Input/Output (I/O) interface 1405 is also connected to bus 1404.
The following components are connected to the I/O interface 1405: an input section 1406 including a keyboard, a mouse, and the like; an output portion 1407 including a Cathode Ray Tube (CRT), a Liquid crystal display (Liquid CRYSTAL DISPLAY, LCD), and a speaker; a storage section 1408 including a hard disk or the like; and a communication section 1409 including a network interface card such as a LAN (Local Area Network ) card, a modem, or the like. The communication section 1409 performs communication processing via a network such as the internet. The drive 1410 is also connected to the I/O interface 1405 as needed. Removable media 1411, such as magnetic disks, optical disks, magneto-optical disks, semiconductor memory, and the like, is installed as needed on drive 1410 so that a computer program read therefrom is installed as needed into storage portion 1408.
In particular, according to embodiments of the present application, the processes described above with reference to flowcharts may be implemented as computer software programs. For example, embodiments of the present application include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising a computer program for performing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via the communication portion 1409 and/or installed from the removable medium 1411. When executed by a Central Processing Unit (CPU) 1401, performs the various functions defined in the system of the present application.
It should be noted that, the computer readable medium shown in the embodiments of the present application may be a computer readable signal medium or 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 electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-Only Memory (ROM), an erasable programmable read-Only Memory (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 foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present application, however, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, with a computer-readable computer program embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. A computer program embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present application. Where each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units involved in the embodiments of the present application may be implemented by software, or may be implemented by hardware, and the described units may also be provided in a processor. Wherein the names of the units do not constitute a limitation of the units themselves in some cases.
As another aspect, the present application also provides a computer-readable medium that may be contained in the electronic device described in the above embodiment; or may exist alone without being incorporated into the electronic device. The computer-readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to implement the methods described in the above embodiments.
It should be noted that although in the above detailed description several modules or units of a device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functions of two or more modules or units described above may be embodied in one module or unit in accordance with embodiments of the application. Conversely, the features and functions of one module or unit described above may be further divided into a plurality of modules or units to be embodied.
From the above description of embodiments, those skilled in the art will readily appreciate that the example embodiments described herein may be implemented in software, or may be implemented in software in combination with the necessary hardware. Thus, the technical solution according to the embodiments of the present application may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (may be a CD-ROM, a U-disk, a mobile hard disk, etc.) or on a network, and includes several instructions to cause a computing device (may be a personal computer, a server, a touch terminal, or a network device, etc.) to perform the method according to the embodiments of the present application.
Other embodiments of the application will be apparent to those skilled in the art from consideration of the specification and practice of the embodiments disclosed herein. This application is intended to cover any variations, uses, or adaptations of the application following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the application pertains.
It is to be understood that the application is not limited to the precise arrangements and instrumentalities shown in the drawings, which have been described above, and that various modifications and changes may be effected without departing from the scope thereof. The scope of the application is limited only by the appended claims.

Claims (20)

1. A video decoding method, comprising:
decoding the coded blocks of the video image frames to obtain an index value of the spatial-domain angle weighted prediction SAWP;
acquiring an intra-frame prediction mode adopted by adjacent blocks of the coding block, and acquiring an intra-frame prediction mode statistical result obtained by counting the intra-frame prediction mode adopted by the coding block in the video image frame;
determining a maximum possible intra-frame prediction mode list according to the intra-frame prediction mode adopted by the adjacent block, the SAWP index value and the intra-frame prediction mode statistical result;
Other encoded blocks of the video image frame are decoded based on the list of most probable intra prediction modes.
2. The video decoding method according to claim 1, wherein obtaining intra-prediction mode statistics of intra-prediction modes employed by the encoded blocks in the video image frames includes:
And counting the appointed intra-frame prediction mode adopted by the coding block in the video image frame to obtain the intra-frame prediction mode counting result.
3. The video decoding method of claim 2, wherein the specifying an intra prediction mode comprises:
all intra prediction modes; or alternatively
A horizontal prediction mode and a vertical prediction mode; or alternatively
A horizontal prediction mode, a vertical prediction mode, and Bilinear prediction modes; or alternatively
A horizontal prediction mode, a vertical prediction mode, bilinear prediction modes, and a DC prediction mode; or alternatively
An intra prediction mode selected from mode 0 through mode 33 among the intra prediction modes; or alternatively
An intra prediction mode selected from a horizontal prediction mode, a vertical prediction mode, bilinear prediction modes, a DC prediction mode, a horizontal-like prediction mode, and a vertical-like prediction mode; wherein the class horizontal prediction modes include modes 56 to 59, mode 23, and mode 25 of intra prediction modes; the vertical-like prediction modes include modes 42 to 45, mode 11, and mode 13 among intra prediction modes; or alternatively
An intra prediction mode selected from the intra prediction modes adopted by SAWP; or alternatively
And selecting an intra prediction mode from intra prediction modes counted by an intra coding FIMC mode based on the frequency information.
4. The video decoding method according to claim 1, wherein obtaining intra-prediction mode statistics of intra-prediction modes employed by the encoded blocks in the video image frames includes:
and obtaining FIMC-mode statistics of the obtained intra-frame prediction mode.
5. The video decoding method of claim 4, wherein the method further comprises:
acquiring two intra-frame prediction modes in SAWP modes obtained by decoding the coding blocks of the video image frames;
and updating the intra-frame prediction mode statistical result counted by FIMC modes through 1 or 2 intra-frame prediction modes in the two intra-frame prediction modes.
6. The video decoding method of claim 1, wherein determining a list of most probable intra prediction modes based on intra prediction modes employed by the neighboring blocks, the SAWP index values, and the intra prediction mode statistics comprises:
determining a plurality of candidate prediction modes with a sequence relation according to the intra-frame prediction modes adopted by the adjacent blocks, the SAWP index values and the intra-frame prediction mode statistical result;
and selecting a set number of different candidate prediction modes from the plurality of candidate prediction modes according to the sequence relation to generate the maximum possible intra prediction mode list.
7. The method of video decoding according to claim 6, wherein determining a plurality of candidate prediction modes having a sequential relationship based on intra prediction modes employed by the neighboring blocks, the SAWP index values, and the intra prediction mode statistics comprises:
determining a first candidate mode set according to the intra-frame prediction mode adopted by the adjacent block, and determining a second candidate mode set according to the SAWP index value;
According to the sequence of the statistics values from big to small, selecting n1 intra-frame prediction modes from the intra-frame prediction mode statistics results;
The plurality of candidate prediction modes with the order relation are determined according to the first candidate mode set, the second candidate mode set and the n1 intra prediction modes.
8. The video decoding method of claim 7, wherein determining the plurality of candidate prediction modes having a sequential relationship based on the first set of candidate modes, the second set of candidate modes, and the n1 intra-prediction modes comprises:
Replacing n1 intra-frame prediction modes in the first candidate mode set by the n1 intra-frame prediction modes to obtain an updated first candidate mode set, wherein n1 is smaller than or equal to the number of candidate modes contained in the first candidate mode set;
And generating the plurality of candidate prediction modes with the sequence relation according to the second candidate mode set and the updated first candidate mode set.
9. The video decoding method of claim 7, wherein determining the plurality of candidate prediction modes having a sequential relationship based on the first set of candidate modes, the second set of candidate modes, and the n1 intra-prediction modes comprises:
Replacing n1 intra-frame prediction modes in a third candidate mode set formed by the first candidate mode set and the second candidate mode set by the n1 intra-frame prediction modes to obtain an updated third candidate mode set, wherein n1 is smaller than or equal to the number of candidate modes contained in the third candidate mode set;
and generating the plurality of candidate prediction modes with the sequence relation according to the updated third candidate mode set.
10. The video decoding method of claim 7, wherein determining the plurality of candidate prediction modes having a sequential relationship based on the first set of candidate modes, the second set of candidate modes, and the n1 intra-prediction modes comprises:
sequencing the candidate prediction modes in the first candidate mode set and the candidate prediction modes in the second candidate mode set to obtain sequenced candidate prediction modes;
Adding the n1 intra prediction modes to specified positions in the ordered candidate prediction modes to generate the plurality of candidate prediction modes having a sequential relationship;
Wherein the specified position includes a forefront, a rearmost, or an insertion of the ordered candidate prediction modes.
11. The video decoding method of claim 7, wherein prior to determining the plurality of candidate prediction modes with a sequential relationship based on the first set of candidate modes, the second set of candidate modes, and the n1 intra-prediction modes, the video decoding method further comprises:
Replacing the first candidate mode set or the first intra-frame prediction mode in the first candidate mode set and the first intra-frame prediction modes in the n1 intra-frame prediction modes with a vertical prediction mode or a similar vertical prediction mode, and replacing the second intra-frame prediction mode in the first candidate mode set with a horizontal prediction mode or a similar horizontal prediction mode;
Wherein the first intra prediction mode is mode 0, mode 1, or mode 32 of the intra prediction modes, the second intra prediction mode is mode 2, mode 3, or mode 33 of the intra prediction modes, the class horizontal prediction modes include modes 56 to 59, mode 23, and mode 25 of the intra prediction modes, and the class vertical prediction modes include modes 42 to 45, mode 11, and mode 13 of the intra prediction modes.
12. The video decoding method according to any one of claims 7 to 11, wherein selecting n1 intra prediction modes from the intra prediction mode statistics in order of statistics from higher to lower, comprises:
Selecting the first n1 intra-frame prediction modes from the intra-frame prediction mode statistical results according to the sequence of the statistical values from large to small; or alternatively
And selecting the first n1 intra-prediction modes conforming to SAWP from the intra-prediction mode statistical results according to the sequence of the statistical values from large to small.
13. The video decoding method of claim 1, wherein determining a list of most probable intra prediction modes based on intra prediction modes employed by the neighboring blocks, the SAWP index values, and the intra prediction mode statistics comprises:
Generating an initial list of the most probable intra-frame prediction modes according to the intra-frame prediction modes adopted by the adjacent blocks and the SAWP index values;
selecting the first n2 intra-frame prediction modes conforming to SAWP from the intra-frame prediction mode statistical results according to the sequence of the statistical values from large to small;
And replacing part of intra-frame prediction modes in the initial list of the maximum possible intra-frame prediction modes by the first n2 intra-frame prediction modes conforming to SAWP to obtain the list of the maximum possible intra-frame prediction modes.
14. The video decoding method of claim 1, wherein determining a list of most probable intra prediction modes based on intra prediction modes employed by the neighboring blocks, the SAWP index values, and the intra prediction mode statistics comprises:
And selecting the first n3 intra-frame prediction modes conforming to SAWP from the intra-frame prediction mode statistical result according to the sequence of the statistical value from big to small to generate the maximum possible intra-frame prediction mode list, wherein the number of the intra-frame prediction modes counted in the intra-frame prediction mode statistical result is larger than or equal to the number of the intra-frame prediction modes contained in the maximum possible intra-frame prediction mode list.
15. The video decoding method of claim 1, wherein the video decoding method further comprises: determining whether a corresponding coded block needs to be decoded according to an intra-prediction mode adopted by the adjacent block, the SAWP index value and the intra-prediction mode statistical result according to at least one of the following modes, and determining a maximum possible intra-prediction mode list:
the value of the index mark contained in the sequence head of the coding block corresponding to the video image frame sequence;
The value of the index mark contained in the image head of the coding block corresponding to the video image frame.
16. A video encoding method, comprising:
determining SAWP index values corresponding to the coding blocks of the video image frames;
acquiring an intra-frame prediction mode adopted by adjacent blocks of the coding block, and acquiring an intra-frame prediction mode statistical result obtained by counting the intra-frame prediction mode adopted by the coding block in the video image frame;
determining a maximum possible intra-frame prediction mode list according to the intra-frame prediction mode adopted by the adjacent block, the SAWP index value and the intra-frame prediction mode statistical result;
Encoding other encoded blocks of the video image frame based on the list of most probable intra prediction modes.
17. A video decoding apparatus, comprising:
The decoding unit is configured to decode the coding blocks of the video image frames to obtain an index value of the spatial-domain angle weighted prediction SAWP;
A first obtaining unit configured to obtain an intra-frame prediction mode adopted by an adjacent block of the encoded block, and obtain an intra-frame prediction mode statistical result obtained by counting the intra-frame prediction mode adopted by the encoded block in the video image frame;
A first processing unit configured to determine a most probable intra-prediction mode list according to intra-prediction modes adopted by the neighboring blocks, the SAWP index values, and the intra-prediction mode statistics;
And a second processing unit configured to perform decoding processing on other encoded blocks of the video image frame based on the maximum possible intra prediction mode list.
18. A video encoding apparatus, comprising:
a determining unit configured to determine SAWP index values corresponding to the encoded blocks of the video image frame;
A second obtaining unit configured to obtain an intra-frame prediction mode adopted by an adjacent block of the encoded block, and obtain an intra-frame prediction mode statistical result obtained by counting the intra-frame prediction mode adopted by the encoded block in the video image frame;
A third processing unit configured to determine a most probable intra-prediction mode list according to intra-prediction modes adopted by the neighboring blocks, the SAWP index values, and the intra-prediction mode statistics;
and a fourth processing unit configured to perform encoding processing on other encoded blocks of the video image frame based on the maximum possible intra prediction mode list.
19. A computer readable medium on which a computer program is stored, characterized in that the computer program, when being executed by a processor, implements the video decoding method according to any one of claims 1 to 15 or the video encoding method according to claim 16.
20. An electronic device, comprising:
One or more processors;
Storage means for storing one or more programs that, when executed by the one or more processors, cause the one or more processors to implement the video decoding method of any of claims 1-15 or the video encoding method of claim 16.
CN202110273043.7A 2021-03-14 2021-03-14 Video encoding and decoding method, device, computer readable medium and electronic device Active CN115086654B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110273043.7A CN115086654B (en) 2021-03-14 2021-03-14 Video encoding and decoding method, device, computer readable medium and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110273043.7A CN115086654B (en) 2021-03-14 2021-03-14 Video encoding and decoding method, device, computer readable medium and electronic device

Publications (2)

Publication Number Publication Date
CN115086654A CN115086654A (en) 2022-09-20
CN115086654B true CN115086654B (en) 2024-11-22

Family

ID=83241366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110273043.7A Active CN115086654B (en) 2021-03-14 2021-03-14 Video encoding and decoding method, device, computer readable medium and electronic device

Country Status (1)

Country Link
CN (1) CN115086654B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111294602A (en) * 2019-03-14 2020-06-16 北京达佳互联信息技术有限公司 Intra-frame prediction mode coding and decoding method, device and equipment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10742975B2 (en) * 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
US20210250579A1 (en) * 2018-06-20 2021-08-12 Realnetworks, Inc. Intra-picture prediction in video coding systems and methods

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111294602A (en) * 2019-03-14 2020-06-16 北京达佳互联信息技术有限公司 Intra-frame prediction mode coding and decoding method, device and equipment

Also Published As

Publication number Publication date
CN115086654A (en) 2022-09-20

Similar Documents

Publication Publication Date Title
CN112533000B (en) Video decoding method and device, computer readable medium and electronic equipment
CN114615504B (en) Video decoding method, video encoding method, device and equipment
WO2022166370A1 (en) Video encoding and decoding method and apparatus, computer program product, computer-readable storage medium, and electronic device
CN113207002B (en) Video encoding and decoding method and device, computer readable medium and electronic equipment
WO2022062880A1 (en) Video decoding method and apparatus, computer readable medium, and electronic device
CN112543337B (en) Video decoding method, device, computer readable medium and electronic equipment
CN116095329A (en) Video encoding and decoding method and device, computer readable medium and electronic equipment
US20240144439A1 (en) Filtering method and apparatus, computer-readable medium
US12137223B2 (en) Video decoding method, video coding method, and related apparatus
WO2022174637A1 (en) Video encoding and decoding method, video encoding and decoding apparatus, computer-readable medium and electronic device
CN115086654B (en) Video encoding and decoding method, device, computer readable medium and electronic device
WO2022174701A1 (en) Video coding method and apparatus, video decoding method and apparatus, and computer-readable medium and electronic device
CN112449185B (en) Video decoding method, video encoding device, video encoding medium, and electronic apparatus
CN116805968A (en) Video encoding and decoding method and device, computer readable medium and electronic equipment
CN115209157A (en) Video encoding and decoding method and device, computer readable medium and electronic equipment
CN114979656B (en) Video encoding and decoding method, device, computer readable medium and electronic device
CN114615497B (en) Video decoding method, device, computer readable medium and electronic device
JP7483029B2 (en) VIDEO DECODING METHOD, VIDEO ENCODING METHOD, DEVICE, MEDIUM, AND ELECTRONIC APPARATUS
US12231623B2 (en) Video encoding method and apparatus, video decoding method and apparatus, computer-readable medium, and electronic device
CN114079772B (en) Video decoding method and device, computer readable medium and electronic equipment
CN115209138A (en) Video encoding and decoding method and device, computer readable medium and electronic equipment
CN115209141A (en) Video encoding and decoding method and device, computer readable medium and electronic equipment
CN115209146A (en) Video encoding and decoding method and device, computer readable medium and electronic equipment
CN116805969A (en) Video encoding and decoding method and device, computer readable medium and electronic equipment
CN117956164A (en) Video encoding and decoding method and device, computer readable medium and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40074378

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant