Data processing method and device, equipment and storage medium
By acquiring global parameters and using flexible frame interpolation methods, the problem of low video encoding and decoding efficiency in existing technologies has been solved, achieving more efficient video information transmission.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER
- Filing Date
- 2024-11-08
- Publication Date
- 2026-05-01
AI Technical Summary
Existing frame-dropping coding techniques are insufficient to meet users' needs for efficient encoding and decoding, especially in the process of video information transmission, where traditional fixed frame-dropping ratios and frame-padding methods are no longer sufficient to meet efficiency requirements.
By acquiring global parameters, including the interpolation method, sampling rate, and sampling interval frame number, video interpolation is performed based on these parameters. Flexible interpolation methods, such as forward or backward interpolation, are adopted. Combined with the prediction frame number and prediction module, the video encoding and decoding process is dynamically adjusted.
It improves the efficiency of video encoding and decoding, and optimizes the quality and speed of video information transmission.
Smart Images

Figure CN121967694A_ABST
Abstract
Description
Data processing methods, apparatus, equipment and storage media
[0001] Cross-references to related applications
[0002] This application claims ownership of the application filed on October 30, 2024, entitled "Data Processing Method, Apparatus, Equipment and Storage". The priority of Chinese patent application 202411538011.5 concerning “storage medium” is hereby granted, the entire contents of which are incorporated herein by reference. middle. Technical Field
[0003] This disclosure relates to the field of computer technology, and in particular to a data processing method, apparatus, device and storage medium. Background Technology
[0004] With the development of the times, the speed of information transmission has accelerated. Currently, video information accounts for a large proportion of the transmitted information.
[0005] Frame extraction coding is a commonly used technique in signal encoding technology during information transmission. Current frame extraction coding techniques typically extract frames from video at a fixed extraction ratio, and then encode the extracted video. However, with technological advancements, the existing frame extraction and interpolation methods are no longer sufficient to meet user needs. How to efficiently encode and decode video is a problem that urgently needs to be solved in this field. Summary of the Invention
[0006] This disclosure provides a data processing method, apparatus, device, and storage medium that improves the efficiency of video encoding and decoding to at least a certain extent.
[0007] Other features and advantages of this disclosure will become apparent from the following detailed description, or may be learned in part by practice of this disclosure.
[0008] According to one aspect of this disclosure, a data processing method is provided, applied at a decoding end, comprising:
[0009] Get global parameters, including the frame interpolation method;
[0010] Frame interpolation is performed based on the interpolation method.
[0011] In one embodiment of this disclosure, the global parameters further include sampling rate and / or sampling interval frames;
[0012] Frame interpolation based on interpolation methods includes:
[0013] Frame interpolation is performed based on at least one of the following: interpolation method, sampling rate, and sampling interval (number of frames).
[0014] In one embodiment of this disclosure, the sampling interval frame number includes the number of sampled frames and the number of predicted frames, and the sampling multiplier includes the sampling multiplier when performing forward and backward frame interpolation.
[0015] In one embodiment of this disclosure, frame interpolation based on interpolation method information includes:
[0016] Obtain the current frame and the reference frame sequence;
[0017] Determine whether the number of frames within the reference frame sequence reaches a preset threshold, wherein the preset threshold is determined by the number of sampled frames;
[0018] When the number of frames in the reference frame sequence reaches a preset threshold, the prediction frame is determined based on the current frame, the reference frames in the reference frame sequence, the number of prediction frames, and the prediction module.
[0019] In one embodiment of this disclosure, the method further includes:
[0020] After determining the prediction frame, the current frame is input into the reference frame sequence.
[0021] In one embodiment of this disclosure, frame interpolation based on interpolation method information includes:
[0022] Input the current frame into the reference frame sequence;
[0023] 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 sampled frames;
[0024] When the number of frames in the reference frame sequence reaches a preset threshold, the prediction frame is determined based on the reference frames in the reference frame sequence, the number of prediction frames, and the prediction module.
[0025] In one embodiment of this disclosure, the current frame includes a sampled frame and a predicted frame, and the method further includes:
[0026] The number of predictions is determined 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 predicted 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.
[0027] Input the sampled frame into the reference frame sequence;
[0028] Determine whether the number of sampled frames within the reference frame sequence has reached a preset threshold;
[0029] When the number of sampled frames in the reference frame sequence reaches a preset threshold, the predicted frame is obtained;
[0030] Repeat the above steps until the preset number of times is reached.
[0031] In one embodiment of this disclosure, the current frame includes a sampled frame and a predicted frame, and the method further includes:
[0032] Input the sampled frame and the predicted frame into the reference frame sequence;
[0033] Determine whether the number of sampled frames within the reference frame sequence has reached a preset threshold;
[0034] When the number of sampled frames and predicted frames in the reference frame sequence reaches a preset threshold, a predicted frame is obtained.
[0035] Repeat the above steps until the number of sampled frames and predicted frames reaches the total number of frames in the interpolation segment.
[0036] In one embodiment of this disclosure, the method further includes:
[0037] Obtain the frame-level parameters corresponding to the current frame. The frame-level parameters include the temporal sampling rate change flag.
[0038] Modify global parameters when the frame-level parameter flag is set.
[0039] In one embodiment of this disclosure, modifying the global parameters includes modifying the sampling rate to obtain a modified sampling rate;
[0040] The method also includes:
[0041] Frame interpolation is performed based on the modified sampling rate and interpolation method.
[0042] In one embodiment of this disclosure, modifying global parameters includes:
[0043] Change the frame interpolation method from backward frame interpolation to forward and backward frame interpolation, and change the frame interpolation method from forward and backward frame interpolation to backward frame interpolation.
[0044] In one embodiment of this disclosure, the method further includes:
[0045] After the global parameters are modified, frame interpolation is performed based on the modified global parameters.
[0046] In one embodiment of this disclosure, frame interpolation based on modified global parameters includes:
[0047] When the frame interpolation method is changed from forward and backward interpolation to backward interpolation, forward and backward interpolation and backward interpolation are completed based on the current frame.
[0048] In one embodiment of this disclosure, the method further includes:
[0049] Determine the interpolation method and the number of remaining frames for the current frame, which includes the last sampled frame;
[0050] When the frame interpolation method is backward interpolation, the backward interpolation yields the predicted frame, and the number of predicted frames remaining is retained.
[0051] When the frame interpolation method is forward and backward interpolation, the current frame is copied to obtain a copied frame, and the number of copied frames remaining is retained.
[0052] According to another aspect of this disclosure, a data processing method is provided, applied to an coded segment, comprising:
[0053] The video is encoded to obtain bitstream data, so that the decoding end can implement any of the data processing methods in the above embodiments based on the bitstream data.
[0054] According to another aspect of this disclosure, a data processing apparatus is provided for use at a decoding end, comprising:
[0055] The first acquisition module is used to acquire global parameters, including the frame interpolation method.
[0056] The first frame interpolation module is used to perform frame interpolation based on the frame interpolation method.
[0057] In one embodiment of this disclosure, the global parameters further include sampling rate and / or sampling interval frames;
[0058] The first frame interpolation module is also used to perform frame interpolation based on at least one of the frame interpolation method and the sampling multiplier and the number of sampling interval frames.
[0059] In one embodiment of this disclosure, the first frame interpolation module includes:
[0060] The acquisition unit is used to acquire the current frame and the reference frame sequence;
[0061] 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;
[0062] The second 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.
[0063] In one embodiment of this disclosure, the apparatus further includes:
[0064] The first input module is used to input the current frame into the reference frame sequence after the prediction frame is determined.
[0065] In one embodiment of this disclosure, the first frame interpolation module includes:
[0066] The input unit is used to input the current frame into the reference frame sequence;
[0067] 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;
[0068] The fourth 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.
[0069] In one embodiment of this disclosure, the current frame includes a sampled frame and a predicted frame, and the apparatus further includes:
[0070] The second determining module is used to determine the number of predictions based on at least one of the number of sampled frames in the frame interpolation segment, the total number of frames in the frame interpolation 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.
[0071] The second input module is used to input the sampled frame into the reference frame sequence;
[0072] The third determining module is used to determine whether the number of sampled frames in the reference frame sequence has reached a preset threshold.
[0073] 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.
[0074] The first repeating module is used to repeat the above steps until the preset number of times is reached.
[0075] In one embodiment of this disclosure, the current frame includes a sampled frame and a predicted frame, and the apparatus further includes:
[0076] The third input module is used to input the sampled frame and the predicted frame into the reference frame sequence;
[0077] The fifth determining module is used to determine whether the number of sampled frames in the reference frame sequence has reached a preset threshold.
[0078] 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.
[0079] 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.
[0080] In one embodiment of this disclosure, the apparatus further includes:
[0081] The second acquisition module is used to acquire the frame-level parameters corresponding to the current frame, including the temporal sampling rate change flag.
[0082] The modification module is used to modify global parameters when the frame-level parameter flag is set.
[0083] In one embodiment of this disclosure, modifying the global parameters includes modifying the sampling rate to obtain a modified sampling rate;
[0084] The device also includes:
[0085] The second frame interpolation module is used to perform frame interpolation based on the modified sampling rate and frame interpolation method.
[0086] In one embodiment of this disclosure, the modification module includes:
[0087] The modification unit is used to change the frame interpolation method from backward frame interpolation to forward and backward frame interpolation, and to change the frame interpolation method from forward and backward frame interpolation to backward frame interpolation.
[0088] In one embodiment of this disclosure, the apparatus further includes:
[0089] The third frame interpolation module is used to perform frame interpolation based on the modified global parameters after the global parameters have been modified.
[0090] In one embodiment of this disclosure, the modification module includes:
[0091] The interpolation unit is used to perform both forward and backward interpolation based on the current frame when the interpolation method is changed from forward interpolation to backward interpolation.
[0092] In one embodiment of this disclosure, the apparatus further includes:
[0093] The seventh determination module is used to determine the frame interpolation method corresponding to the current frame and the number of remaining frames. The current frame includes the last sampled frame.
[0094] 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.
[0095] The second retention module, when the frame interpolation method is forward and backward frame interpolation, copies the current frame to obtain a copied frame and retains the number of copied frames remaining.
[0096] According to another aspect of this disclosure, a data processing apparatus is provided, applied at an encoding end, comprising:
[0097] The encoding module is used to encode the video to obtain bitstream data, so that the decoding end can implement any of the data processing methods in the above embodiments based on the bitstream data.
[0098] 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.
[0099] 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.
[0100] The data processing method, apparatus, device, and storage medium provided in the embodiments of this disclosure obtain global parameters and perform frame interpolation based on the frame interpolation method in the global parameters, thereby improving the efficiency of video encoding and decoding.
[0101] 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
[0102] 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.
[0103] Figure 1 shows a flowchart of a data processing method according to an embodiment of the present disclosure;
[0104] Figure 2 shows a flowchart of another data processing method in an embodiment of this disclosure;
[0105] Figure 3 shows a flowchart of another data processing method according to an embodiment of the present disclosure;
[0106] Figure 4 shows a flowchart of another data processing method according to an embodiment of the present disclosure;
[0107] Figure 5 shows a flowchart of another data processing method in an embodiment of this disclosure;
[0108] Figure 6 shows a flowchart of another data processing method according to an embodiment of the present disclosure;
[0109] Figure 7 shows a flowchart of another data processing method according to an embodiment of the present disclosure;
[0110] Figure 8 shows a frame interpolation schematic diagram according to an embodiment of the present disclosure;
[0111] Figure 9 shows a flowchart of another data processing method according to an embodiment of the present disclosure;
[0112] Figure 10 shows an architecture diagram of a data processing apparatus according to an embodiment of the present disclosure;
[0113] Figure 11 shows an architecture diagram of another data processing apparatus according to an embodiment of the present disclosure;
[0114] Figure 12 shows a structural block diagram of an electronic device according to an embodiment of the present disclosure. Detailed Implementation
[0115] 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.
[0116] 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.
[0117] 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.
[0118] 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.
[0119] 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".
[0120] It should be noted that no parameters are limited in this disclosure.
[0121] This disclosure applies to image input and feature tensor input.
[0122] To address the aforementioned problems, this disclosure provides a data processing method, apparatus, device, and storage medium.
[0123] Figure 1 shows a flowchart of a data processing method according to an embodiment of the present disclosure. As shown in Figure 1, the method may include:
[0124] S110, obtain global parameters, including frame interpolation method.
[0125] In some embodiments, the frame interpolation method can be TemporalRestorationMode. In some embodiments, TemporalRestorationMode[i] = prd_temporal_restoration_mode, that is, the frame interpolation method adopts the currently updated value. TemporalRestorationMode[i] = TemporalRestorationMode[i-1] indicates that the frame interpolation method does not change.
[0126] In some embodiments, the number of sampling interval frames includes the number of sampled frames and the number of predicted frames.
[0127] In some embodiments, the sampling rate includes the sampling rate in the case of forward and backward prediction.
[0128] 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 resampling frames number.
[0129] In some embodiments, the time-domain sampling rate change flag is set when at least one of the following occurs: a change in sampling rate, a change in frame interpolation method, and a change in the number of frames in the sampling interval.
[0130] 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.
[0131] In some embodiments, the sampling ratio TemporalInterpolationRatio can be determined by the following formula:
[0132] TemporalInterpolationRatio=2^(srd_temporal_interpolation_ratio_idx+1)
[0133] The value of srd_temporal_interpolation_ratio_idx ranges from 0, 1, to 2.
[0134] In some embodiments, the number of sampling frames, TemporalExtralationResampleNum, can be determined by the following formula:
[0135] Number of sampling frames = srd_temporal_extraplation_resample_num_idx + 2
[0136] In some embodiments, when srd_temporal_restoration_mode = 0, the bitstream does not contain the back-padding frame parameter srd_temporal_extraplation_resample_num_idx.
[0137] In some embodiments, the predicted frame number srd_temporal_extrap_ratio_idx can be determined by the following formula:
[0138] TemporalExtrapolationPredictNum=srd_temporal_extrapolation_predict_num_idx+1
[0139] 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.
[0140] In some embodiments, prd_temporal_interpolation_ratio_idx can represent the sampling ratio.
[0141] TemporalInterpolationRatio[i]=2^(prd_temporal_interpolation_ratio_idx).
[0142] TemporalInterpolationRatio[i]=TemporalInterpolationRatio[i-1].
[0143] In some embodiments, the frame-level parameters corresponding to the current frame can be obtained, and the frame-level parameters may include a temporal sampling rate change flag.
[0144] The time-domain sampling ratio change flag can be prd_temporal_resampling_ratio_changed.
[0145] prd_temporal_resampling_ratio_changed = 1 indicates the position of the flag indicating the change in the temporal sampling ratio.
[0146] prd_temporal_resampling_ratio_changed = 0 indicates that the time-domain sampling ratio change flag is not set.
[0147] In some embodiments, when prd_temporal_resampling_ratio_changed = 1, TemporalInterpolationRatio[i] is updated by the following formula:
[0148] TemporalInterpolationRatio[i]=2^(prd_temporal_interpolation_ratio_idx);
[0149] In some embodiments, when prd_temporal_resampling_ratio_changed = 0, TemporalInterpolationRatio[i] is updated by the following formula:
[0150] TemporalInterpolationRatio[i]=TemporalInterpolationRatio[i-1].
[0151] 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.
[0152] In some embodiments, the number of sampling frames can be TemporalExtrapolationResampleNum.
[0153] In some embodiments, when prd_temporal_resampling_ratio_changed = 1:
[0154] TemporalExtrapolationResampleNum[i]=prd_temporal_extrapolation_resample_num_idx+2.
[0155] Among them, prd_temporal_extrapolation_resample_num_idx is a preset value, which takes the value 0 or 1.
[0156] otherwise:
[0157] TemporalExtrapolationResampleNum[i]=TemporalExtrapolationResampleNum[i-1]
[0158] 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.
[0159] In some embodiments, the number of predicted frames can be TemporalExtrapolationPredictNum.
[0160] In some embodiments, when prd_temporal_resampling_ratio_changed = 1:
[0161] TemporalExtrapolationPredictNum[i]=prd_temporal_extrapolation_predict_num_idx
[0162] otherwise:
[0163] TemporalExtrapolationPredictNum[i]=TemporalExtrapolationPredictNum[i-1]
[0164] 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.
[0165] 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.
[0166] In some embodiments, global parameters can be sequence set parameters.
[0167] In some embodiments, the frame interpolation method can be backward frame interpolation or forward and backward frame interpolation. For example, the frame interpolation method can be prd_temporal_extrapolation_flag.
[0168] For example, the frame interpolation method can be srd_temporal_restoration_mode.
[0169] 0 indicates forward and backward prediction
[0170] 1 indicates backward prediction.
[0171] In some embodiments, the global parameters also include the sampling rate and / or the sampling interval frame.
[0172] In some embodiments, the global parameter can be srd_temporal_resampling_ratio_idx.
[0173] S120 performs frame interpolation based on the interpolation method.
[0174] In some embodiments, frame interpolation is performed based on a frame interpolation method, including:
[0175] Frame interpolation is performed based on at least one of the following: interpolation method, sampling rate, and sampling interval (number of frames).
[0176] Frame interpolation based on at least one of the interpolation method and sampling rate, and sampling interval frame number, can include:
[0177] Frame interpolation can be performed based on at least one of the interpolation method and the sampling rate.
[0178] Frame interpolation can be performed based on the interpolation method and the number of frames between sampling intervals.
[0179] For example, the sampling ratio can be expressed as ResamplingRatio.
[0180] For example, the sampling interval frame number can be represented as prd_temporal_extra_resampling_length_idx.
[0181] In some embodiments, the sampling interval frame number is used to represent the number and position of sampled frames when sampling is performed between multiple frames.
[0182] In some embodiments, the sampling interval frame number is used to represent the number and location of non-sampled frames when sampling is performed between multiple frames.
[0183] The data processing method provided in the embodiments of this disclosure obtains global parameters and performs frame interpolation based on the frame interpolation method in the global parameters, thereby improving the efficiency of video encoding and decoding.
[0184] Figure 2 shows a flowchart of a data processing method according to an embodiment of the present disclosure. As shown in Figure 2, the method may include:
[0185] S210, obtain global parameters, including frame interpolation method;
[0186] S220, Obtain the current frame and the reference frame sequence.
[0187] 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.
[0188] For example, a predicted frame can be obtained by making a prediction based on a video prediction model and a reference frame.
[0189] For example, a prediction frame can be obtained by using the extrapolation function and a reference frame.
[0190] In some embodiments, the reference frame sequence may be a frameBuffer.
[0191] S230, 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.
[0192] 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.
[0193] For example, the preset threshold can be M1.
[0194] In some embodiments, the reference sequence can be cleared when the interpolation ends or the interpolation method changes.
[0195] S240, when the number of frames in the reference frame sequence reaches a preset threshold, the prediction frame is determined based on the current frame, the reference frames in the reference frame sequence, the number of sampling interval frames, and the prediction module.
[0196] 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.
[0197] For example, the sampling interval frame number can be ResamplingLen, and the prediction frame number and sampling frame number can be RestorationLen.
[0198] In some embodiments, the sampling interval frame number can be the prediction frame number TemporalExtrapolationPredictNum[i].
[0199] 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.
[0200] 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.
[0201] 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.
[0202] In some embodiments, if the interpolation method is backward interpolation, the predicted frame can be inserted after the current frame.
[0203] 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.
[0204] 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.
[0205] The data processing method provided in the embodiments of this disclosure obtains global parameters and performs frame interpolation based on the frame interpolation method in the global parameters, thereby improving the efficiency of video encoding and decoding.
[0206] Figure 3 shows a flowchart of a data processing method according to an embodiment of the present disclosure. As shown in Figure 3, the method may include:
[0207] S310, obtain global parameters, including frame interpolation method.
[0208] S320, input the current frame into the reference frame sequence.
[0209] S330, determine whether the number of frames in the reference frame sequence has reached a preset threshold, wherein the preset threshold is determined by the number of frames in the sampling interval.
[0210] S340, if the number of frames in the reference frame sequence reaches a preset threshold, a prediction frame is determined based on the reference frames in the reference frame sequence, the number of sampling interval frames, and the prediction module. In some embodiments, after determining the prediction frame, the insertion position of the prediction frame in the interpolation segment can be determined according to the interpolation method and global parameters.
[0211] In some embodiments, if the interpolation method is backward interpolation, the predicted frame can be inserted after the current frame.
[0212] 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.
[0213] 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.
[0214] 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.
[0215] The data processing method provided in the embodiments of this disclosure obtains global parameters and performs frame interpolation based on the frame interpolation method in the global parameters, thereby improving the efficiency of video encoding and decoding.
[0216] Figure 4 shows a flowchart of a data processing method according to an embodiment of the present disclosure. As shown in Figure 4, the method may include:
[0217] S410, determine the number of predictions 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 prediction frames obtained by the prediction model each time it makes a prediction.
[0218] S420, input the sampled frame into the reference frame sequence;
[0219] S430, determine whether the number of sampled frames in the reference frame sequence has reached a preset threshold;
[0220] S440, when the number of sampled frames in the reference frame sequence reaches a preset threshold, the predicted frame is obtained;
[0221] S450, repeat the above steps until the preset number of times is reached.
[0222] In some embodiments, the reference frame sequence is updated;
[0223] The predicted frame is obtained based on the updated reference frame sequence;
[0224] Repeat the step of obtaining the predicted frame based on the updated reference frame sequence until the preset number of times is reached.
[0225] In some embodiments, the reference frame sequence can be updated based on the predicted frame.
[0226] In this embodiment, all reference frames in the reference frame sequence are sampling frames.
[0227] 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.
[0228] 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.
[0229] 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.
[0230] The reference frame must contain the sample frame.
[0231] Initially i = 0, execute the video prediction model len([0, floor(m / / n))) times:
[0232] The predicted frames returned by extrapolation are added to the prediction sequence queue preList;
[0233] 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.
[0234] When i == floor(m / / n), the extrapolation function returns (N - preList.size()) * preList[-1].
[0235] The data processing method provided in the embodiments of this disclosure obtains global parameters and performs frame interpolation based on the frame interpolation method in the global parameters, thereby improving the efficiency of video encoding and decoding.
[0236] Figure 5 shows a flowchart of another data processing method according to an embodiment of the present disclosure. As shown in Figure 5, the method may include:
[0237] S510 inputs the sampled frame and the predicted frame into the reference frame sequence.
[0238] In some embodiments, the reference frame may include a sampled frame and / or a predicted frame.
[0239] S520, determine whether the number of sampled frames in the reference frame sequence has reached a preset threshold.
[0240] In some embodiments, the method for determining the preset threshold has been described in detail in the above embodiments and will not be repeated here.
[0241] S530: When the number of sampled frames and predicted frames in the reference frame sequence reaches a preset threshold, a predicted frame is obtained.
[0242] S540, repeat the above steps until the number of sampled frames and predicted frames reaches the total number of frames in the interpolation segment.
[0243] In some embodiments, the method further includes:
[0244] Update the reference frame sequence;
[0245] The predicted frame is obtained based on the updated reference frame sequence;
[0246] 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.
[0247] In some embodiments, updating the reference frame sequence includes updating the reference frame sequence based on sampled frames outside the current reference frame sequence and / or generated predicted frames.
[0248] In some embodiments, updating the reference frame sequence includes updating the reference sequence based solely on the generated prediction frames.
[0249] For example, if the preset threshold is 2 and the number of sampled frames is 2, then 1 prediction frame will be obtained based on 2 sampled frames. Then, based on the 1 prediction frame and 1 sampled frame, the next prediction frame will be obtained. Then, based on 2 prediction frames, the next prediction frame will be obtained. 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.
[0250] The data processing method provided in the embodiments of this disclosure obtains global parameters and performs frame interpolation based on the frame interpolation method in the global parameters, thereby improving the efficiency of video encoding and decoding.
[0251] Figure 6 shows a flowchart of another data processing method according to an embodiment of the present disclosure. As shown in Figure 6, the method may include:
[0252] S610, obtain global parameters, including frame interpolation method.
[0253] S620 performs frame interpolation based on a frame interpolation method.
[0254] S630, obtain the frame-level parameters corresponding to the current frame, including the temporal sampling rate change flag.
[0255] S640 modifies global parameters when the frame-level parameter flag is set.
[0256] In some embodiments, the frame-level parameter can be frame temporal information.
[0257] For example, the frame time domain information may include prdTemChangedFlag, and when prdTemChangedFlag is 1, the global parameters are updated.
[0258] In some embodiments, global parameters can be updated based on frame-level parameters.
[0259] For example, the global parameters can be modified based on RestorationRatio = curRestorationRatio = prd_temporal_resampling_ratio_idx corresponding to the current frame.
[0260] In some embodiments, global parameters can also be updated based on information contained in the bitstream data.
[0261] In some embodiments, modifying global parameters includes modifying the sampling rate to obtain a modified sampling rate.
[0262] Frame interpolation is performed based on the modified sampling rate and interpolation method.
[0263] The data processing method provided in the embodiments of this disclosure obtains global parameters and performs frame interpolation based on the frame interpolation method in the global parameters, thereby improving the efficiency of video encoding and decoding.
[0264] Figure 7 shows a flowchart of another data processing method according to an embodiment of the present disclosure. As shown in Figure 7, the method may include:
[0265] The S710 performs frame interpolation based on the modified global parameters after the global parameters are modified.
[0266] S720, when the frame interpolation method is changed from forward and backward frame interpolation to backward frame interpolation, completes both forward and backward frame interpolation based on the current frame.
[0267] 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. To provide a detailed description of the data processing method in this embodiment, Figure 8 shows a frame interpolation schematic diagram in this embodiment. As shown in Figure 8, the frame interpolation method used before the current frame is forward and backward frame interpolation. After the current frame serves as a reference frame to complete the prediction of the predicted frames before the current frame, it then serves as a reference frame to complete the prediction of the predicted frames after the current frame.
[0268] The data processing method provided in the embodiments of this disclosure obtains global parameters and performs frame interpolation based on the frame interpolation method in the global parameters, thereby improving the efficiency of video encoding and decoding.
[0269] Figure 9 shows a flowchart of another data processing method according to an embodiment of the present disclosure. As shown in Figure 9, the method may include:
[0270] S910, determine the frame interpolation method and the number of remaining frames corresponding to the current frame. The current frame includes the last sampled frame.
[0271] In this embodiment of the disclosure, the current frame can be the last sampled frame in the interpolation segment.
[0272] In some embodiments, the last sampled frame can be determined based on the number of sampled frames in the interpolation frame segment.
[0273] S920, when the frame interpolation method is backward frame interpolation, the backward frame interpolation obtains the predicted frame and retains the predicted frame of the remaining frame number.
[0274] 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.
[0275] In some embodiments, erd_num_temporal_remain can be the remaining frames, i.e., the number of images after the last sampled frame.
[0276] 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.
[0277] For example, if there are 3 predicted frames and 2 remaining frames, then the 2 predicted frames can be retained as remaining frames.
[0278] S930, when the frame interpolation method is forward and backward frame interpolation, copies are made based on the current frame to obtain a copied frame, and the number of copied frames remaining is retained.
[0279] 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.
[0280] 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.
[0281] erd_num_temporal_remain:
[0282] This indicates the number of images after the last temporal sampling frame.
[0283] When srd_temporal_restoration_mode is 0, erd_num_temporal_remain ranges from [0, 2srd_temporal_resampling_ratio_idx+1).
[0284] When srd_temporal_restoration_mode is 1, erd_num_temporal_remain ranges from [0, RestorationRatio);
[0285] 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.
[0286] 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.
[0287] For example, `prd_temporal_resampling_ratio_changed_flag`: a flag indicating a change in the temporal sampling ratio.
[0288] 1: Changes have occurred
[0289] 0: No change
[0290] 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.
[0291] prd_temporal_resampling_ratio_idx indicates a change in the sampling ratio.
[0292] prd_temporal_extrapolation_flag indicates that the sampling method has changed.
[0293] prd_temporal_extra_resampling_length_idx will cause changes in the number of frames after the frame skipping.
[0294] prd_temporal_extra_resampling_length_idx: Index of the frame-level temporal extrapolation sampling frame length
[0295] If prd_temporal_extra_resampling_length is represented by M, then
[0296] prd_temporal_extra_resampling_length_idx=M-2
[0297] When the mode is extrapolation, prd_temporal_resampling_ratio_idx is represented by i.
[0298] prd_temporal_resampling_ratio=(M+i) / M
[0299] When the mode is interpolation, prd_temporal_resampling_ratio_idx is represented by i.
[0300] prd_temporal_resampling_ratio=2i.
[0301] The data processing method provided in the embodiments of this disclosure obtains global parameters and performs frame interpolation based on the frame interpolation method in the global parameters, thereby improving the efficiency of video encoding and decoding.
[0302] Figure 10 shows a structural diagram of a data processing device according to an embodiment of this disclosure. It should be noted that this data processing device is applied at the decoding end.
[0303] As shown in Figure 10, the device may include:
[0304] The first acquisition module 1010 is used to acquire global parameters, including the frame interpolation method;
[0305] The first frame interpolation module 1020 is used for frame interpolation based on the frame interpolation method.
[0306] In some embodiments, the global parameters also include the sampling rate and / or the sampling interval frame;
[0307] The first frame interpolation module is also used to perform frame interpolation based on at least one of the frame interpolation method and the sampling multiplier and the number of sampling interval frames.
[0308] In some embodiments, the first frame interpolation module includes:
[0309] The acquisition unit is used to acquire the current frame and the reference frame sequence;
[0310] 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;
[0311] The second 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.
[0312] In some embodiments, the apparatus further includes:
[0313] The first input module is used to input the current frame into the reference frame sequence after the prediction frame is determined.
[0314] In some embodiments, the first frame interpolation module includes:
[0315] The input unit is used to input the current frame into the reference frame sequence;
[0316] 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;
[0317] The fourth 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 some embodiments, the current frame includes a sampled frame and a predicted frame, and the apparatus further includes:
[0319] The second determining module is used to determine the number of predictions based on at least one of the number of sampled frames in the frame interpolation segment, the total number of frames in the frame interpolation 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.
[0320] The second input module is used to input the sampled frame into the reference frame sequence;
[0321] The third determining module is used to determine whether the number of sampled frames in the reference frame sequence has reached a preset threshold.
[0322] 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.
[0323] The first repeating module is used to repeat the above steps until the preset number of times is reached.
[0324] In some embodiments, the current frame includes a sampled frame and a predicted frame, and the apparatus further includes:
[0325] The third input module is used to input the sampled frame and the predicted frame into the reference frame sequence;
[0326] The fifth determining module is used to determine whether the number of sampled frames in the reference frame sequence has reached a preset threshold.
[0327] 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.
[0328] 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.
[0329] In some embodiments, the apparatus further includes:
[0330] The second acquisition module is used to acquire the frame-level parameters corresponding to the current frame, including the temporal sampling rate change flag.
[0331] The modification module is used to modify global parameters when the frame-level parameter flag is set.
[0332] In some embodiments, modifying global parameters includes modifying the sampling rate to obtain a modified sampling rate;
[0333] The device also includes:
[0334] The second frame interpolation module is used to perform frame interpolation based on the modified sampling rate and frame interpolation method.
[0335] In some embodiments, the modification module includes:
[0336] The modification unit is used to change the frame interpolation method from backward frame interpolation to forward and backward frame interpolation, and to change the frame interpolation method from forward and backward frame interpolation to backward frame interpolation.
[0337] In some embodiments, the apparatus further includes:
[0338] The third frame interpolation module is used to perform frame interpolation based on the modified global parameters after the global parameters have been modified.
[0339] In some embodiments, the modification module includes:
[0340] The interpolation unit is used to perform both forward and backward interpolation based on the current frame when the interpolation method is changed from forward interpolation to backward interpolation.
[0341] In some embodiments, the apparatus further includes:
[0342] The seventh determination module is used to determine the frame interpolation method corresponding to the current frame and the number of remaining frames. The current frame includes the last sampled frame.
[0343] 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.
[0344] The second retention module, when the frame interpolation method is forward and backward frame interpolation, copies the current frame to obtain a copied frame and retains the number of copied frames remaining.
[0345] Figure 11 shows a structural diagram of a data processing device according to an embodiment of this disclosure. It should be noted that this data processing device is applied to the encoding end.
[0346] As shown in Figure 11, the device 1100 may include:
[0347] The encoding module 1110 is used to encode the video to obtain bitstream data, so that the decoding end can implement any of the data processing methods in the above embodiments based on the bitstream data.
[0348] 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.
[0349] 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."
[0350] The electronic device 1200 according to this embodiment of the present disclosure will now be described with reference to FIG12. The electronic device 1200 shown in FIG12 is merely an example and should not be construed as limiting the functionality and scope of the embodiments of the present disclosure.
[0351] As shown in Figure 12, the electronic device 1200 is presented in the form of a general-purpose computing device. The components of the electronic device 1200 may include, but are not limited to: at least one processing unit 1212, at least one storage unit 1220, and a bus 1230 connecting different system components (including storage unit 1220 and processing unit 1212).
[0352] The storage unit stores program code, which can be executed by the processing unit 1212 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 1212 can perform the following steps of the above-described method embodiments:
[0353] Get global parameters, including the frame interpolation method;
[0354] Frame interpolation is performed based on the interpolation method.
[0355] Storage unit 1220 may include a readable medium in the form of a volatile storage unit, such as random access memory (RAM) 12201 and / or cache memory 12202, and may further include a read-only memory (ROM) 12203.
[0356] Storage unit 1220 may also include a program / utility 12204 having a set (at least one) of program modules 12205, such program modules 12205 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.
[0357] Bus 1230 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.
[0358] Electronic device 1200 can also communicate with one or more external devices 1240 (e.g., keyboard, pointing device, Bluetooth device, etc.), one or more devices that enable a user to interact with electronic device 1200, and / or any device that enables electronic device 1200 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 1250. Furthermore, electronic device 1200 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 1260. As shown, network adapter 1260 communicates with other modules of electronic device 1200 via bus 1230. 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 1200, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0359] 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.
[0360] 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.
[0361] 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.
[0362] 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.
[0363] 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.
[0364] 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).
[0365] 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.
[0366] 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.
[0367] 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.
[0368] 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, characterized in that, Applied to the decoding end, it includes: obtaining global parameters, the global parameters including a frame interpolation method; and performing frame interpolation based on the frame interpolation method.
2. The method according to claim 1, characterized in that, The global parameters also include the sampling rate and / or the number of frames in the sampling interval; the frame interpolation based on the interpolation method includes: performing frame interpolation based on the interpolation method and at least one of the sampling rate and the number of frames in the sampling interval.
3. The method according to claim 2, characterized in that, The sampling interval frame number includes the number of sampled frames and the number of predicted frames, and the sampling multiplier includes the sampling multiplier when performing forward and backward frame interpolation.
4. The method according to claim 3, characterized in that, The frame interpolation based on the interpolation method information includes: acquiring the current frame and a reference frame sequence; determining whether the number of frames in the reference frame sequence reaches a preset threshold, wherein the preset threshold is determined by the number of sampled frames; and, if the number of frames in the reference frame sequence reaches the preset threshold, determining the prediction frame based on the current frame, the reference frames in the reference frame sequence, the number of prediction frames, and the prediction module.
5. The method according to claim 4, characterized in that, The method further includes: after determining the predicted frame, inputting the current frame into a reference frame sequence.
6. The method according to claim 1, characterized in that, The frame interpolation based on the interpolation method information includes: inputting the current frame into a reference frame sequence; determining whether the number of frames in the reference frame sequence reaches a preset threshold, wherein the preset threshold is determined by the number of sampled frames; and, if the number of frames in the reference frame sequence reaches the preset threshold, determining a prediction frame based on the reference frames in the reference frame sequence, the number of prediction frames, and the prediction module.
7. The method according to claim 4 or 6, characterized in that, The current frame includes a sampled frame and a predicted frame. The method further includes: determining the number of prediction attempts 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 predicted frames, and the prediction capability of the prediction model, wherein the prediction capability of the prediction model includes the number of predicted frames obtained by the prediction model in each prediction; inputting the sampled frame into a reference frame sequence; determining whether the number of sampled frames in the reference frame sequence reaches a preset threshold; if the number of sampled frames in the reference frame sequence reaches the preset threshold, obtaining a predicted frame; updating the reference frame sequence; obtaining a predicted frame based on the updated reference frame sequence; repeating the step of obtaining a predicted frame based on the updated reference frame sequence until the preset number of prediction attempts is reached.
8. The method according to claim 4 or 6, characterized in that, The current frame includes a sampled frame and a predicted frame. The method further includes: inputting the sampled frame and the predicted frame into a reference frame sequence; determining whether the number of sampled frames in the reference frame sequence reaches a preset threshold; if the number of sampled frames and predicted frames in the reference frame sequence reaches the preset threshold, obtaining a predicted frame; updating the reference frame sequence; obtaining a predicted frame based on the updated reference frame sequence; repeating the step of obtaining a predicted frame based on the updated reference frame sequence until the number of sampled frames and predicted frames reaches the total number of frames in the interpolated frame segment.
9. The method according to claim 1, characterized in that, The method further includes: obtaining frame-level parameters corresponding to the current frame, the frame-level parameters including a temporal sampling rate change flag; and modifying the global parameters when the frame-level parameter flag is in position.
10. The method according to claim 9, characterized in that, The modification of global parameters includes modifying the sampling rate to obtain a modified sampling rate; the method further includes performing frame interpolation based on the modified sampling rate and the frame interpolation method.
11. The method according to claim 9, characterized in that, The modification of global parameters includes: changing the frame interpolation method from backward frame interpolation to forward and backward frame interpolation, and changing the frame interpolation method from forward and backward frame interpolation to backward frame interpolation.
12. The method according to claim 11, characterized in that, The method further includes: after the global parameters are modified, performing frame interpolation based on the modified global parameters.
13. The method according to claim 12, characterized in that, The frame interpolation based on the modified global parameters includes: when the interpolation method is changed from forward interpolation to backward interpolation, performing forward interpolation and backward interpolation based on the current frame.
14. The method according to claim 1, characterized in that, The method further includes: determining the frame interpolation method corresponding to the current frame and the number of remaining frames, wherein the current frame includes the last sampled frame; when the frame interpolation method is backward frame interpolation, obtaining a predicted frame through backward frame interpolation, and retaining the number of predicted frames in the remaining frame count; when the frame interpolation method is forward and backward frame interpolation, copying based on the current frame to obtain a copied frame, and retaining the number of copied frames in the remaining frame count.
15. A data processing method, characterized in that, Applied to the encoding end, it includes: encoding video to obtain bitstream data, so that the decoding end can implement any one of the data processing methods as described in claims 1-14 based on the bitstream data.
16. A data processing apparatus, characterized in that, Applied to the decoding end, it includes: a first acquisition module for acquiring global parameters, the global parameters including a frame interpolation method; and a first frame interpolation module for performing frame interpolation based on the frame interpolation method.
17. A data processing apparatus, characterized in that, Applied to the encoding end, it includes: an encoding module for encoding video to obtain bitstream data, so that the decoding end can implement any one of the data processing methods as described in claims 1-15 based on the bitstream data.
18. An electronic device, characterized in that, include: processor; And a memory for storing executable instructions of the processor; wherein the processor is configured to perform the data processing method of any one of claims 1 to 15 by executing the executable instructions.
19. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the data processing method according to any one of claims 1 to 15.