Data processing method and apparatus, device, and storage medium
By acquiring frame-level parameters and global parameters, determining the temporal parameter change flags, and employing appropriate frame interpolation and sampling methods, the problem of low video encoding and decoding efficiency in existing technologies is solved, achieving more efficient and accurate video data processing.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER
- Filing Date
- 2025-10-30
- Publication Date
- 2026-05-07
AI Technical Summary
Existing frame-slicing coding techniques are insufficient to meet user needs, resulting in low video encoding and decoding efficiency.
By obtaining the frame-level parameters of the current frame, determining the temporal parameter change flag, and performing frame interpolation based on the frame-level parameters and global parameters, including changes in sampling rate, interpolation method, and sampling interval frame number, video interpolation is performed using forward or backward interpolation methods.
It improves the efficiency and accuracy of video encoding and decoding, and optimizes the video data processing flow.
Smart Images

Figure CN2025131449_07052026_PF_FP_ABST
Abstract
Description
Data processing methods, apparatus, equipment and storage media
[0001] This application claims priority to Chinese Patent Application No. 202411535551.8, filed on October 30, 2024, entitled “Data Processing Method, Apparatus, Device, and Storage Medium,” and to Chinese Patent Application No. 202411596761.8, filed on November 8, 2024, both entitled “Data Processing Method, Apparatus, Device, and Storage Medium,” the entire contents of which are incorporated herein by reference. Technical Field
[0002] This disclosure relates to the field of computer technology, and in particular to a data processing method, apparatus, device and storage medium. Background Technology
[0003] With the development of technology, the speed of information transmission has increased significantly. Currently, video information constitutes a large proportion of the transmitted information. In the process of information transmission, frame extraction coding technology is a commonly used technique in the field of signal coding technology. Summary of the Invention
[0004] This disclosure provides a data processing method, apparatus, device, and storage medium.
[0005] Other features and advantages of this disclosure will become apparent from the following detailed description, or may be learned in part from practice of this disclosure.
[0006] According to one aspect of this disclosure, a data processing method is provided, applied at a decoding end, comprising: obtaining frame-level parameters corresponding to the current frame; determining whether a temporal parameter change flag is set based on the frame-level parameters; and, if the temporal parameter change flag is not set, performing frame interpolation based on global parameters.
[0007] In one embodiment of this disclosure, the temporal parameter change flag position includes at least one of sampling rate change, frame interpolation method change, and sampling interval frame number change.
[0008] In one embodiment of this disclosure, the number of sampling interval frames includes the number of sampling frames and the number of prediction frames.
[0009] In one embodiment of this disclosure, the sampling rate includes the sampling rate in the case of forward and backward frame interpolation.
[0010] In one embodiment of this disclosure, the method further includes: when the temporal parameter change flag is in position, performing frame interpolation based on the frame interpolation method in the frame-level parameters.
[0011] In one embodiment of this disclosure, frame interpolation based on the interpolation method in the frame-level parameters includes: obtaining historical interpolation methods; when the historical interpolation method is forward-backward interpolation and the interpolation method in the frame-level parameters is backward interpolation: in response to interpolating the portion before the current frame, the forward-backward interpolation method is used to interpolate the current frame; in response to interpolating the portion after the current frame, the backward interpolation method is used to interpolate the current frame.
[0012] In one embodiment of this disclosure, when the temporal parameter change flag is set, frame interpolation is performed based on the interpolation method in the frame-level parameters, including: in response to the frame interpolation method in the frame-level parameters being backward interpolation, obtaining an initial reference frame sequence based on frame data in the bitstream, the initial reference frame sequence including sampled frames obtained based on the frame data in the bitstream; determining whether the number of reference frames in the initial reference frame sequence reaches a preset threshold, wherein the preset threshold is determined by the number of sampled frames in the frame-level parameters; and if the number of reference frames in the initial reference frame sequence reaches the preset threshold, determining the current prediction frame based on the initial reference frame sequence using a prediction model.
[0013] In one embodiment of this disclosure, when the temporal parameter change flag is in position, frame interpolation based on the interpolation method in the frame-level parameters further includes: updating the current prediction count and inputting the current predicted frame into the current reference frame sequence to obtain an updated current reference frame sequence; determining whether the current prediction count has reached a preset count threshold, the preset count threshold being obtained based on the number of predicted frames in the frame-level parameters and the number of predicted frames obtained by the prediction model each time; if the current prediction count has not reached the preset count threshold, determining the current predicted frame based on the current reference frame sequence through the prediction model, and then returning to the step of updating the current prediction count.
[0014] In one embodiment of this disclosure, when the time-domain parameter change flag is not set, frame interpolation is performed based on global parameters, including: responding to the frame interpolation method in the global parameters being backward frame interpolation, obtaining an initial reference frame sequence based on frame data in the bitstream, the initial reference frame sequence including sampled frames obtained based on the frame data in the bitstream; determining whether the number of reference frames in the initial reference frame sequence reaches a preset threshold, wherein the preset threshold is determined by the number of sampled frames in the global parameters; if the number of reference frames in the initial reference frame sequence reaches the preset threshold, determining the current prediction frame based on the initial reference frame sequence using a prediction model.
[0015] In one embodiment of this disclosure, when the temporal parameter change flag is not set, frame interpolation based on global parameters further includes: updating the current prediction count and inputting the current predicted frame into the current reference frame sequence to obtain an updated current reference frame sequence; determining whether the current prediction count has reached a preset count threshold, the preset count threshold being obtained based on the number of predicted frames in the global parameters and the number of predicted frames obtained by the prediction model each time; if the current prediction count has not reached the preset count threshold, determining the current predicted frame based on the current reference frame sequence using the prediction model, and then returning to the step of updating the current prediction count.
[0016] In one embodiment of this disclosure, the method further includes: acquiring a current frame; acquiring frame-level parameters corresponding to the current frame, including: when the current frame is acquired, acquiring frame temporal information corresponding to the current frame, wherein the frame temporal information includes the frame-level parameters.
[0017] In one embodiment of this disclosure, when the time-domain parameter change flag is not set, frame interpolation is performed based on global parameters, including: interpolating the current frame based on the interpolation method in the global parameters to obtain multiple predicted frames of the current frame; in response to the recovery data end marker in the bitstream data, obtaining the number of remaining frames corresponding to the current frame from the information corresponding to the recovery data end marker; in response to interpolating the current frame using a backward interpolation method, if the number of remaining frames is a first number greater than zero, retaining a first number of predicted frames from the multiple predicted frames.
[0018] In one embodiment of this disclosure, when the time-domain parameter change flag is not set, performing frame interpolation based on global parameters further includes: in response to performing frame interpolation on the current frame using a backward frame interpolation method, when the number of remaining frames is zero, not retaining the plurality of predicted frames.
[0019] In one embodiment of this disclosure, when the time-domain parameter change flag is not set, performing frame interpolation based on global parameters further includes: in response to performing frame interpolation on the current frame using a forward and backward frame interpolation method, when the number of remaining frames is a second number greater than zero, copying the current frame to obtain a copied frame, and retaining the second number of copied frames.
[0020] In one embodiment of this disclosure, when the temporal parameter change flag is set, frame interpolation is performed based on the interpolation method in the frame-level parameters, including: interpolating the current frame based on the interpolation method in the frame-level parameters to obtain multiple predicted frames of the current frame; in response to the recovery data end marker in the bitstream data, obtaining the number of remaining frames corresponding to the current frame from the information corresponding to the recovery data end marker; in response to interpolating the current frame using a backward interpolation method, if the number of remaining frames is a first number greater than zero, retaining a first number of predicted frames among the multiple predicted frames.
[0021] In one embodiment of this disclosure, when the temporal parameter change flag is set, performing frame interpolation based on the interpolation method in the frame-level parameters further includes: in response to performing frame interpolation for the current frame using a backward interpolation method, not retaining the plurality of predicted frames when the number of remaining frames is zero.
[0022] In one embodiment of this disclosure, when the time-domain parameter change flag is set, frame interpolation is performed based on the interpolation method in the frame-level parameters, and further includes: in response to performing frame interpolation on the current frame using a forward and backward interpolation method, when the number of remaining frames is a second number greater than zero, copying the current frame to obtain a copied frame, and retaining the second number of copied frames.
[0023] In one embodiment of this disclosure, when the temporal parameter change flag is not set, frame interpolation is performed based on global parameters, including: when the temporal sampling rate change flag is not set, obtaining the global parameters; and performing frame interpolation based on at least one of the sampling rate and sampling interval frame number in the global parameters according to the frame interpolation method in the global parameters.
[0024] In one embodiment of this disclosure, frame interpolation based on the interpolation method in the frame-level parameters includes: performing frame interpolation based on at least one of the sampling multiplier and the number of sampling interval frames in the frame-level parameters according to the interpolation method in the frame-level parameters.
[0025] In one embodiment of this disclosure, the method further includes: when the temporal parameter change flag is set, updating the global parameter based on at least one of the frame interpolation method, sampling rate, and sampling interval frame number in the frame-level parameters.
[0026] In one embodiment of this disclosure, the method includes: outputting images according to the corresponding image output times in the image sequence.
[0027] In one embodiment of this disclosure, the method further includes: in response to performing frame interpolation on the current frame using a backward interpolation method, performing frame interpolation on the current frame based on the backward interpolation method to obtain a plurality of predicted frames of the current frame, the current frame including the last sampled frame; and outputting a third number of predicted frames from the plurality of predicted frames according to the image sequence counting.
[0028] In one embodiment of this disclosure, the image sequence counting includes a target image sequence counting; the method further includes: in response to performing frame interpolation on the current frame using a forward and backward interpolation method, performing frame interpolation on the current frame based on the forward and backward interpolation method, the current frame including the last sampled frame; outputting frames in the buffer according to the image sequence counting, wherein, if the bitstream does not contain frame data corresponding to the target image sequence counting, the target image sequence counting corresponds to outputting the buffered frame corresponding to the previous image sequence counting in the buffer.
[0029] According to another aspect of this disclosure, a data processing method is provided, applied at an encoding end, comprising: encoding a video to obtain bitstream data, so that a decoding end implements any one of the data processing methods described in the above embodiments based on the bitstream data.
[0030] According to another aspect of this disclosure, a data processing apparatus is provided, applied at a decoding end, comprising: a first acquisition module, configured to acquire frame-level parameters corresponding to the current frame; a first determination module, configured to determine whether a temporal parameter change flag is set based on the frame-level parameters; and a first frame interpolation module, configured to perform frame interpolation based on global parameters when the temporal parameter change flag is not set.
[0031] In one embodiment of this disclosure, the temporal parameter change flag position includes at least one of sampling rate change, frame interpolation method change, and sampling interval frame number change.
[0032] In one embodiment of this disclosure, the number of sampling interval frames includes the number of sampling frames and the number of prediction frames.
[0033] In one embodiment of this disclosure, the sampling rate includes the sampling rate in the case of forward and backward frame interpolation.
[0034] In one embodiment of this disclosure, the first frame interpolation module is further configured to perform frame interpolation based on the frame interpolation method in the frame-level parameters when the temporal parameter change flag is in position.
[0035] In one embodiment of this disclosure, the first frame interpolation module is further configured to obtain a historical frame interpolation method; when the historical frame interpolation method is forward and backward frame interpolation and the frame interpolation method in the frame-level parameters is backward frame interpolation: in response to performing frame interpolation on the portion before the current frame, the forward and backward frame interpolation method is used to perform frame interpolation based on the current frame; in response to performing frame interpolation on the portion after the current frame, the backward frame interpolation method is used to perform frame interpolation based on the current frame.
[0036] In one embodiment of this disclosure, the first frame interpolation module is further configured to, in response to the frame interpolation method in the frame-level parameters being backward frame interpolation, obtain an initial reference frame sequence based on frame data in the bitstream, the initial reference frame sequence including sampled frames obtained based on the frame data in the bitstream; determine whether the number of reference frames in the initial reference frame sequence reaches a preset threshold, wherein the preset threshold is determined by the number of sampled frames in the frame-level parameters; and, if the number of reference frames in the initial reference frame sequence reaches the preset threshold, determine the current prediction frame based on the initial reference frame sequence using a prediction model.
[0037] In one embodiment of this disclosure, the first frame interpolation module is further configured to update the current prediction count and input the current predicted frame into the current reference frame sequence to obtain an updated current reference frame sequence; determine whether the current prediction count has reached a preset count threshold, the preset count threshold being obtained based on the number of predicted frames in the frame-level parameters and the number of predicted frames obtained by the prediction model each time; if the current prediction count has not reached the preset count threshold, determine the current predicted frame based on the current reference frame sequence through the prediction model, and then return to the step of updating the current prediction count.
[0038] In one embodiment of this disclosure, the first frame interpolation module is further configured to, in response to the frame interpolation mode being backward frame interpolation in the global parameters, obtain an initial reference frame sequence based on frame data in the bitstream, the initial reference frame sequence including sampled frames obtained based on frame data in the bitstream; determine whether the number of reference frames in the initial reference frame sequence reaches a preset threshold, wherein the preset threshold is determined by the number of sampled frames in the global parameters; and, if the number of reference frames in the initial reference frame sequence reaches the preset threshold, determine the current prediction frame based on the initial reference frame sequence using a prediction model.
[0039] In one embodiment of this disclosure, the first frame interpolation module is further configured to update the current prediction count and input the current predicted frame into the current reference frame sequence to obtain an updated current reference frame sequence; determine whether the current prediction count has reached a preset count threshold, the preset count threshold being obtained based on the number of predicted frames in the global parameters and the number of predicted frames obtained by the prediction model each time; if the current prediction count has not reached the preset count threshold, determine the current predicted frame based on the current reference frame sequence through the prediction model, and then return to the step of updating the current prediction count.
[0040] In one embodiment of this disclosure, the apparatus further includes a second acquisition module, configured to acquire a current frame from frame data in the bitstream; the first acquisition module is further configured to, upon acquiring the current frame, acquire frame temporal information corresponding to the current frame, the frame temporal information including the frame-level parameters.
[0041] In one embodiment of this disclosure, the first frame interpolation module is further configured to interpolate the current frame based on the frame interpolation method in the global parameters to obtain multiple predicted frames of the current frame; in response to the recovery data end marker in the bitstream data, to obtain the number of remaining frames corresponding to the current frame from the information corresponding to the recovery data end marker; and in response to interpolating the current frame using the backward frame interpolation method, if the number of remaining frames is a first number greater than zero, to retain a first number of predicted frames among the multiple predicted frames.
[0042] In one embodiment of this disclosure, the first frame interpolation module is further configured to, in response to performing frame interpolation on the current frame using a backward frame interpolation method, not retain the plurality of predicted frames when the number of remaining frames is zero.
[0043] In one embodiment of this disclosure, the first frame interpolation module is further configured to, in response to performing frame interpolation on the current frame using a forward and backward frame interpolation method, copy the current frame to obtain a copy frame when the number of remaining frames is a second number greater than zero, and retain the second number of copy frames.
[0044] In one embodiment of this disclosure, the first frame interpolation module is further configured to interpolate the current frame based on the frame interpolation method in the frame-level parameters to obtain a plurality of predicted frames of the current frame; in response to the recovery data end marker in the bitstream data, to obtain the number of remaining frames corresponding to the current frame from the information corresponding to the recovery data end marker; and in response to interpolating the current frame using the backward frame interpolation method, to retain a first number of predicted frames among the plurality of predicted frames if the number of remaining frames is a first number greater than zero.
[0045] In one embodiment of this disclosure, the first frame interpolation module is further configured to, in response to performing frame interpolation on the current frame using a backward frame interpolation method, not retain the plurality of predicted frames when the number of remaining frames is zero.
[0046] In one embodiment of this disclosure, the first frame interpolation module is further configured to, in response to performing frame interpolation on the current frame using a forward and backward frame interpolation method, copy the current frame to obtain a copy frame when the number of remaining frames is a second number greater than zero, and retain the second number of copy frames.
[0047] In one embodiment of this disclosure, the first frame interpolation module is further configured to obtain global parameters when the temporal sampling rate change flag is not set; and to perform frame interpolation based on at least one of the sampling rate and the number of sampling interval frames in the global parameters according to the frame interpolation method in the global parameters.
[0048] In one embodiment of this disclosure, the first frame interpolation module is further configured to perform frame interpolation according to the frame interpolation method in the frame-level parameters, based on at least one of the sampling multiplier and the number of sampling interval frames in the frame-level parameters.
[0049] In one embodiment of this disclosure, the apparatus further includes an update module, configured to update global parameters based on at least one of the frame-level parameters, namely, the frame interpolation method, the sampling rate, and the number of sampling interval frames, when the temporal parameter change flag is in position.
[0050] According to another aspect of this disclosure, a data processing apparatus is provided for use at an encoding end, comprising: an encoding module for encoding video to obtain bitstream data, so that a decoding end can implement any of the data processing methods described above based on the bitstream data.
[0051] According to another aspect of this disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the above-described data processing method by executing the executable instructions.
[0052] According to another aspect of this disclosure, a computer-readable storage medium is provided that stores a computer program thereon, which, when executed by a processor, implements the above-described data processing method.
[0053] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0054] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure. It is obvious that the drawings described below are merely some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.
[0055] Figure 1 shows a flowchart of a data processing method according to an embodiment of the present disclosure.
[0056] Figure 2 shows a flowchart of another data processing method in an embodiment of this disclosure.
[0057] Figure 3 shows a flowchart of another data processing method according to an embodiment of the present disclosure.
[0058] Figure 4 shows a frame interpolation schematic diagram according to an embodiment of the present disclosure.
[0059] Figure 5 shows a flowchart of another data processing method in an embodiment of this disclosure.
[0060] Figure 6 illustrates an exemplary implementation of step S130 in Figure 1 in another exemplary embodiment.
[0061] Figure 7 shows a flowchart of another data processing method according to an embodiment of the present disclosure.
[0062] Figure 8 illustrates an exemplary implementation of step S130 in Figure 1 in another exemplary embodiment.
[0063] Figure 9 shows a flowchart of another data processing method according to an embodiment of this disclosure.
[0064] Figure 10 shows a flowchart of another data processing method according to an embodiment of this disclosure.
[0065] Figure 11 shows a flowchart of another data processing method according to an embodiment of this disclosure.
[0066] Figure 12 shows a flowchart of another data processing method according to an embodiment of this disclosure.
[0067] Figure 13 shows a flowchart of another data processing method according to an embodiment of this disclosure.
[0068] Figure 14 shows a flowchart of another data processing method according to an embodiment of this disclosure.
[0069] Figure 15 shows a flowchart of another data processing method according to an embodiment of this disclosure.
[0070] Figure 16 shows a flowchart of another data processing method according to an embodiment of this disclosure.
[0071] Figure 17 shows an architecture diagram of a data processing apparatus according to an embodiment of the present disclosure.
[0072] Figure 18 shows an architecture diagram of another data processing apparatus in an embodiment of this disclosure.
[0073] Figure 19 shows a structural block diagram of an electronic device according to an embodiment of the present disclosure. Detailed Implementation
[0074] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, they are provided so that this disclosure will be more comprehensive and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0075] Furthermore, the accompanying drawings are merely illustrative of this disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0076] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0077] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.
[0078] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0079] It should be noted that no parameters are limited in this disclosure.
[0080] This disclosure applies to image input and feature tensor input.
[0081] Current frame-drop encoding techniques typically extract frames from a video at a fixed frame-drop ratio, and then encode the extracted video. However, with technological advancements, existing frame-dropping and interpolation methods are no longer sufficient to meet user needs. How to efficiently encode and decode video is a problem urgently needing to be solved in this field. To address these issues, embodiments of this disclosure provide a data processing method, apparatus, device, and storage medium that at least to some extent improves the efficiency of video encoding and decoding.
[0082] Figure 1 shows a flowchart of a data processing method according to an embodiment of this disclosure. The method shown in Figure 1 can be applied to a decoding end. As shown in Figure 1, the method may include the following steps S110 to S130.
[0083] S110, obtain the frame-level parameters corresponding to the current frame.
[0084] In some embodiments, the method provided in this disclosure can be applied to process video data, such as encoding video at an encoding end to obtain a video bitstream and transmitting it to a decoding end for decoding. The frame data in the bitstream received by the decoding end is the frame to be supplemented object. The frame data of the frame to be supplemented object may include multiple sampled frames, and the current frame may be at least one of these sampled frames. Frame-level parameters may be located in the bitstream.
[0085] In some embodiments, frame-level parameters can correspond to frames. Frame-level parameters can be determined after a frame is determined. It should be noted that frame-level parameters correspond to frames, but frames may not correspond to frame-level parameters.
[0086] In some embodiments, the method may further include:
[0087] Get the current frame.
[0088] If the current frame is obtained, the corresponding frame temporal information is obtained, which includes frame-level parameters.
[0089] In some embodiments, frame-level parameters may include frame interpolation methods. Frame interpolation methods may include forward and backward frame interpolation methods and backward frame interpolation methods.
[0090] In some embodiments, frame-level parameters may include sampling rate.
[0091] In some embodiments, the sampling rate includes the sampling rate in the case of forward and backward prediction.
[0092] In some embodiments, the sampling ratio TemporalInterpolationRatio can be determined by the following formula:
[0093] TemporalInterpolationRatio=2^(srd_temporal_interpolation_ratio_idx+1)
[0094] The value of srd_temporal_interpolation_ratio_idx ranges from 0, 1, and 2.
[0095] In some embodiments, the frame-level parameter may include the number of sampling interval frames.
[0096] For example, the frame interpolation method can be the current temporal restoration mode; the sampling ratio can be the current temporal interpolation ratio; and the number of frames in the sampling interval can be the current temporal extrapolation predict frames number or the current temporal extrapolation resample frames number.
[0097] In some embodiments, the number of sampling interval frames may include the number of sampling frames.
[0098] In some embodiments, the number of sampling frames can be TemporalExtrapolationResampleNum.
[0099] In some embodiments, the number of sampling frames, TemporalExtralationResampleNum, can be determined by the following formula:
[0100] srd_temporal_extrapolation_resample_num_idx+2 = number of sampling frames
[0101] In some embodiments, when srd_temporal_restoration_mode = 0, the bitstream does not contain the back-padding frame parameter srd_temporal_extrapolation_resample_num_idx.
[0102] In some embodiments, the sampling interval frame number may include the prediction frame number TemporalExtrapolationPredictNum[i].
[0103] For example, the sampling interval can be ResamplingLen, and the prediction interval can be RestorationLen.
[0104] In some embodiments, the number of predicted frames can be TemporalExtrapolationPredictNum.
[0105] In some embodiments, the number of predicted frames, TemporalExtrapolationPredictNum, can be determined by the following formula:
[0106] TemporalExtrapolationPredictNum=srd_temporal_extrapolation_predict_num_idx+1
[0107] In some embodiments, when srd_temporal_restoration_mode = 0, i.e., the interpolation mode is forward and backward interpolation, the bitstream does not contain srd_temporal_extrapolation_predict_num_idx. The value range of srd_temporal_extrapolation_predict_num_idx is 0, 1, and 2.
[0108] S120, determine whether to set the time-domain parameter change flag bit based on the frame-level parameters.
[0109] In some embodiments, the temporal sampling rate change flag may include prdTemChangedFlag being 1. In some embodiments, the temporal sampling rate change flag may include prd_temporal_resampling_ratio_changed_flag = 1.
[0110] In some embodiments, the temporal sampling rate change flag position includes at least one of sampling rate change, frame interpolation method change, and sampling interval frame number change. In some embodiments, the sampling interval frame number includes the number of sampled frames and the number of predicted frames.
[0111] In some embodiments, the temporal parameter change flag position includes at least one of sampling rate change, frame interpolation method change, and sampling interval frame number change, that is, the temporal sampling rate change flag position is set when at least one of sampling rate change, frame interpolation method change, and sampling interval frame number change occurs.
[0112] In some embodiments, when the temporal sampling rate change flag is set, the frame interpolation mode, TemporalRestorationMode[i], is updated. If the updated frame interpolation mode, TemporalRestorationMode[i] = 0, the sampling rate is also updated. That is, the sampling rate is updated for both forward and backward sampling. If the updated frame interpolation mode, TemporalRestorationMode[i] = 1, the number of sampling interval frames, namely the number of sampled frames, TemporalExtrapolationResampleNum[i], and the number of predicted frames, TemporalExtralationPredictNum[i], are also updated.
[0113] In some embodiments, when prd_temporal_resampling_ratio_changed = 1, TemporalInterpolationRatio[i] is updated by the following formula:
[0114] TemporalInterpolationRatio[i]=2^(prd_temporal_interpolation_ratio_idx);
[0115] In some embodiments, when prd_temporal_resampling_ratio_changed = 0, TemporalInterpolationRatio[i] is updated by the following formula:
[0116] TemporalInterpolationRatio[i]=TemporalInterpolationRatio[i-1].
[0117] In some embodiments, when prd_temporal_resampling_ratio_changed = 0 or prd_temporal_restoration_mode = 1, prd_temporal_interpolation_ratio_idx will not be in the bitstream. The value range of prd_temporal_interpolation_ratio_idx is 0, 1, 2, and 3. When prd_temporal_interpolation_ratio_idx = 0, it indicates that temporal forward and backward frame interpolation is disabled.
[0118] In some embodiments, when prd_temporal_resampling_ratio_changed = 1:
[0119] TemporalExtrapolationResampleNum[i]=prd_temporal_extrapolation_resample_num_idx+2.
[0120] Wherein, prd_temporal_extrapolation_resample_num_idx is a preset value, which can be 0 or 1. This disclosure does not specify a particular size for the preset value.
[0121] otherwise:
[0122] TemporalExtrapolationResampleNum[i]=TemporalExtrapolationResampleNum[i-1]
[0123] In some embodiments, when prd_temporal_resampling_ratio_changed = 0 or prd_temporal_restoration_mode = 0, prd_temporal_extrapolation_resample_num_idx is not present in the bitstream. The value range of prd_temporal_extrapolation_resample_num_idx is 0 and 1.
[0124] In some embodiments, when prd_temporal_resampling_ratio_changed = 1:
[0125] TemporalExtrapolationPredictNum[i]=prd_temporal_extrapolation_predict_num_idx
[0126] otherwise:
[0127] TemporalExtrapolationPredictNum[i]=TemporalExtrapolationPredictNum[i-1]
[0128] That is, the predicted frame number can be the historical predicted frame number, and the historical predicted frame number can be the previous predicted frame number.
[0129] In some embodiments, prd_temporal_extrapolation_predict_num_idx will not be in the bitstream when prd_temporal_resampling_ratio_changed = 0 or prd_temporal_restoration_mode = 0. The value range of prd_temporal_extrapolation_predict_num_idx is 0, 1, 2, and 3. prd_temporal_extrapolation_predict_num_idx = 0 indicates that temporal back-padding is currently disabled.
[0130] For example: any change in prd_temporal_resampling_ratio_idx, prd_temporal_extrapolation_flag, or prd_temporal_extra_resampling_length_idx is considered a change in the time-domain sampling ratio flag.
[0131] prd_temporal_resampling_ratio_idx indicates a change in the sampling ratio.
[0132] prd_temporal_extrapolation_flag indicates a change in the frame interpolation method or sampling method.
[0133] prd_temporal_extra_resampling_length_idx can cause changes in the number of frames inserted after sampling or the number of frames sampled at the sampling interval.
[0134] S130: If the time-domain parameter change flag is not set, perform frame interpolation based on global parameters.
[0135] In some embodiments, when the temporal sampling rate change flag is not set, frame interpolation is performed based on the interpolation strategy corresponding to the previous frame of the current frame. When the temporal sampling rate change flag is not set, the sampling rate, interpolation method, and sampling interval frame number remain unchanged.
[0136] In some embodiments, the fact that the temporal sampling rate change flag is not set may indicate that the frame interpolation method has not changed.
[0137] In some embodiments, keeping the frame interpolation method unchanged may include the current temporal reconstruction mode TemporalRestorationMode[i] = 0.
[0138] For example, if the current temporal reconstruction mode TemporalRestorationMode[i] = 0, and the current sampling ratio TemporalInterpolationRatio[i] is not equal to 1, then the current i-th image, the next (i+1) image, and the current sampling ratio TemporalInterpolationRatio[i] are used for temporal forward and backward frame interpolation.
[0139] In some embodiments, if the interpolation method is forward and backward interpolation, the predicted frame can be inserted between the current frame and the frames preceding the current frame. For example, the specific insertion position of the predicted frame can be determined based on global parameters, and this disclosure does not make any specific limitations.
[0140] In some embodiments, if the frame interpolation method is forward and backward frame interpolation, the predicted frame can be inserted between the current frame and the frames preceding the current frame. For example, the specific insertion position of the predicted frame can be determined based on the number of sampling interval frames, and this disclosure does not make any specific limitations.
[0141] In some embodiments, global parameters are obtained when the time-domain sampling rate change flag is not set.
[0142] Frame interpolation is performed based on at least one of the following global parameters: sampling rate, interpolation method, and sampling interval frame number.
[0143] In some embodiments, global parameters can be sequence-level parameters.
[0144] For example, sequence-level parameters may include RestorationRatio.
[0145] In some embodiments, when the temporal sampling rate change flag is set, the global parameters are updated based on the changed sampling rate, the changed frame interpolation method, and / or the changed sampling interval frame number.
[0146] For example, when prdTemChangedFlag is 1, the sequence-level parameter RestorationRatio is updated to the RestorationRatio corresponding to the current frame = curRestorationRatio = prd_temporal_resampling_ratio_idx.
[0147] In some embodiments, if the interpolation method is forward and backward interpolation, the predicted frame can be inserted between the current frame and the frames preceding the current frame. For example, the specific insertion position of the predicted frame can be determined based on frame-level parameters, and this disclosure does not make any specific limitations.
[0148] In some embodiments, if the frame interpolation method is forward and backward frame interpolation, the predicted frame can be inserted between the current frame and the frames preceding the current frame. For example, the specific insertion position of the predicted frame can be determined based on the number of sampling interval frames, and this disclosure does not make any specific limitations.
[0149] In some embodiments, the images are output according to the image output time corresponding to the Picture Order Count (POC).
[0150] The data processing method provided in the embodiments of this disclosure obtains frame-level parameters, determines whether the temporal sampling rate change flag is set based on the frame-level parameters, and performs frame interpolation based on the interpolation strategy corresponding to the previous frame of the current frame in the global parameters when the temporal sampling rate change flag is not set, thereby improving the efficiency of video encoding and decoding.
[0151] Figure 2 shows a flowchart of another data processing method according to an embodiment of this disclosure. The connection between Figure 2 and Figure 1 is that Figure 2 shows an exemplary implementation that differs from the determination result of step S120 in Figure 1.
[0152] As shown in Figure 2, the method shown in Figure 2 may include the following steps S210 to S230.
[0153] S210, obtain the frame-level parameters corresponding to the current frame;
[0154] S220, determine whether to set the time-domain parameter change flag bit based on the frame-level parameters.
[0155] S230, when the time-domain parameter change flag is in the position, performs frame interpolation based on the frame interpolation method in the frame-level parameters.
[0156] In some embodiments, frame interpolation is performed based on at least one of the sampling rate and the number of sampling interval frames in the frame-level parameters, according to the interpolation method in the frame-level parameters.
[0157] In some embodiments, S230 may include: performing frame interpolation based on the changed interpolation method and the changed sampling rate when the time-domain sampling rate change flag is set.
[0158] In some embodiments, S230 may include: when the temporal sampling rate change flag is set, performing frame interpolation based on the changed interpolation method and the changed sampling interval frame number. In some embodiments, this may be based on RestorationRatio = curRestorationRatio = prd_temporal_resampling_ratio_idx corresponding to the current frame.
[0159] In some embodiments, when the temporal parameter change flag is set, the global parameters corresponding to the object to be framed are updated based on at least one of the frame interpolation method, sampling rate, and sampling interval frame number in the frame-level parameters, thereby modifying the global parameters. The global parameters can also be updated based on information contained in the bitstream data.
[0160] In some embodiments, modifying global parameters includes modifying the sampling rate to obtain a modified sampling rate.
[0161] In some embodiments, frame interpolation can be performed based on the modified sampling rate and the interpolation method.
[0162] The data processing method provided in the embodiments of this disclosure obtains frame-level parameters, determines whether the temporal sampling rate change flag is set based on the frame-level parameters, and performs frame interpolation based on the frame-level parameters when the temporal sampling rate change flag is set, thereby improving the accuracy of video encoding and decoding.
[0163] Figure 3 shows a flowchart of another data processing method according to an embodiment of the present disclosure. Figure 3 illustrates an exemplary implementation of step S130 in Figure 1. The method shown in Figure 3 may include steps S310 to S330.
[0164] S310, obtain historical frame interpolation method.
[0165] In some embodiments, the historical frame interpolation method can be the frame interpolation method of the previous frame of the current frame.
[0166] S320, when the historical frame interpolation method is forward and backward frame interpolation and the frame interpolation method in the frame-level parameters is backward frame interpolation, responds to the part before the current frame by performing frame interpolation based on the current frame using the forward and backward frame interpolation method.
[0167] S330, in response to performing frame interpolation on the portion after the current frame, performs frame interpolation based on the current frame using a backward interpolation method.
[0168] In some embodiments, if the previous frame interpolation mode TemporalRestorationMode[i-1] is 0 and the current frame interpolation mode emporalRestorationMode[i] is 1, then forward and backward frame interpolation is performed based on the current frame, followed by backward frame interpolation. The previous frame interpolation mode can be a historical frame interpolation mode.
[0169] To provide a detailed explanation of the data processing method in the embodiments of this disclosure, Figure 4 shows a frame interpolation schematic diagram in an embodiment of this disclosure. As shown in Figure 4, the frame interpolation method used before the current frame is forward and backward frame interpolation. After the current frame is used as a reference frame to complete the prediction of the predicted frames before the current frame, it is then used as a reference frame to complete the prediction of the predicted frames after the current frame.
[0170] The data processing method provided in the embodiments of this disclosure, when the historical frame interpolation method is forward and backward frame interpolation and the frame interpolation method in the frame-level parameters is backward frame interpolation, performs frame interpolation on the part before the current frame using forward and backward frame interpolation and performs frame interpolation on the part after the current frame using backward frame interpolation, thereby improving the efficiency and accuracy of video encoding and decoding.
[0171] Figure 5 shows a flowchart of another data processing method according to an embodiment of this disclosure. Figure 5 illustrates an exemplary implementation of step S230 in Figure 1. The method shown in Figure 5 may include the following steps S510 to S530.
[0172] S510, in response to the frame interpolation method in the frame-level parameters being backward frame interpolation, obtains an initial reference frame sequence based on the frame data in the bitstream. The initial reference frame sequence includes the sampled frames obtained based on the frame data in the bitstream.
[0173] In some embodiments, the reference frame sequence may be a frameBuffer.
[0174] In this embodiment, all reference frames in the reference frame sequence are sampling frames.
[0175] S520, determine whether the number of reference frames in the initial reference frame sequence has reached a preset threshold, wherein the preset threshold is determined by the number of sampled frames in the frame-level parameters.
[0176] In some embodiments, after determining the number of sampling interval frames, the number of reference frames required to obtain the prediction frame can be determined, and the number of required reference frames is the preset threshold.
[0177] For example, the preset threshold can be M1.
[0178] In some embodiments, the method for determining the preset threshold can be based on the method for determining the preset threshold in the above embodiments, and is not specifically limited in this disclosure.
[0179] S530, when the number of reference frames in the initial reference frame sequence reaches a preset threshold, the current prediction frame is determined by the prediction model based on the initial reference frame sequence.
[0180] For example, a predicted frame can be obtained by making a prediction based on a video prediction model and a reference frame.
[0181] For example, a prediction frame can be obtained by using the extrapolation function and a reference frame.
[0182] In some embodiments, the current frame, reference frames in the reference sequence, and the number of sampling interval frames can be input into the prediction module to obtain the prediction frame.
[0183] In some embodiments, the reference sequence can be cleared when the interpolation ends or the interpolation method changes.
[0184] In some embodiments, after determining the predicted frame, the insertion position of the predicted frame in the frame-complementing segment can be determined according to the frame-complementing method and global parameters.
[0185] In some embodiments, if the interpolation method is backward interpolation, the predicted frame can be inserted after the current frame.
[0186] For example, when acquiring a new frame of data, if the acquisition is successful, the acquired frame data is pushed into the frameBuffer; otherwise, the remaining frame is processed, the temporal information of the current frame is acquired, and when prdTemChangedFlag is 1, the sequence-level parameter RestorationRatio is updated to the RestorationRatio corresponding to the current frame = curRestorationRatio = prd_temporal_resampling_ratio_idx. It is then checked whether the frameBuffer is full; if so, the frameBuffer and RestorationRatio are input to the extrapolation function to obtain RestorationRatio prediction frames. The sampled frame (frameBuffer) and prediction frames are saved sequentially. If the frameBuffer is empty, a new frame of data is acquired again.
[0187] The data processing method provided in the embodiments of this disclosure obtains frame-level parameters, determines whether the temporal sampling rate change flag is set based on the frame-level parameters, and performs backward frame interpolation based on the frame-level parameters when the temporal sampling rate change flag is set, thereby improving the accuracy of video encoding and decoding.
[0188] Figure 6 exemplarily illustrates an implementation of step S130 in Figure 1 in another exemplary embodiment. As shown in Figure 6, step S230 may further include steps S610 to S630. Figure 6 may be performed, for example, after Figure 5.
[0189] S610, update the current prediction count, and input the current prediction frame into the current reference frame sequence to obtain the updated current reference frame sequence.
[0190] In some embodiments, the reference frame may include a sampled frame and a predicted frame, wherein the predicted frame is a frame obtained through prediction.
[0191] In some embodiments, the reference frame sequence can be updated based on the predicted frame.
[0192] In some embodiments, after determining the predicted frame, the current frame can be input into the reference frame sequence, and the number of frames in the reference frame sequence can be incremented by 1.
[0193] In some embodiments, if the number of frames in the reference frame sequence exceeds a second preset threshold after the current frame is input into the reference frame sequence, then the reference frame with the longest duration in the reference frame sequence is deleted. The second preset threshold may be the same as a preset threshold.
[0194] In some embodiments, after the predicted frame is determined, the insertion position of the predicted frame in the interpolated frame segment can be determined according to the interpolation method and global parameters.
[0195] In some embodiments, if the interpolation method is backward interpolation, the predicted frame can be inserted after the current frame.
[0196] S620, determine whether the current prediction count has reached the preset count threshold. The preset count threshold is obtained based on the number of prediction frames in the frame-level parameters and the number of prediction frames obtained by the prediction model each time.
[0197] In some embodiments, the number of prediction frames obtained by the prediction model each time a prediction is made is determined based on the model's capabilities.
[0198] In some embodiments, the number of predictions is determined based on at least one of the number of sampled frames in the interpolated frame segment, the total number of frames in the interpolated frame segment, the number of sampling interval frames, and the prediction capability of the prediction model. The prediction capability of the prediction model includes the number of predicted frames obtained by the prediction model each time it makes a prediction.
[0199] S630: If the current prediction count has not reached the preset count threshold, the current prediction frame is determined by the prediction model based on the current reference frame sequence, and then the process returns to the step of updating the current prediction count.
[0200] In some embodiments, the reference frame may include a sampling frame and a prediction frame.
[0201] In some embodiments, the step of obtaining the predicted frame based on the updated reference frame sequence is repeated until the preset number of times is reached.
[0202] In some embodiments, after the number of repetitions reaches a preset number, all sampled frames and unsampled frames in the supplementary frame segment can be obtained.
[0203] In some embodiments, the method further includes:
[0204] Update the reference frame sequence;
[0205] The predicted frame is obtained based on the updated reference frame sequence;
[0206] Repeat the step of obtaining predicted frames based on the updated reference frame sequence until the number of sampled frames and predicted frames reaches the total number of frames in the interpolation segment.
[0207] In some embodiments, updating the reference frame sequence includes updating the reference frame sequence based on subsequent sampled frames and / or generated predicted frames.
[0208] In some embodiments, updating the reference frame sequence includes updating the reference sequence based solely on the generated prediction frames.
[0209] The data processing method provided in the embodiments of this disclosure obtains frame-level parameters and performs rolling backward frame interpolation according to the interpolation method parameter value in the frame-level parameters, thereby improving the accuracy of video encoding and decoding.
[0210] Figure 7 shows a flowchart of another data processing method according to an embodiment of this disclosure. Figure 7 illustrates another exemplary implementation of step S130 in Figure 1. The method shown in Figure 7 may include steps S710 to S730.
[0211] S710, in response to the frame interpolation mode in the global parameters being backward frame interpolation, obtains an initial reference frame sequence based on the frame data in the bitstream. The initial reference frame sequence includes the sampled frames obtained based on the frame data in the bitstream.
[0212] S720, determine whether the number of reference frames in the initial reference frame sequence has reached a preset threshold, wherein the preset threshold is determined by the number of sampled frames in the global parameters.
[0213] S730, when the number of reference frames in the initial reference frame sequence reaches a preset threshold, the current prediction frame is determined by the prediction model based on the initial reference frame sequence.
[0214] Figure 8 exemplarily illustrates an implementation of step S130 in Figure 1 in another exemplary embodiment. As shown in Figure 8, step S130 may also include the following steps S810 to S830. Figure 8 may be performed, for example, after Figure 5.
[0215] S810, update the current prediction count, and input the current prediction frame into the current reference frame sequence to obtain the updated current reference frame sequence.
[0216] S820 determines whether the current prediction count has reached the preset count threshold. The preset count threshold is obtained based on the number of prediction frames in the global parameters and the number of prediction frames obtained by the prediction model each time it makes a prediction.
[0217] S830: If the current prediction count has not reached the preset count threshold, the current prediction frame is determined by the prediction model based on the current reference frame sequence, and then the process returns to the step of updating the current prediction count.
[0218] Compared with Figures 5 and 6, Figures 7 and 8 differ in that they are based on global parameters rather than frame-level parameters for frame interpolation. The exemplary implementations of Figures 7 and 8 can be referred to Figures 5 and 6.
[0219] The data processing method provided in the embodiments of this disclosure obtains global parameters and performs rolling backward frame interpolation according to the frame interpolation method parameter value in the global parameters, thereby improving the accuracy of video encoding and decoding.
[0220] For example, based on the sampling interval frame number RestorationRatio and the number of frames n predicted by the video prediction model, the video prediction module extrapolation(refList, RestorationRatio) is used, where refList is the image of the last m frames in the sampled and predicted frames. When RestorationRatio is 0, the module directly returns an empty list.
[0221] The reference frame must contain the sample frame.
[0222] Initially i = 0, execute the video prediction model len([0, floor(m / / n))) times:
[0223] The predicted frames returned by extrapolation are added to the prediction sequence queue preList;
[0224] Determine the length of preList and the size of RestorationRatio. If the length of preList is greater than or equal to RestorationRatio, return the last RestorationRatio frame of the predicted sequence.
[0225] When i == floor(m / / n), the extrapolation function returns (N - preList.size()) * preList[-1].
[0226] For example, if the preset threshold is 2 and the number of sampled frames is 2, then 1 prediction frame will be predicted based on 2 sampled frames. Then, based on the 1 prediction frame and 1 sampled frame, the next prediction frame will be predicted. Then, based on the two prediction frames, the next prediction frame will be predicted. Then, the prediction will continue to roll to obtain prediction frames of length N. The total number of frames in the supplementary frame segment is N+2.
[0227] Figure 9 shows a flowchart of another data processing method according to an embodiment of this disclosure. Figure 9 illustrates an exemplary implementation of step S110 in Figure 1. The method shown in Figure 9 may include the following steps S910 to S920.
[0228] S910 retrieves the current frame from the frame data in the bitstream.
[0229] S920, when the current frame is acquired, obtains the frame time domain information corresponding to the current frame, which includes frame-level parameters.
[0230] Figure 10 shows a flowchart of another data processing method according to an embodiment of the present disclosure. Figure 10 illustrates an exemplary implementation of step S130 in Figure 1. The method shown in Figure 10 may include the following steps S1010 to S1030.
[0231] S1010 performs frame interpolation on the current frame based on the interpolation method in the global parameters to obtain multiple predicted frames of the current frame.
[0232] In this embodiment of the disclosure, the current frame can be the last sampled frame in the interpolation segment.
[0233] In some embodiments, the last sampled frame can be determined based on the number of sampled frames in the interpolation frame segment.
[0234] S1020, in response to the end-of-recovery data marker in the bitstream data, obtain the number of remaining frames corresponding to the current frame from the information corresponding to the end-of-recovery data marker.
[0235] In some embodiments, erd_num_temporal_remain can be the remaining frames, i.e., the number of images after the last sampled frame.
[0236] In some embodiments, the number of remaining frames can be determined based on the bitstream data. This disclosure does not specifically limit the method for determining the number of remaining frames.
[0237] S1030, in response to using a backward frame interpolation method to interpolate the current frame, if the number of remaining frames is a first number greater than zero, retain the first number of predicted frames among multiple predicted frames.
[0238] In some embodiments, prediction can be performed based on the current frame and the frames preceding the current frame as reference frames to obtain the predicted frame.
[0239] For example, if there are 3 predicted frames and 2 remaining frames, then the 2 predicted frames can be retained as remaining frames.
[0240] Figure 11 shows a flowchart of another data processing method according to an embodiment of this disclosure. Figure 11 illustrates an exemplary implementation of step S130 in Figure 1. The method shown in Figure 11 may include steps S1110 to S1130.
[0241] S1110, perform frame interpolation on the current frame based on the frame interpolation method in the global parameters to obtain multiple predicted frames of the current frame.
[0242] S1120, in response to the end-of-recovery data marker in the bitstream data, obtain the number of remaining frames corresponding to the current frame from the information corresponding to the end-of-recovery data marker.
[0243] S1130, in response to using the backward interpolation method to interpolate the current frame, if the number of remaining frames is zero, multiple predicted frames are not retained.
[0244] Figure 12 shows a flowchart of another data processing method according to an embodiment of this disclosure. Figure 12 illustrates an exemplary implementation of step S130 in Figure 1. The method shown in Figure 12 may include steps S1210 to S1230.
[0245] S1210, perform frame interpolation on the current frame based on the frame interpolation method in the global parameters to obtain multiple predicted frames of the current frame.
[0246] S1220, in response to the end-of-recovery data marker in the bitstream data, obtain the number of remaining frames corresponding to the current frame from the information corresponding to the end-of-recovery data marker.
[0247] S1230, in response to using forward and backward frame interpolation to interpolate the current frame, if the number of remaining frames is a second number greater than zero, the current frame is copied to obtain a copied frame, and the second number of copied frames are retained.
[0248] In some embodiments, the current frame can be a sampled frame. Since the current frame is the last sampled frame, forward and backward prediction cannot be completed. Therefore, the current frame can be copied according to the number of remaining frames to obtain the final remaining frames.
[0249] Figure 13 shows a flowchart of another data processing method according to an embodiment of this disclosure. Figure 13 illustrates an exemplary implementation of step S230 in Figure 2. The method shown in Figure 13 may include steps S1310 to S1330.
[0250] S1310, perform frame interpolation on the current frame based on the frame interpolation method in the frame-level parameters to obtain multiple predicted frames of the current frame.
[0251] S1320, in response to the end-of-recovery data marker in the bitstream data, obtain the number of remaining frames corresponding to the current frame from the information corresponding to the end-of-recovery data marker.
[0252] S1330, in response to using a backward frame interpolation method to interpolate the current frame, if the number of remaining frames is a first number greater than zero, retain the first number of predicted frames among multiple predicted frames.
[0253] Figure 14 shows a flowchart of another data processing method according to an embodiment of this disclosure. Figure 14 illustrates an exemplary implementation of step S230 in Figure 2. The method shown in Figure 14 may include steps S1410 to S1430.
[0254] S1410, perform frame interpolation on the current frame based on the frame interpolation method in the frame-level parameters to obtain multiple predicted frames of the current frame.
[0255] S1420, in response to the end-of-recovery data marker in the bitstream data, obtain the number of remaining frames corresponding to the current frame from the information corresponding to the end-of-recovery data marker.
[0256] S1430, in response to using the backward interpolation method to interpolate the current frame, if the number of remaining frames is zero, multiple predicted frames are not retained.
[0257] Figure 15 shows a flowchart of another data processing method according to an embodiment of this disclosure. Figure 15 illustrates an exemplary implementation of step S230 in Figure 2. The method shown in Figure 15 may include steps S1510 to S1530.
[0258] S1510, perform frame interpolation on the current frame based on the frame interpolation method in the frame-level parameters to obtain multiple predicted frames of the current frame.
[0259] S1520, in response to the end-of-recovery data marker in the bitstream data, obtain the number of remaining frames corresponding to the current frame from the information corresponding to the end-of-recovery data marker.
[0260] S1530, in response to using forward and backward frame interpolation to interpolate the current frame, if the number of remaining frames is a second number greater than zero, the current frame is copied to obtain a copied frame, and the second number of copied frames are retained.
[0261] For example, if the encoding end finishes sampling during a sampling interval, the actual number of frames within the last sampling interval needs to be transmitted in the bitstream. `erd_temporal_restoration_data()` is the header data following the last payload data in the V3C framework.
[0262] erd_num_temporal_remain:
[0263] This indicates the number of images after the last temporal sampling frame.
[0264] When srd_temporal_restoration_mode is 0, erd_num_temporal_remain ranges from [0, 2srd_temporal_resampling_ratio_idx + 1).
[0265] When srd_temporal_restoration_mode is 1, erd_num_temporal_remain ranges from [0, RestorationRatio);
[0266] The video prediction model is capable of predicting 2 consecutive frames out of 4 consecutive frames, where the TemporalRatio is 6 / 4. The encoder finishes sampling precisely during the sampling interval, which is 1 frame. `erd_temporal_restoration_data()` data needs to be sent after the final payload data, with `erd_num_temporal_remain` set to 1. Upon receiving the last decoded sampled subsequence, the decoder calls the `extrapolation` function to generate 2 predicted frames. When `erd_temporal_restoration_data()` data is received and `erd_num_temporal_remain` is found to be 1, only the first predicted frame is retained.
[0267] Specifically, when `srd_temporal_restoration_mode` is 1, the encoding end finishes sampling precisely when frame extraction ends. Therefore, `erd_temporal_restoration_data()` data needs to be sent after the final payload data, with `erd_num_temporal_remain` set to 0. When the decoding end receives the last decoded sampled subsequence, it calls the `extrapolation` function to generate two prediction frames. If `erd_temporal_restoration_data()` data is received and parsed to show `erd_num_temporal_remain` as 0, no prediction frames are displayed.
[0268] For example, `prd_temporal_resampling_ratio_changed_flag`: a flag indicating a change in the temporal sampling ratio.
[0269] 1: Changes have occurred
[0270] 0: No change
[0271] Any change in prd_temporal_resampling_ratio_idx, rd_temporal_extrapolation_flag, or prd_temporal_extra_resampling_length_idx is considered a change in the temporal sampling ratio.
[0272] prd_temporal_resampling_ratio_idx indicates a change in the sampling ratio.
[0273] prd_temporal_extrapolation_flag indicates that the sampling method has changed.
[0274] prd_temporal_extra_resampling_length_idx will cause changes in the number of frames after the frame skipping.
[0275] prd_temporal_extra_resampling_length_idx: Index of the frame-level temporal extrapolation sampling frame length
[0276] If prd_temporal_extra_resampling_length is represented by M, then
[0277] prd_temporal_extra_resampling_length_idx=M-2
[0278] When the mode is extrapolation, prd_temporal_resampling_ratio_idx is represented by i.
[0279] prd_temporal_resampling_ratio=(M+i) / M
[0280] When the mode is interpolation, prd_temporal_resampling_ratio_idx is represented by i.
[0281] prd_temporal_resampling_ratio=2i.
[0282] The data processing method provided in the embodiments of this disclosure obtains frame-level parameters, determines whether the temporal sampling rate change flag is set based on the frame-level parameters, and performs frame interpolation based on the interpolation strategy corresponding to the previous frame of the current frame when the temporal sampling rate change flag is not set, thereby improving the efficiency of video encoding and decoding.
[0283] To provide a detailed description of this application, this disclosure provides an exemplary embodiment of a data processing method.
[0284] Determine whether to perform temporal reconstruction. Setting srd_temporal_restoration_flag=1 indicates that temporal reconstruction is enabled, while setting srd_temporal_restoration_flag=0 indicates that the temporal reconstruction module is disabled.
[0285] Given a temporal reconstruction, the frame interpolation method is determined. Here, srd_temporal_restoration_mode=0 indicates that forward and backward frame interpolation is used, and srd_temporal_restoration_mode=1 indicates that backward frame interpolation is used.
[0286] When using forward and backward frame interpolation, i.e., srd_temporal_restoration_mode=0, the number of forward and backward frame interpolations is determined, where the number of frame interpolations can be determined by the frame interpolation ratio;
[0287] The frame interpolation ratio is Temporal Interpolation Ratio.
[0288] The frame interpolation ratio can be determined by the following formula:
[0289] TemporalInterpolationRatio=2^(srd_temporal_interpolation_ratio_idx+1)
[0290] in,
[0291] When using forward and backward interpolation, the value of srd_temporal_interpolation_ratio_idx ranges from 0, 1, and 2.
[0292] When using backward interpolation, the number of sampled frames can be initialized as follows: TemporalExtrapolationResampleNum is initialized as follows:
[0293] TemporalExtrapolationResampleNum=srd_temporal_extrapolation_resample_num_idx+2.
[0294] When using backward framing, the prediction frame can be determined, where the prediction frame can be TemporalExtrapolationPredictNum.
[0295] TemporalExtrapolationPredictNum=srd_temporal_extrapolation_predict_num_idx+1.
[0296] In some embodiments, when predicting the current frame including the last sampled frame, the corresponding frame interpolation method for the current frame can be determined. If the frame interpolation method is backward interpolation, the current frame is interpolated using the backward interpolation method to obtain a predicted frame, and the predicted frames are output according to the image sequence count. For predicted frames whose image sequence count is after the last sampled frame, the third number of predicted frames among multiple predicted frames can be placed into a buffer for output according to the image sequence count. If the third number is less than the actual number of predicted frames obtained by interpolation (i.e., the total number of multiple predicted frames obtained by predicting with the reference frame including the last sampled frame), the remaining buffered frames can be removed. That is, for predicted frames in the buffer after receiving the end-of-stream signal, these frames can be cleared from the buffer.
[0297] In other embodiments, when predicting the current frame, including the last sampled frame, the corresponding frame interpolation method can be determined. If the frame interpolation method is forward and backward interpolation, the current frame is interpolated using the forward and backward interpolation method to obtain the predicted frame, and the predicted frame is output according to the image sequence count. For the last sampled frame, if forward and backward interpolation is used, no predicted frame with an image sequence count following it will be obtained. Therefore, if the last sampled frame is not the last frame to be output, when outputting according to the image sequence count, the frame buffer corresponding to the target image sequence count after the image sequence count of the last sampled frame in the buffer is empty. In this case, the buffered frame corresponding to the target image sequence count preceding the target image sequence count in the buffer can be output, for example, it can be the last sampled frame.
[0298] Figure 16 shows a flowchart of another data processing method according to an embodiment of this disclosure. Figure 16 illustrates an exemplary implementation of step S130 in Figure 1. The method shown in Figure 16 may include steps S1610 to S1630.
[0299] S1610: Obtain global parameters when the time-domain sampling rate change flag is not set.
[0300] S1620, perform frame interpolation according to the frame interpolation method in the global parameters, based on at least one of the sampling multiplier and the number of sampling interval frames in the global parameters.
[0301] Based on the same inventive concept, this disclosure also provides another data processing method, as shown in the following embodiments. Since the principle by which this method solves the problem is similar to that of the above-described method embodiments, the implementation of this method embodiment can refer to the implementation of the above-described method embodiments, and repeated details will not be elaborated further.
[0302] In some embodiments, this disclosure also discloses a data processing method applied to an encoding end. The data processing method may include: encoding the video to obtain bitstream data, so that the decoding end can implement any of the data processing methods described in the above embodiments based on the bitstream data.
[0303] Figure 17 shows a structural diagram of a data processing device according to an embodiment of this disclosure. It should be noted that this device is applied to the decoding end.
[0304] As shown in Figure 17, the device 1700 may include:
[0305] The first acquisition module 1710 is used to acquire frame-level parameters;
[0306] The first determining module 1720 is used to determine whether the temporal sampling rate change flag bit is set according to the frame-level parameters;
[0307] The first frame interpolation module 1730 is used to perform frame interpolation based on the frame interpolation strategy corresponding to the previous frame of the current frame when the time domain sampling rate change flag is not set.
[0308] In one embodiment of this disclosure, the temporal sampling rate change flag position includes at least one of sampling rate change, frame interpolation method change, and sampling interval frame number change.
[0309] In one embodiment of this disclosure, the apparatus further includes:
[0310] The second frame interpolation module is used to perform frame interpolation based on the changed sampling rate, the changed frame interpolation method, and / or the changed number of sampling interval frames when the time-domain sampling rate change flag is in position.
[0311] In one embodiment of this disclosure, the second frame interpolation module includes:
[0312] The first acquisition unit is used to acquire historical frame interpolation methods;
[0313] The first interpolation unit is used to perform forward and backward interpolation and backward interpolation based on the current frame when the historical interpolation method is forward and backward interpolation.
[0314] In one embodiment of this disclosure, the first frame interpolation module includes:
[0315] The first input unit is used to input the current frame into the reference frame sequence;
[0316] The first determining unit is used to determine whether the number of frames in the reference frame sequence reaches a preset threshold, wherein the preset threshold is determined by the number of frames in the sampling interval;
[0317] The second determining unit is used to determine the prediction frame based on the reference frames in the reference frame sequence, the number of sampling interval frames, and the prediction module when the number of frames in the reference frame sequence reaches a preset threshold.
[0318] In one embodiment of this disclosure, the first frame interpolation module includes:
[0319] The second acquisition unit is used to acquire the current frame and the reference frame sequence;
[0320] The third determining unit is used to determine whether the number of frames in the reference frame sequence reaches a preset threshold, wherein the preset threshold is determined by the number of frames in the sampling interval;
[0321] The fourth determining unit is used to determine the prediction frame based on the current frame, the reference frames in the reference frame sequence, the number of sampling interval frames, and the prediction module when the number of frames in the reference frame sequence reaches a preset threshold.
[0322] In one embodiment of this disclosure, the apparatus further includes:
[0323] The second input module is used to input the current frame into the reference frame sequence after the predicted frame is determined.
[0324] In one embodiment of this disclosure, the apparatus further includes:
[0325] The second acquisition module is used to acquire the current frame;
[0326] The first acquisition module includes:
[0327] The third acquisition unit, when the current frame is acquired, is used to acquire the frame temporal information corresponding to the current frame, which includes frame-level parameters.
[0328] In one embodiment of this disclosure, the apparatus further includes:
[0329] The second determining module is used to determine the frame interpolation method and the number of remaining frames corresponding to the current frame, where the current frame includes the last sampled frame.
[0330] The first retention module is used to obtain the predicted frame by backward interpolation when the interpolation method is backward interpolation, and to retain the predicted frame of the remaining frame number.
[0331] The first copying module is used to copy the current frame when the frame interpolation method is forward and backward frame interpolation, to obtain a copied frame, and to retain the number of copied frames remaining.
[0332] In one embodiment of this disclosure, the current frame includes a sampled frame and a predicted frame.
[0333] In one embodiment of this disclosure, the apparatus further includes:
[0334] The third determining module is used to determine the number of predictions based on at least one of the following: the number of sampled frames in the interpolated frame segment, the total number of frames in the interpolated frame segment, the number of sampling interval frames, and the prediction capability of the prediction model. The prediction capability of the prediction model includes the number of prediction frames obtained by the prediction model each time it makes a prediction.
[0335] The third input module is used to input the sampled frame into the reference frame sequence;
[0336] Determine whether the number of sampled frames within the reference frame sequence has reached a preset threshold;
[0337] The fourth determining module is used to obtain the predicted frame when the number of sampled frames in the reference frame sequence reaches a preset threshold.
[0338] The first repeating module is used to repeat the above steps until the preset number of times is reached.
[0339] In one embodiment of this disclosure, the apparatus further includes:
[0340] The fourth input module is used to input the sampled frame and the predicted frame into the reference frame sequence;
[0341] The fifth determining module is used to determine whether the number of sampled frames in the reference frame sequence has reached a preset threshold.
[0342] The sixth determining module is used to obtain the predicted frame when the number of sampled frames and predicted frames in the reference frame sequence reaches a preset threshold.
[0343] The second repeating module is used to repeat the above steps until the number of sampled frames and predicted frames reaches the total number of frames in the interpolation segment.
[0344] In one embodiment of this disclosure, the first frame interpolation module includes:
[0345] The third acquisition unit is used to acquire global parameters when the time-domain sampling rate change flag is not set;
[0346] The fourth frame interpolation unit is used to perform frame interpolation based on at least one of the following: the sampling rate, the frame interpolation method, and the number of sampling interval frames corresponding to the global parameters.
[0347] In one embodiment of this disclosure, the apparatus further includes:
[0348] The update module is used to update global parameters based on the changed sampling rate, the changed frame interpolation method, and / or the changed sampling interval frame number when the time-domain sampling rate change flag is set.
[0349] The data processing apparatus provided in the embodiments of this disclosure acquires frame-level parameters, determines whether the temporal sampling rate change flag is set based on the frame-level parameters, and performs frame interpolation based on the interpolation strategy corresponding to the previous frame of the current frame when the temporal sampling rate change flag is not set, thereby improving the efficiency of video encoding and decoding.
[0350] Figure 18 shows a structural diagram of a data processing device according to an embodiment of this disclosure. It should be noted that this device is applied to the decoding end.
[0351] As shown in Figure 18, the device 1800 may include:
[0352] The encoding module 1810 is used to encode the video to obtain bitstream data, so that the decoding end can implement any of the data processing methods described above based on the bitstream data.
[0353] The data processing apparatus provided in the embodiments of this disclosure acquires frame-level parameters, determines whether the temporal sampling rate change flag is set based on the frame-level parameters, and performs frame interpolation based on the interpolation strategy corresponding to the previous frame of the current frame when the temporal sampling rate change flag is not set, thereby improving the efficiency of video encoding and decoding.
[0354] The data processing apparatus provided in this disclosure can be used to execute the positioning methods provided in the above-described method embodiments. The implementation principle and technical effect are similar, and for the sake of simplicity, they will not be described in detail here.
[0355] Those skilled in the art will understand that various aspects of this disclosure can be implemented as a system, method, or program product. Therefore, various aspects of this disclosure can be specifically implemented in the following forms: a completely hardware implementation, a completely software implementation (including firmware, microcode, etc.), or a combination of hardware and software aspects, collectively referred to herein as a "circuit," "module," or "system."
[0356] The electronic device 1900 according to this embodiment of the present disclosure will now be described with reference to FIG19. The electronic device 1900 shown in FIG19 is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments of the present disclosure.
[0357] As shown in Figure 19, the electronic device 1900 is presented in the form of a general-purpose computing device. The components of the electronic device 1900 may include, but are not limited to: at least one processing unit 1912, at least one storage unit 1920, and a bus 1930 connecting different system components (including storage unit 1920 and processing unit 1912).
[0358] The storage unit stores program code, which can be executed by the processing unit 1912 to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of this disclosure. For example, the processing unit 1912 can perform the following steps of the above-described method embodiments:
[0359] Get frame-level parameters;
[0360] Determine whether to set the temporal sampling rate change flag based on frame-level parameters;
[0361] If the temporal sampling rate change flag is not set, frame interpolation is performed based on the interpolation strategy corresponding to the previous frame of the current frame.
[0362] Storage unit 1920 may include readable media in the form of volatile storage units, such as random access memory (RAM) 19201 and / or cache memory 19202, and may further include read-only memory (ROM) 19203.
[0363] Storage unit 1920 may also include a program / utility 19204 having a set (at least one) of program modules 19205, such program modules 19205 including but not limited to: operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.
[0364] Bus 1930 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.
[0365] Electronic device 1900 can also communicate with one or more external devices 1940 (e.g., keyboard, pointing device, Bluetooth device, etc.), one or more devices that enable a user to interact with electronic device 1900, and / or any device that enables electronic device 1900 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 1950. Furthermore, electronic device 1900 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 1960. As shown, network adapter 1960 communicates with other modules of electronic device 1900 via bus 1930. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 1900, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0366] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this disclosure.
[0367] In exemplary embodiments of this disclosure, a computer-readable storage medium is also provided, which may be a readable signal medium or a readable storage medium. A program product capable of implementing the methods described above is stored thereon. In some possible implementations, various aspects of this disclosure may also be implemented as a program product including program code, which, when run on a terminal device, causes the terminal device to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of this disclosure.
[0368] More specific examples of computer-readable storage media in this disclosure may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0369] In this disclosure, a computer-readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, wherein readable program code is carried. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of transmitting, propagating, or transmitting a program for use by or in connection with an instruction execution system, apparatus, or device.
[0370] Optionally, the program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.
[0371] In practical implementation, program code for performing the operations of this disclosure can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, and conventional procedural programming languages such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0372] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0373] Furthermore, although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.
[0374] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, mobile terminal, or network device, etc.) to execute the methods according to the embodiments of this disclosure.
[0375] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the appended claims.
Claims
1. A data processing method, wherein, Applied to the decoding end, including: Get the frame-level parameters corresponding to the current frame; Determine whether the temporal parameter change flag is set based on the frame-level parameters; If the time-domain parameter change flag is not set, frame interpolation is performed based on global parameters.
2. The method according to claim 1, wherein, The time-domain parameter change flag position includes at least one of the following: sampling rate change, frame interpolation method change, and sampling interval frame number change.
3. The method according to claim 2, wherein, The sampling interval frame number includes the number of sampling frames and the number of prediction frames.
4. The method according to claim 2, wherein, The sampling rate includes the sampling rate in the case of forward and backward frame interpolation.
5. The method according to any one of claims 1 to 4, wherein, The method further includes: When the time-domain parameter change flag is in position, frame interpolation is performed based on the interpolation method in the frame-level parameters.
6. The method according to claim 5, wherein, Frame interpolation is performed based on the interpolation method in the frame-level parameters, including: Methods for obtaining historical frame interpolation; When the historical frame interpolation method is forward and backward frame interpolation, and the frame interpolation method in the frame-level parameters is backward frame interpolation: In response to performing frame interpolation on the portion preceding the current frame, frame interpolation is performed based on the current frame using the forward and backward frame interpolation method; In response to performing frame interpolation on the portion following the current frame, frame interpolation is performed based on the current frame using the backward interpolation method.
7. The method according to claim 5, wherein, When the time-domain parameter change flag is in position, frame interpolation is performed based on the interpolation method in the frame-level parameters, including: In response to the frame interpolation method in the frame-level parameters being backward interpolation, an initial reference frame sequence is obtained based on the frame data in the bitstream, the initial reference frame sequence including sampled frames obtained based on the frame data in the bitstream; Determine whether the number of reference frames in the initial reference frame sequence reaches a preset threshold, wherein the preset threshold is determined by the number of sampled frames in the frame-level parameters; If the number of reference frames in the initial reference frame sequence reaches the preset threshold, the current prediction frame is determined by the prediction model based on the initial reference frame sequence.
8. The method according to claim 7, wherein, When the time-domain parameter change flag is in position, frame interpolation based on the interpolation method in the frame-level parameters further includes: Update the current prediction count and input the current prediction frame into the current reference frame sequence to obtain the updated current reference frame sequence; Determine whether the current prediction count has reached a preset count threshold, which is obtained based on the number of prediction frames in the frame-level parameters and the number of prediction frames obtained by the prediction model each time it makes a prediction. If the current prediction count does not reach the preset threshold, the current prediction frame is determined by the prediction model based on the current reference frame sequence, and then the process returns to the step of updating the current prediction count.
9. The method according to any one of claims 1 to 4, wherein, If the time-domain parameter change flag is not set, frame interpolation is performed based on global parameters, including: In response to the frame interpolation method in the global parameters being backward frame interpolation, an initial reference frame sequence is obtained based on the frame data in the bitstream, the initial reference frame sequence including sampled frames obtained based on the frame data in the bitstream; Determine whether the number of reference frames in the initial reference frame sequence reaches a preset threshold, wherein the preset threshold is determined by the number of sampled frames in the global parameters; If the number of reference frames in the initial reference frame sequence reaches the preset threshold, the current prediction frame is determined by the prediction model based on the initial reference frame sequence.
10. The method according to claim 7, wherein, When the time-domain parameter change flag is not set, frame interpolation based on global parameters also includes: Update the current prediction count and input the current prediction frame into the current reference frame sequence to obtain the updated current reference frame sequence; Determine whether the current prediction count has reached a preset count threshold, which is obtained based on the number of prediction frames in the global parameters and the number of prediction frames obtained by the prediction model each time it makes a prediction. If the current prediction count does not reach the preset threshold, the current prediction frame is determined by the prediction model based on the current reference frame sequence, and then the process returns to the step of updating the current prediction count.
11. The method according to any one of claims 1 to 10, wherein, The method further includes: Get the current frame; Retrieve the frame-level parameters corresponding to the current frame, including: If the current frame is obtained, the frame temporal information corresponding to the current frame is obtained, and the frame temporal information includes the frame-level parameters.
12. The method according to any one of claims 1 to 4, wherein, If the time-domain parameter change flag is not set, frame interpolation is performed based on global parameters, including: The current frame is interpolated based on the interpolation method in the global parameters to obtain multiple predicted frames of the current frame; In response to the end-of-recovery data marker in the bitstream data, the number of remaining frames corresponding to the current frame is obtained from the information corresponding to the end-of-recovery data marker; In response to performing frame interpolation on the current frame using a backward interpolation method, if the number of remaining frames is a first number greater than zero, a first number of predicted frames are retained among the plurality of predicted frames.
13. The method according to claim 12, wherein, When the time-domain parameter change flag is not set, frame interpolation based on global parameters also includes: In response to performing frame interpolation on the current frame using a backward interpolation method, if the number of remaining frames is zero, the multiple predicted frames are not retained.
14. The method according to claim 12, wherein, When the time-domain parameter change flag is not set, frame interpolation based on global parameters also includes: In response to performing frame interpolation on the current frame using a forward and backward interpolation method, if the number of remaining frames is a second number greater than zero, the current frame is copied to obtain a copied frame, and the second number of copied frames are retained.
15. The method according to claim 5, wherein, When the time-domain parameter change flag is in position, frame interpolation is performed based on the interpolation method in the frame-level parameters, including: The current frame is interpolated based on the interpolation method in the frame-level parameters to obtain multiple predicted frames of the current frame; In response to the end-of-recovery data marker in the bitstream data, the number of remaining frames corresponding to the current frame is obtained from the information corresponding to the end-of-recovery data marker; In response to performing frame interpolation on the current frame using a backward interpolation method, if the number of remaining frames is a first number greater than zero, a first number of predicted frames are retained among the plurality of predicted frames.
16. The method according to claim 15, wherein, When the time-domain parameter change flag is in position, frame interpolation based on the interpolation method in the frame-level parameters further includes: In response to performing frame interpolation on the current frame using a backward interpolation method, if the number of remaining frames is zero, the multiple predicted frames are not retained.
17. The method according to claim 16, wherein, When the time-domain parameter change flag is in position, frame interpolation based on the interpolation method in the frame-level parameters further includes: In response to performing frame interpolation on the current frame using a forward and backward interpolation method, if the number of remaining frames is a second number greater than zero, the current frame is copied to obtain a copied frame, and the second number of copied frames are retained.
18. The method according to any one of claims 1 to 17, wherein, If the time-domain parameter change flag is not set, frame interpolation is performed based on global parameters, including: When the time-domain sampling rate change flag is not set, the global parameters are obtained; Frames are interpolated according to the interpolation method in the global parameters, based on at least one of the sampling rate and the number of frames in the sampling interval.
19. The method according to claim 5, wherein, Frame interpolation is performed based on the interpolation method in the frame-level parameters, including: According to the frame interpolation method in the frame-level parameters, frame interpolation is performed based on at least one of the sampling rate and the number of sampling interval frames in the frame-level parameters.
20. The method according to claim 1, wherein, The method further includes: When the time-domain parameter change flag is in position, the global parameter is updated based on at least one of the frame-level parameters: frame interpolation method, sampling rate, and sampling interval frame number.
21. The method according to any one of claims 1 to 11, wherein, Also includes: The images are output according to their sequential order and corresponding output times.
22. The method according to claim 21, wherein, Also includes: In response to using a backward interpolation method to interpolate the current frame, the current frame is interpolated based on the backward interpolation method to obtain multiple predicted frames of the current frame, wherein the current frame includes the last sampled frame; The third number of predicted frames is output according to the order of the images.
23. The method according to claim 21, wherein, The image sequence counting includes the target image sequence counting; The method further includes: In response to performing frame interpolation on the current frame using a forward and backward interpolation method, the current frame is interpolated based on the forward and backward interpolation method, and the current frame includes the last sampled frame; The frames in the buffer are output according to the image sequence count. If the bitstream does not contain the frame data corresponding to the target image sequence count, the target image sequence count corresponds to the buffer frame corresponding to the previous image sequence count in the buffer.
24. A data processing method, wherein, Applied to the encoding end, including: The video is encoded to obtain bitstream data, so that the decoding end can implement any one of the data processing methods as described in claims 1-23 based on the bitstream data.
25. A data processing apparatus, wherein, Applied to the decoding end, including: The first acquisition module is used to acquire the frame-level parameters corresponding to the current frame; The first determining module is used to determine whether the temporal parameter change flag bit is set based on the frame-level parameters; The first frame interpolation module is used to perform frame interpolation based on global parameters when the time-domain parameter change flag is not set.
26. A data processing apparatus, wherein, Applied to the encoding end, including: The encoding module is used to encode the video to obtain bitstream data, so that the decoding end can implement any one of the data processing methods as described in claims 1-23 based on the bitstream data.
27. An electronic device, wherein, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to execute the data processing method of any one of claims 1 to 24 by executing the executable instructions.
28. A computer-readable storage medium having a computer program stored thereon, wherein, When the computer program is executed by the processor, it implements the data processing method according to any one of claims 1 to 24.
Citation Information
Patent Citations
VR cloud rendering image enhancement method based on AI frame extraction and frame compensation
CN116248955A
Video frame supplementing method and device, electronic equipment and storage medium
CN117376606A
Video frame drop compensation method and device, computer equipment and storage medium
CN117579821A
Interpolation frame preparation device, image decoder, interpolation frame preparation method and interpolation frame preparation program
JP2004343408A