Methods and systems for video encoding and decoding

By employing multiple reference video frames and deep neural networks for motion estimation and compensation, the method addresses inaccurate prediction in existing video encoding and decoding, leading to improved encoding and decoding performance and compression rates.

WO2026026654A1PCT designated stage Publication Date: 2026-02-05ZHEJIANG DAHUA TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/110272
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-11-15
Filing Date
2025-07-24
Publication Date
2026-02-05

AI Technical Summary

Technical Problem

Existing video encoding and decoding technologies suffer from inaccurate prediction information, limiting the compression rate of bitstreams due to reliance on a single reference video frame, which can lead to errors and reduced encoding and decoding performance.

Method used

Implement a video encoding method that utilizes multiple reference video frames for motion estimation and compensation, incorporating deep neural networks to enhance prediction accuracy and improve encoding and decoding performance.

Benefits of technology

The proposed method improves prediction accuracy by using multiple reference frames, reducing redundant information and enhancing the compression rate of bitstreams.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025110272_05022026_PF_FP_ABST
    Figure CN2025110272_05022026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed is a video encoding method, comprising: obtaining reference information corresponding to one or more reference video frames, the one or more reference video frames being selected from one or more decoded video frames of an original video stream; determining motion information between at least one of the one or more reference video frames and a target original video frame of the original video stream; obtaining motion encoded data by encoding the motion information; determining, based on the motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame; determining difference information between the target original video frame and the prediction information; and obtaining context encoded data by encoding the difference information.
Need to check novelty before this filing date? Find Prior Art

Description

METHODS AND SYSTEMS FOR VIDEO ENCODING AND DECODINGCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to Chinese Application No. 202411640862.0, filed on November 15, 2024, and Chinese Application No. 202411061130.6, filed on August 2, 2024, entire contents of each of which are incorporated herein by reference.TECHNICAL FIELD

[0002] The present disclosure relates to the field of video encoding and decoding, and in particular to methods and systems for video encoding and decoding.BACKGROUND

[0003] Video image data typically involves large volumes, so it is usually necessary to compress video pixel data. The compressed data is referred to as bitstream. During an encoding and decoding process, prediction is commonly applied to video frames to reduce redundant data between the video frames before encoding the video frames into the bitstream. Subsequently, the bitstream is decoded to obtain reconstructed information. The video bitstream can be transmitted to a decoding terminal via a wired or wireless network, and then decoded for playback. The entire image encoding and compression process typically includes prediction, transformation, quantization, encoding, and other processes, which reduces the video data volume, thereby reducing the network bandwidth during transmission and minimizing the consumption of storage space.

[0004] In the present technologies, prediction information in the encoding and decoding process is still not accurate, limiting the compression rate of the bitstream. In view of this, improving the compression rate of the bitstream has become a critical problem to address.SUMMARY

[0005] One or more embodiments of the present disclosure provide a video encoding method. The video encoding method comprises:

[0006] One or more embodiments of the present disclosure provide a video encoding system.

[0007] One or more embodiments of the present disclosure provide a video encoding device, comprising a processor configured to execute the video encoding method.

[0008] One or more embodiments of the present disclosure provide a non-transitory computer-readable storage medium, comprising at least one set of instructions. When executed by one or more processors of a computing device, the at least one set of instructions may cause the computing device to perform the video encoding method.

[0009] In some embodiments of the present disclosure, a preset count of reference video frames are obtained, and decoded motion information is obtained by decoding motion encoded data. The motion encoded data is obtained by encoding motion information at an encoding terminal, and the motion information is obtained by performing motion estimation based on a target original video frame and the preset count of reference video frames. The decoded motion information can be obtained by decoding based on the present count of reference video frames. Then prediction information is obtained by performing motion compensation on the preset count of reference video frames based on the decoded motion information. Prediction can be performed based on the preset count of reference video frames, thereby improving the accuracy of the prediction. The prediction information obtained by the prediction is configured to obtain a reconstructed frame of the target original video frame by decoding, which can improve the accuracy of image encoding and decoding, thereby improving the encoding and decoding performance.

[0010] In some embodiments of the present disclosure, a motion bitstream is decoded to obtain decoded motion information between a target original video frame and an adjacent reference video frame. The target original video frame is predicted based on the decoded motion information and information transmitted by the adjacent reference video frame to obtain first or third prediction information corresponding to the adjacent reference video frame. The motion bitstream is obtained by encoding motion information at the encoding terminal, and the motion information is obtained based further on motion estimation between the target original video frame and at least one temporal reference video frame. Reference information corresponding to the at least one temporal reference frame is determined, thereby obtaining more reference video frames for correcting the first or third prediction information. The reference information includes at least reconstruction information of the at least one temporal reference video frame. The prediction information of the adjacent reference video frame is corrected based on the first or third prediction information and the reference information corresponding to the at least one temporal reference frame to obtain prediction information corresponding to the target original video frame, thereby determining the prediction information corresponding to the target original video frame based on a plurality of reference video frames, improving the accuracy of the prediction information, and reducing the redundant information. In addition, the prediction information is configured to obtain reconstruction information corresponding to the target original video frame by decoding, thereby effectively improving the compression rate of the bitstream.BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The present disclosure will be further illustrated by way of exemplary embodiments, which will be described in detail by means of the accompanying drawings. These embodiments are not limiting, and in these embodiments, the same numbering indicates the same structure, wherein:

[0012] FIG. 1 is a schematic diagram illustrating an exemplary application scenario of a video encoding and decoding system according to some embodiments of the present disclosure;

[0013] FIG. 2 is a flowchart illustrating an exemplary process of video encoding according to some embodiments of the present disclosure;

[0014] FIG. 3 is a flowchart illustrating an exemplary process of obtaining one or more reference video frames according to some embodiments of the present disclosure;

[0015] FIG. 4 is a flowchart illustrating an exemplary process of obtaining a first reconstructed frame according to some embodiments of the present disclosure;

[0016] FIG. 5 is a flowchart illustrating an exemplary process of obtaining prediction information according to some embodiments of the present disclosure;

[0017] FIG. 6A is a flowchart illustrating an exemplary process of obtaining prediction information according to some embodiments of the present disclosure;

[0018] FIG. 6B is a schematic diagram illustrating an exemplary process of determining prediction information according to some embodiments of the present disclosure;

[0019] FIG. 6C is a schematic diagram illustrating an exemplary process of determining second prediction information according to some embodiments of the present disclosure;

[0020] FIG. 6D is a schematic diagram illustrating an exemplary process of determining prediction information according to some embodiments of the present disclosure;

[0021] FIG. 6E is a schematic diagram illustrating an exemplary process of determining prediction informationn according to some embodiments of the present disclosure;

[0022] FIG. 7A is a flowchart illustrating an exemplary process of obtaining prediction information according to some embodiments of the present disclosure;

[0023] FIG. 7B is a schematic diagram illustrating an exemplary process of obtaining prediction information according to some embodiments of the present disclosure;

[0024] FIG. 8A is a flowchart illustrating an exemplary process of obtaining cross-frame motion information according to some embodiments of the present disclosure;

[0025] FIG. 8B is a schematic diagram illustrating an exemplary process of determining cross-frame motion information according to some embodiments of the present disclosure;

[0026] FIG. 8C is a schematic diagram illustrating an exemplary process of determining cross-frame motion information according to some embodiments of the present disclosure;

[0027] FIG. 9 is a flowchart illustrating an exemplary video decoding method according to some embodiments of the present disclosure;

[0028] FIG. 10 is a flowchart illustrating an exemplary image decoding method according to some embodiments of the present disclosure;

[0029] FIG. 11 is a block diagram illustrating an exemplary image encoding and decoding system according to some embodiments of the present disclosure;

[0030] FIG. 12 is a flowchart illustrating an exemplary image decoding method according to some embodiments of the present disclosure;

[0031] FIG. 13 is a schematic diagram illustrating an exemplary decoded video frame according to some embodiments of the present disclosure;

[0032] FIG. 14 is a schematic diagram illustrating an exemplary decoded video frame according to some embodiments of the present disclosure;

[0033] FIG. 15 is a schematic diagram illustrating an exemplary process of selecting one or more reference video frames according to some embodiments of the present disclosure;

[0034] FIG. 16 is a schematic diagram illustrating an exemplary process of selecting one or more reference video frames according to some embodiments of the present disclosure;

[0035] FIG. 17 is a schematic diagram illustrating an exemplary process of quality assessment according to some embodiments of the present disclosure;

[0036] FIG. 18 is a schematic diagram illustrating an exemplary process of frame selection according to some embodiments of the present disclosure;

[0037] FIG. 19 is a flowchart illustrating an exemplary image decoding method according to some embodiments of the present disclosure;

[0038] FIG. 20 is a schematic diagram illustrating an exemplary encoding network according to some embodiments of the present disclosure;

[0039] FIG. 21 is a schematic diagram illustrating an exemplary process of encoding and decoding according to some embodiments of the present disclosure;

[0040] FIG. 22 is a schematic diagram illustrating an exemplary process of encoding and decoding according to some embodiments of the present disclosure;

[0041] FIG. 23 is a flowchart illustrating an exemplary image decoding method according to some embodiments of the present disclosure;

[0042] FIG. 24 is a schematic diagram illustrating an exemplary process of motion compensation according to some embodiments of the present disclosure;

[0043] FIG. 25 is a schematic diagram illustrating an exemplary process of dimensional transformation and combination processing according to some embodiments of the present disclosure;

[0044] FIG. 26 is a flowchart illustrating an exemplary image decoding method according to some embodiments of the present disclosure;

[0045] FIG. 27 is a schematic diagram illustrating an exemplary process of combining reference auxiliary information according to some embodiments of the present disclosure;

[0046] FIG. 28 is a flowchart illustrating an exemplary image decoding method according to some embodiments of the present disclosure;

[0047] FIG. 29 is a schematic flow chart of an image encoding method according to some embodiments of the present disclosure;

[0048] FIG. 30 is a flowchart illustrating an exemplary image encoding method according to some embodiments of the present disclosure;

[0049] FIG. 31 is a block diagram illustrating an exemplary process of encoding and decoding according to some embodiments of the present disclosure;

[0050] FIG. 32 is a schematic diagram illustrating a topological structure of an image decoding method according to some embodiments of the present disclosure;

[0051] FIG. 33 is a schematic diagram illustrating an exemplary application scenario of an image decoding method according to some embodiments of the present disclosure;

[0052] FIG. 34 is a flowchart illustrating an exemplary image decoding method according to some embodiments of the present disclosure;

[0053] FIG. 35 is a schematic diagram illustrating a topological structure of an image decoding method according to some embodiments of the present disclosure;

[0054] FIG. 36 is a schematic diagram illustrating an exemplary application scenario of an image decoding method according to some embodiments of the present disclosure;

[0055] FIG. 37 is a schematic diagram illustrating a topological structure of an image decoding method according to some embodiments of the present disclosure;

[0056] FIG. 38 is a schematic diagram illustrating an exemplary application scenario of obtaining prediction reference information corresponding to all target reference frames according to some embodiments of the present disclosure;

[0057] FIG. 39 is a schematic diagram illustrating an exemplary application scenario of obtaining cross-frame motion information corresponding to a single target reference frame according to some embodiments of the present disclosure;

[0058] FIG. 40 is a flowchart illustrating an exemplary image encoding method according to some embodiments of the present disclosure;

[0059] FIG. 41 is a block diagram illustrating an exemplary video encoding system according to some embodiments of the present disclosure;

[0060] FIG. 42 is a block diagram illustrating an exemplary video decoding system according to some embodiments of the present disclosure;

[0061] FIG. 43 is a schematic structural diagram illustrating an exemplary image decoding terminal according to some embodiments of the present disclosure;

[0062] FIG. 44 is a schematic structural diagram illustrating an exemplary image encoding terminal according to some embodiments of the present disclosure;

[0063] FIG. 45 is a schematic structural diagram illustrating an exemplary decoding terminal according to some embodiments of the present disclosure; and

[0064] FIG. 46 is a schematic structural diagram illustrating an exemplary decoding terminal according to some embodiments of the present disclosure.DETAILED DESCRIPTION

[0065] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the accompanying drawings required to be used in the description of the embodiments are briefly described below. Obviously, the accompanying drawings in the following description are only some examples or embodiments of the present disclosure, and it is possible for a person of ordinary skill in the art to apply the present disclosure to other similar scenarios in accordance with these drawings without creative labor. Unless obviously obtained from the context or the context illustrates otherwise, the same numeral in the drawings refers to the same structure or operation.

[0066] It should be understood that the terms “system, ” “device, ” “unit, ” and / or “module” used herein are a way to distinguish between different components, elements, parts, sections, or assemblies at different levels. However, the terms may be replaced by other expressions if other words accomplish the same purpose.

[0067] As shown in the present disclosure and in the claims, unless the context clearly suggests an exception, the words “one, ” “a, ” “an, ” “one kind, ” and / or “the” do not refer specifically to the singular, but may also include the plural. Generally, the terms “including” and “comprising” suggest only the inclusion of clearly identified steps and elements, however, the steps and elements that do not constitute an exclusive list, and the method or apparatus may also include other steps or elements.

[0068] Flowcharts are used in the present disclosure to illustrate the operations performed by a system according to embodiments of the present disclosure, and the related descriptions are provided to aid in a better understanding of the magnetic resonance imaging method and / or system. It should be appreciated that the preceding or following operations are not necessarily performed in an exact sequence. Instead, steps can be processed in reverse order or simultaneously. Also, it is possible to add other operations to these processes or to remove a step or steps from these processes.

[0069] In the present disclosure, “performing motion compensation on a reference video frame” and “performing motion compensation on reference information of a reference video frame” can be used interchangeably.

[0070] The traditional video encoding system mainly involves video acquisition, prediction (including intra-frame prediction and inter-frame prediction for removing spatial and temporal redundancy of video images) , transformation, quantization, and entropy encoding, which are used to compress and encode the video images to obtain compressed data, and a decoder generates reconstructed frames based on the compressed data. With the development of traditional video encoding standards, the computational complexity is increasing, and the traditional video encoding technique is generally optimized for objective indexes such as the peak signal-to-noise ratio (PSNR, an image quality assessment index) , which is difficult to adapt to the subjective requirements or quality.

[0071] In recent years, deep neural networks have made some progress in video processing such as video detection, video super-resolution, video denoising, and video enhancement. Due to the advantages of powerful nonlinear expression ability and joint training, the deep neural networks demonstrate great potential in the field of images  / videos.

[0072] At present, deep learning has also begun to develop in the field of video compression, and the applications mainly involve using deep learning tools in the traditional video encoder and an end-to-end deep video compression framework with the deep neural networks as the core of video encoding. Many studies have shown that combining the traditional encoding modules with deep learning is very effective. These modules include but are not limited to a motion compensation and interpolation network, an intra-frame prediction encoding module, a bit rate control module, and a post-processing module. The end-to-end deep video compression framework makes full use of the advantages of powerful nonlinear expression ability of neural networks and end-to-end joint optimization to further improve the compression efficiency and accuracy.

[0073] In the present technologies, only one reconstructed frame is used as a reference video frame for optical flow estimation and motion compensation, and only a forward reconstructed frame in the time domain is used as a reference video frame without considering a backward reference video frame or bidirectional reference video frames. In this way, the prediction information is obtained by performing compensation based on a single reference video frame, resulting in affecting the accuracy of the prediction information based on a single reference video frame in case of occlusion or error propagation, which in turn limits the encoding and decoding performance.

[0074] Technical improvements are proposed in the prior art to improve the accuracy of the prediction information, but there are still many deficiencies (e.g., the above limitations) . According to the video encoding and decoding methods disclosed in some embodiments of the present disclosure, the encoding terminal and the decoding terminal are constructed using the deep neural network, and the prediction is performed based on one or more reference video frames, thereby improving the prediction accuracy, and improving the encoding and decoding performance.

[0075] FIG. 1 is a schematic diagram illustrating an exemplary application scenario of a system for video encoding and decoding according to some embodiments of the present disclosure.

[0076] A system 100 for image encoding and decoding may include an encoding terminal 101 and a decoding terminal 102. The encoding terminal 101 and the decoding terminal 102 may be a computer device, an electronic device, or the like, such as any device with processing capabilities, for example, a computer, a server, a mobile phone, a tablet, etc. These devices may be provided with a processor for executing the operations of the method disclosed in the embodiments of the present disclosure, which is not limited in the present disclosure. The encoding terminal 101 and the decoding terminal 102 may be configured to communicate with each other to perform operations of encoding and / or decoding an images / video.

[0077] The encoding terminal 101 may be configured to generate bitstream data by performing pre-processing and processing related to encoding and compression of the image / video. The encoding terminal 101 may transmit the bitstream data to the decoding terminal 102, and the decoding terminal 102 may receive the bitstream data from the encoding terminal 101 to perform operations including decoding the bitstream data, and operations related to a back-end visual task, such as processing and classification of the image / video.

[0078] In some embodiments, the encoding terminal 101 and the decoding terminal 102 may be configured to implement any operation of the following embodiments.

[0079] FIG. 2 is a flowchart illustrating an exemplary process of video encoding according to some embodiments of the present disclosure. As shown in FIG. 2, a process 200 may include the following operations. In some embodiments, the process 200 may be implemented by a video encoding system (e.g., the encoding terminal 101, video encoding system 4100 in FIG. 41, image encoding terminal 4400 in FIG. 44, etc. ) or a processor.

[0080] In 202, the encoding terminal 101 may obtain reference information corresponding to one or more reference video frames.

[0081] The reference video frame refers to a decoded video frame used to provide reference information during video encoding and decoding. The one or more reference video frames may be with a preset count. The one or more reference video frames may include one reference video frame, two reference video frames, or more than two reference video frames, etc., and the count of the one or more reference video frames may be preset or adaptively set, such as the count of the one or more reference video frames may be set during the encoding process, or the count of the one or more reference video frames may be set before the encoding process, etc., which is not limited in the present disclosure.

[0082] In some embodiments, the one or more reference video frames may be selected from one or more decoded video frames of an original video stream corresponding to a target original video frame. A video frame generated by encoding an original video frame of the original video stream and then decoding and reconstructing the encoded data is referred to as a decoded video frame (also referred to as a decoded frame or a reconstructed frame) corresponding to the original video frame. The original video stream is a video stream including a plurality of original video frames. The decoded video frames may be cached in the system 100 for fast calling during encoding and decoding. For example, the decoded frames are stored using a reference information buffer (or simply referred to as buffer) at the encoding terminal and the decoding terminal. The reference information buffer may include one or more decoded video frames corresponding to one or more original video frames of the original video stream that are located before the target original video frame in the original video stream, or one or more decoded video frames corresponding to one or more original video frames of the original video stream that are located after the target original video frame in the original video stream.

[0083] The original video frames may be video frames that are not subjected to any compression processing, such as uncompressed image data obtained from a video source (e. g. a camera, etc. ) . In some embodiments, video frames generated by decoding may be encoded or compressed again. In this case, the video frames generated by decoding may be used as the original video frames in the re-encoding process.

[0084] The target original video frame refers to an original video frame that is currently to be encoded, which is also referred to as a current frame or a current video frame.

[0085] In some embodiments, the one or more reference video frames may include unidirectional / bidirectional reference video frames. For example, the one or more reference video frames are selected from one or more decoded video frames corresponding to one or more original video frames of the original video stream that are located before the target original video frame, and / or one or more decoded video frames corresponding to one or more original video frames of the original video stream that are located after the target original video frame. For example, the one or more reference video frames are selected from one or more decoded video frames corresponding to one or more original video frames of the original video stream that are located before the target original video frame and whose distances to the target original video frame are less than a time threshold (e.g., closest to the target original video frame) , and / or one or more decoded video frames corresponding to one or more original video frames of the original video stream that are located after the target original video frame and whose distances to the target original video frame are less than the time threshold (e.g., closest to the target original video frame) .

[0086] One or more reference video frames may be provided, which is not limited in the present disclosure. The count of the one or more reference video frames may be specified by a user, or determined based on the count of the decoded video frames corresponding to the original video stream. For example, if the count of the decoded video frames is greater than 10, the count of the one or more reference video frames may be 3 or 5. As another example, if the count of the decoded video frames is greater than 20, the count of the one or more reference video frames may be 5 or 6, etc.

[0087] In some embodiments, the processor may obtain the one or more reference video frames by:determining a quality assessment index for each of the one or more decoded video frames of the original video stream; and selecting, based on the quality assessment index, the one or more reference video frames from the one or more decoded video frames.

[0088] The quality assessment index refers to a parameter index used to assess the decoding quality of a decoded video frame. In some embodiments, the quality assessment index may include but is not limited to PSNR, Structural Similarity Index Measure (SSIM) , or a quality assessment index determined using other existing quality assessment algorithms.

[0089] In some embodiments, the processor may use L decoded video frames with better quality assessment indices (e.g., top-ranked decoded video frame (s) or decoded video frame (s) with the quality assessment indices greater than a quality assessment threshold) as the one or more reference video frames, wherein L is an integer greater than 0. Selecting the decoded video frames with better quality as the one or more reference video frames helps improve the prediction accuracy.

[0090] For a decoded video frame, the closer the decoded video frame is to the target original video frame, the higher the correlation between the decoded video frame and the target original video frame, and the better the encoding and decoding effect of the target original video frame using the decoded video frame as the reference video frame. Therefore, the processor may select the one or more reference video frames from the one or more decoded video frames based on distance between the decoded video frames and the target original video frame. In some embodiments, the processor may select M decoded video frames with better quality which are closer to the target original video frame among the L decoded video frames as the one or more reference video frames, M is an integer greater than 0, and M is less than or equal to L. In some embodiments, the processor may determine scores of the decoded video frames based on the quality assessment indices of the decoded video frames and the distances between the decoded video frames and the target original video frame, and select decoded video frames whose scores are greater than a score threshold as the one or more reference video frames. The higher the quality assessment index of a decoded video frame, and the closer the distance between the decoded video frame and the target original video frame, the higher the score of the decoded video frame; in contrast, the lower the quality assessment index of the decoded video frame, and the farther the distance between the decoded video frame and the target original video frame, the lower the score of the decoded video frame.

[0091] More descriptions regarding determining the one or more reference video frames may be found in FIG. 3 and the related descriptions thereof.

[0092] In some embodiments, after the one or more reference video frames are obtained, the processor may determine an identifier of the one or more reference video frames; and transmit the identifier, motion encoded data, and context encoded data to the decoding terminal.

[0093] Each decoded frame (or each reference video frame) may correspond to a unique identifier. The identifier may be configured to identify or determine the corresponding decoded frame. For example, the decoding terminal may determine the one or more reference video frames from a local buffer based on the identifier. The encoding terminal only transmits the identifier of the one or more reference video frames to the decoding terminal without transmitting the reference information of the one or more reference video frames, which helps to reduce the volume of data transmission.

[0094] More descriptions regarding the motion encoded data and the context encoded data may be found in the present disclosure below.

[0095] The reference information of a reference video frame may be the reference video frame itself, or feature information (e.g., pixel value information, texture information, edge or contour information, etc. ) extracted from the reference video frame. The reference information corresponding to the one or more reference video frames may include reference information of each of the one or more reference video frames. For example, the reference information corresponding to the one or more reference video frames may include each of the one or more reference video frames, or the feature information of each of the one or more reference video frames. Alternatively, when the one or more reference video frames including a plurality of reference video frames, a single video frame may be obtained by combining the plurality of reference video frames, and the reference information corresponding to the plurality of reference video frames may include the single reference video frame, or feature information of the single video frame; alternatively, the reference information corresponding to the plurality of reference video frames may include a single piece of feature information obtained by combining the feature information corresponding to each of the plurality of reference video frames.

[0096] The reference information may be obtained in various ways. For example, the one or more reference video frames may be directly used as the reference information, or feature information extracted from the one or more reference video frames through a specific feature extraction process may be used as the reference information.

[0097] In some embodiments, the processor may obtain the reference information corresponding to the one or more reference video frames by processing the one or more reference video frames through a reference information generation network. The reference information generation network may include a machine learning model.

[0098] Important information in the one or more reference video frames may be automatically obtained as the reference information by processing the one or more reference video frames through the machine learning model.

[0099] In some embodiments, the machine learning model may be a network with a gating control function, and a plurality of reference video frames may be processed using the network with the gating control function. A singe reference video frame may be obtained by performing weighted combination on the plurality of reference video frames. An output of the reference information generation network may include the single reference video frame after combination or the feature information of the single reference video frame after combination, and the output of the reference information generation network may be the reference information.

[0100] The gating control function refers to the ability of the network to filter input information. Specifically, the network with the gating control function has weights (e.g., weight parameters in a neural network) corresponding to different input data. The one or more reference video frames may be input into a network model, and the network model may assign different weights to the input data to control the influence of the input data in the process of generating the reference information corresponding to the one or more reference video frames.

[0101] In 204, the encoding terminal 101 may determine motion information between at least one of the one or more reference video frames and a target original video frame of the original video stream.

[0102] The motion information refers to a difference between two frames, such as a position offset of the same pixel point (i.e., a pixel point that appears in both frames and corresponds to the same object) in the two frames. In some embodiments, the motion information may be optical flow information between at least one of the one or more reference video frames and the target original video frame. The optical flow information is an expression of the motion information, which mainly reflects a position change of the same pixel point between consecutive image frames. Accordingly, the optical flow information may be considered as a two-dimensional vector field of a motion trajectory and a speed of the same pixel point over time between the consecutive image frames. Since the motion information reflects the position offset between the at least one of the one or more reference video frames and the target original video frame, a position estimate of the corresponding pixel point in the target original video frame can be inferred or predicted through the motion information and the at least one of the one or more reference video frames, thereby obtaining prediction information of the target original video frame.

[0103] In some embodiments, during the encoding process of the target original video frame, the encoding terminal may obtain the motion information by performing motion estimation between the target original video frame and at least one of the one or more reference video frames. Taking motion estimation between the target original video frame and a reference video frame as an example, the basic idea of motion estimation is to divide the target original video frame into a plurality of non-overlapping image blocks (e.g., a target original video frame of 256×256 pixel points is divided into 16 non-overlapping image blocks of 16×16 pixel points) . Then, for each of the image blocks, a matching block that best matches the current image block is searched within the reference video frame based on a preset matching rule (e.g., determining a similarity with the current image block) , and a relative displacement of the same pixel point between the matching block and the current image block is the motion information between the target original video frame and a reference video frame. That is, the motion information, i.e., a motion vector, between the target original video frame and at least one of the one or more reference video frames may be determined by analyzing the pixel change between the target original video frame and the at least one of the one or more reference video frames. The motion vector may be used for prediction and motion compensation in subsequent processes to reduce redundant information in the image sequence.

[0104] In some embodiments, the motion information may be obtained by performing motion estimation on the target original video frame and at least one of the one or more reference video frames using a motion estimation network. For example, the motion estimation network may be an optical flow network, a motion estimation and motion compensation driven neural (MEMC) network, or a Flow network, etc., which is not limited in the present disclosure.

[0105] In some embodiments, determining the motion information between at least one of the one or more reference video frames and the target original video frame of the original video stream may include: obtaining one or more pieces of motion information by determining, for each of the one or more reference video frames, a piece of motion information between the reference video frame and the target original video frame. That is, the motion information between the target original video frame and each of the one or more reference video frames may be determined, respectively, by performing motion estimation between the target original video frame and each of the one or more reference video frames. In this case, the motion information between at least one of the one or more reference video frames and the target original video frame includes the one or more pieces of motion information each of which corresponds to one of the one or more reference video frames and is obtained by performing motion estimation between the target original video frame and the one of the one or more reference video frames. More descriptions regarding motion estimation between the target original video frame and a reference video frame may be found in the related descriptions above.

[0106] In some embodiments, the processor may determine a reference video frame corresponding to which the original video frame is adjacent to the target original video frame as an adjacent reference video frame, , and determine reference video frame (s) other than the adjacent reference video frame (s) in the one or more reference video frames as one or more temporal reference video frames. In this case, the processor may determine motion information corresponding to at least one adjacent reference video frame of the one or more reference video frames. An original video frame corresponding to an adjacent reference video frame may be adjacent to the target original video frame, and the motion information corresponding to the adjacent reference video frame may be motion information between the adjacent reference video frame and the target original video frame.

[0107] In this embodiment, the one or more reference video frames may be divided into one or more adjacent reference video frames and one or more temporal reference video frames. Determining the motion information between at least one of the one or more reference video frames and the target original video frame of the original video stream may include: determining motion information corresponding to at least one adjacent reference video frame, and the motion information corresponding to the at least one adjacent reference video frame may be motion information between the at least one adjacent reference video frame and the target original video frame. In this case, the motion information between at least one of the one or more reference video frames and the target original video frame may include the motion information corresponding to each adjacent reference video frame. One or more unidirectional reference video frames includes only one adjacent reference video frame. and bidirectional reference video frames include two adjacent reference video frames. For example, bidirectional reference video frames include a first adjacent reference video frame and a second adjacent reference video frame. Among the reference video frames corresponding to which the original video frames are located before the target original video frame, the original video frame corresponding to the first adjacent reference video frame is closest to the target original video frame. Among the reference video frames corresponding to which the original video frames are located after the target original video frame, the original video frame corresponding to the second adjacent reference video frame is closest to the target original video frame. The one or more temporal reference video frames are reference video frame (s) that have a temporal correlation with the target original video frame but are not adjacent to the target original video frame.

[0108] For example, A1, A2, A3, A4, and A5 are original video frames arranged in time sequence. A3 is the target original video frame. Decoded video frames R1, R2, R4, and R5 respectively corresponding to A1, A2, A3, and A5 are determined as reference video frames. R2 and R4 are determined as two adjacent reference video frames, and R1 and R5 are determined as temporal reference video frames.

[0109] Motion information between an adjacent reference video frame and the target original video frame may be determined by performing motion estimation between the adjacent reference video frame and the target original video frame, which is similar to the motion estimation between a reference video frame and the target original video frame described above.

[0110] The encoding terminal may estimate motion information corresponding to each of the one or more temporal reference video frames, and estimate cross-frame motion information of each of the one or more temporal reference video frames relative to the target original video frame based on the motion information of each of the one or more temporal reference video frames, which helps to improve the estimation accuracy of the cross-frame motion information and thus improve the accuracy of subsequent prediction information.

[0111] In some embodiments, the processor may determine motion information corresponding to each of the one or more temporal reference video frames. The motion information corresponding to each of the one or more temporal reference video frames may be motion information between the temporal reference video frame and a reference video frame that is adjacent to the temporal reference video frame and corresponding to which the original video frame is closer to the target original video frame. In this case, the motion information between at least one of the one or more reference video frames and the target original video frame may include the motion information corresponding to each adjacent reference video frame and the motion information corresponding to each of the one or more temporal reference video frames.

[0112] For example, for original video frames A0-AN and A, assuming that the target original video frame is A, and A0-AN are all located before A or after A. Temporal distances of A0-AN with A increase successively, i.e., A0 is closest to A, and AN is farthest from A. R0-RN are decoded video frames corresponding to A0-AN, respectively, and are determined as reference video frames (unidirectional reference video frames) . Accordingly, R0 is the adjacent reference video frame, and R1-RN are the temporal reference video frames. The motion information corresponding to the adjacent reference video frame R0 is the motion information between R0 and A. The motion information corresponding to R1 is the motion information between R1 and R0, the motion information corresponding to R2 is the motion information between R2 and R1, …, the motion information corresponding to RN is the motion information between RN and RN-1.

[0113] Determination of motion information corresponding a temporal reference video frame may be similar to the motion estimation between a reference video frame and the target original video frame described above.

[0114] In some embodiments, when determining the motion information between at least one of the one or more reference video frames and the target original video frame, the processor may determine the motion information corresponding to each adjacent reference video frame, and the operation for determining the motion information corresponding to each of the one or more temporal reference video frames may be omitted. In this case, the motion information between at least one of the one or more reference video frames and the target original video frame may include the motion information corresponding to each adjacent reference video frame, not including motion information corresponding to each of the one or more temporal reference video frames.

[0115] In 206, the encoding terminal 101 may obtain motion encoded data by encoding the motion information.

[0116] The encoding process refers to a specific algorithm and technique that convert the motion information into a more compact and compressed format. In some embodiments, the encoding process may include transformation, quantization, entropy encoding, etc.

[0117] The motion encoded data is a result obtained by encoding the motion information.

[0118] In some embodiments, when one or more pieces of motion information is obtained by determining, for each of the one or more reference video frames, a piece of motion information between the reference video frame and the target original video frame, the processor may obtain, for each of the one or more pieces of motion information, a piece of motion encoded data by encoding the piece of motion information. In this case, the motion encoded data includes one or more pieces of motion encoded data each of which is obtained by encoding one of the one or more pieces of motion information. Separately encoding each of the one or more pieces of motion information may be a one-to-one encoding manner to generate motion encoded data. Since each of the one or more pieces of motion information is encoded / decoded separately, there are one or more motion information bitstreams. For example, a piece of motion information may be encoded and decoded using motion information encoding module 1 and motion information decoding module 1, and another piece of motion information may be encoded and decoded using motion information encoding module 2 and motion information decoding module 2. An encoding network of each piece of motion information may share or not share parameters, and a decoding network of each piece of motion information may share or not share parameters.

[0119] If the encoding network (or the decoding network) of each piece of motion information does not share the parameters, encoding and decoding of each piece of motion information can be more accurate, but the computational cost is relatively high. If the encoding network (or the decoding network) of each piece of motion information shares the parameters, the computational cost can be saved, but some accuracy is lost.

[0120] In some embodiments, the processor may obtain, for one of the one or more pieces of motion information, a piece of motion encoded data by encoding the piece of motion information using, as a reference, other piece of motion information in the one or more pieces of motion information.

[0121] The above process is a many-to-one encoding manner to generate multiple bitstreams. A plurality of pieces of motion information are interdependent as a reference during encoding and decoding. Accordingly, when a certain piece of motion information is encoded, other piece of motion information may be used as a reference to obtain motion encoded data of the piece of motion information; correspondingly, when the motion encoded data of a certain piece of motion information is decoded, other piece of decoded motion information may be used as a reference. The reference process may include but is not limited to splicing, difference calculation, a combination of splicing and convolution, etc.

[0122] In some embodiments, for unidirectional reference frames, a plurality of pieces of motion information may be obtained by determining a piece of motion information between each of the reference video frames and the target original video frame. A count of the pieces of motion information may be L, and L is an integer greater than 1. The obtaining motion encoded data by encoding the motion information may include: obtaining a first piece of motion encoded data by encoding a first piece of motion information among the L pieces of motion information; and obtaining, based on an (n-1) th piece of motion information of the L pieces of motion information, an nth piece of motion encoded data by encoding an nth piece of motion information among the L pieces of motion information, n=2, 3, …, L.

[0123] Among L reference video frames, if an original video frame corresponding to a reference video frame is closest to the target original video frame, the piece of motion information corresponding to the reference video frame is determined as the first piece of motion information, and so on. For bidirectional reference frames, the bidirectional reference frames may be divided into two groups of unidirectional reference frames (i.e., reference video frames corresponding to which the original video frames are located before the target original video frame and reference video frames corresponding to which the original video frames are located after the target original video frame) for encoding.

[0124] In some embodiments, the processor may obtain combined motion information by combining the one or more pieces of motion information; and obtain the motion encoded data by encoding the combined motion information.

[0125] The combining may be performed in various ways such as splicing, weighted summation, etc., and the size of the bitstream size may be reduced by combination. The process of encoding the combined motion information may be the same as the process of encoding a piece of motion information, which is not repeated here.

[0126] In some embodiments, the processor may obtain the motion encoded data by encoding the motion information corresponding to each adjacent reference video frame and / or the motion information corresponding to each of the one or more temporal reference video frames. For example, the processor may obtain the motion encoded data by encoding the motion information corresponding to each adjacent reference video frame and the motion information corresponding to each of the one or more temporal reference video frames.

[0127] In 208, the encoding terminal 101 may determine, based on the reference information corresponding to the one or more reference video frames and the motion information between the at least one of the one or more reference video frames and the target original video frame, prediction information corresponding to the target original video frame.

[0128] The prediction information refers to an estimate of a content of the target original video frame generated using the motion information and the reference information (e.g., motion vectors and decoded frames) during the encoding and decoding process, and may also be referred to as a prediction video frame corresponding to the target original video frame.

[0129] In some embodiments, the processor may obtain the prediction information by performing, based on the motion information, motion compensation on at least one of the one or more reference video frames. For example, the processor of the encoding terminal 101 may obtain decoded motion information between at least one of the one or more reference video frames and the target original video frame by decoding the motion encoded data, and obtain the prediction information by performing, based on the decoded motion information, motion compensation on at least one of the one or more reference video frames.

[0130] Since an encoding process (e.g., a quantization process is lossy) and a decoding process are not completely reversible, in order to make data used by a decoding terminal as consistent as possible with an encoding terminal to improve the accuracy of encoding and decoding, prediction can be performed using decoded motion information obtained by decoding the motion encoded data at the encoding terminal so as to improve the accuracy.

[0131] In operation 208, the process for obtaining the decoded motion information between at least one of the one or more reference video frames and the target original video frame may be similar to operation 904 in process 900 in FIG. 9, but operation 208 is performed in the encoding terminal.

[0132] The prediction information may be configured to obtain context information to decode and obtain a reconstructed frame of the target original video frame, i.e., a decoded video frame of the target original video frame.

[0133] In some embodiments, the processor may obtain one or more pieces of motion information by determining a piece of motion information between each of the one or more reference video frames and the target original video frame. The processor may obtain a piece of motion encoded data by encoding each of the one or more pieces of motion information. The processor may obtain, for each of the one or more pieces of motion encoded data, a piece of decoded motion information by decoding the piece of motion encoded data; for each of the one or more reference video frames, determine a piece of intermediate prediction information based on the reference information corresponding to the reference video frame and the piece of decoded motion information corresponding to the reference video frame; and obtain the prediction information by combining the one or more pieces of intermediate prediction information of the one or more reference video frames.

[0134] The intermediate prediction information is prediction information obtained in the process of obtaining the prediction information related to the target original video frame. For example, for reference video frame 1, prediction frame 1 is obtained by performing motion compensation on the reference video frame 1 using decoded motion information 1 corresponding to the reference video frame 1; for reference video frame 2, prediction frame 2 is obtained by performing motion compensation on the reference video frame 2 using decoded motion information 2 corresponding to the reference video frame 2; . . . ; for reference video frame L, prediction frame L is obtained by performing motion compensation on the reference video frame L using decoded motion information L corresponding to the reference video frame L. The prediction frames 1 to L are L pieces of intermediate prediction information of the L reference video frames.

[0135] One or more pieces of intermediate prediction information are obtained by performing motion compensation on each of the one or more reference video frames using the piece of decoded motion information corresponding to the reference video frame, and the prediction information is obtained by combining the one or more pieces of intermediate prediction information, thereby improving the prediction efficiency.

[0136] The combination may be performed in various ways, such as splicing, weighted summation, a combination network (described below) , etc., which are not limited in this embodiment.

[0137] The motion compensation performed on a reference video frame (e.g., the reference information of the reference video frame) based on a piece of decoded motion information corresponding to the reference video frame includes a warp operation, global motion compensation, block motion compensation, or variant variable block motion compensation thereof, etc. The warp operation performed on a reference video frame refers to translation, rotation, and other transformations of image blocks of the reference video frame based on the piece of decoded motion information to simulate positions of the image blocks of the reference video frame in the target original video frame. In other words, the motion compensation performed on a reference video frame based on a piece of decoded motion information corresponding to the reference video frame is a process of describing a difference between the reference video frame and the target original video frame, specifically describing how to use the piece of decoded motion information corresponding to the reference video frame to make each image block of the reference video frame move to a certain position of the corresponding image block in the target original video frame, so as to use the reference video frame to simulate the prediction video frame (prediction information) of the target original video frame, thereby reducing the spatial redundancy in the image sequence. In some embodiments, the motion compensation may be a traditional convolution operation, etc., which is not limited in the present disclosure.

[0138] In some embodiments, the processor may perform the motion compensation using a convolutional network. An exemplary convolutional network may include a convolutional network including an alignment process such as a deformable convolution, an interpolation-based warp operation, etc.

[0139] In the above embodiment, one or more reference video frames are obtained, and decoded motion information is obtained by decoding the motion encoded data. The motion encoded data is obtained by encoding the motion information between at least one of the one or more reference video frames and the target original video frame at the encoding terminal, the motion information between at least one of the one or more reference video frames and the target original video frame is obtained by performing motion estimation on the target original video frame and at least one of the one or more reference video frames, and then the prediction information is obtained by performing motion compensation on at least one of the one or more reference video frames based on the motion information. With reference to a preset count of reference video frames, the prediction can be performed based on the preset count of reference video frames, thereby improving the prediction accuracy. The prediction information obtained by the prediction is configured to decode and obtain the reconstructed frame of the target original video frame, which can improve the accuracy of image encoding and decoding, thereby improving the performance of image encoding and decoding.

[0140] More descriptions regarding obtaining the prediction information may be found in FIGs. 5-7B and the related descriptions thereof.

[0141] In 210, the encoding terminal 101 may determine difference information between the target original video frame and the prediction information.

[0142] The difference information refers to a distinction between the target original video frame and the prediction information, such as a difference between the target original video frame and the prediction information.

[0143] In some embodiments, the difference information between the target original video frame and the prediction information may also be referred to as context information.

[0144] In some embodiments, the processor may determine the difference information by determining a difference value between the target original video frame and the predicted information (e.g., a pixel value difference between pixels at the same position in the target original video frame and the predicted video frame) , or automatically determine the difference information between the target original video frame and the prediction information using a machine learning model.

[0145] In 212, the encoding terminal 101 may obtain context encoded data by encoding the difference information.

[0146] The context encoded data is bitstream data obtained by encoding the difference information. The encoding process may be the same as described above, which is not repeated here.

[0147] In some embodiments of the present disclosure, the prediction information is generated using the one or more reference video frames during video encoding, which improves the prediction accuracy.

[0148] FIG. 3 is a flowchart illustrating an exemplary process of obtaining one or more reference video frames according to some embodiments of the present disclosure. As shown in FIG. 3, a process 300 may include the following operations. In some embodiments, the process 300 may be implemented by a video encoding system (e.g., the encoding terminal 101, video encoding system 4100 in FIG. 41, image encoding terminal 4400 in FIG. 44, etc. ) or a processor.

[0149] In 302, the encoding terminal 101 may obtain a plurality of decoded video frames of an original video stream.

[0150] In some embodiments, decoded video frames may be stored in a reference information cache (i.e., a reference information buffer) . The processor may read a plurality of decoded video frames from the reference information cache. More descriptions regarding the decoded video frames may be found in the related descriptions of FIG. 2.

[0151] In 304, the encoding terminal 101 may determine, based on the plurality of decoded video frames, a plurality of candidate reference groups, each of the plurality of candidate reference groups including a preset count of decoded video frames of the plurality of decoded video frames.

[0152] The candidate reference group refers to a set of one or more decoded video frames. The one or more decoded video frames in a candidate reference group satisfying a certain condition may be determined as one or more reference video frames.

[0153] In some embodiments, each of the plurality of candidate reference groups may include a preset count of decoded video frames of the plurality of decoded video frames. The preset count may be any count less than a count of the plurality of decoded video frames. For example, if the count of the plurality of decoded video frames is 10, the preset count may be 2, 4, 5, etc. The count of decoded video frames in each of the plurality of candidate reference groups may be the same or different.

[0154] In some embodiments, the plurality of candidate reference groups may be obtained by dividing the plurality of decoded video frames.

[0155] For example, the processor may determine the plurality of candidate reference groups by: determining a selection window, a length of the selection window being k (k≥1) frames; and obtaining the plurality of candidate reference groups based on the plurality of decoded video frames by performing window sliding using the selection window based on a preset step size and a preset direction.

[0156] The selection window is configured to select a continuous frame interval from the plurality of decoded video frames. The preset step size refers to a count of frames that the selection window moves each time when performing window sliding using the selection window among the plurality of decoded video frames. The preset step size determines a speed at which the selection window moves forward in the plurality of decoded video frames. For example, if the preset step size is 1, the selection window moves forward by 1 frame each time; if the preset step size is 10, the selection window moves forward by 10 frames each time.

[0157] The preset direction may be a direction from front to back, from back to front, or from the middle to two sides based on an order of the plurality of decoded video frames.

[0158] By performing window sliding using the selection window based on the preset step size and the preset direction, a part of the plurality of decoded video frames may be selected from the plurality of decoded video frames during each window sliding, and the selected decoded video frames in each window sliding may correspond to one of the candidate reference groups. The plurality of candidate reference groups may be determined by multiple window sliding selections.

[0159] For example, there are decoded video frames of D1-D5 arranged in sequence. The length of the selection window is 3 frames, the preset direction is from front to back, and the preset step size is 1 frame. In the first window sliding selection of the selection window, D1-D3 are selected by the selection window, and assigned to candidate reference group 1. In the second window sliding selection of the selection window, D2-D4 are selected by the selection window, and assigned to candidate reference group 2. In the third window sliding selection of the selection window, D3-D5 are selected by the selection window, and assigned to candidate reference group 3. In this way, D1-D5 are divided into candidate reference groups 1-3.

[0160] In 306, for each of the plurality of candidate reference groups, the encoding terminal 101 may generate a first reconstructed frame by performing, based on the decoded video frames in the candidate reference group, encoding and decoding on the target original video frame; and determine a cost index based on the target original video frame and the first reconstructed frame.

[0161] The cost index is a quantization parameter used to reflect a difference between a reconstructed frame and an original video frame, and / or is positively correlated with the difference and a data volume of encoded data used to generate the reconstructed frame. For example, the cost index may reflect a difference between the first reconstructed frame and the target original video frame. The greater the cost index, the larger the corresponding difference and / or the data volume of encoded data used to generate the first reconstructed frame.

[0162] The reconstructed frame refers to a video frame obtained through decoding and reconstruction. One of the purposes of improving the encoding and decoding performance is to make the reconstructed frame close to the original video frame. The reconstructed frame is provided to a user for display, or stored in the cache as a reference video frame, or a decoded frame used in a next encoding and decoding process.

[0163] In some embodiments, reconstruction information may be regarded as preceding data of the reconstructed frame, and the reconstructed frame may be obtained after some processing (e.g., upsampling and other dimensional transformation) of the reconstruction information. In some embodiments, the reconstruction information may be equivalent to the reconstructed frame or a reconstructed image.

[0164] Accordingly, after the target original video frame is encoded and decoded using one or more decoded video frames, the first reconstructed frame may be obtained. More descriptions regarding obtaining the first reconstructed frame may be found in the related descriptions of FIG. 4.

[0165] In some embodiments, the processor may assess the difference between the target original video frame and the first reconstructed frame and / or the data volume of encoded data (referring to first encoded data in FIG. 4) used to generate the first reconstructed frame, and use an assessment result as the cost index.

[0166] In some embodiments, the cost index may be expressed by a loss function. For example, the loss function may be expressed as D+λR or simply D; wherein D denotes the difference between the first reconstructed frame and the target original video frame, R denotes the data volume of the encoded data (e.g., the data volume of first encoded data in operation 410 in FIG. 4) ; and λ denotes a weight coefficient used to balance the influence of the difference and the data volume. The smaller the loss function, the better the cost index. The weight coefficient may be determined based on experience.

[0167] In 308, the encoding terminal 101 may determine, based on the cost indexes of the plurality of candidate reference groups, a target reference group from the plurality of candidate reference groups, and determine one or more decoded video frames in the target reference group as the one or more reference video frames.

[0168] The target reference group is a determined optimal reference group, such as a candidate reference group with an optimal cost index (e.g., the loss function is minimum) . The one or more decoded video frames in the target reference group may be determined as the one or more reference video frames.

[0169] In this embodiment, the cost index can directly reflect the response effects of different candidate groups. The one or more decoded video frames in the candidate reference group with the optimal cost index are determined as the one or more reference video frames, so as to determine reference video frames with better quality and improve the prediction accuracy.

[0170] FIG. 4 is a flowchart illustrating an exemplary process of obtaining a first reconstructed frame according to some embodiments of the present disclosure. As shown in FIG. 4, a process 400 may include the following operations. In some embodiments, the process 400 may be implemented by a video encoding system (e.g., the encoding terminal 101, video encoding system 4100 in FIG. 41, image encoding terminal 4400 in FIG. 44, etc. ) or a processor.

[0171] In 402, the encoding terminal 101 may obtain first reference information corresponding to one or more decoded video frames in a candidate reference group.

[0172] The first reference information is reference information corresponding to the one or more decoded video frames in the candidate reference group.

[0173] The process of obtaining the first reference information may be the same as the process of obtaining the reference information corresponding to the one or more reference video frames in the operation 202. More descriptions may be found in the related descriptions of the operation 202.

[0174] In 404, the encoding terminal 101 may determine first motion information between at least one of the one or more decoded video frames in the candidate reference group and a target original video frame.

[0175] The first motion information is motion information between at least one of the one or more decoded video frames in the candidate reference group and the target original video frame.

[0176] More descriptions regarding the process of determining the first motion information may be found in the relates description of the operation 204 in FIG. 2.

[0177] In 406, the encoding terminal 101 may determine, based on the first reference information and the first motion information, first prediction information corresponding to the target original video frame.

[0178] The first prediction information is prediction information determined based on the first reference information and the first motion information.

[0179] More descriptions regarding the process of determining the first prediction information may be found in the related descriptions of the operation 208 in FIG. 2.

[0180] In 408, the encoding terminal 101 may determine first difference information between the target original video frame and the first prediction information.

[0181] The first difference information is difference information between the target original video frame and the first prediction information.

[0182] More descriptions regarding the process of determining the first difference information may be found in the related descriptions of the operation 210 in FIG. 2.

[0183] In 410, the encoding terminal 101 may obtain first encoded data by encoding the first difference information.

[0184] The first encoded data is context information obtained by encoding the first difference information.

[0185] More descriptions regarding the encoding process may be found in the related descriptions of FIG. 2.

[0186] In 412, the encoding terminal 101 may generate a first reconstructed frame by performing decoding based on the first reference information, the first motion information, and the first encoded data.

[0187] The first reconstructed frame may be obtained through the decoding process. More descriptions regarding the decoding process may be found in the related descriptions of FIG. 9.

[0188] In this embodiment, the encoding and decoding process can be implemented at the encoding terminal.

[0189] FIG. 5 is a flowchart illustrating an exemplary process of obtaining prediction information according to some embodiments of the present disclosure. As shown in FIG. 5, a process 500 may include the following operations. In some embodiments, the process 500 may be implemented by a video encoding system (e.g., the encoding terminal 101, video encoding system 4100 in FIG. 41, image encoding terminal 4400 in FIG. 44, etc. ) or a processor.

[0190] In 502, the encoding terminal 101 may obtain decoded combined motion information by decoding motion encoded data.

[0191] As described in the operation 206, the motion encoded data may be obtained by encoding combined motion information obtained by combining one or more pieces of motion information, so the corresponding decoded combined motion information may be obtained by decoding the motion encoded data.

[0192] In 504, the encoding terminal 101 may obtain combined reference information by combining reference information corresponding to one or more reference video frames.

[0193] The combination may be performed in various ways, such as splicing, weighted summation, a combination network, etc., which are not limited in this embodiment.

[0194] In 506, the encoding terminal 101 may obtain prediction information based on the decoded combined motion information and the combined reference information.

[0195] In some embodiments, the processor may obtain the prediction information by performing, based on the decoded combined motion information, motion compensation on the combined reference information. Motion compensation performed on the combined reference information based on the decoded combined motion information is similar to motion compensation performed on a reference video frame based on a piece of decoded motion information corresponding to the reference video frame described in operation 208 of the process 200 in FIG. 2.

[0196] The motion compensation may be achieved by using operations such as warp (distortion) , variable convolution, etc.

[0197] In this embodiment, the prediction information is obtained by performing motion compensation on the combined reference information based on the decoded combined motion information, thereby improving the calculation efficiency.

[0198] More descriptions regarding the motion compensation may be found in the related descriptions in the operation 208.

[0199] FIG. 6A is a flowchart illustrating an exemplary process of obtaining prediction information according to some embodiments of the present disclosure. As shown in FIG. 6A, a process 600 may include the following operations. In some embodiments, the process 600 may be implemented by a video encoding system (e.g., the encoding terminal 101, video encoding system 4100 in FIG. 41, image encoding terminal 4400 in FIG. 44, etc. ) or a processor.

[0200] For ease of description, the process 600 is described by taking unidirectional reference video frames including an adjacent reference video frame and one or more temporal reference video frames as an example.

[0201] In 602, the encoding terminal 101 may obtain decoded motion information corresponding to an adjacent reference video frame by decoding motion encoded data.

[0202] According to the descriptions of the operation 204 and the operation 206 in FIG. 2, the encoding terminal 101 may determine motion information corresponding to the adjacent reference video frame, but not determine the motion information corresponding to each of the one or more temporal reference video frames. Accordingly, the motion encoded data may include the motion information corresponding to the adjacent reference video frame, but not include the motion information corresponding to each of the one or more temporal reference video frames. More descriptions regarding the motion information corresponding to the adjacent reference video frame and the motion encoded data may be found in the related descriptions of the operation 204 and the operation 206 in FIG. 2.

[0203] In 604, the encoding terminal 101 may determine prediction motion information corresponding to each of one or more temporal reference video frames based on the decoded motion information and reference information corresponding to the adjacent reference video frame, and reference information corresponding to each of the one or more temporal reference video frames, reference video frames other than the adjacent reference video frame in the unidirectional reference video frames being the one or more temporal reference video frames.

[0204] In some embodiments, the processor may determine the prediction motion information corresponding to each of the one or more temporal reference video frames based on the decoded motion information and the reference information corresponding to the adjacent reference video frame, and the reference information corresponding to each of the one or more temporal reference video frames in various ways. For example, the predicted motion information may be generated by motion information compensation.

[0205] More descriptions regarding the process of obtaining the prediction motion information corresponding to each of the one or more temporal reference video frames may be found in FIG. 6B and FIG. 6C and the related descriptions thereof.

[0206] In 606, the encoding terminal 101 may determine first prediction information based on the reference information of the adjacent reference video frame and the decoded motion information corresponding to the adjacent reference video frame.

[0207] The process of determining the first prediction information based on the reference information of the adjacent reference video frame and the decoded motion information corresponding to the adjacent reference video frame may be similar to motion compensation performed on a reference video frame based on the piece of decoded motion information corresponding to the reference video frame illustrated in operation 208 of the process 200 in FIG. 2.

[0208] In 608, the encoding terminal 101 may determine second prediction information based on the reference information corresponding to the one or more temporal reference video frames and the prediction motion information corresponding to the one or more temporal reference video frames.

[0209] In some embodiments, the second prediction information may include prediction information corresponding to each of the one or more temporal reference video frames obtained by performing motion compensation on the temporal reference video frame (e.g., the reference information of the temporal reference video frame) using the prediction motion information corresponding to the temporal reference video frame.

[0210] The process of performing motion compensation on the temporal reference video frame (e.g., the reference information of the temporal reference video frame) using the prediction motion information corresponding to the temporal reference video frame is similar to motion compensation performed on a reference video frame based on the piece of decoded motion information corresponding to the reference video frame illustrated in operation 208 of the process 200 in FIG. 2.

[0211] In 610, the encoding terminal 101 may obtain prediction information by combining the first prediction information and the second prediction information.

[0212] The final prediction information (i.e., the prediction information corresponding to the target original video frame) may be obtained by combining the first prediction information and the second prediction information. Bidirectional reference video frames may be divided into two groups of unidirectional reference video frames. For each of the two groups of unidirectional reference video frames, the process 600 may be performed on the reference video frames in the group to determine first prediction information and second prediction information corresponding to the group, and the final prediction information may be obtained by combining the first prediction information and the second prediction information corresponding to the two groups.

[0213] FIG. 6B is a schematic diagram illustrating an exemplary process of determining prediction information according to some embodiments of the present disclosure.

[0214] For example, the processor may generate prediction motion information corresponding to each of the one or more temporal reference video frames by inputting motion information corresponding to an adjacent reference video frame, reference information corresponding to each of the one or more temporal reference video frames, and reference information of the adjacent reference video frame into a transformation network to perform optical flow compensation for each of the one or more temporal reference video frames through the transformation network. The transformation network may include a convolution module and two residual modules, or may be in other forms, which is not limited in this embodiment.

[0215] Furthermore, second prediction information corresponding to the temporal reference video frames may be determined by performing motion compensation on the reference information of the one or more temporal reference video frames based on the prediction motion information corresponding to each of the one or more temporal reference video frames. A compensation network may include but is not limited to a convolutional network including alignment processes such as deformable convolution and interpolation-based warp operation. Accordingly, the prediction information corresponding to the target original video frame may be obtained by combining the second prediction information and the first prediction information. The combination process may include but is not limited to an attention network, a residual network, a transformer neural network, etc.

[0216] Referring to FIG. 6C, FIG. 6C is a schematic diagram illustrating an exemplary process of determining second prediction information according to some embodiments of the present disclosure. Reference information of a first temporal reference video frame, and reference information and decoded motion information of an adjacent reference video frame may be input into a transformation network. A transformation network may output prediction motion information corresponding to the first temporal reference video frame. The transformation network may obtain first prediction information by performing prediction based on the reference information of the adjacent reference frame and the decoded motion information of the adjacent reference frame, and then perform motion estimation between the first prediction information and the first temporal reference video frame to obtain the prediction motion information corresponding to the first temporal reference video frame. Motion estimation between the first prediction information and the first temporal reference video frame may be similar to the motion estimation between a reference video frame and the target original video frame described in operation 204 of the process 200 in FIG. 2. Second prediction information corresponding to the first temporal reference video frame may be obtained by performing motion compensation on the first temporal reference video frame based on the prediction motion information corresponding to the first temporal reference video frame.

[0217] The transformation and the motion compensation of a second temporal reference video frame in FIG. 6C may be similar to the transformation and the motion compensation of the first temporal reference video frame, which are not repeated here.

[0218] According to the description of the operation 204 and the operation 206 in FIG. 2, the encoding terminal may determine the motion information corresponding to the adjacent reference video frame, but not determine the motion information corresponding to the one or more temporal reference video frames. Accordingly, the motion encoded data may include encoding of the motion information corresponding to the adjacent reference video frame, but not include encoding of the motion information corresponding to the one or more temporal reference video frames. In this case, decoded motion information corresponding to the adjacent reference video frame may be obtained by decoding the motion encoded data.

[0219] As shown in FIG. 6D, FIG. 6D is a schematic diagram illustrating an exemplary process of determining prediction information according to some embodiments of the present disclosure. First prediction information obtained by performing motion compensation on an adjacent reference video frame based on decoded motion information of the adjacent reference frame may be determined, and the first prediction information may be optimized based on multi-frame temporal auxiliary information, e.g., by combining the first prediction information with reference information of one or more temporal reference video frames and / or reference information of the adjacent reference video frame, so as to obtain the final prediction information, thereby improving the accuracy of the prediction information. The combination process may include but is not limited to neural networks such as a residual network, channel / spatial attention, transformers, or the like, or any combination thereof.

[0220] For ease of description, FIGs. 6D and 6E are described by taking unidirectional reference video frames including an adjacent reference video frame and one or more temporal reference video frames as an example. As shown in FIG. 6E, FIG. 6E is a schematic diagram illustrating an exemplary process of determining prediction information according to some embodiments of the present disclosure. A combination network may include two residual blocks. First prediction information obtained by performing motion compensation on an adjacent reference video frame based on decoded motion information of the adjacent reference frame may be determined. Residual information or difference information of the first prediction information, reference information of one or more temporal reference video frames, and reference information of the adjacent reference video frame may be extracted through the residual blocks, and the final prediction information may be obtained by, (e.g., performing superposition on the difference information and the first prediction information. In this embodiment, the motion compensation on the one or more temporal reference video frames is not required, thereby saving the calculation cost.

[0221] In the above embodiments (e.g., FIGs. 6A-6E) , the encoding terminal does not need to determine the motion information corresponding to the one or more temporal reference video frames and encode the motion information corresponding to the one or more reference video frames, which saves the calculation cost and reduces the data volume of the bitstream (the motion encoded data) .

[0222] Bidirectional reference video frames may be divided into two groups of unidirectional reference video frames. For each of the two groups of unidirectional reference video frames, the process in FIGs. 6D and 6E may be performed on the reference video frames in the group to determine prediction information corresponding to the group, and the final prediction information may be obtained by combining the prediction information corresponding to the two groups.

[0223] FIG. 7A is a flowchart illustrating an exemplary process of obtaining prediction information according to some embodiments of the present disclosure. As shown in FIG. 7A, a process 700 may include the following operations. In some embodiments, the process 700 may be implemented by a video encoding system (e.g., the encoding terminal 101, video decoding system 4200 in FIG. 42, image encoding terminal 4400 in FIG. 44, etc. ) or a processor.

[0224] For ease of description, the process 700 is described by taking unidirectional reference video frames including an adjacent reference video frame and one or more temporal reference video frames as an example.

[0225] In some embodiments, the encoding terminal 101 may obtain motion encoded data by encoding motion information corresponding to the adjacent reference video frame and motion information corresponding to each of the one or more temporal reference video frames. More descriptions regarding the motion information corresponding to the adjacent reference video frame, the motion information corresponding to each of one or more temporal reference video frames, and the motion encoded data may be found in the related descriptions of the operation 204 and the operation 206 in FIG. 2.

[0226] In 702, the encoding terminal 101 may obtain decoded motion information corresponding to an adjacent reference video frame and decoded motion information corresponding to each of one or more temporal reference video frames by decoding motion encoded data.

[0227] In 704, the encoding terminal 101 may determine cross-frame motion information corresponding to each of the one or more temporal reference video frames based on a target original video frame, the decoded motion information and reference information corresponding to the adjacent reference video frame, and the decoded motion information and reference information corresponding to the one or more temporal reference video frames.

[0228] The cross-frame motion information corresponding to each of the one or more temporal reference video frames may reflect motion information between the temporal reference video frame and the target original video frame.

[0229] More descriptions regarding determining the cross-frame motion information corresponding to each of the one or more temporal reference video frames may be found in FIGs. 8A-8C and the related descriptions thereof.

[0230] In 706, the encoding terminal 101 may determine third prediction information based on the reference information and the decoded motion information corresponding to the adjacent reference video frame.

[0231] In 708, the encoding terminal 101 may determine fourth prediction information based on the reference information and the cross-frame motion information corresponding to the one or more temporal reference video frames.

[0232] More descriptions regarding the process of determining the third prediction information and the fourth prediction information may be the same as the process of determining the first prediction information and the second prediction information illustrated in FIG. 6A, which is not repeated here.

[0233] In 710, the encoding terminal 101 may obtain prediction information by combining the third prediction information and the fourth prediction information.

[0234] Bidirectional reference video frames may be divided into two groups of unidirectional reference video frames. For each of the two groups of unidirectional reference video frames, the process 700 may be performed on the reference video frames in the group to determine third prediction information and fourth prediction information corresponding to the group, and the final prediction information may be obtained by combining the third prediction information and the fourth prediction information corresponding to the two groups.

[0235] For ease of understanding, the process 700 shown in FIG. 7A is described with reference to the schematic diagram of FIG. 7B. Referring to FIG. 7B, FIG. 7B is a schematic diagram illustrating an exemplary process of obtaining prediction information according to some embodiments of the present disclosure. FIG. 7B illustrates multi-frame prediction combination based on reference information and motion information.

[0236] For example, for original video frames A0-AN and A, assuming that the target original video frame is A, and A0-AN are all located before A or after A. Temporal distances of A0-AN with A increase successively, i.e., A0 is closest to A, and AN is farthest from A. R0-RN are decoded video frames corresponding to A0-AN, respectively, and are determined as reference video frames (unidirectional reference video frames) . Accordingly, R0 is the adjacent reference video frame, and R1-RN are the temporal reference video frames. The motion information corresponding to the adjacent reference video frame R0 is the motion information between R0 and A. The motion information corresponding to R1 is the motion information between R1 and R0, the motion information corresponding to R2 is the motion information between R2 and R1, …, the motion information corresponding to RN is the motion information between RN and RN-1.

[0237] Therefore, the multi-frame prediction combination based on the reference information and the decoded motion information described in the process 700 includes determination of cross-frame motion information, motion compensation, and combination.

[0238] First, the cross-frame motion information is determined. The cross-frame motion information of a temporal reference video frame refers to motion information between the target original video frame and the temporal reference video frame used for temporal prediction. The cross-frame motion information between the target original video frame A and each of the temporal reference video frames (R1-RN) used for temporal prediction is determined based on the target original video frame A, reference information (i.e., reference feature 1) of the adjacent reference video frame R0, decoded motion information of the adjacent reference video frame R0, and temporal information (including reference information and decoded motion information corresponding to the temporal reference video frames R1-RN used for temporal prediction) .

[0239] Second, the motion compensation is performed. Multi-frame prediction information (i.e., fourth prediction information corresponding to each of the temporal reference video frames used for temporal prediction) is obtained by performing motion compensation on each of the temporal reference video frames used for temporal prediction based on the cross-frame motion information. The compensation process may include but is not limited to using a convolutional network including alignment processes such as deformable convolution, interpolation-based warp operation, etc. The process of performing motion compensation on the temporal reference video frame (e.g., the reference information of the temporal reference video frame) using the cross-frame motion information corresponding to the temporal reference video frame is similar to motion compensation performed on a reference video frame based on the piece of decoded motion information corresponding to the reference video frame illustrated in operation 208 of the process 200 in FIG. 2.

[0240] Finally, the combination is performed. The final prediction information may be obtained by combining the third prediction information and the multi-frame prediction information (i.e., the fourth prediction information) . The combination process may include but is not limited to using neural networks such as an attention network, a residual network, transformer, or the like, or any combination thereof.

[0241] FIG. 8A is a flowchart illustrating an exemplary process of obtaining cross-frame motion information according to some embodiments of the present disclosure. As shown in FIG. 8A, a process 800 may include the following operations. In some embodiments, the process 800 may be implemented by a video encoding system (e.g., the encoding terminal 101, video encoding system 4100 in FIG. 41, image encoding terminal 4400 in FIG. 44, etc. ) or a processor.

[0242] For the convenience of description, the process 800 is described by taking unidirectional reference video frames including an adjacent reference video frame and one or more temporal reference video frames as an example. Bidirectional reference video frames may be divided into two groups of unidirectional reference video frames. For each of the two groups of unidirectional reference video frames, the process 800 may be performed on the reference video frames in the group.

[0243] In 802, the encoding terminal 101 may determine cross-frame motion information corresponding to a first temporal reference video frame among one or more temporal reference video frames based on a target original video frame, reference information and decoded motion information corresponding to an adjacent reference video frame, and reference information and decoded motion information corresponding to the first temporal reference video frame.

[0244] In 804, the encoding terminal 101 may determine cross-frame motion information corresponding to an mth temporal reference video frame among the one or more temporal reference video frames based on the target original video frame, the reference information and the decoded motion information corresponding to the adjacent reference video frame, reference information and decoded motion information corresponding to the mth temporal reference video frame, and the cross-frame motion information corresponding to an (m-1) th temporal reference video frame, m=2, 3, …, N.

[0245] An order of serial numbers of the one or more temporal reference video frames may be determined based on a time sequence. For example, in the one or more temporal reference video frames, the temporal reference video frame corresponding to which the generation time of an original video frame is closest to the target original video frame, the temporal reference video frame is the first temporal reference video frame.

[0246] For example, for original video frames A0-AN and A, assuming that the target original video frame is A, and A0-AN are all located before A or after A. Temporal distances of A0-AN with A increase successively, i.e., A0 is closest to A, and AN is farthest from A. R0-RN are decoded video frames corresponding to A0-AN, respectively, and are determined as reference video frames (unidirectional reference video frames) . Accordingly, R0 is the adjacent reference video frame, and R1-RN are the temporal reference video frames. In R1-RN, R1 is designated as the first temporal reference video frames, R2 is designated as the second temporal reference video frames, and so on.

[0247] Bidirectional reference video frames may be divided into two groups of unidirectional reference video frames, and the same process may be performed on the reference video frames in each group.

[0248] For ease of understanding, the process 800 is described with reference to FIG. 8B. FIG. 8B is a schematic diagram illustrating an exemplary process of determining cross-frame motion information according to some embodiments of the present disclosure.

[0249] The process of determining the cross-frame motion information (i.e., C1-CN) may include the following operations.

[0250] Input data for determining the cross-frame motion information may include decoded motion information (e.g., decoded motion information F) of an adjacent reference video frame, reference information of the adjacent reference video frame, and temporal information. The temporal information may include reference information of temporal reference video frames R1-RN and corresponding decoded motion information F0-FN-1.

[0251] The cross-frame motion information C1 -CN may be determined. Specifically, three frames may be set as a group (denoted as OPQ frames, corresponding to the target original video frame, the adjacent reference video frame, and one of the one or more temporal reference video frames, respectively) . Motion information K (i.e., the cross-frame motion information) between the target original video frame O to the temporal reference video frame Q may be inferred from motion information I between the target original video frame O and the adjacent reference video frame P (i.e., decoded motion information corresponding to the adjacent reference video frame P) and motion information J between the adjacent reference video frame P and the temporal reference video frame Q (i.e., decoded motion information corresponding to the temporal reference video frame Q) , which is shown in FIG. 8C. FIG. 8C is a schematic diagram illustrating an exemplary process of determining cross-frame motion information according to some embodiments of the present disclosure. FIG. 8C (1) is a schematic diagram illustrating a reference relationship between the three frames OPQ, and FIG. 8C (2) is a schematic diagram illustrating a determination process of cross-frame motion information in the three frames.

[0252] FIG. 8C (2) may be expressed by the following equation (1) . K=func1 (I, func (J, I) , (r0, r1…rN) )     (1) wherein, func denotes a motion compensation process, func1 denotes a combination operation, r0  denotes reference information corresponding to the adjacent reference video frame, r1. . . rN denote reference information of the one or more temporal reference video frames. The count of the one or more temporal reference video frames is not limited in the present disclosure, i.e., the reference information of all the reference video frames may not be used. The motion compensation process may include but is not limited to alignment processes including deformable convolution, interpolation-based warp operation, or convolutional networks including the above process. The combination process may include but is not limited to convolutional networks such as addition operation, splicing and convolution, splicing and attention structure, etc.

[0253] That is to say, motion information J may be compensated using motion information I first, and then motion information K may be obtained by combining the motion information I, the compensated motion information J, the reference information of the adjacent reference video frame and the one or more temporal reference video frames.

[0254] According to FIG. 8C (2) , the cross-frame motion information in FIG. 8B may be determined by the following equation (2) . That is, the determination of the cross-frame motion information corresponding to each of R1-RN is as follows: where the motion compensation operation func and the combination operation func1 of C1 -CN may  be set in the same manner, or may be set in at least partially different manners, which is not limited in this embodiment.

[0255] In some embodiments of the present disclosure, a motion information encoding and decoding structure applied to multi-frame references is provided, which can encode the motion information corresponding to the one or more reference video frames into single / one or more pieces of bitstream information; a motion compensation method applied to multi-frame references is also provided, which improves the flexibility and accuracy of motion compensation; and combination of prediction information applied to multi-frame references is provided, which can further optimize the prediction information based on the motion compensation so as to obtain more accurate prediction results.

[0256] In some embodiments of the present disclosure, a video end-to-end encoding and decoding method based on multi-frame reference prediction is provided, which can improve the accuracy of prediction information, reduce the bit rate, and improve the encoding performance by introducing one or more pieces of reference video frame information for temporal prediction. The multi-frame reference prediction strategy introduces multi-frame prediction for the one or more reference video frames (e.g., the one or more temporal reference video frames) in the temporal information on the basis of compensating the adjacent reference video frame.

[0257] In some embodiments of the present disclosure, a multi-frame prediction strategy without optical flow is provided. The one or more reference video frames may not need motion compensation, and the current prediction information may be directly optimized through joint learning.

[0258] In some embodiments of the present disclosure, a multi-frame prediction strategy based on an optical flow compensation process is provided. The motion information of the one or more reference video frames may be obtained by joint learning of the currently decoded motion information and the reconstruction information of the one or more reference video frames.

[0259] In some embodiments of the present disclosure, a multi-frame prediction strategy based on reconstruction information and motion information is provided. The motion information corresponding to each of the one or more reference video frames may be inferred from the motion information in the temporal information through a compensation equation and obtained through joint feature learning optimization.

[0260] Based on the same inventive concept, some embodiments of the present disclosure further provide a video decoding method corresponding to the video encoding method. In the description of the video decoding method, the related descriptions may be found in the corresponding descriptions of the video encoding method.

[0261] FIG. 9 is a flowchart illustrating an exemplary video decoding method according to some embodiments of the present disclosure. In some embodiments, the process 900 may be implemented by a video decoding system (e.g., the decoding terminal 102, video encoding system 4100 in FIG. 41, image decoding terminal 4300 in FIG. 43, video decoding system 4500 in FIG. 45, image decoding terminal 4600 in FIG. 46, etc. ) or a processor.

[0262] In 902, the decoding terminal 102 may obtain reference information corresponding to one or more reference video frames, wherein the one or more reference video frames are selected from one or more decoded video frames of an original video stream.

[0263] In some embodiments, the one or more reference video frames may be selected from one or more decoded video frames corresponding to one or more original video frames of the original video stream that are located before the target original video frame, and / or one or more decoded video frames corresponding to one or more original video frames of the original video stream that are located after the target original video frame.

[0264] In some embodiments, the processor may obtain an identifier of the one or more reference video frames from the encoding terminal; and determine, based on the identifier, the one or more reference video frames from the one or more decoded video frames of the original video stream.

[0265] In 904, the decoding terminal 102 may obtain decoded motion information between at least one of the one or more reference video frames and a target original video frame of the original video stream by decoding motion encoded data from an encoding terminal.

[0266] In some embodiments, the motion encoded data from the encoding terminal may be generated by obtaining combined motion information by combining one or more pieces of motion information each of which is between one of the one or more reference video frames and the target original video frame, and encoding the combined motion information; and the decoded motion information between the at least one of the one or more reference video frames and the target original video frame of the original video stream may include decoded combined motion information.

[0267] In some embodiments, the motion encoded data may include one or more pieces of motion encoded data each of which is obtained by encoding one of one or more pieces of motion information, and each of the one or more pieces of motion information may be between one of the one or more reference video frames and the target original video frame.

[0268] The processor may obtain, for each of the one or more pieces of motion encoded data, a piece of decoded motion information by decoding the piece of motion encoded data. In this case, the decoded motion information between the at least one of the one or more reference video frames and the target original video frame includes one or more pieces of decoded motion information each of which is obtained by decoding one of the one or more pieces of motion encoded data.

[0269] In some embodiments, the processor may obtain the one or more pieces of decoded motion information by separately decoding the one or more pieces of motion encoded data.

[0270] In some embodiments, the processor may obtain, for one of the one or more pieces of motion encoded data, a piece of decoded motion information by decoding the piece of motion encoded data using, as a reference, other piece of decoded motion information.

[0271] In some embodiments, taking unidirectional reference video frames as an example, a count of the one or more pieces of motion encoded data may be L, and L is an integer greater than 1. The obtaining decoded motion information between at least one of the one or more reference video frames and the target original video frame of the original video stream may include: obtaining a first piece of decoded motion information by decoding a first piece of motion encoded data of the one or more pieces of motion encoded data; and obtaining, based on an (n-1) th piece of decoded motion information, an nth piece of decoded motion information by decoding an nth piece of motion encoded data of the one or more pieces of motion encoded data, n=2, 3, …, L.

[0272] Among L reference video frames, if an original video frame corresponding to a reference video frame is closest to the target original video frame, the piece of decoded motion information corresponding to the reference video frame is determined as the first piece of decoded motion information, and so on. For bidirectional reference video frames, the bidirectional reference frames may be divided into two groups of unidirectional reference frames (i.e., reference video frames corresponding to which the original video frames are located before the target original video frame and reference video frames corresponding to which the original video frames are located after the target original video frame) for decoding.

[0273] In some embodiments, the decoded motion information between at least one of the one or more reference video frames and the target original video frame may include decoded motion information corresponding to at least one adjacent reference video frame. An original video frame of the adjacent reference video frame may be adjacent to the target original video frame. The decoded motion information corresponding to the adjacent reference video frame may be decoded motion information between the adjacent reference video frame and the target original video frame.

[0274] In some embodiments, the motion encoded data may be obtained by encoding motion information corresponding to at least one adjacent reference video frame. In this case, when the motion encoded data is decoded, decoded motion information corresponding to at least one adjacent reference video frame may be obtained.

[0275] In some embodiments, the decoded motion information between at least one of the one or more reference video frames and the target original video frame may include decoded motion information corresponding to each of one or more temporal reference video frames and decoded motion information corresponding to at least one adjacent reference video frame. Reference video frames other than the adjacent reference video frame among the one or more reference video frames may be the one or more temporal reference video frames. The decoded motion information corresponding to each of the one or more temporal reference video frames may be decoded motion information between the temporal reference video frame and a reference video frame adjacent to the temporal reference video frame among the one or more reference video frames.

[0276] In some embodiments, the motion encoded data may be obtained by encoding motion information corresponding to at least one adjacent reference video frame and motion information corresponding to one or more temporal reference video frames. In this case, when the motion encoded data is decoded, decoded motion information corresponding to the at least one adjacent reference video frame and decoded motion information corresponding to the one or more temporal reference video frames may be obtained.

[0277] In 906, the decoding terminal 102 may determine, based on the decoded motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame.

[0278] In some embodiments, the determining, based on the decoded motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame may include: obtaining combined reference information by combining the reference information corresponding to the one or more reference video frames; and determining the prediction information based on the decoded combined motion information and the combined reference information.

[0279] In some embodiments, the determining, based on the decoded motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame may include: obtaining, based on the reference information and the piece of decoded motion information corresponding to each of the one or more reference video frames, one or more pieces of intermediate prediction information; and obtaining the prediction information by combining the one or more pieces of intermediate prediction information.

[0280] In some embodiments, the determining, based on the decoded motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame may include: determining, based on the decoded motion information and reference information corresponding to the adjacent reference video frame, and reference information corresponding to one or more temporal reference video frames, prediction motion information corresponding to each of the one or more temporal reference video frames, reference video frames other than the adjacent reference video frame among the one or more reference video frames being the one or more temporal reference video frames; determining first prediction information based on the reference information of the adjacent reference video frame and the decoded motion information corresponding to the adjacent reference video frame; determining second prediction information based on the reference information of the one or more temporal reference video frames and the prediction motion information corresponding to the one or more temporal reference video frames; and determining the prediction information by combining the first prediction information and the second prediction information.

[0281] In some embodiments, the determining, based on the decoded motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame may include: determining cross-frame motion information corresponding to each of the one or more temporal reference video frames based on the target original video frame, the decoded motion information and reference information corresponding to the adjacent reference video frame, and the decoded motion information and reference information corresponding to the one or more temporal reference video frames, the cross-frame motion information corresponding to each of the one or more temporal reference video frames reflecting motion information between the temporal reference video frame and the target original video frame; determining third prediction information based on the reference information and the decoded motion information corresponding to the adjacent reference video frame; determining fourth prediction information based on the reference information and the cross-frame motion information corresponding to the one or more temporal reference video frames; and obtaining the prediction information by combining the third prediction information and the fourth prediction information.

[0282] In some embodiments, a count of the one or more temporal reference video frames may be N, N being an integer greater than 1. The determining, based on the target original video frame, the decoded motion information and reference information corresponding to the adjacent reference video frame, and the decoded motion information and reference information corresponding to the one or more temporal reference video frames, cross-frame motion information corresponding to each of the one or more temporal reference video frames may include: determining cross-frame motion information corresponding to a first temporal reference video frame among the one or more temporal reference video frames based on the target original video frame, the reference information and the decoded motion information corresponding to the adjacent reference video frame, and reference information and decoded motion information corresponding to the first temporal reference video frame; determining cross-frame motion information corresponding to an mth temporal reference video frame among the one or more temporal reference video frames based on the target original video frame, the reference information and the decoded motion information corresponding to the adjacent reference video frame, reference information and decoded motion information corresponding to the mth temporal reference video frame, and cross-frame motion information corresponding to (m-1) th temporal reference video frame, m=2, 3, …, N.

[0283] Operation 906 may be similar to operation 208 of the process 200 in FIG. 2, but is performed in the decoding terminal.

[0284] In 908, the decoding terminal 102 may obtain decoded difference information between the target original video frame and the prediction information by decoding context encoded data from the encoding terminal.

[0285] In 910, the decoding terminal 102 may obtain, based on the decoded difference information and the prediction information, a reconstructed frame corresponding to the target original video frame.

[0286] More descriptions regarding the video decoding method described in FIG. 9 may be found in the process of the video encoding method above (e.g., the related descriptions of FIGs. 2-8C) , and the related descriptions of FIGs. 10-28 below, which are not repeated here.

[0287] The present disclosure provides an image decoding method, an image encoding method, and related devices, to improve the accuracy of image decoding during an encoding and decoding process.

[0288] Referring to FIG. 10, FIG. 10 is a flowchart illustrating an exemplary image decoding method according to some embodiments of the present disclosure. The operations of this embodiment may be implemented by the decoding terminal 102 shown in FIG. 1 or a processor. The image decoding method may include the following operations.

[0289] In 1002, the decoding terminal 102 may obtain a preset count of reference video frames.

[0290] An encoding terminal may obtain an original video frame bitstream by encoding one or more original video frames, and the decoding terminal may obtain the original video frame bitstream, and obtain current reconstructed frame of the one or more original video frames by decoding original video frame bitstream. The original video frame bitstream may include at least motion encoded data and context bitstream configured to obtain a reconstructed frame (i.e., a decoded image) of a target original video frame by decoding.

[0291] In some embodiments, reference information may be cached in a reference information cache (i.e., a reference information buffer) , and the processor may obtain decoded reference information and determine one or more reference video frames based on the decoded reference information. The one or more reference video frames may include a plurality of decoded reference video frames located in a preset direction of the target original video frame. The preset direction may be unidirectional or bidirectional, and the one or more reference video frames / reference information may include at least one of: a decoded reconstructed frame, a reconstruction feature of the reconstructed frame, a decoded intermediate feature, prediction information after motion compensation, etc. The decoded intermediate feature may be cache information generated by one or more pieces reconstruction information, etc. The prediction information after motion compensation may include prediction information obtained after performing the motion compensation, such as a prediction frame or a prediction feature, etc. For example, the prediction information may be prediction information corresponding to the decoded reconstructed frame. For example, the prediction information may be prediction information obtained by performing motion compensation on a previous reference video frame using the decoded motion information obtained by decoding the motion encoded data of the previous frame before decoding the target original video frame. In the case of one or more reference video frames, the prediction information may be combined prediction information obtained by the motion compensation or one or more pieces of prediction information before combination. It is understood that the one or more reference video frames may include any reconstruction information that can be obtained during the decoding process of the decoded reconstructed frame, which is not limited in the present disclosure.

[0292] In some embodiments, the one or more reference video frames may be any frame. For example, the one or more reference video frames may include any preset count of image frames in unidirectional or bidirectional of the target original video frame. The count of the reference video frames, the preset directions, etc., are limited in the present disclosure. It is understood that since adjacent frames have the greatest correlation, an adjacent reference video frame may be considered first. That is, one or more original video frames adjacent to the target original video frame may be used as the one or more reference video frames.

[0293] In 1004, the decoding terminal 102 may obtain decoded motion information by decoding motion encoded data.

[0294] The motion encoded data is obtained by encoding the motion information at the encoding terminal. The motion information may be obtained by performing motion estimation based on the target original video frame and the preset count of reference video frames.

[0295] In some embodiments, if the preset count of reference video frames is not greater than 1 (or equal to 1) , the motion information may be obtained by directly performing the motion estimation on the target original video frame and the preset count of reference video frames. If the preset count of reference video frames is greater than 1, the one or more reference video frames may be combined into a single reference video frame to generate a combined reference video frame, and then the motion information may be obtained by performing the motion estimation on the target original video frame and the combined reference video frame. Alternatively, a preset pieces of motion information may be obtained by performing the motion estimation on the target original video frame and the preset count of reference video frames, respectively. The process of the motion estimation, and the combination process of the one or more reference video frames are not limited in the present disclosure.

[0296] The encoding terminal may obtain the motion encoded data by encoding the motion information, and transmit the motion encoded data to the decoding terminal. Accordingly, the decoding terminal may obtain the motion encoded data, and obtain the decoded motion information by decoding the motion encoded data.

[0297] In 1006, the decoding terminal 102 may obtain prediction information by performing, based on the motion information, motion compensation on a preset count of reference video frames.

[0298] The prediction information may be configured to obtain a current reconstructed frame of the target original video frame by decoding.

[0299] Referring to FIG. 11, FIG. 11 is a block diagram illustrating an exemplary image encoding and decoding system according to some embodiments of the present disclosure. The image encoding and decoding system may include a reference information module, a preset frame selection module (optional) , a motion estimation module, a motion coding / decoding module, a motion compensation module, a prediction combination module (optional) , a context encoding module (i.e., context Encoder) , an entropy model, and a context decoding module (i.e., context Decoder) .

[0300] The reference information module may be configured to cache reference information. The preset frame selection module may be an optional module, and the preset frame selection module may be configured to select one or more reference video frame from the cached reference information. The motion estimation module may be configured to obtain motion information by performing motion estimation on a target original video frame and the one or more reference video frames. The motion encoding / decoding module may be configured to obtain motion encoded data by encoding the motion information, or obtain decoded motion information by decoding the motion encoded data. The motion compensation module may be configured to obtain prediction information by performing motion compensation on the one or more reference video frames based on the motion information. The prediction combination module may be an optional module, and the prediction combination module may be configured to perform combination on the prediction information. The context encoding module may be configured to obtain context information by performing dimension reduction and compression on context information between the target original video frame and each of the one or more reference video frames. The entropy model may be configured to encode the context information, obtain a probability of each character appearing in the context information to be encoded after quantization, and perform arithmetical encoding to obtain context encoded data. The context decoding module may be configured to obtain the context information by decoding the context encoded data. The following is described with reference to the modules of FIG. 11.

[0301] In some embodiments, the operation 1002 of the above embodiment may be further extended. The operation of obtaining the preset count of reference video frames may determine the one or more reference video frames using the preset frame selection module based on information related to frame selection so as to obtain the one or more reference video frame by adaptive frame selection.

[0302] In some embodiments, referring to FIG. 12, FIG. 12 is a flowchart illustrating an exemplary image decoding method according to some embodiments of the present disclosure. The operations of this embodiment may be implemented by the decoding terminal 102 or the processor shown in FIG. 1. As shown in FIG. 12, a process 1200 may include the following operations.

[0303] In 1202, the decoding terminal 102 may obtain decoded reference information, the decoding reference information including one or more decoded video frames.

[0304] Referring to FIG. 11, the reference information module may be configured to cache the reference information. Any reconstruction information that can be obtained during the decoding process of the one or more decoded video frames may be stored in the reference information module, and the reference information may used as the one or more decoded video frames such that the reference information may be determined as the one or more reference video frames.

[0305] In some embodiments, the one or more decoded video frames may include: a plurality of decoded video frames located in a preset direction of the target original video frame, the preset direction being unidirectional or bidirectional, and the decoded video frames including at least one of: a decoded video frame, a reconstruction feature of the video frame, a decoded intermediate feature, prediction information after motion compensation, etc. It is understood that the one or more decoded video frames may include any reconstruction information that can be obtained during the decoding process of the decoded video frames. The reference information is not limited in the present disclosure.

[0306] Optionally, the unidirectional decoded video frames may include one or more decoded video frames in a forward direction or in a backward direction. For example, please referring to FIG. 13, FIG. 13 is a schematic diagram illustrating an exemplary decoded video frame according to some embodiments of the present disclosure. Let the target original video frame be time t, and the unidirectional decoded video frames may include M decoded video frames (denoted as forward temporal frames) in the forward direction (before the time t) . For example, the unidirectional decoded video frames may include N decoded video frames (denoted as backward temporal frames) in the backward direction (after the time t) , M and N being positive integers.

[0307] Optionally, the bidirectional decoded video frames may include a preset count of decoded video frames in the forward and backward directions. For example, referring to FIG. 14, FIG. 14 is a schematic diagram illustrating an exemplary decoded video frame according to some embodiments of the present disclosure. Let the target original video frame be time t, and the bidirectional decoded video frames may include M decoded video frames in the forward direction (before the time t) . For example, the unidirectional decoded video frames may include N decoded video frames in the backward direction (after the time t) , M and N being positive integers.

[0308] In1204, the decoding terminal 102 may determine one or more reference video frames by selecting a preset count of decoded video frames from the one or more decoded video frames based on information related to frame selection.

[0309] The information related to frame selection may include at least one of a decoding performance condition of the decoding terminal, preset frame selection information, etc. The information related to frame selection may be at least configured to determine a preset count of frames.

[0310] The decoding performance condition may include operation performance, processing performance, memory performance, etc. of the decoding terminal, which is not limited in the present disclosure. The preset frame selection information may include at least one of the preset count of frames of the one or more reference video frames and frame indices of the one or more reference video frames. The preset frame selection information may be obtained by decoding a frame selection information bitstream. The frame selection information bitstream may be obtained by encoding, by the encoding terminal using a preset frame selection process, the preset count of frames and the frame indices of the one or more reference video frames determined from the one or more decoded video frames.

[0311] Through the above process, the decoding terminal can adaptively determine the preset count of frames based on the preset frame selection information, the decoding performance condition of the decoding terminal, etc., so as to adaptively select the preset count of reference video frames. For example, compared with the encoding terminal which reduces the count of frames of the reference video frames, increases the count of frames of the reference video frames, adopts the same count of frames, etc., in case of increasing the count of frames of the reference video frames, the one or more reference video frames can be obtained based on the reference information and the motion information can be transmitted based on the one or more decoded video frames, etc., which is not limited in the present disclosure.

[0312] In some embodiments, the original video frame bitstream may further include a frame selection information bitstream. The preset frame selection information may be obtained by decoding the frame selection information bitstream. The preset frame selection information may include at least one of the preset count of frames of the reference video frames and the frame indices of the one or more reference video frames. In some application scenarios, during the encoding process, since a target count of frames of the reference video frames and a frame index set L of the frame indices (i.e., frame id) are not fixed, the frame selection information bitstream may be obtained by encoding the frame index set L of the reference video frames and transmitted to the decoding terminal, and the decoding terminal may obtain the preset frame selection information by decoding the frame selection information bitstream. In some embodiments, in the case where the count of frames and the frame indices of the reference video frames referenced by different image frames are different, the encoding terminal may obtain the frame selection information bitstream by encoding at least one of the preset count of frames and frame indices of the reference video frames. The frame selection information bitstream is not limited in the present disclosure.

[0313] Referring to FIG. 11, the preset frame selection module may be configured to select the one or more reference video frames. Specifically, for example, the one or more reference video frames may be determined by selecting a preset count of decoded video frames from the one or more decoded video frames based on the frame indices using the preset frame selection information, so as to realize an adaptive frame selection mechanism. The one or more reference video frames may a plurality of decoded reference video frames located in a preset direction of the target original video frame, and the preset direction may be unidirectional or bidirectional, etc.

[0314] Optionally, the preset count of reference video frames may be selected from one or more unidirectional decoded video frames. For example, referring to FIG. 15, FIG. 15 is a schematic diagram illustrating an exemplary process of selecting one or more reference video frames according to some embodiments of the present disclosure. Let the target original video frame be time t, and two adjacent frames in the forward direction (before the time t) may be selected as the reference video frames from the M decoded video frames in the forward direction.

[0315] Optionally, the preset count of reference video frames may be selected from one or more bidirectional decoded video frames. For example, referring to FIG. 16, FIG. 16 is a schematic diagram illustrating an exemplary process of selecting one or more reference video frames according to some embodiments of the present disclosure. Let the target original video frame be time t, and one frame adjacent to the forward direction (before the time t) and one frame adjacent to the backward direction (after the time t) may be selected from the one or more decoded video frames in the forward and backward directions as the reference video frames.

[0316] In the reference information module, since the reconstruction quality of each frame fluctuates, if the quality of the selected reference video frames is poor or the correlation is poor, when the count of frames of encoding and decoding is long, error accumulation may occur, affecting the encoding and decoding performance of subsequent frames. In this regard, the present disclosure adopts the preset frame selection module to adaptively select the one or more reference video frames based on the reference information, which can improve the image encoding and decoding performance, and improve the accuracy of image encoding and decoding.

[0317] In some embodiments, the frame selection information bitstream may be obtained by encoding, by the encoding terminal using a preset frame selection process, the preset count of frames and the frame indices of the one or more reference video frame determined from the one or more decoded video frames. The preset frame selection process may include any one of: a quality assessment process, a cost assessment process, and a joint learning process. In this way, the reference video frames that are more relevant to the target original video frame and have better quality can be comprehensively selected to improve the image encoding and decoding performance and the accuracy of image encoding and decoding.

[0318] In some embodiments, the one or more reference video frames may be selected using the following three frame selection mechanisms.

[0319] (1) The quality assessment process: the one or more reference video frames may be selected using the quality assessment process based on an order of quality assessment values of the one or more decoded video frames.

[0320] The preset count of frames of the reference video frames is denoted as K, and the count of frames of the decoded video frames is denoted as P, K and P being positive integers. The quality assessment values of the one or more decoded video frames may be obtained by performing quality assessment on P decoded video frames of the reference video frames. The quality assessment process may include peak signal-to-noise ratio (PSNR) , structural similarity (SSIM) , mean square error (MSE) , mean absolute error (MAE) , or signal to noise ratio (SNR) , etc. It is understood that other quality assessment processes may be used in the present disclosure, which is not limited in the present disclosure.

[0321] Then, the P decoded video frames may be sorted based on the quality assessment values, and decoded video frames sorted as a first preset count of frames may be selected, i.e., the preset K decoded video frames with the optimal quality may be selected and determined as the reference video frames. In some embodiments, after the encoding terminal selects the reference video frames using the preset frame selection module, the frame indices of the reference video frames may be recorded, and the frame indices may be encoded as the frame selection information bitstream to be transmitted to the decoding terminal, such that the frame indices of the reference video frames may be obtained by decoding.

[0322] Referring to FIG. 17, FIG. 17 is a schematic diagram illustrating an exemplary process of quality assessment according to some embodiments of the present disclosure. For example, the preset count of frames of the reference video frames is K=3, and the count of frames of the decoded video frames is P=6, wherein the frame ID of each of the decoded video frames is [1, 2, 3, 4, 5, 6] , the frame IDs are recorded in sequence, the frame ID of the closet frame is 1, and the frame ID of the farthest frame is 6. Quality assessment is performed on each of the decoded video frames by calculating the PSNR, and the quality assessment values are [38.6 dB, 38.0 dB, 37.8 dB, 38.9 dB, 37.7 dB, 38.4 dB] , respectively. The six quality assessment values are sorted in a descending order. Three decoded video frames with the optimal PSNR are selected as the reference video frames, and the frame IDs of the selected decoded video frames are 4, 1, and 6, respectively.

[0323] (2) The cost assessment process: candidate reference groups whose cost indices satisfy a preset cost condition may be selected as the reference video frames using the cost assessment process. The cost index may be obtained by performing cost assessment on each of the candidate reference groups and the target original video frame, respectively, and each of the candidate reference groups may be obtained by grouping the one or more decoded video frames based on a preset grouping process. A count of the candidate reference groups may be a preset count of groups, and each of the candidate reference groups may include a preset count of decoded video frames.

[0324] The preset count of frames of the preset reference video frame is K, and the count of frames of the decoded video frame is P, K and P being positive integers. For example, P adjacent video frames that are close to the target original video frame may be selected as the decoded video frames. It is understood that the selected decoded video frames are not limited to the decoded frames that are close to the target original video frame, and may be any frame, unidirectional or multi-directional image frames, etc., which are not limited in the present disclosure. During the encoding process, the decoded video frames may include unencoded decoded video frame.

[0325] A preset count of groups is Z, Z being a positive integer. A preset count of candidate reference groups may be obtained by grouping the one or more decoded video frames based on a preset grouping process, where each of the candidate reference groups includes a preset count of decoded video frames. For example, for P decoded video frames, Z candidate reference groups are selected from the P decoded video frames, and each of the Z candidate reference group includes K decoded video frames. The decoded video frames included in each of the candidate reference groups may not be completely the same. In some embodiments, the decoded video frames included in each of the candidate reference groups within a preset close range may be completely the same.

[0326] Referring to FIG. 18, FIG. 18 is a schematic diagram illustrating an exemplary process of frame selection according to some embodiments of the present disclosure. For example, a preset grouping process may include: K decoded video frames being taken as candidate reference groups with a preset interval frame A (1<=A<=P) according to an order of the decoded video frames. A count of overlapping frames in each of the candidate reference groups is (K-A) . In some embodiments, when the count of groups does not satisfy Z groups, the candidate reference groups within a preset close distance range (e.g., closer, or closest) from the target original video frame may include the same decoded video frame.

[0327] Then the cost index of each of the candidate reference groups may be obtained by performing cost assessment on each of the candidate reference groups and the target original video frame. For example, a rate-distortion loss of the decoded video frames of each of the candidate reference groups and the target original video frame may be calculated, respectively, and the rate-distortion loss may be used as the cost index.

[0328] Finally, one of the candidate reference groups whose cost index satisfies the preset cost condition may be selected, and the decoded video frames in the candidate reference group may be determined as the reference video frames. The preset cost condition may be that the cost index is minimum, or the cost index is sorted first based on an ascending order of the cost indices. In this way, the candidate reference group Z with the smallest rate-distortion loss may be selected as the reference video frames. A frame selection information stream may be obtained by encoding the frame indices of the candidate reference group Z and inserted into the original video frame stream to be transmitted to the decoding terminal for use. The decoding terminal may obtain the candidate reference group Z by decoding the frame selection information stream and determine the K reference video frames to perform subsequent decoding operations.

[0329] (3) The joint learning process: decoded video frames of which the preset count of frames satisfies a neighboring condition may be selected from the one or more decoded video frames as screened decoded video frames using the joint learning process; the one or more reference video frames may be obtained by processing the screened decoded video frames using a preset gating network.

[0330] The joint learning process may be configured to perform screening, combination, and compensation on the one or more decoded video frames (e.g., a series of cached reference information, cached information, etc. ) using the preset gating network to adaptively select decoded video frames that are beneficial to subsequent encoding and decoding performance. The combination may be weighted combination to combine a plurality of frames into one or more reference video frames. For example, the one or more reference video frames may be obtained by performing weighted combination on the one or more decoded video frames. The preset gating network of the preset frame selection module may be trained in advance, and the preset gating network and other modules may be jointly trained to obtain a trained preset gating network to adaptively select useful information. The preset gating network may be a neural network, such as an attention network, a 3D convolutional network, etc., which is not limited in the present disclosure.

[0331] In some embodiments, during the training process, a preset count of decoded video frames that satisfy the neighboring condition may be selected from the one or more decoded video frames as the screened decoded video frames. The preset neighboring condition may be that the preset count of decoded video frames are decoded video frames that are close to or adjacent to the target original video frame. One or more spliced reference video frames may be obtained by splicing the target original video frame and each of the screened decoded video frames, and input into the preset gating network for processing. Each of the one or more decoded video frames may have a different weight. Through the training process, the preset gating network can automatically learn the weight distribution of each of the one or more decoded video frames.

[0332] In some embodiments, the preset count of decoded video frames that satisfy the neighboring condition may be selected from the one or more decoded video frames as the screened decoded video frames. The preset neighboring condition may be that the preset count of decoded video frames are decoded video frames that are close to or adjacent to the target original video frame. Then the one or more reference video frames may be obtained by processing the screened decoded video frames using the preset gating network. For example, the weight of each of the decoded video frames may be obtained, and a preset count of decoded video frames with the largest weight may be selected as the one or more reference video frames, or the one or more reference video frame may be obtained by combination based on the weight of each of the decoded video frames. This process does not require encoding of the frame selection information bitstream. Both the decoding terminal and the encoding terminal can obtain the one or more reference video frames by processing the screened decoded video frames using the preset gating network during the encoding / decoding process.

[0333] Through the above process, the present disclosure adopts the preset frame selection module, which can adaptively select the one or more reference video frames based on the reference information. The selected reference video frames are more correlated with the target original video frame or have better quality, thereby improving the performance of image encoding and decoding and improving the accuracy of image encoding and decoding.

[0334] In some embodiments, the operation 1004 of the above embodiment can be further extended with reference to FIG. 11. A motion encoding / decoding module in FIG. 11 may be configured to encode / decode the motion information. In this embodiment, the motion encoding / decoding module may be configured to encode / decode the motion information based on the preset count of reference video frames. L reference video frames of the preset count of frames may be obtained, and the encoding terminal may obtain L motion information by performing motion estimation on the target original video frame and the L reference video frames using a motion estimation module. Each of the one or more reference video frames may correspond to one piece of motion information.

[0335] When the preset count of frames of the one or more reference video frames is L = 1, only one piece of motion information is provided, and subsequent operations such as motion information encoding / decoding, motion compensation, context encoding / decoding, or frame reconstruction, or the like may be directly performed.

[0336] When the preset count of frames of the one or more reference video frames is L > 1, L pieces of motion information may be provided, and the motion encoding / decoding module may encode / decode the L pieces of motion information.

[0337] In some embodiments, when the preset count of frames of the one or more reference video frames is L > 1, the encoding terminal may obtain a preset count of motion information by performing motion estimation on the target original video frame and the preset count of reference video frames, and then the encoding terminal may obtain the motion encoded data by encoding the L pieces of motion information using a preset encoding process. That is, the motion encoded data obtained at the decoding terminal is obtained by encoding the preset count of motion information using the preset encoding process, the preset count of frames being greater than 1. In this case, the decoding terminal may obtain L pieces of decoded motion information by decoding the motion encoded data using a corresponding preset decoding process.

[0338] When the preset count of frames of the one or more reference video frames is L > 1, the process of encoding / decoding the L pieces motion information may be found in the related descriptions of FIGs. 2-8C, or the related descriptions of the embodiments of the present disclosure below.

[0339] In some embodiments, referring to FIG. 19, FIG. 19 is a flowchart illustrating an exemplary image decoding method according to some embodiments of the present disclosure. The operations of this embodiment may be implemented by the decoding terminal. The method may include any of the following operations.

[0340] In 1902, in response to motion encoded data being obtained by an encoding terminal by separately encoding a preset count of motion information, the decoding terminal 102 may obtain a preset count of decoded motion information by separately decoding a preset count of motion encoded data.

[0341] The preset encoding process / the preset decoding process may include any one of: a separate encoding / decoding process, a combined encoding / decoding process, and a reference encoding / decoding process. That is, the preset encoding process may include any one of: a separate encoding process, a combined encoding process, and a reference encoding process. Correspondingly, the preset decoding process may include any one of: a separate decoding process, a split decoding process, and a reference decoding process.

[0342] In the case where the encoding / decoding process of the motion information adopts the separate encoding / decoding process, a one-to-one multi-bitstream process may be used. The encoding terminal / decoding terminal may encode / decode each piece of motion information, separately, each piece of motion information corresponding to one piece of motion encoded data, and decode the each piece of motion encoded data to obtain each piece of decoded motion information. The decoding terminal may obtain the preset count of decoded motion information by separately decoding the preset count of motion encoded data in response to the motion encoded data being obtained by the encoding terminal by separately encoding the preset count of motion information.

[0343] Referring to FIG. 11, the motion encoding / decoding module may include an encoding network and a decoding network. The encoding network may be configured to obtain the motion encoded data by encoding motion information. After the motion encoded data is transmitted to the decoding terminal, the decoding terminal may obtain the decoded motion information by decoding the motion encoded data using the decoding network.

[0344] Referring to FIG. 20, FIG. 20 is a schematic diagram illustrating an exemplary encoding network according to some embodiments of the present disclosure. At the encoding terminal, the L pieces of motion information may be separately encoded using the encoding network (e.g., an encoding network 1, an encoding network 2, an encoding network 3, . . ., an encoding network L) , and the L pieces of motion encoded data may be obtained accordingly. At the decoding terminal, the preset count of motion encoded data may be separately decoded using the decoding network (e.g., a decoding network 1, a decoding network 2, a decoding network 3, . . ., a decoding network L) , and the L pieces of decoded motion information may be obtained. Each encoding network and each decoding network may share or not share network parameters.

[0345] In 1904, in response to the motion encoded data being obtained by the encoding terminal by combining the preset count of motion information into combined motion information and then encoding combined motion information, the decoding terminal 102 may obtain decoded combined motion information by decoding the motion encoded data, obtain the preset count of motion information by splitting the decoded combined motion information, or using the decoded combined motion information as the motion information.

[0346] In the case where the encoding / decoding process of the motion information adopts a combined encoding / decoding process, a many-to-one single bitstream process may be used. The encoding terminal may combine all the motion information into one piece of motion encoded data, and the decoding terminal may recover the single motion information by decoding the one piece of motion encoded data, and use the single motion information as the decoded motion information, or split the single motion information into the L decoded motion information as needed.

[0347] Referring to FIG. 21, FIG. 21 is a schematic diagram illustrating an exemplary process of encoding and decoding according to some embodiments of the present disclosure. At the encoding terminal, the combined motion information may be obtained by combining the L pieces of motion information. That is, the L pieces of motion information may be combined into one piece of motion information, and then the combined motion information may be encoded using the encoding network to obtain a single piece of motion encoded data. At the decoding terminal, a single piece of decoded motion information may be obtained by decoding the single piece of motion encoded data using the decoding network. That is, the decoded combined motion information may be obtained. The decoded combined motion information may be directly used as the decoded motion information for the single piece of motion encoded data. Alternatively, the decoded combined motion information may be split to obtain the L pieces of decoded motion information. The splitting process of the decoded combined motion information may be optional, and whether the splitting process is required may be determined based on specific application scenarios, which is not limited in the present disclosure.

[0348] In 1906, in response to the motion encoded data being obtained by the encoding terminal by encoding the preset count of motion information with reference to corresponding encoded reference motion information, the decoding terminal 102 may obtain the preset count of motion information by decoding the preset count of motion encoded data with reference to corresponding decoded reference motion information.

[0349] The encoded reference motion information is at least one of the preset count of motion information. The decoded reference motion information may include at least one piece of the decoded motion information corresponding to the preset count of motion encoded data.

[0350] In the case where the encoding / decoding process of the motion information adopts a reference encoding / decoding process, a many-to-one multi-bitstream process may be used. The encoding and decoding process may be performed on each piece of motion information, separately. In the encoding process of each piece of motion information, the corresponding motion encoded data may be obtained by encoding with reference to the encoded reference motion information (at least one of other motion information) , each piece of motion information corresponding to one piece of motion encoded data. In the decoding process of each piece of motion encoded data, the corresponding decoded motion information may be obtained by decoding with reference to the decoded reference motion information (other decoded motion information) .

[0351] Referring to FIG. 22, FIG. 22 is a schematic diagram illustrating an exemplary process of encoding and decoding according to some embodiments of the present disclosure. At the encoding terminal, in the process of encoding the L pieces of motion information, the L pieces of motion information may be encoded by using the encoding network (e.g., the encoding network 1, the encoding network 2, . . ., the encoding network L) , respectively. In the process of encoding a current piece of motion information, the current piece of motion information may be encoded with reference to other pieces of motion information to obtain motion encoded data of the current piece motion information. In this way, each piece of motion information may be encoded such that the L pieces of motion encoded data may be obtained. An identifier or a frame index of the encoded reference motion information corresponding to each piece of motion information may be be recorded and encoded into the motion encoded data, such that the decoding terminal may determine the corresponding decoded reference motion information based on the identifier or the frame index.

[0352] At the decoding terminal, during the encoding process of the L pieces of motion encoded data, the L pieces of motion encoded data may be decoded by using the decoding networks (e.g., the decoding network 1, the decoding network 2, . . ., the decoding network L) , respectively. In the process of decoding a current piece of motion encoded data, the current piece of motion encoded data may be encoded with reference to other pieces of decoded motion information to obtain the decoded motion information of the current piece of motion encoded data. In this way, each piece of motion encoded data may be decoded to obtain the L pieces of decoded motion information. Each encoding network and each decoding network may share or not share the network parameters.

[0353] The encoded reference motion information and the decoded reference motion information of each piece of motion information may be determined based on the reference encoding process, such as at least one piece of unidirectional or bidirectional motion information. For example, the encoded reference motion information may include backward multi-frame motion information, forward multi-frame motion information, forward and backward multi-frame motion information, etc., and a count of frames corresponding to the encoded reference motion information, the reference motion information, etc. in each encoding process of the motion information may be different. It is understood that when the encoding / decoding process of the motion information adopts the reference encoding / decoding process, the encoding and decoding process of the motion information may specifically refer to the process of encoding and decoding the target original video frame with reference to other image frames in the image encoding and decoding process, which is not limited in the present disclosure.

[0354] According to the above solution, the motion information corresponding to the reference video frames of the preset count of frames may be encoded into a single piece / aplurality pieces of motion encoded data by adopting the preset encoding process, and the motion encoded data may be decoded by adopting the preset decoding process, so as to adapt to the encoding / decoding process of the motion information of the reference video frames of the preset count of frames. The subsequent process may use the motion information of the preset count of frames, thereby improving the accuracy and flexibility of image encoding and decoding.

[0355] Referring to FIG. 11, after the motion encoding / decoding module obtains the decoded motion information by decoding, prediction information may be obtained by performing motion compensation on the preset count of reference video frames using motion compensation module based on the decoded motion information. When the preset count of frames of the reference video frame is L = 1, only one piece of motion information may be provided, and the subsequent operations may be performed directly. That is, the motion compensation, context encoding / decoding or, frame reconstruction may be directly performed using the decoded motion information. When the preset count of frames of the reference video frame is L > 1, the L pieces of motion information may be provided, and the motion compensation may be performed on the L pieces of motion information.

[0356] In some embodiments, the encoding and decoding system of the present disclosure may further include a feature extraction module. The feature extraction module of the present disclosure may be an optional module. The feature extraction module may include feature extraction 1 and feature extraction 2. The feature extraction 1 may be configured to obtain first feature information of the target original video frame by performing feature extraction on the target original video frame during the encoding process of the target original video frame. The feature extraction 2 may be configured to obtain second feature information of the one or more reference video frames by performing feature extraction on the one or more reference video frames. Then the second feature information may be used for subsequent motion compensation to obtain the prediction information, and context information may be obtained based on the first feature information and the target prediction feature. During the decoding process, the feature extraction 2 may be configured to obtain the second feature information of the one or more reference video frames by performing the feature extraction on the one or more reference video frame, and the second feature information may be used for the subsequent motion compensation to obtain the prediction information.

[0357] In some embodiments, when the preset count of frames L > 1, the prediction information may be obtained by performing the motion compensation on the preset count of reference video frames based on the decoded motion information using a preset compensation process. The motion information may be obtained by the encoding terminal by performing motion estimation on the target original video frame to be encoded and the preset count of reference video frames.

[0358] In some embodiments, referring to FIG. 23, FIG. 23 is a flowchart illustrating an exemplary image decoding method according to some embodiments of the present disclosure. The operations of this embodiment may be implemented by the decoding terminal. The method may include any of the following operations.

[0359] In 2302, the decoding terminal 102 may obtain a preset count of prediction information by performing, based on motion information, motion compensation on a preset count of reference video frames.

[0360] When a plurality of preset frames are provided, the prediction information may be obtained by performing motion compensation on the preset count of reference video frames based on the motion information using a preset compensation process. The preset compensation process may include any one of: a separate compensation process and a combined compensation process.

[0361] When the motion compensation module adopts the separate compensation process, each of the one or more reference video frames may correspond to one piece of motion information. The prediction information corresponding to each of the one or more reference video frames may be obtained by performing the motion compensation on each of the one or more reference video frames based on the corresponding motion information.

[0362] Optionally, dimensional transformation may be performed on the motion information before the motion compensation is performed.

[0363] In some embodiments, referring to FIG. 24, FIG. 24 is a schematic diagram illustrating an exemplary process of motion compensation according to some embodiments of the present disclosure. The L reference video frames may correspond to L pieces of motion information. The L pieces of motion information after transformation may be obtained by performing first dimensional transformation on the L pieces of motion information. The first dimensional transformation may be processed using a convolutional network, which is not limited in the present disclosure. Then L pieces of prediction information may be obtained by performing the motion compensation on the L reference video frames based on the L pieces of motion information after the transformation. The motion compensation may be performed on each of the reference video frames using a motion compensation network. Each motion compensation network may share or not share the network parameters.

[0364] In 2304, the decoding terminal 102 may obtain a combined reference video frame by combining the preset count of reference video frames, and obtain a single piece of prediction information by performing motion compensation on the combined reference video frame based on the motion information.

[0365] When the motion compensation module adopts the combined compensation process, the combined reference video frame may be obtained by combining the preset count of reference video frames. That is, the preset count of reference video frames may be combined to form one reference video frame. Then a single piece of prediction information may be obtained by performing the motion compensation on the combined reference video frame based on the motion information.

[0366] In some embodiments, a count of the motion information may be a preset count, such as L pieces of motion information, L being greater than 1 or equal to 1. For example, during the process of encoding and decoding the motion information in the combined encoding / decoding process, the combined motion information may be used as the decoded motion information. In this case, the decoded motion information may be a single piece of decoded motion information.

[0367] Optionally, dimensional transformation may be performed on the motion information before the motion compensation is performed.

[0368] In some embodiments, referring to FIG. 25, FIG. 25 is a schematic diagram illustrating an exemplary process of dimensional transformation and combination processing according to some embodiments of the present disclosure. For L pieces of reference video frames, the L reference video frames may correspond to L pieces of motion information. A single piece of motion information after transformation may be obtained by performing second dimensional transformation on the L pieces of motion information. The second dimensional transformation may be processed using a convolutional network, which is not limited in the present disclosure. A combined reference video frame, i.e., a single reference video frame, may be obtained by combining the L pieces of reference video frames. Then the single piece of prediction information may be obtained by performing motion compensation on the combined reference video frame based on the single piece of motion information after transformation.

[0369] When the combined motion information is used as the decoded motion information, the combined reference video frame may be obtained by combining the L pieces of reference video frames. Then the single piece of prediction information may be obtained by performing the motion compensation on the combined reference video frame based on the combined motion.

[0370] The above solution can adapt to the preset count of reference video frames for the motion compensation, thereby improving the flexibility and accuracy of the motion compensation, and improving the accuracy of the prediction information.

[0371] Referring to FIG. 11, after the motion compensation module obtains the prediction information, the combined prediction information may be obtained by combining the prediction information using the prediction combination module and then input into a subsequent module. Alternatively, the prediction information may be directly input into the subsequent module. For example, context encoded data may be decoded using a context decoding module, such that a current video frame is obtained based on decoded context information and the prediction information.

[0372] In some embodiments, a preset count of prediction information may be provided, the preset count being a single count or a count greater than 1. In the prediction combination module, the combined prediction information may be obtained by combining the prediction information using the combination network, thereby performing combination, dimensionality reduction, or information optimization on the prediction information.

[0373] In some embodiments, referring to FIG. 26, FIG. 26 is a flowchart illustrating an exemplary image decoding method according to some embodiments of the present disclosure. The operations of this embodiment may be implemented by the decoding terminal. The method may include the following operations.

[0374] In 2602, the decoding terminal 102 may obtain reference auxiliary information.

[0375] One or more pieces of reference auxiliary information may be introduced for combination to obtain the reference auxiliary information. The reference auxiliary information may include at least one of: a decoded video frame, a reconstruction feature, a decoded intermediate feature, a reference video frame, prediction information after motion compensation, and other cached reference information, which is not limited in the present disclosure.

[0376] In 2604, the decoding terminal 102 may obtain combined prediction information by combining the reference auxiliary information and prediction information using a combination network.

[0377] The combination network may include at least one of a residual network, a recurrent network, or an attention network, etc. For example, the combination network may include a convolutional network and a residual network. The convolutional network may be used for channel dimensionality reduction, and the residual network may be used for obtain a residual, i.e., difference information. It is understood that the combination network of the present disclosure may also be other network structures, which is not limited in the present disclosure.

[0378] Then the reference auxiliary information and the prediction information may be input into the combination network, and the combined prediction information may be obtained by combine the reference auxiliary information and the prediction information using the combination network, i.e., a piece of overall better prediction information may be obtained, such that a context encoding / decoding process is further performed.

[0379] In some embodiments, a count of the prediction information may be a preset count L. When L is greater than 1, combination and dimensionality reduction may be performed on the L  pieces of prediction information generated by L reference video frames to obtain a piece of overall combined prediction information. When L is equal to 1, the subsequent operation or the combination may be directly performed, a prediction combination module being an optional setting. If a single piece of prediction information is combined using the prediction combination module, the prediction information may be optimized based on the reference auxiliary information, thereby realizing feature tuning.

[0380] For example, referring to FIG. 27, FIG. 27 is a schematic diagram illustrating an exemplary process of combining reference auxiliary information according to some embodiments of the present disclosure. An input of the combination network may include the L pieces of prediction information (e.g., L=5) . The combination network may include the convolutional network and the residual network. A single piece of combined prediction information may be obtained by combining the L pieces of prediction information and the reference auxiliary information using the combination network.

[0381] The above solution can add the reference auxiliary information to the prediction information for combination, and can perform combination, dimensionality reduction, or information optimization on the prediction information, thereby further improving the accuracy of the prediction information.

[0382] Referring to FIG. 11, after the motion compensation module obtains the prediction information, or after the prediction combination module combines the one or more pieces of prediction information, a subsequent context encoding / decoding process may be performed. In this embodiment, the prediction information may be input into a context decoding module for context decoding.

[0383] In some embodiments, referring to FIG. 28, FIG. 28 is a flowchart illustrating an exemplary image decoding method according to some embodiments of the present disclosure. The operations of this embodiment may be implemented by the decoding terminal. The method may include the following operations.

[0384] In 2802, the decoding terminal 102 may obtain context encoded data.

[0385] The context encoded data may be obtained by encoding context information at the encoding terminal. The encoding terminal may transmit the context encoded data to the decoding terminal such that the decoding terminal may obtain the context encoded data.

[0386] In 2804, the decoding terminal 102 may obtain context information by decoding the context encoded data.

[0387] The context information may be obtained by decoding the context encoded data using a context decoding module (e.g., context Decoder) . Specifically, a low-dimensional context feature may be obtained by decoding the context encoded data, and then the context information may be obtained by performing dimensionality elevation and reconstruction on the low-dimensional context feature.

[0388] In 2806, the decoding terminal 102 may obtain a current video frame of a target original video frame based on the context information and prediction information.

[0389] After obtaining the context information, the context decoding module may obtain a preliminary current video frame of the target original video frame by combining the prediction information based on the context information. For example, if the context information obtained by the encoding terminal is expressed as a difference, i.e., a difference between the target original video frame and the prediction information, the context decoding module at the decoding terminal adds the context information to the prediction information to obtain the preliminary current video frame.

[0390] Then the current video frame, a reconstruction feature, and other information of the target original video frame may be obtained by further processing the preliminary current video frame. The current video frame, the reconstruction feature, and other information of the target original video frame may be saved in reference information so as to use the reference information as a next reference video frame.

[0391] The above solution obtains more accurate prediction information. After obtaining context information by decoding an upstream and a downstream, the current video frame of the target original video frame is obtained using the context information and the prediction information, thereby improving the accuracy of the current video frame and enhancing the image encoding and decoding performance.

[0392] For the above embodiment, the present disclosure further provides an image encoding method. The operations of the image encoding method may be implemented by the encoding terminal.

[0393] Referring to FIG. 29, FIG. 29 is a flowchart illustrating an exemplary image encoding method according to some embodiments of the present disclosure. The method may include the following operations.

[0394] In 2902, the encoding terminal 101 may obtain a target original video frame, and determine a preset count of reference video frames.

[0395] The target original video frame is an image frame to be encoded, and may be a current image frame or a target original video frame.

[0396] In some embodiments, referring to FIG. 11, one or more decoded video frames may be obtained using a reference information module. The one or more decoded video frames may include: a plurality of decoded video frames located in a preset direction of the target original video frame, the preset direction being unidirectional or bidirectional, and the plurality of decoded video frames may include at least one of: an unencoded image frame, an image feature, and other reference information.

[0397] Then a preset frame selection module may obtain a preset count of reference video frames by selecting a preset count of decoded video frames from the one or more decoded video frames using a preset frame selection process. After determining the preset count of reference video frames, preset frame selection information may be determined based on a preset count of frames and frame indices of the reference video frames. The preset frame selection information may include at least one of the preset count of frames of the reference video frames and the frame indices of the reference video frames. A frame selection information bitstream may be obtained by encoding the preset frame selection information.

[0398] In some embodiments, the preset frame selection process adopted by the preset frame selection module may include any one of: a quality assessment process, a cost assessment process, and a joint learning process. More descriptions regarding the frame selection process may be found in the related descriptions above, which are not repeated here.

[0399] In 2904, the encoding terminal 101 may obtain motion information by performing motion estimation on the target original video frame and the preset count of reference video frames.

[0400] In this operation, the motion information may be obtained by performing the motion estimation on the target original video frame and the preset count of reference video frames using a motion estimation module. A count of the motion information may be a preset count. The preset count of motion information may be obtained by performing the motion estimation on the target original video frame to be encoded and the preset count of reference video frames.

[0401] After the motion estimation module obtains the motion information, the motion estimation module may input the motion information into a motion encoding / decoding module to encode the preset count of motion information to obtain motion encoded data. When the preset count of frames and the preset count are a plurality of frames, the preset count of motion information may be encoded using a preset encoding process to obtain the motion encoded data. In some application scenarios, the motion encoding / decoding module may include an encoding network, and the preset count of motion information may be encoded using the encoding network to obtain the motion encoded data.

[0402] In some embodiments, the preset encoding process may include any one of:

[0403] (1) obtaining a preset count of motion encoded data by separately encoding the preset count of motion information;

[0404] (2) obtain combined motion information by combining the preset count of motion information, and obtaining a single piece of motion encoded data by encoding the combined motion information;

[0405] (3) Referring to corresponding encoded reference motion information, obtaining a plurality pieces of motion encoded data by encoding the preset count of motion information. The encoded reference motion information may be at least one of the preset count of motion information. That is, the encoded reference motion information may be at least one of other motion information.

[0406] In 2906, the encoding terminal may obtain prediction information by performing motion compensation on the preset count of reference video frames based on the motion information.

[0407] The motion information and the prediction information may be configured to obtain an original video frame bitstream of the target original video frame by encoding.

[0408] The processor may obtain the prediction information by performing the motion compensation on the preset count of reference video frames based on the motion information using a motion compensation module. The motion information and the prediction information may be configured to obtain the original video frame bitstream of the target original video frame by encoding.

[0409] The original video frame bitstream may include the motion encoded data and the context encoded data. The motion encoded data may be obtained by encoding the motion information, and the context encoded data may be obtained by encoding the context information. The context information may be obtained based on the prediction information and the target original video frame.

[0410] In some embodiments, the motion compensation module may obtain the prediction information by performing the motion compensation on the preset count of reference video frames based on the motion information using a preset compensation process.

[0411] In some embodiments, when the preset count of reference video frames is a plurality of reference video frames, (i.e., when the preset count of frames is greater than 1) , the prediction information may be obtained by performing the motion compensation on the preset count of reference video frames based on the motion information using the preset compensation process.

[0412] The preset compensation process may include any of the following compensation processes:

[0413] a separate compensation process: the preset count of prediction information , ay be obtained by performing the motion compensation on the preset count of reference video frames based on the motion information.

[0414] a combined compensation process: a combined reference video frame may be obtained by combining the preset count of reference video frames, and a single piece of prediction information may be obtained by performing the motion compensation on the combined reference video frame based on the motion information.

[0415] In some embodiments, when the count of motion information is the preset count, in the separate compensation process, a preset count of motion information after transformation may be obtained by performing first dimensional transformation on the preset count of motion information; the preset count of prediction information may be obtained by performing the motion compensation on the preset count of reference video frames based on the preset count of motion information after transformation.

[0416] In some embodiments, when the count of motion information is the preset count, in the combined compensation process, a single piece of motion information after transformation may be obtained by performing second dimensional transformation on the preset count of motion information; a combined reference video frame may be obtained by combining the preset count of reference video frames; a single piece of prediction information may be obtained by performing the motion compensation on the combined reference video frame based on the single piece of motion information after transformation.

[0417] In some embodiments, after the prediction information is obtained, the method may include: obtain combined prediction information by combining the prediction information using a combination network, the count of the prediction information being the preset amount.

[0418] In some embodiments, reference auxiliary information may be obtained; and the combined prediction information may be obtained by combining the reference auxiliary information and the prediction information using the combination network.

[0419] After the prediction information is obtained, the prediction information may be input into a context encoding module (i.e., context Encoder) for context encoding.

[0420] In some embodiments, the context information may be obtained based on the target original video frame and the prediction information using the context encoding module. The context encoding module may obtain the context information between the target original video frame and the prediction information, and perform dimensionality reduction and compression on the context information between the target original video frame and the prediction information. The context information may include: a difference value or cascade information, etc., such that inter-frame temporal and intra-frame spatial correlation is removed. Then, the context encoded data may be obtained by encoding the context information using an entropy model. The entropy model may obtain a probability of each character appearing in the context information to be encoded after quantization, and perform arithmetical encoding to output the context encoded data.

[0421] In some embodiments, the prediction information may include at least one of a target prediction frame and a target prediction feature. The target prediction feature represents feature information of the target prediction frame. In the process of obtaining context information using the target original video frame and the prediction information, the context information may be obtained based on the target original video frame and the target prediction frame, or the context information may be obtained using first feature information extracted from the target original video frame and the target prediction feature, which is not limited in the present disclosure.

[0422] For obtaining the context information using the first feature information extracted from the target original video frame and the target prediction feature, the encoding and decoding system of the present disclosure may further include a feature extraction module. The feature extraction module of the present disclosure may be an optional module. The feature extraction module may include feature extraction 1 and feature extraction 2. The feature extraction 1 may be configured to perform feature extraction on the target original video frame during the encoding process of the target original video frame to obtain first feature information of the target original video frame. The feature extraction 2 may be configured to perform feature extraction on the one or more reference video frames to obtain second feature information of the one or more reference video frames, the second feature information being used for subsequent motion compensation to obtain the prediction information, and obtain the context information based on the first feature information and the target prediction feature. During the decoding process, the feature extraction 2 may be configured to perform feature extraction on the one or more reference video frames to obtain the second feature information of the one or more reference video frames, the second feature information being used for the subsequent motion compensation to obtain the prediction information.

[0423] The embodiment of the operation may be found in the embodiment of the encoding terminal above, which is not repeated here.

[0424] In some embodiments, for the image encoding and decoding system, each module may cooperate or combine to implement any of the embodiments, and each embodiment of each module may be combined with each other to form a plurality of embodiments, which is not limited in the present disclosure. It is understood that in the above method of the embodiments, the order of the operations does not mean a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of each operation should be determined by its function and possible internal logic.

[0425] For the above embodiments, the present disclosure provides a decoding terminal configured to implement the operations of any embodiment of the above image decoding method.

[0426] Based on the same inventive concept, some embodiments of the present disclosure provide an image decoding method and an image encoding method. For ease of understanding, the terminology consistency of each embodiment is described, wherein:

[0427] The target reference frame in the following embodiments corresponds to the temporal reference frame in the previous embodiments;

[0428] The preset reference frame and the forward reference frame in the following embodiments correspond to the adjacent reference frame in the previous embodiments;

[0429] The decoded motion information in the following embodiments corresponds to the decoded motion information corresponding to the adjacent reference frame in the previous embodiments;

[0430] The information transmitted by the preset reference frame in the following embodiments corresponds to the reference information of the adjacent reference frame in the previous embodiments;

[0431] The reconstruction information of the target reference frame in the following embodiments corresponds to the reference information of the temporal reference frame in the previous embodiments;

[0432] The estimated motion information in FIG. 35 and FIG. 36 below corresponds to the prediction motion information corresponding to the temporal reference frame in the previous embodiments;

[0433] The initial prediction information in FIG. 35 and FIG. 36 below corresponds to the first prediction information in the previous embodiments;

[0434] The reference prediction information in FIG. 35 and FIG. 36 below corresponds to the second prediction information in the previous embodiments;

[0435] The initial prediction information in FIG. 37 below corresponds to the third prediction information in the previous embodiments;

[0436] The reference prediction information in FIG. 37 below corresponds to the fourth prediction information in the previous embodiments;

[0437] The current frame in the following embodiments corresponds to the target original video frame in the previous embodiments;

[0438] The reference motion information of the target reference frame in the following embodiments corresponds to the decoded motion information corresponding to the temporal reference frame in the previous embodiments; and

[0439] The target prediction information in the following embodiments corresponds to the prediction information corresponding to the target original video frame in the previous embodiments.

[0440] Referring to FIG. 30, FIG. 30 is a flowchart illustrating an exemplary image encoding method according to some embodiments of the present disclosure:

[0441] In 3002, the decoding terminal 102 may obtain decoded motion information of a target original video frame relative to a preset reference frame by decoding motion encoded data, and obtain initial prediction information corresponding to the target original video frame based on the decoded motion information and information transmitted by the preset reference frame; the motion encoded data being obtained by encoding motion information, and the motion information being obtained by performing motion estimation based on the target original video frame and the preset reference frame corresponding to the target original video frame.

[0442] The decoded motion information is also referred to as motion information corresponding to an adjacent preset reference frame. The motion information transmitted by the preset reference frame may include reference information corresponding to the adjacent preset reference frame and reference information corresponding to a temporal preset reference frame. The initial prediction information corresponding to the target original video frame may include prediction motion information corresponding to the temporal preset reference frame.

[0443] It should be noted that the encoding and decoding process specifically corresponds to an encoding terminal and a decoding terminal, referring to FIG. 31. FIG. 31 is a block diagram illustrating an exemplary process of encoding and decoding according to some embodiments of the present disclosure. The encoding terminal may be configured to obtain a target original video frame bitstream by encoding the target original video frame. The decoding terminal may be configured to obtain the target original video frame bitstream, and obtain reconstruction information corresponding to the target original video frame by decoding the target original video frame bitstream. The target original video frame bitstream may include at least the motion encoded data and a residual bitstream, which may be configured to obtain the reconstruction information (i.e., a decoded image) corresponding to the target original video frame by decoding. The image decoding method and the image encoding method provided in some embodiments of the present disclosure can be operated based on the framework shown in FIG. 31, and the part of the framework shown in FIG. 31 that is focused on in the present disclosure corresponds to the position circled by elliptical dotted lines.

[0444] In some embodiments, one preset reference frames may be provided, the encoding terminal may obtain the motion information by performing motion estimation on the target original video frame and the preset reference frame, and obtain the motion encoded data by encoding the motion information. The decoding terminal may obtain the decoded motion information of the target original video frame relative to the preset reference frame by decoding the motion encoded data, and obtain the initial prediction information corresponding to the target original video frame by performing motion compensation on the information transmitted by the preset reference frame based on the decoded motion information.

[0445] In some embodiments, a plurality of preset reference frames may be provided, the encoding terminal may obtain a combined preset reference frame by combining the plurality of preset reference frames, obtain the motion information by performing motion estimation on the target original video frame and the combined preset reference frame, and obtain the motion encoded data by encoding the motion information. The decoding terminal may obtain the decoded motion information of the target original video frame relative to the preset reference frame by decoding the motion encoded data, obtain the combined preset reference frame by combining the plurality of preset reference frames, and obtain the initial prediction information corresponding to the target original video frame by performing motion compensation on the information transmitted by the combined preset reference frame based on the decoded motion information.

[0446] The encoding terminal may combine the plurality of preset reference frames by combining reference information of the plurality of preset reference frames, and the combined preset reference frame may include combined reference information.

[0447] It is understood that the preset reference frame is usually a video frame that is located before or after the target original video frame in the time domain. A decoding order of the preset reference frame may precede the target original video frame. When one preset reference frame is provided, the preset reference frame may be an adjacent video frame located before the target original video frame or an adjacent video frame located after the target original video frame. The information transmitted by the preset reference frame may include at least one of a reference frame feature and picture information.

[0448] In 3004, the decoding terminal 102 may obtain a target reference frame corresponding to the target original video frame, and determine reference information corresponding to the target reference frame, a count of the target reference frame being at least one target reference frame, and the reference information including at least reconstruction information of the target reference frame.

[0449] The target reference frame is a preset reference frame configured to provide reference information for encoding and decoding the target original video frame. The target reference frame may include an adjacent video frame adjacent to the target original video frame, and a temporal preset reference frame that is separated from the target original video frame by a certain count of frames (e.g., 1, 2, 3, 4 frames, etc. ) . Unless otherwise specified, the target reference frame in the present disclosure refers to the adjacent video frame adjacent to the target original video frame.

[0450] Specifically, at least one target reference frame corresponding to the target original video frame may be obtained, and the reference information corresponding to the target reference frame may be determined, so as to obtain more reference frames for correcting the initial prediction information, the reference information including at least the reconstruction information of the target reference frame.

[0451] In some embodiments, the processor may obtain the target reference frame corresponding to the target original video frame, and use the reconstruction information corresponding to the target reference frame as the reference information corresponding to the target reference frame.

[0452] In some embodiments, the processor may also obtain the target reference frame corresponding to the target original video frame, obtain the reconstruction information of the target reference frame and determine cross-frame motion information between the target original video frame and the target reference frame, and use the reconstruction information corresponding to the target reference frame and the cross-frame motion information as the reference information corresponding to the target reference frame.

[0453] In 3006, the decoding terminal 102 may obtain, based on the initial prediction information and the reference information corresponding to the target reference frame, target prediction information corresponding to the target original video frame; the target prediction information being configured to obtain the reconstruction information corresponding to the target original video frame by decoding.

[0454] The target prediction information is the prediction information corresponding to the target original video frame, which can be understood as final prediction information of the target original video frame.

[0455] Specifically, the target prediction information corresponding to the target original video frame may be obtained by correcting the prediction information of the target original video frame based on the initial prediction information and the reference information corresponding to the target reference frame. The target prediction information corresponding to the target original video frame is determined by combining a plurality of reference frames, such that the accuracy of the prediction information can be improved and redundant information can be reduced, and the target prediction information is configured to obtain the reconstruction information corresponding to the target original video frame by decoding, thereby effectively improving the compression rate of the bitstream.

[0456] In some embodiments, the processor may obtain the target prediction information corresponding to the target original video frame by combining the initial prediction information with the reconstruction information of the target reference frame.

[0457] In some embodiments, processor may obtain the target prediction information corresponding to the target original video frame by combining the initial prediction information with the reconstruction information of the target reference frame and the cross-frame motion information.

[0458] In some embodiments, the processor may obtain reference prediction information corresponding to the target reference frame by performing motion compensation on the reconstruction information of the target reference frame based on the cross-frame motion information corresponding to the target reference frame; and obtain the target prediction information corresponding to the target original video frame by combining the initial prediction information and the reference prediction information.

[0459] Specifically, more accurate prediction information corresponding to the target reference frame may be obtained as the reference prediction information by performing motion compensation on the reconstruction information of the target reference frame based on the cross-frame motion information corresponding to the target reference frame, the initial prediction information and the reference prediction information may be combined, and the target prediction information with higher precision and accuracy corresponding to the target original video frame may be obtained by correcting the initial prediction information based on the prediction information of the target reference frame.

[0460] Referring to the related descriptions of FIG. 6A, the reconstruction information of the target reference frame may include the reconstruction information of the adjacent preset reference frame and the reconstruction information of the temporal preset reference frame. Accordingly, the reference prediction information corresponding to the target reference frame may include first prediction information determined based on the adjacent preset reference frame and the motion information corresponding to the adjacent preset reference frame, and second prediction information determined based on the temporal preset reference frame and the prediction motion information corresponding to the temporal preset reference frame. More descriptions regarding determining the first prediction information and the second prediction information may be found in the related descriptions of FIG. 6A, which are not repeated here.

[0461] It should be noted that the target prediction information obtained in this embodiment is the result output by a multi-reference frame motion compensation and temporal prediction module in FIG. 31. The multi-reference frame motion compensation and temporal prediction module may be trained based on a plurality of training video frames and corresponding training information. The training information may include at least reconstruction information of the training video frames, and may also include motion information of the training video frames.

[0462] It is understood that according to the encoding and decoding process shown in FIG. 31, the target prediction information can be used in the encoding and decoding process to be applicable to the end-to-end encoding and decoding process, and the target prediction information with higher accuracy can improve the compression rate of the bitstream.

[0463] The above solution decodes the motion encoded data to obtain the decoded motion information of the target original video frame relative to the preset reference frame from the motion encoded data, predicts the target original video frame based on the decoded motion information and the information transmitted by the preset reference frame, and obtains the initial prediction information corresponding to the target original video frame. The motion encoded data is obtained by encoding the motion information at the encoding terminal, and the motion information is obtained based on the motion estimation between the target original video frame and the preset reference frame. At least one target reference frame corresponding to the target original video frame is obtained, and the reference information corresponding to the target reference frame is determined, so as to obtain more reference frames for correcting the initial prediction information. The reference information includes at least the reconstruction information of the target reference frame. The target prediction information corresponding to the target original video frame is obtained by correcting the prediction information of the target original video frame based on the initial prediction information and the reference information corresponding to the target reference frame, so as to determine the target prediction information corresponding to the target original video frame based on the plurality of reference frames, improve the accuracy of the prediction information, and reduce the redundant information. The target prediction information is configured to obtain the reconstruction information corresponding to the target original video frame by decoding, thereby effectively improving the compression rate of the bitstream.

[0464] In some embodiments, the processor may obtain the target prediction information corresponding to the target original video frame by combining the initial prediction information and the reference information corresponding to the target reference frame; or obtain the target prediction information corresponding to the target original video frame by combining the initial prediction information with the information transmitted by the preset reference frame and the reference information corresponding to the target reference frame.

[0465] Specifically, referring to FIG. 32, FIG. 32 is a schematic diagram illustrating a topological structure of an image decoding method according to some embodiments of the present disclosure. By combining at least the reconstruction information corresponding to the target reference frame with the initial prediction information, the initial prediction information can be optimized using the reconstruction information corresponding to the target reference frame, and more accurate target prediction information can be obtained efficiently at a lower processing cost.

[0466] In some embodiments, the processor may obtain the target prediction information corresponding to the target original video frame by combining the initial prediction information with the reference information corresponding to the target reference frame, and correcting the initial prediction information using the reconstruction information corresponding to the target reference frame.

[0467] In some embodiments, the processor may combine the initial prediction information with the information transmitted by the preset reference frame and the reference information corresponding to the target reference frame, use the information corresponding to the preset reference frame and the target reference frame respectively, and correct the initial prediction information based on a difference between the information transmitted by the preset reference frame and the reconstruction information of the target reference frame to obtain the target prediction information corresponding to the target original video frame.

[0468] Optionally, the combination process may include but is not limited to a residual network, channel / spatial attention, transformer, and a neural network formed by any combination of the above.

[0469] For ease of explanation, referring to FIG. 33, FIG. 33 is a schematic diagram illustrating an exemplary application scenario of an image decoding method according to some embodiments of the present disclosure. FIG. 33 takes a combination network composed of two residual blocks as an example. The initial prediction information and the information transmitted by the preset reference frame and the reconstruction information of the target reference frame may be input into the combination network to obtain correction information, and the correction information and the initial prediction information may be superimposed and combined to obtain the target prediction information corresponding to the target original video frame.

[0470] Referring to FIG. 34, FIG. 34 is a flowchart illustrating an exemplary image decoding method according to some embodiments of the present disclosure. The method includes the following operations.

[0471] In 3402, the decoding terminal 102 may obtain decoded motion information of a target original video frame relative to a preset reference frame by decoding motion encoded data, and obtain initial prediction information corresponding to the target original video frame based on the decoded motion information and information transmitted by the preset reference frame, the motion encoded data being obtained by encoding motion information, and the motion information being obtained by performing motion estimation based on the target original video frame and the preset reference frame corresponding to the target original video frame.

[0472] Specifically, the motion encoded data may be decoded to obtain the decoded motion information of the target original video frame relative to the preset reference frame, and initial prediction information corresponding to the target original video frame may be obtained by predicting the target original video frame based on the decoded motion information and the information transmitted by the preset reference frame, the motion encoded data being obtained by encoding the motion information at the encoding terminal, and the motion information being obtained based on motion estimation between the target original video frame and the preset reference frame.

[0473] In 3404, the decoding terminal 102 may obtain a preset count of target reference frames corresponding to the target original video frame, and determine reconstruction information corresponding to each of the preset count of target reference frames.

[0474] Specifically, a count of the target reference frames may be set to a preset count, the preset count being adaptively selected. The preset count of target reference frames corresponding to the target original video frame may obtained, and cached reconstruction information of each of the preset count of target reference frames may be obtained.

[0475] It is understood that the target reference frame is sequentially located before the target original video frame during the decoding process, such that the reconstruction information of the target reference frame can be obtained in an image cache area. After the target original video frame is decoded, the reconstruction information of the target original video frame is cached in the image cache area, and the cache area stores reconstruction information of at least some video frames in a first-in-first-out manner. The preset count may be one or more. The target reference frame is usually different from the preset reference frame. In some implementation scenarios, the plurality of target reference frames may also include the preset reference frame.

[0476] In 3406, the decoding terminal 102 may obtain cross-frame motion information corresponding to the target reference frame based on the decoded motion information, the information transmitted by the preset reference frame, and the reconstruction information corresponding to the target reference frame; reference information including the reconstruction information and the cross-frame motion information.

[0477] The cross-frame motion information is the prediction motion information described above, which is mainly used to express a motion relationship between the temporal preset reference frame and the target original video frame.

[0478] Specifically, the cross-frame motion information of the target reference frame may be obtained by estimating the motion information of the target reference frame based on the decoded motion information, the information transmitted by the preset reference frame, and the reconstruction information corresponding to the target reference frame. The reference information may include the reconstruction information of the target reference frame and the cross-frame motion information, such that when the reference information is used to optimize the initial prediction information, motion compensation can be performed on the reconstruction information of the target reference frame, thereby achieving a better optimization effect.

[0479] In some embodiments, the image cache area may cache the reconstruction information of the target reference frame, and the cross-frame motion information of the target reference frame may be obtained using an optical flow compensation process. The obtaining the cross-frame motion information corresponding to the target reference frame is obtained based on the decoded motion information, the information transmitted by the preset reference frame, and the reconstruction information corresponding to the target reference frame may include: obtaining cross-frame motion information corresponding to the target reference frame by transforming the decoded motion information based on the information transmitted by the preset reference frame and the reconstruction information corresponding to the target reference frame.

[0480] Specifically, the cross-frame motion information obtained by adaptive transformation may be generated for the target reference frame by performing the adaptive transformation on the decoded motion information based on the information transmitted by the preset reference frame and the reconstruction information corresponding to the target reference frame, such that the cross-frame motion information adapted to each target reference frame is obtained without transmitting the motion information corresponding to each target reference frame in the bitstream, thereby improving the compression rate of the bitstream.

[0481] Optionally, the basis for the adaptive transformation is mainly a difference between the information transmitted by the preset reference frame and the reconstruction information corresponding to the target reference frame.

[0482] In some embodiments, the cross-frame motion information processor may input the decoded motion information, the information transmitted by the preset reference frame, and the reconstruction information corresponding to the target reference frame into a transformation network to obtain the cross-frame motion information matched by the transformation network for the target reference frame, the transformation network being trained based on a plurality of training video frames.

[0483] Specifically, the decoded motion information, the information transmitted by the preset reference frame, and the reconstruction information corresponding to the target reference frame may be input into the transformation network to obtain the cross-frame motion information output by the transformation network. Each target reference frame matches the corresponding cross-frame motion information.

[0484] Furthermore, the transformation network may be trained based on information contained in the plurality of training video frames, such that the transformation network can transform the motion information based on the difference between the information contained in different video frames, and adaptively generate the cross-frame motion information matching each target reference frame.

[0485] Referring to FIG. 35, FIG. 35 is a schematic diagram illustrating a topological structure of an image decoding method according to some embodiments of the present disclosure. The decoded motion information, the information transmitted by the preset reference frame, and the reconstruction information of the target reference frame may be input into the transformation network, and optical flow compensation may be performed for each target reference frame through the transformation network to generate cross-frame motion information corresponding to the reconstruction information of each target reference frame.

[0486] Furthermore, the reference prediction information corresponding to the target reference frame may be obtained by performing motion compensation on the reconstruction information of the target reference frame based on the cross-frame motion information corresponding to the target reference frame. The compensation network may include but is not limited to convolutional networks including alignment processes such as deformable convolution, interpolation-based warp operation, etc. Accordingly, the target prediction information corresponding to the target original video frame may be obtained by combining the motion information of the current reference frame and the reference prediction information corresponding to each target reference frame. The combination process may include but is not limited to neural networks such as an attention network, a residual network, transformer, etc.

[0487] For ease of explanation, referring to FIG. 36, FIG. 36 is a schematic diagram illustrating an exemplary application scenario of an image decoding method according to some embodiments of the present disclosure. The transformation and motion compensation of the motion information of the target reference frames are explained by taking the case where a count of the target reference frames is two target reference frames and the transformation network is composed of convolution and two residual blocks as an example. The decoded motion information and the reconstruction information of the two reference frames and the information transmitted by the preset reference frame may be jointly input into the transformation network to obtain a motion information transformation amount output by the transformation network. The decoded motion information and the motion information transformation amount may be superimposed to obtain the cross-frame motion information of the target reference frames. The motion compensation may be performed on the reconstruction information of the target reference frames based on the cross-frame motion information to obtain the reference prediction information corresponding to the target reference frames. As shown in FIG. 36, a first target reference frame and a second target reference frame may perform the same process. That is, each of the two target reference frames may obtain the cross-frame motion information and perform the motion compensation based on the cross-frame motion information.

[0488] In some embodiments, the preset reference frame and a preset count of target reference frames are arranged in sequence, and reference motion information is matched between adjacent reference frames.

[0489] It is understood that the preset reference frame and the preset count of target reference frames are all decoded video frames before the target original video frame. The reference frames are sorted in sequence according to the decoding order, and there is motion information obtained by the motion estimation between the adjacent reference frames. When the motion information is cached, the motion information between the adjacent reference frames is obtained as the reference motion information.

[0490] Furthermore, the obtaining, based on the decoded motion information, the information transmitted by the preset reference frame, and the reconstruction information corresponding to the target reference frames, the cross-frame motion information corresponding to the target reference frames may include: for each of the target reference frames sorted in sequence, determining a forward reference frame sorted before the target reference frame; and obtaining the cross-frame motion information corresponding to the target reference frames by estimating the motion information matching between the target original video frame and each of the target reference frames based on the motion information between the target original video frame and the forward reference frame, the reference motion information matching between each of the target reference frames and the forward reference frame, and the information transmitted by the preset reference frame and the reconstruction information corresponding to at least part of the target reference frames.

[0491] Specifically, referring to FIG. 37, FIG. 37 is a schematic diagram illustrating a topological structure of an image decoding method according to some embodiments of the present disclosure. The target original video frame and the target reference frame may be separated by at least one reference frame, i.e., the cross-frame motion information may be provided between the target original video frame and the target reference frame. Taking one of the target reference frames closest to the target original video frame as a starting point, the cross-frame motion information of the target original video frame relative to each of the target reference frames may be estimated for each of the target reference frames sorted in sequence, and a reference frame located before a current target reference frame may be determined as the forward reference frame. The cross-frame motion information corresponding to the target reference frame may be obtained by performing cross-frame estimation on the motion information matching between the target original video frame and the target reference frame based on the motion information between the target original video frame and the forward reference frame, the reference motion information matching between the target reference frame and the forward reference frame, and the information transmitted by the preset reference frame and the reconstruction information corresponding to at least part of the target reference frame.

[0492] For ease of explanation, referring to FIG. 38, FIG. 38 is a schematic diagram illustrating an exemplary application scenario of obtaining prediction reference information corresponding to all target reference frames according to some embodiments of the present disclosure. Taking target reference frames R1-RN in FIG. 38 as an example, a preset reference frame R0 is a forward reference frame of the target reference frame R1, and cross-frame motion information C1 is obtained by estimating motion information between the target original video frame and the target reference frame R1 based on motion information F between the target original video frame and the forward reference frame, reference motion information F0 matching between the target reference frame and the forward reference frame, and the information transmitted by the preset reference frame and the reconstruction information corresponding to at least part of the target reference frame.

[0493] Furthermore, when traversing to the target reference frame R2, the target reference frame R1 is the forward reference frame of the target reference frame R2, and cross-frame motion information C2 is obtained by estimating motion information between the target original video frame and the target reference frame R2 based on motion information F1 between the target original video frame and the forward reference frame, reference motion information F1 matching between the target reference frame and the forward reference frame, and the information transmitted by the preset reference frame and the reconstruction information corresponding to at least part of the target reference frame. In this way, the cross-frame motion information corresponding to each of the target reference frame R1-RN may be determined.

[0494] It is understood that the cross-frame motion information C1-CN obtained across frames is determined in the process of taking the target original video frame, the forward reference frame, and the current target reference frame as a group of three frames, thereby determining the cross-frame motion information corresponding to each of the target reference frames in sequence.

[0495] In some embodiments, the obtaining the cross-frame motion information corresponding to the target reference frame by estimating the motion information matching between the target original video frame and the target reference frame based on the motion information between the target original video frame and the forward reference frame, the reference motion information matching between the target reference frame and the forward reference frame, and the information transmitted by the preset reference frame and the reconstruction information corresponding to at least part of the target reference frame may include: obtaining compensated motion information by compensating the reference motion information matching between the target reference frame and the forward reference frame using the motion information between the target original video frame and the forward reference frame; and obtaining the cross-frame motion information corresponding to the target reference frame by combining the motion information between the target original video frame and the forward reference frame, the compensated motion information, and the information transmitted by the preset reference frame and the reconstruction information corresponding to at least part of the target reference frame.

[0496] Specifically, referring to FIG. 39, FIG. 39 is a schematic diagram illustrating an exemplary application scenario of obtaining cross-frame motion information corresponding to a single target reference frame according to some embodiments of the present disclosure. In FIG. 39, motion information between the target original video frame and the forward reference frame is denoted as motion information I, the motion information between the target reference frame and the forward reference frame is denoted as motion information J, and the cross-frame motion information to be obtained is denoted as motion information K. The compensated reference information is obtained by compensating the motion information J matching between the target reference frame and the forward reference frame based on the motion information I between the target original video frame and the forward reference frame. The compensated reference information is combined with the reconstruction information of at least part of the target reference frame and the information transmitted by the preset reference frame, so as to obtain the motion information K as the cross-frame motion information corresponding to the target reference frame. Therefore, by performing compensation and then combination, the cross-frame motion information matching between the target original video frame and the target reference frame is obtained in sequence, thereby improving the accuracy of the cross-frame motion information without transmitting the cross-frame motion information in the motion encoding process of the target original video frame, and thus reducing the data volume of data transmission.

[0497] Similarly, the process of determining the cross-frame motion information of each target reference frame shown in FIG. 38 may be formulated, and formulated results may be found in the related descriptions of the above equations (1) - (5) , which are not repeated here.

[0498] In some embodiments, the compensated reference information may be obtained using a compensation network, and the cross-frame motion information may be obtained using a combination network. The compensation network and the combination network may be trained based on a plurality of training video frames and the corresponding motion information.

[0499] Specifically, the compensation network and the combination network may be trained based on information contained in the plurality of training video frames and the motion information of the training video frames. The compensation network may adaptively utilize the motion information between the target original video frame and the forward reference frame to compensate for the reference motion information matching between the target reference frame and the forward reference frame. The combination network may adaptively combine the compensated reference information with the information corresponding to the reference frame so as to efficiently and accurately determine the cross-frame motion information corresponding to the target reference frame.

[0500] In 3408, the decoding terminal 102 may obtain, based on the initial prediction information and the reference information corresponding to the target reference frame, target prediction information corresponding to the target original video frame; the target prediction information being configured to obtain the reconstruction information corresponding to the target original video frame by decoding.

[0501] Specifically, the target prediction information corresponding to the target original video frame may be obtained by correcting the prediction information of the target original video frame based on the initial prediction information and the reference information corresponding to the target reference frame.

[0502] In some embodiments, the reference prediction information corresponding to the target reference frame may be obtained by performing the motion compensation on the reconstruction information of the target reference frame based on the cross-frame motion information corresponding to the target reference frame; and the target prediction information corresponding to the target original video frame may be obtained by combining the initial prediction information and the reference prediction information.

[0503] Specifically, the reference prediction information corresponding to the target reference frame may be obtained by performing the motion compensation on the reconstruction information of the target reference frame based on the cross-frame motion information corresponding to the target reference frame, such that the reference prediction information has a relatively high accuracy.

[0504] The motion compensation process may include but is not limited to alignment processes including deformable convolution, interpolation-based warp operation, or convolutional networks including the above processes. The combination process may include but is not limited to convolutional networks such as addition operation, splicing + convolution, splicing + attention structure, etc.

[0505] Furthermore, the initial prediction information may be combined with the reference prediction information, so as to obtain target prediction information with higher precision and accuracy corresponding to the target original video frame by combining the prediction information of the target reference frame based on the initial prediction information. In this way, the initial prediction information may be corrected using the reference prediction information of the target reference frame, thereby improving the precision and accuracy of the target prediction information.

[0506] In this embodiment, the motion encoded data is decoded to obtain the decoded motion information. The target original video frame is predicted based on the motion information and the preset reference frame to obtain the initial prediction information corresponding to the target original video frame. The motion information of the target reference frame is estimated based on the decoded motion information, the information transmitted by the preset reference frame, and the reconstruction information corresponding to the target reference frame to obtain the cross-frame motion information of the target reference frame. The motion compensation is performed on the reconstruction information of the target reference frame based on the cross-frame motion information corresponding to the target reference frame to obtain the more accurate prediction information corresponding to the target reference frame as the reference prediction information, and the initial prediction information is combined with the reference prediction information, so as to correct the initial prediction information by combining the prediction information of the target reference frame, thereby obtaining the target prediction information with higher precision and accuracy corresponding to the target original video frame.

[0507] Referring to FIG. 40, FIG. 40 is a flowchart illustrating an exemplary image encoding method according to some embodiments of the present disclosure. The method may include the following operations.

[0508] In 4002, the encoding terminal 101 may obtain a target original video frame and a preset reference frame corresponding to target original video frame, obtain motion information of the target original video frame relative to the preset reference frame by performing motion estimation on the target original video frame and the preset reference frame, obtain decoded motion information of the target original video frame relative to the preset reference frame by encoding and decoding the motion information, and obtain initial prediction information corresponding to the target original video frame based on the decoded motion information and information transmitted by the preset reference frame.

[0509] Specifically, referring to FIG. 31, the encoding terminal 101 may obtain the target original video frame and the preset reference frame corresponding to the target original video frame, and obtain the motion information of the target original video frame relative to the preset reference frame by performing the motion estimation on the target original video frame and the preset reference frame.

[0510] Furthermore, the encoding terminal 101 may obtain the decoded motion information of the target original video frame relative to the preset reference frame by encoding and decoding the motion information of the target original video frame relative to the preset reference frame, and obtain initial prediction information corresponding to the target original video frame based on the decoded motion information and information transmitted by the preset reference frame.

[0511] It is understood that the process of encoding the motion information is also combined with a target original video frame feature and a preset reference frame feature as shown in FIG. 31, and context motion information, the context motion information being generated by the decoding terminal during the decoding process and then cached in a cache area.

[0512] In 4004, the encoding terminal 101 may obtain a target reference frame corresponding to the target original video frame, and determine reference information corresponding to the target reference frame; a count of the target reference frame being at least one target reference frame, and the reference information including at least reconstruction information of the at least one target reference frame.

[0513] Specifically, the encoding terminal may obtain the at least one target reference frame corresponding to the target original video frame, and determine the reference information corresponding to the at least one target reference frame, so as to obtain more reference frames for correcting the initial prediction information. The reference information may including at least the reconstruction information of the at least one target reference frame.

[0514] It is understood that the count of the target reference frame may be one or more target reference frames. The one or more target reference frames are usually different from the preset reference frame. In some implementation scenarios, the one or more target reference frames may also include the preset reference frame.

[0515] In 4006, the encoding terminal may obtain, based on the initial prediction information and the reference information corresponding to the target reference frame, target prediction information corresponding to the target original video frame; the decoded motion information and the target prediction information being configured to obtain a target original video frame bitstream of the target original video frame by encoding.

[0516] Specifically, the encoding terminal 101 may obtain, based on the initial prediction information and the reference information corresponding to the target reference frame, the target prediction information corresponding to the target original video frame by correcting the prediction information of the target original video frame. The target prediction information corresponding to the target original video frame is determined based on a plurality of reference frames, such that the accuracy of the prediction information is improved, and the redundant information is reduced. The decoded motion information and the target prediction information are configured to obtain the target original video frame bitstream of the target original video frame by encoding, thereby effectively improving the compression rate of the bitstream.

[0517] It is understood that referring to FIG. 31, the technical solution adopted by the encoding terminal to obtain the target prediction information of the target original video frame is the same as that described in any of the above embodiments, which is not repeated in the present disclosure.

[0518] Furthermore, the target original video frame bitstream may include motion encoded data and a residual bitstream. The motion encoded data may be obtained by encoding the motion information of the target original video frame relative to the preset reference frame.

[0519] In some embodiments, after obtaining the target prediction information corresponding to the target original video frame based on the initial prediction information and the reference information corresponding to the target reference frame, the method may further include: obtaining the residual bitstream by encoding the residual information of the target original video frame relative to the preset reference frame and the target prediction information using a preset encoding process.

[0520] Specifically, the preset encoding process may include any one of: a separate encoding process, a combined encoding process, and a reference encoding process. Correspondingly, a preset decoding method may include any one of: a separate decoding process, a split decoding process, and a reference decoding process. The motion encoded data can be obtained by encoding the motion information using the preset encoding process. The residual bitstream may be obtained by encoding the residual information of the target original video frame relative to the preset reference frame and the target prediction information using the preset encoding process, thereby jointly constituting the target original video frame bitstream, such that the target original video frame bitstream can transmit the motion information and has a higher compression rate.

[0521] The above solution obtains the target original video frame and the preset reference frame corresponding to the target original video frame, performs the motion estimation on the target original video frame and the preset reference frame to obtain the motion information of the target original video frame relative to the preset reference frame, encodes and decodes the motion information of the target original video frame relative to the preset reference frame to obtain the decoded motion information of the target original video frame relative to the preset reference frame, and obtains the initial prediction information corresponding to the target original video frame based on the decoded motion information and the information transmitted by the preset reference frame. At least one target reference frame corresponding to the target original video frame is obtained, and the reference information corresponding to the target reference frame is determined, so as to obtain more reference frames for correcting the initial prediction information, the reference information including the reconstruction information of the target reference frame. The target prediction information corresponding to the target original video frame is obtained by correcting the prediction information of the target original video frame based on the initial prediction information and the reference information corresponding to the target reference frame. The target prediction information corresponding to the target original video frame is determined based on the plurality of reference frames, so as to improve the accuracy of the prediction information and reduce the redundant information. The motion information and the target prediction information are configured to obtain the target original video frame bitstream of the target original video frame by encoding, thereby effectively improving the compression rate of the bitstream.

[0522] It should be noted that the description of the above processes is only for example and explanation, and does not limit the scope of application of the present disclosure. For those skilled in the art, various modifications and changes can be made to each process under the guidance of the present disclosure. However, these modifications and changes are still within the scope of the present disclosure. For example, a storage operation may be added, etc.

[0523] FIG. 41 is a block diagram illustrating an exemplary video encoding system according to some embodiments of the present disclosure. As shown in FIG. 41, a system 4100 may include a first acquisition module 4110, a first determination module 4120, a first encoding module 4130, a second determination module 4140, a third determination module 4150, and a second encoding module 4160.

[0524] The first acquisition module 4110 may be configured to obtain reference information corresponding to one or more reference video frames. The one or more reference video frames may be selected from one or more decoded video frames of an original video stream;

[0525] The first determination module 4120 may be configured to determine motion information between at least one of the one or more reference video frames and a target original video frame of the original video stream.

[0526] The first encoding module 4130 may be configured to obtain motion encoded data by encoding the motion information.

[0527] The second determination module 4140 may be configured to determine, based on the motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame.

[0528] The third determination module 4150 may be configured to determine difference information between the target original video frame and the prediction information.

[0529] The second encoding module 4160 may be configured to obtain context encoded data by encoding the difference information.

[0530] More descriptions regarding each module of the system 4100 may be found in the corresponding process in the present disclosure (e.g., the related descriptions of FIGs. 2-8C) .

[0531] FIG. 42 is a block diagram illustrating an exemplary video decoding system according to some embodiments of the present disclosure. As shown in FIG. 42, a system 4200 may include a second acquisition module 4210, a first decoding module 4220, a fourth determination module 4230, a second decoding module 4240, and a reconstruction module 4250.

[0532] The second acquisition module 4210 may be configured to obtain reference information corresponding to one or more reference video frames. The one or more reference video frames may be selected from one or more decoded video frames of an original video stream.

[0533] The first decoding module 4220 may be configured to obtain decoded motion information between at least one of the one or more reference video frames and a target original video frame of the original video stream by decoding motion encoded data from an encoding terminal.

[0534] The fourth determination module 4230 may be configured to determine, based on the decoded motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame.

[0535] The second decoding module 4240 may be configured to obtain decoded difference information between the target original video frame and the prediction information by decoding context encoded data from the encoding terminal.

[0536] The reconstruction module 4250 may be configured to obtain, based on the decoded difference information and the prediction information, a reconstructed frame corresponding to the target original video frame.

[0537] FIG. 43 is a schematic structural diagram illustrating an exemplary image decoding terminal according to some embodiments of the present disclosure. As shown in FIG. 43, an image decoding terminal 4300 may include a decoding module 4310, a determination module 4320, and a generation module 4330. The decoding module 4310 may be configured to obtain decoded motion information corresponding to an adjacent reference video frame of a target original video frame relative to one or more reference video frames by decoding motion encoded data, and obtain motion information of a current reference frame corresponding to the target original video frame based on motion information corresponding to the adjacent reference video frame and reference information corresponding to a temporal reference video frame. The motion encoded data may be obtained by encoding the motion information, and the motion information may be obtained by performing motion estimation based on the target original video frame and the one or more reference video frames corresponding to the target original video frame. The determination module 4320 may be configured to obtain the one or more reference video frames corresponding to the target original video frame and determine the reference information corresponding to the one or more reference video frames. A count of the reference video frames may be at least one reference video frame, and the reference information may include at least reconstruction information of the at least one reference video frame. The generation module 4330 may be configured to obtain prediction information corresponding to the target original video frame based on the motion information of the current reference frame and the reference information corresponding to the one or more reference video frames. The prediction information may be configured to obtain the reconstruction information corresponding to the target original video frame by decoding.

[0538] It is understood that the image decoding terminal 4300 may implement the image decoding method described in any of the above embodiments. More descriptions may be found in the related descriptions of the above method embodiments, which are not repeated here.

[0539] FIG. 44 is a schematic structural diagram illustrating an exemplary image encoding terminal according to some embodiments of the present disclosure. An image encoding terminal 4400 may include an encoding and decoding module 4410, a determination module 4420, and a generation module 4430. The encoding and decoding module 4410 may be configured to obtain a target original video frame and one or more reference video frames corresponding to target original video frame, , obtain motion information of the target original video frame relative to the one or more reference video frames by performing motion estimation on the target original video frame and the one or more reference video frames, obtain decoded motion information corresponding to an adjacent reference video frame of the target original video frame relative to the one or more reference video frames by encoding and decoding the motion information, and obtain motion information of a current reference frame corresponding to the target original video frame based on the motion information corresponding to the adjacent reference video frame and a reference information corresponding to a temporal reference video frame. The determination module 4420 may be configured to obtain the one or more reference video frames corresponding to the target original video frame and determine the reference information corresponding to the one or more reference video frame. A count of the one or more reference video frames may be at least one reference video frame, and the reference information may include at least reconstruction information of the at least one reference video frame. The generation module 4430 may be configured to obtain prediction information corresponding to the target original video frame based on the motion information of the current reference frame and the reference information corresponding to the one or more reference video frames. The motion information and the prediction information corresponding to the target original video frame may be configured to obtain a target original video frame bitstream of the target original video frame by encoding.

[0540] It is understood that the image encoding terminal 4400 can implement the image encoding method described in any of the above embodiments. More descriptions may be found in the related descriptions of the above method embodiments, which are not repeated here.

[0541] FIG. 45 is a schematic structural diagram illustrating an exemplary decoding terminal according to some embodiments of the present disclosure. A decoding terminal 4500 may include a reference video frame module 4510, a motion decoding module 4520, and a motion compensation module 4530.

[0542] The reference video frame module 4510 may be configured obtain a preset count of reference video frames.

[0543] The motion decoding module 4520 may be configured to obtain decoded motion information by decoding motion encoded data. The motion encoded data may be obtained by encoding motion information at the encoding terminal. The motion information may be obtained by performing motion estimation on a target original video frame and the preset count of reference video frames.

[0544] The motion compensation module 4530 may be configured to obtain prediction information by performing motion compensation on the preset count of reference video frames based on the motion information. The prediction information may be configured to obtain a current video frame of the target original video frame by decoding.

[0545] For the above embodiments, the present disclosure provides an encoding terminal for implementing the operations of any embodiment of the above image encoding method.

[0546] FIG. 46 is a schematic structural diagram illustrating an exemplary encoding terminal according to some embodiments of the present disclosure. An encoding terminal 4600 may include a reference determination module 4610, a motion estimation module 4620, and a motion compensation module 4630.

[0547] The reference determination module 4610 may be configured to obtain a target original video frame and determine a preset count of reference video frames.

[0548] The motion estimation module 4620 may be configured to obtain motion information by performing motion estimation on the target original video frame and the preset count of reference video frames.

[0549] The motion compensation module 4630 may be configured to obtain prediction information by performing motion compensation on the preset count of reference video frames based on the motion information. The motion information and the prediction information may be configured to obtain a target original video frame bitstream of the target original video frame by encoding.

[0550] It should be understood that the systems and the modules shown in FIGs. 41-46 may be implemented in various ways. For example, in some embodiments, the systems and the modules may be implemented by hardware, software, or a combination thereof. The hardware part may be implemented using dedicated logic; the software part may be stored in a memory and executed by an appropriate instruction execution system, such as a microprocessor or dedicated design hardware. Those skilled in the art can understand that the above methods and systems can be implemented using computer executable instructions and / or included in processor control codes, including carrier media such as disks, CDs or DVD-ROMs, programmable memories such as read-only memories (firmware) , or data carriers such as optical or electronic signal carriers. Such codes are provided on the system and the modules of the present disclosure. The systems and the modules of the present disclosure can be implemented by the hardware circuits such as ultra-large-scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc. be implemented, implemented by software executed by various types of processors, and can also be implemented by a combination (e.g., firmware) of the above hardware circuits and software.

[0551] It should be noted that the above description of each system and the modules is only for the convenience of description and does not limit the present disclosure to the scope of the embodiments. It is understood that for those skilled in the art, after understanding the principle of the system, it is possible to arbitrarily combine the modules or form a subsystem connected with other modules without deviating from this principle. For example, each module can share a storage module, or each module can have its own storage module. Such variations are all within the scope of protection of the present disclosure.

[0552] Having thus described the basic concepts, it may be rather apparent to those skilled in the art after reading this detailed disclosure that the foregoing detailed disclosure is intended to be presented by way of example only and is not limiting. Various alterations, improvements, and modifications may occur and are intended to those skilled in the art, though not expressly stated herein. These alterations, improvements, and modifications are intended to be suggested by this disclosure and are within the spirit and scope of the exemplary embodiments of this disclosure.

[0553] Moreover, certain terminology has been used to describe embodiments of the present disclosure. For example, the terms “one embodiment, ” “an embodiment, ” and “some embodiments” mean that a particular feature, structure, or feature described in connection with the embodiment is included in at least one embodiment of the present disclosure. Therefore, it is emphasized and should be appreciated that two or more references to “an embodiment” or “one embodiment” or “an alternative embodiment” in various portions of this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or features may be combined as suitable in one or more embodiments of the present disclosure.

[0554] Furthermore, the recited order of processing elements or sequences, or the use of numbers, letters, or other designations therefore, is not intended to limit the claimed processes and methods to any order except as may be specified in the claims. Although the above disclosure discusses through various examples what is currently considered to be a variety of useful embodiments of the disclosure, it is to be understood that such detail is solely for that purpose and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover modifications and equivalent arrangements that are within the spirit and scope of the disclosed embodiments. For example, although the implementation of various parts described above may be embodied in a hardware device, it may also be implemented as a software only solution, e.g., an installation on an existing server or mobile device.

[0555] Similarly, it should be appreciated that in the foregoing description of embodiments of the present disclosure, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the various embodiments. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed subject matter requires more features than are expressly recited in each claim. Rather, claimed subject matter may lie in less than all features of a single foregoing disclosed embodiment.

[0556] In some embodiments, numbers describing the number of ingredients and attributes are used. It should be understood that such numbers used for the description of the embodiments use the modifier “about” , “approximately” , or “substantially” in some examples. Unless otherwise stated, “about” , “approximately” , or “substantially” indicates that the number is allowed to vary by ±20%. Correspondingly, in some embodiments, the numerical parameters used in the description and claims are approximate values, and the approximate values may be changed according to the required features of individual embodiments. In some embodiments, the numerical parameters should consider the prescribed effective digits and adopt the method of general digit retention. Although the numerical ranges and parameters used to confirm the breadth of the range in some embodiments of the present disclosure are approximate values, in specific embodiments, settings of such numerical values are as accurate as possible within a feasible range.

[0557] For each patent, patent application, patent application publication, or other materials cited in the present disclosure, such as articles, books, specifications, publications, documents, or the like, the entire contents of which are hereby incorporated into the present disclosure as a reference. The application history documents that are inconsistent or conflict with the content of the present disclosure are excluded, and the documents that restrict the broadest scope of the claims of the present disclosure (currently or later attached to the present disclosure) are also excluded. It should be noted that if there is any inconsistency or conflict between the description, definition, and / or use of terms in the auxiliary materials of the present disclosure and the content of the present disclosure, the description, definition, and / or use of terms in the present disclosure is subject to the present disclosure.

[0558] Finally, it should be understood that the embodiments described in the present disclosure are only used to illustrate the principles of the embodiments of the present disclosure. Other variations may also fall within the scope of the present disclosure. Therefore, as an example and not a limitation, alternative configurations of the embodiments of the present disclosure may be regarded as consistent with the teaching of the present disclosure. Accordingly, the embodiments of the present disclosure are not limited to the embodiments introduced and described in the present disclosure explicitly.

Claims

1.A video encoding method, comprising:obtaining reference information corresponding to one or more reference video frames, the one or more reference video frames being selected from one or more decoded video frames of an original video stream;determining motion information between at least one of the one or more reference video frames and a target original video frame of the original video stream;obtaining motion encoded data by encoding the motion information;determining, based on the motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame;determining difference information between the target original video frame and the prediction information; andobtaining context encoded data by encoding the difference information.2.The video encoding method of claim 1, wherein the one or more reference video frames are selected from one or more decoded video frames corresponding to one or more original video frames of the original video stream that are located before the target original video frame, and / or one or more decoded video frames corresponding to one or more original video frames of the original video stream that are located after the target original video frame.3.The video encoding method of claim 1 or 2, further comprising:determining an identifier of the one or more reference video frames; andtransmitting the identifier, the motion encoded data, and the context encoded data to a decoding terminal.4.The video encoding method of any one of claims 1-3, further comprising:determining a quality assessment index for each of the one or more decoded video frames of the original video stream; andselecting, based on the quality assessment index, the one or more reference video frames from the one or more decoded video frames.5.The video encoding method of any one of claims 1-3, further comprising:obtaining a plurality of decoded video frames of the original video stream;determining, based on the plurality of decoded video frames, a plurality of candidate reference groups, each of the plurality of candidate reference groups including a preset count of decoded video frames of the plurality of decoded video frames;for each of the plurality of candidate reference groups,generating a first reconstructed frame by performing, based on the decoded video frames in the candidate reference group, encoding and decoding on the target original video frame; anddetermining a cost index based on the target original video frame and the first reconstructed frame;determining, based on the cost indexes of the plurality of candidate reference groups, a target reference group from the plurality of candidate reference groups; anddetermining the decoded video frames in the target reference group as the one or more reference video frames.6.The video encoding method of claim 5, wherein the determining, based on the plurality of decoded video frames, a plurality of candidate reference groups includes:determining a selection window, a length of the selection window being k frames, k being an integer greater than 0; andobtaining the plurality of candidate reference groups based on the plurality of decoded video frames by performing window sliding using the selection window based on a preset step size and a preset direction.7.The video encoding method of claim 5 or 6, wherein the generating a first reconstructed frame by performing, based on the decoded video frames in the candidate reference group, encoding and decoding on the target original video frame includes:obtaining first reference information corresponding to the decoded video frames in the candidate reference group;determining first motion information between at least one of the decoded video frames in the candidate reference group and the target original video frame;determining, based on the first reference information and the first motion information, first prediction information corresponding to the target original video frame;determining first difference information between the target original video frame and the first prediction information;obtaining first encoded data by encoding the first difference information; andgenerating the first reconstructed frame by performing decoding based on the first reference information, the first motion information, and the first encoded data.8.The video encoding method of any one of claims 5-7, wherein the cost index reflects a difference between the first reconstructed frame and the target original video frame, and / or the cost index is positively correlated with the difference and a data volume of the first encoded data.9.The video encoding method of any one of claims 1-8, wherein the obtaining reference information corresponding to one or more reference video frames includes:obtaining the reference information corresponding to the one or more reference video frames by processing the one or more reference video frames through a reference information generation network, the reference information generation network including a machine learning model.10.The video encoding method of any one of claims 1-9, wherein the determining motion information between at least one of the one or more reference video frames and a target original video frame of the original video stream includes:obtaining one or more pieces of motion information by determining, for each of the one or more reference video frames, a piece of motion information between the reference video frame and the target original video frame.11.The video encoding method of claim 10, wherein the obtaining motion encoded data by encoding the motion information includes:obtaining combined motion information by combining the one or more pieces of motion information; andobtaining the motion encoded data by encoding the combined motion information.12.The video encoding method of claim 11, wherein the determining, based on the motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame includes:obtaining decoded combined motion information by decoding the motion encoded data;obtaining combined reference information by combining the reference information corresponding to the one or more reference video frames; andobtaining the prediction information based on the decoded combined motion information and the combined reference information.13.The video encoding method of claim 10, wherein the obtaining motion encoded data by encoding the motion information includes:for each of the one or more pieces of motion information, obtaining a piece of motion encoded data by encoding the piece of motion information.14.The video encoding method of claim 10, wherein the obtaining motion encoded data by encoding the motion information includes:for one of the one or more pieces of motion information, obtaining a piece of motion encoded data by encoding the piece of motion information using, as a reference, other piece of motion information in the one or more pieces of motion information.15.The video encoding method of claim 10, wherein a count of the one or more pieces of motion information is L, L being an integer greater than 1; and the obtaining motion encoded data by encoding the motion information includes:obtaining a first piece of motion encoded data by encoding a first piece of motion information among the one or more pieces of motion information; andobtaining, based on an (n-1) th piece of motion information of the one or more pieces of motion information, an nth piece of motion encoded data by encoding an nth piece of motion information among the one or more pieces of motion information, n=2, 3, …, L.16.The video encoding method of any one of claims 13-15, wherein the determining, based on the motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame includes:for each of one or more pieces of motion encoded data of the one or more pieces of motion information, obtaining a piece of decoded motion information by decoding the piece of motion encoded data;for each of the one or more reference video frames, determining a piece of intermediate prediction information based on the reference information corresponding to the reference video frame and the piece of decoded motion information corresponding to the reference video frame; andobtaining the prediction information by combining the one or more pieces of intermediate prediction information of the one or more reference video frames.17.The video encoding method of any one of claims 1-9, wherein the determining motion information between at least one of the one or more reference video frames and a target original video frame of the original video stream includes:determining motion information corresponding to an adjacent reference video frame of the one or more reference video frames, wherein an original video frame corresponding to the adjacent reference video frame is adjacent to the target original video frame, and the motion information corresponding to the adjacent reference video frame is motion information between the adjacent reference video frame and the target original video frame.18.The video encoding method of claim 17, wherein the determining, based on the motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame includes:obtaining decoded motion information corresponding to the adjacent reference video frame by decoding the motion encoded data;determining prediction motion information corresponding to each of one or more temporal reference video frames of the one or more reference video frames based on the decoded motion information and reference information corresponding to the adjacent reference video frame, and reference information corresponding to each of the one or more temporal reference video frames, wherein reference video frames other than the adjacent reference video frame in the one or more reference video frames are the one or more temporal reference video frames;determining first prediction information based on the reference information of the adjacent reference video frame and the decoded motion information corresponding to the adjacent reference video frame;determining second prediction information based on the reference information of the one or more temporal reference video frames and the prediction motion information corresponding to the one or more temporal reference video frames; andobtaining the prediction information by combining the first prediction information and the second prediction information.19.The video encoding method of claim 17, wherein the determining motion information between at least one of the one or more reference video frames and a target original video frame of the original video stream further includes:determining motion information corresponding to each of one or more temporal reference video frames, wherein reference video frames other than the adjacent reference video frame in the one or more reference video frames are the one or more temporal reference video frames, the motion information corresponding to each of the one or more temporal reference video frames is motion information between the temporal reference video frame and a reference video frame adjacent to the temporal reference video frame among the one or more reference video frames;the obtaining motion encoded data by encoding the motion information includes:obtaining the motion encoded data by encoding the motion information corresponding to the adjacent reference video frame and the motion information corresponding to each of the one or more temporal reference video frames.20.The video encoding method of claim 19, wherein the determining, based on the motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame includes:obtaining decoded motion information corresponding to the adjacent reference video frame and decoded motion information corresponding to each of the one or more temporal reference video frames by decoding the motion encoded data;determining cross-frame motion information corresponding to each of the one or more temporal reference video frames based on the target original video frame, the decoded motion information and reference information corresponding to the adjacent reference video frame, and the decoded motion information and reference information corresponding to the one or more temporal reference video frames, the cross-frame motion information corresponding to each of the one or more temporal reference video frames reflecting motion information between the temporal reference video frame and the target original video frame;determining third prediction information based on the reference information and the decoded motion information corresponding to the adjacent reference video frame;determining fourth prediction information based on the reference information and the cross-frame motion information corresponding to the one or more temporal reference video frames; andobtaining the prediction information by combining the third prediction information and the fourth prediction information.21.The video encoding method of claim 20, wherein a count of the one or more temporal reference video frames is N, N being an integer greater than 1; andthe determining cross-frame motion information corresponding to each of the one or more temporal reference video frames based on the target original video frame, the decoded motion information and reference information corresponding to the adjacent reference video frame, and the decoded motion information and reference information corresponding to the one or more temporal reference video frames includes:determining cross-frame motion information corresponding to a first temporal reference video frame among the one or more temporal reference video frames based on the target original video frame, the reference information and the decoded motion information corresponding to the adjacent reference video frame, and reference information and decoded motion information corresponding to the first temporal reference video frame;determining cross-frame motion information corresponding to an mth temporal reference video frame among the one or more temporal reference video frames based on the target original video frame, the reference information and the decoded motion information corresponding to the adjacent reference video frame, reference information and decoded motion information corresponding to the mth temporal reference video frame, and the cross-frame motion information corresponding to an (m-1) th temporal reference video frame, m=2, 3, …, N.22.The video encoding method of any one of claims 1-21, wherein the determining, based on the motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame includes:obtaining decoded motion information between the at least one of the one or more reference video frames and the target original video frame by decoding the motion encoded data; anddetermining, based on the decoded motion information and the reference information corresponding to the one or more reference video frames, the prediction information corresponding to the target original video frame.23.A video encoding system, comprising:a first acquisition module configured to obtaining reference information corresponding to one or more reference video frames, the one or more reference video frames being selected from one or more decoded video frames of an original video stream;a first determination module configured to determine motion information between at least one of the one or more reference video frames and a target original video frame of the original video stream;a first encoding module configured to obtain motion encoded data by encoding the motion information;a second determination module configured to determine, based on the motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame;a third determination module configured to determine difference information between the target original video frame and the prediction information; anda second encoding module configured to obtain context encoded data by encoding the difference information.24.A video encoding device, comprising a processor configured to execute the video encoding method of any one of claims 1-22.25.A non-transitory computer readable medium, comprising at least one set of instructions, wherein when executed by one or more processors of a computing device, the at least one set of instructions causes the computing device to perform the video encoding method of any one of claims 1-22.26.A video decoding method, comprising:obtaining reference information corresponding to one or more reference video frames, the one or more reference video frames being selected from one or more decoded video frames of an original video stream;obtaining decoded motion information between at least one of the one or more reference video frames and a target original video frame of the original video stream by decoding motion encoded data from an encoding terminal;determining, based on the decoded motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame;obtaining decoded difference information between the target original video frame and the prediction information by decoding context encoded data from the encoding terminal; andobtaining, based on the decoded difference information and the prediction information, a reconstructed frame corresponding to the target original video frame.27.The video decoding method of claim 26, wherein the one or more reference video frames are selected from one or more decoded video frames corresponding to one or more original video frames of the original video stream that are located before the target original video frame, and / or one or more decoded video frames corresponding to one or more original video frames of the original video stream that are located after the target original video frame.28.The video decoding method of claim 26 or 27, further comprising:obtaining an identifier of the one or more reference video frames from the encoding terminal; anddetermining, based on the identifier, the one or more reference video frames from the one or more decoded video frames of the original video stream.29.The video decoding method of any one of claims 26-28, wherein the motion encoded data from the encoding terminal is generated by obtaining combined motion information by combining one or more pieces of motion information each of which is between one of the one or more reference video frames and the target original video frame, and encoding the combined motion information; andthe decoded motion information between the at least one of the one or more reference video frames and the target original video frame of the original video stream includes decoded combined motion information.30.The video decoding method of claim 29, wherein the determining, based on the decoded motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame includes:obtaining combined reference information by combining the reference information corresponding to the one or more reference video frames; anddetermining the prediction information based on the decoded combined motion information and the combined reference information.31.The video decoding method of any one of claims 26-28, wherein the motion encoded data includes one or more pieces of motion encoded data each of which is obtained by encoding one of one or more pieces of motion information, and each of the one or more pieces of motion information is between one of the one or more reference video frames and the target original video frame.32.The video decoding method of claim 31, wherein a count of the one or more pieces of motion encoded data is L, L being an integer greater than 1; and the obtaining decoded motion information between at least one of the one or more reference video frames and the target original video frame of the original video stream includes:obtaining a first piece of decoded motion information by decoding a first piece of motion encoded data of the one or more pieces of motion encoded data; andobtaining, based on an (n-1) th piece of decoded motion information, an nth piece of decoded motion information by decoding an nth piece of motion encoded data of the one or more pieces of motion encoded data, n=2, 3, …, L.33.The video decoding method of claim 31 or 32, wherein the determining, based on the decoded motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame includes:obtaining, based on the reference information and the piece of decoded motion information corresponding to each of the one or more reference video frames, one or more pieces of intermediate prediction information; andobtaining the prediction information by combining the one or more pieces of intermediate prediction information.34.The video decoding method of any one of claims 26-28, whereinthe decoded motion information between at least one of the one or more reference video frames and the target original video frame includes decoded motion information corresponding to an adjacent reference video frame, wherein an original video frame of the adjacent reference video frame is adjacent to the target original video frame, and the decoded motion information corresponding to the adjacent reference video frame is decoded motion information between the adjacent reference video frame and the target original video frame.35.The video decoding method of claim 34, wherein the determining, based on the decoded motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame includes:determining, based on the decoded motion information and reference information corresponding to the adjacent reference video frame, and reference information corresponding to one or more temporal reference video frames, prediction motion information corresponding to each of the one or more temporal reference video frames, wherein reference video frames other than the adjacent reference video frame among the one or more reference video frames are the one or more temporal reference video frames;determining first prediction information based on the reference information of the adjacent reference video frame and the decoded motion information corresponding to the adjacent reference video frame;determining second prediction information based on the reference information of the one or more temporal reference video frames and the prediction motion information corresponding to the one or more temporal reference video frames; anddetermining the prediction information by combining the first prediction information and the second prediction information.36.The video decoding method of claim 34, whereinthe decoded motion information between at least one of the one or more reference video frames and the target original video frame further includes decoded motion information corresponding to each of one or more temporal reference video frames, reference video frames other than the adjacent reference video frame among the one or more reference video frames are the one or more temporal reference video frames, and the decoded motion information corresponding to each of the one or more temporal reference video frames is decoded motion information between the temporal reference video frame and a reference video frame adjacent to the temporal reference video frame among the one or more reference video frames.37.The video decoding method of claim 36, wherein the determining, based on the decoded motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame includes:determining cross-frame motion information corresponding to each of the one or more temporal reference video frames based on the target original video frame, the decoded motion information and reference information corresponding to the adjacent reference video frame, and the decoded motion information and reference information corresponding to the one or more temporal reference video frames, the cross-frame motion information corresponding to each of the one or more temporal reference video frames reflecting motion information between the temporal reference video frame and the target original video frame;determining third prediction information based on the reference information and the decoded motion information corresponding to the adjacent reference video frame;determining fourth prediction information based on the reference information and the cross-frame motion information corresponding to the one or more temporal reference video frames; andobtaining the prediction information by combining the third prediction information and the fourth prediction information.38.The video decoding method of claim 37, wherein a count of the one or more temporal reference video frames is N, N being an integer greater than 1; andthe determining, based on the target original video frame, the decoded motion information and reference information corresponding to the adjacent reference video frame, and the decoded motion information and reference information corresponding to the one or more temporal reference video frames, cross-frame motion information corresponding to each of the one or more temporal reference video frames includes:determining cross-frame motion information corresponding to a first temporal reference video frame among the one or more temporal reference video frames based on the target original video frame, the reference information and the decoded motion information corresponding to the adjacent reference video frame, and reference information and decoded motion information corresponding to the first temporal reference video frame;determining cross-frame motion information corresponding to an mth temporal reference video frame among the one or more temporal reference video frames based on the target original video frame, the reference information and the decoded motion information corresponding to the adjacent reference video frame, reference information and decoded motion information corresponding to the mth temporal reference video frame, and cross-frame motion information corresponding to (m-1) th temporal reference video frame, m=2, 3, …, N.39.A video decoding system, comprising:a second acquisition module configured to obtain reference information corresponding to one or more reference video frames; the one or more reference video frames being selected from one or more decoded video frames of an original video stream;a first decoding module configured to obtain decoded motion information between at least one of the one or more reference video frames and a target original video frame of the original video stream by decoding motion encoded data from an encoding terminal;a fourth determination module configured to determine, based on the decoded motion information and the reference information corresponding to the one or more reference video frames, prediction information corresponding to the target original video frame;a second decoding module configured to obtain decoded difference information between the target original video frame and the prediction information by decoding context encoded data from the encoding terminal; anda reconstruction module configured to obtain, based on the decoded difference information and the prediction information, a reconstructed frame corresponding to the target original video frame.40.A video decoding device, comprising a processor configured to execute the video decoding method of any one of claims 26-38.41.A non-transitory computer readable medium, comprising at least one set of instructions, wherein when executed by one or more processors of a computing device, the at least one set of instructions causes the computing device to perform the video decoding method of any one of claims 26-38.

Citation Information

Patent Citations

  • End-to-end intelligent video coding method and device

    CN115278262A

  • Video frame decoding method and device and electronic equipment

    CN118301363A

  • Bidirectional inter-frame prediction guided video coding method

    CN118301366A

  • A method, an apparatus and a computer program product for video encoding and video decoding

    EP4156691A2

  • Method and apparatus of neural network based processing in video coding

    US20180249158A1