A method for processing video content and related devices

By identifying and discarding non-reference frames during video speed playback, the problem of lag caused by time-consuming video frame processing is solved, and smoother speed playback is achieved.

CN115776593BActive Publication Date: 2025-07-22TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111038931.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-06
Publication Date
2025-07-22
Estimated Expiration
2041-09-06

AI Technical Summary

Technical Problem

During the video speed playback process, the process of video frames takes too much time to process, resulting in too little display of frames, causing lag and affecting fluency.

Method used

By obtaining the double-speed playback parameters of the target video, the processing performance information is determined, the frame type of the current frame is identified, and the non-reference frame is discarded when the processing performance does not meet the requirements, and only the reference frame is decoded.

Benefits of technology

It slows down the rendering pressure, avoids frame loss and stuttering, and improves the smoothness of video content playback speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115776593B_ABST
    Figure CN115776593B_ABST
Patent Text Reader

Abstract

The present application discloses a method for processing video content and related devices. By obtaining the speed-playing parameter corresponding to the target video; then determining the processing performance information corresponding to decoding the target video; and when it is determined that the rendering duration corresponding to the processing performance information does not meet the playing requirement corresponding to the speed-playing parameter, identifying the frame type of the current frame; if the frame type of the current frame is a non-reference frame, then discarding the current frame and decoding the next frame of the current frame. Thus, a speed-playing process of discarding frames before predictive decoding is realized. Since non-reference frames that have been determined previously are discarded before decoding, while reference frames and non-reference frames that do not meet the conditions are sent to the decoder for decoding, the rendering pressure is reduced, the occurrence of frame-drop stuttering is avoided, and the smoothness of speed-playing of video content is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular, to a method for processing video content and related devices. Background Art

[0002] With the rapid development of Internet technology, people's requirements for video content are getting higher and higher. Variable speed playback is a way to process video content, which provides users with various variable speed modes during video playback.

[0003] Generally, during variable speed playback, the decoder needs to process twice as many video frames. For example, when playing at twice the speed, two frames are read per second and sent to the decoder for decoding, and during rendering, the display is accelerated at twice the speed to achieve the effect of variable speed playback.

[0004] However, the processing of a large number of video frames may take too much time, resulting in video frames being lost before they can be displayed, causing stuttering during variable speed playback and affecting the smoothness of variable speed playback of video content. Summary of the Invention

[0005] In view of this, this application provides a method for processing video content, which can effectively improve the smoothness of variable speed playback of video content.

[0006] The first aspect of this application provides a method for processing video content, which can be applied to a system or program with video content processing functions in a terminal device, and specifically includes:

[0007] Obtain the variable speed playback parameters corresponding to the target video;

[0008] Determine the processing performance information corresponding to decoding the target video, where the processing performance information is simulated based on the rendering duration corresponding to the previous frame of the current frame being decoded;

[0009] If the rendering duration corresponding to the processing performance information does not meet the playback requirements corresponding to the variable speed playback parameters, then identify the frame type of the current frame;

[0010] If the frame type of the current frame is a non-reference frame, then discard the current frame and decode the next frame of the current frame.

[0011] Optionally, in some possible implementation manners of this application, before the step of if the rendering duration corresponding to the processing performance information does not meet the playback requirements corresponding to the variable speed playback parameters, then identify the frame type of the current frame, the method further includes:

[0012] Obtain the cumulative rendering duration indicated by the rendering duration corresponding to the processing performance information, where the cumulative rendering duration starts to accumulate from when the first frame of the target video is rendered;

[0013] Determine the preset playback moment corresponding to the current frame in the preset playback progress based on the preset playback progress corresponding to the target video when configuring the speed-up playback parameter;

[0014] If the difference between the rendering moment corresponding to the cumulative rendering duration and the preset playback moment does not meet the first threshold condition, it is determined that the rendering duration corresponding to the processing performance information does not meet the playback requirements corresponding to the speed-up playback parameter.

[0015] Optionally, in some possible implementation manners of the present application, the determining the processing performance information corresponding to decoding the target video includes:

[0016] Based on the type identifiers of each video frame in the target video, determine the ratio of the number of non-reference frames in the target video to the total number of frames;

[0017] When the ratio of the number of non-reference frames to the total number of frames reaches a preset processing limit, determine the processing performance information corresponding to decoding the target video.

[0018] Optionally, in some possible implementation manners of the present application, the if the ratio of the number of non-reference frames to the total number of frames reaches a preset value, then determining the processing performance information corresponding to decoding the target video includes:

[0019] Obtain the clarity parameter set for the target video;

[0020] Determine the frame rate information corresponding to the target video when configuring the clarity parameter;

[0021] Parse the number of frames indicated in the frame rate information to determine the preset processing limit corresponding to the number of frames indicated in the frame rate information;

[0022] When the ratio of the number of non-reference frames to the total number of frames reaches the preset processing limit, determine the processing performance information corresponding to decoding the target video.

[0023] Optionally, in some possible implementation manners of the present application, the method further includes:

[0024] If the frame type of the current frame is a reference frame, decode the current frame to obtain a decoded frame;

[0025] If the rendering duration corresponding to the processing performance information does not meet the second threshold condition, discard the current frame and decode the next frame of the current frame.

[0026] Optionally, in some possible implementation manners of the present application, the method further includes:

[0027] If the rendering duration corresponding to the processing performance information satisfies the second threshold condition, then execute a rendering process on the current frame;

[0028] Extract the rendering duration corresponding to the rendering process;

[0029] Update the rendering duration corresponding to the processing performance information to the rendering duration corresponding to the rendering process, and the rendering duration corresponding to the rendering process is used for processing the next frame of the current frame.

[0030] Optionally, in some possible implementation manners of this application, the method further includes:

[0031] In response to a target operation to set the target video, obtain a speed playback parameter corresponding to the target operation;

[0032] If the speed playback parameter corresponding to the target operation is the same as the speed playback parameter, then call speed processing information to process the target video to execute a playback process of the target video based on the instant playback parameter, and the speed processing information is used to indicate a marked frame, and the marked frame is determined based on the discarded current frame.

[0033] A second aspect of this application provides a processing device for video content, including:

[0034] An obtaining unit, configured to obtain a speed playback parameter corresponding to a target video;

[0035] A determining unit, configured to determine processing performance information corresponding to decoding the target video, where the processing performance information is simulated based on a rendering duration corresponding to the previous frame of the currently decoded frame;

[0036] A processing unit, configured to, if the rendering duration corresponding to the processing performance information does not meet the playback requirement corresponding to the speed playback parameter, identify the frame type of the current frame;

[0037] The processing unit is further configured to, if the frame type of the current frame is a non-reference frame, discard the current frame and decode the next frame of the current frame.

[0038] Optionally, in some possible implementation manners of this application, the processing unit is specifically configured to obtain a cumulative rendering duration indicated by the rendering duration corresponding to the processing performance information, and the cumulative rendering duration starts to be accumulated since the first frame of the target video is rendered;

[0039] The processing unit is specifically configured to determine a preset playback moment corresponding to the current frame in the preset playback progress based on a preset playback progress corresponding to the target video when the speed playback parameter is configured;

[0040] Specifically, if the difference between the rendering time corresponding to the cumulative rendering duration and the preset playback time does not meet the first threshold condition, the processing unit determines that the rendering duration corresponding to the processing performance information does not meet the playback requirements corresponding to the speed-up playback parameter.

[0041] Optionally, in some possible implementation manners of this application, the determining unit is specifically configured to determine, based on the type identifiers of the video frames in the target video, the ratio of the number of non-reference frames in the target video to the total number of frames.

[0042] Specifically, when the ratio of the number of non-reference frames to the total number of frames reaches a preset processing limit, the determining unit determines the processing performance information corresponding to decoding the target video.

[0043] Optionally, in some possible implementation manners of this application, the processing unit is specifically configured to obtain the clarity parameter set for the target video.

[0044] Specifically, the processing unit determines the frame rate information corresponding to the target video when the clarity parameter is configured.

[0045] Specifically, the processing unit parses the number of frames indicated in the frame rate information to determine the preset processing limit corresponding to the number of frames indicated in the frame rate information.

[0046] Specifically, when the ratio of the number of non-reference frames to the total number of frames reaches the preset processing limit, the processing unit determines the processing performance information corresponding to decoding the target video.

[0047] Optionally, in some possible implementation manners of this application, if the frame type of the current frame is a reference frame, the processing unit specifically decodes the current frame to obtain a decoded frame.

[0048] Specifically, if the rendering duration corresponding to the processing performance information does not meet the second threshold condition, the processing unit discards the current frame and decodes the next frame of the current frame.

[0049] Optionally, in some possible implementation manners of this application, if the rendering duration corresponding to the processing performance information meets the second threshold condition, the processing unit specifically executes a rendering process on the current frame.

[0050] Specifically, the processing unit extracts the rendering duration corresponding to the rendering process.

[0051] The processing unit is specifically configured to update the rendering duration corresponding to the processing performance information to the rendering duration corresponding to the rendering process, and the rendering duration corresponding to the rendering process is used for processing the next frame of the current frame.

[0052] Optionally, in some possible implementation manners of this application, the processing unit is specifically configured to set the target video in response to a target operation, and obtain a speed-playing parameter corresponding to the target operation;

[0053] The processing unit is specifically configured to, if the speed-playing parameter corresponding to the target operation is the same as the speed-playing parameter, call speed-processing information to process the target video, so as to execute a playing process of the target video based on the instant-playing parameter, where the speed-processing information is used to indicate a marked frame, and the marked frame is determined based on the discarded current frame.

[0054] A third aspect of this application provides a computer device, including: a memory, a processor, and a bus system; the memory is used to store program code; the processor is used to execute the video content processing method described in the first aspect or any item of the first aspect according to the instructions in the program code.

[0055] A fourth aspect of this application provides a computer-readable storage medium, in which instructions are stored, and when the instructions are run on a computer, the computer is caused to execute the video content processing method described in the first aspect or any item of the first aspect.

[0056] According to one aspect of this application, there is provided a computer program product or a computer program, the computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the video content processing method provided in the first aspect or various optional implementation manners of the first aspect.

[0057] From the above technical solutions, it can be seen that the embodiments of this application have the following advantages:

[0058] By obtaining the speed-up playback parameter corresponding to the target video; then determining the processing performance information corresponding to decoding the target video, where the processing performance information is simulated based on the rendering duration corresponding to the previous frame of the currently decoded frame; further determining the frame type of the current frame when the rendering duration corresponding to the processing performance information does not meet the playback requirements corresponding to the speed-up playback parameter; if the frame type of the current frame is a non-reference frame, then discard the current frame and decode the next frame of the current frame. Thus, a speed-up playback process of pre-judgment type frame dropping before decoding is realized. Since the non-reference frames that have been judged before are dropped before decoding, while the reference frames and non-reference frames that do not meet the conditions are sent to the decoder for decoding, the pressure on rendering is alleviated, the occurrence of frame dropping and freezing phenomena is avoided, and the smoothness of the speed-up playback of video content is improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0059] To more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are only the embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on the provided drawings.

[0060] Figure 1 It is a network architecture diagram for the operation of a video content processing system;

[0061] Figure 2 It is a flow architecture diagram for the processing of a video content provided by an embodiment of the present application;

[0062] Figure 3 It is a flowchart of a method for processing video content provided by an embodiment of the present application;

[0063] Figure 4 It is a scenario schematic diagram of a method for processing video content provided by an embodiment of the present application;

[0064] Figure 5 It is a scenario schematic diagram of another method for processing video content provided by an embodiment of the present application;

[0065] Figure 6 It is a flowchart of another method for processing video content provided by an embodiment of the present application;

[0066] Figure 7 It is a flowchart of another method for processing video content provided by an embodiment of the present application;

[0067] Figure 8 It is a scenario schematic diagram of another method for processing video content provided by an embodiment of the present application;

[0068] Figure 9Schematic structural diagram of a video content processing device provided by an embodiment of the present application;

[0069] Figure 10 Schematic structural diagram of a terminal device provided by an embodiment of the present application;

[0070] Figure 11 Schematic structural diagram of a server provided by an embodiment of the present application. Specific embodiments

[0071] An embodiment of the present application provides a video content processing method and related device, which can be applied to a system or program with a video content processing function in a terminal device. By obtaining the speed-up playback parameter corresponding to the target video; then determining the processing performance information corresponding to decoding the target video, the processing performance information is simulated based on the rendering duration corresponding to the previous frame of the current frame being decoded; further determining the frame type of the current frame when the rendering duration corresponding to the processing performance information does not meet the playback requirements of the speed-up playback parameter; if the frame type of the current frame is a non-reference frame, discard the current frame and decode the next frame of the current frame. Thus, a speed-up playback process of pre-judgment frame dropping before decoding is realized. Since the non-reference frames that have been determined previously are dropped before decoding, and the reference frames and non-reference frames that do not meet the conditions are sent to the decoder for decoding, the pressure of rendering is reduced, the occurrence of frame dropping and freezing phenomena is avoided, and the smoothness of the speed-up playback of video content is improved.

[0072] Terms such as "first", "second", "third", "fourth", etc. (if any) in the specification, claims and above-mentioned drawings of the present application are used to distinguish similar objects, and do not have to be used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present application described here can be implemented in an order other than those illustrated or described here. In addition, the terms "including" and "corresponding to" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device including a series of steps or units does not have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.

[0073] First, some nouns that may appear in the embodiments of the present application are explained.

[0074] I-frame: Intra-coded frame, also known as key frame, is a complete data record of a frame of picture and is a necessary video frame in IPB coding technology.

[0075] P-frame: A forward prediction encoded frame, which is a type of reference frame. That is, a P-frame has a predictive effect on the next frame. A P-frame is predicted from the P-frame or I-frame in front of it. It compares the same information or data with the P-frame or I-frame in front of it, that is, it performs inter-frame compression considering the characteristics of motion; a P-frame will refer to the closest I-frame or P-frame in front of it.

[0076] B-frame: A bi-directional prediction interpolation encoded frame, which is a non-reference frame. Usually, what a B-frame records is the difference between this frame and the frames before and after it.

[0077] Non-reference frame: A frame that is not referenced by other frames during encoding, usually a B-frame.

[0078] HEVC: High Efficiency Video Coding, H265.

[0079] AVC: Advanced Video Coding, H264.

[0080] It should be understood that the method for processing video content provided in this application can be applied to a system or program with video content processing functions in a terminal device, such as a video playback application. Specifically, the video content processing system can run in a network architecture as shown in Figure 1 As shown, it is a network architecture diagram for the operation of the video content processing system. As can be seen from the figure, the video content processing system can provide the processing process of video content from multiple information sources, that is, through the setting of the speed-up parameter on the terminal side, the relevant video content on the server is processed, and then speed-up playback is performed; it can be understood that Figure 1 shows various terminal devices. The terminal device can be a computer device. In actual scenarios, there may be more or fewer types of terminal devices participating in the process of video content processing. The specific quantity and types depend on the actual scenario and are not limited here. Additionally, Figure 1 shows a server, but in actual scenarios, multiple servers may also participate. The specific number of servers depends on the actual scenario. Figure 1 As shown, it is a network architecture diagram for the operation of the video content processing system. As can be seen from the figure, the video content processing system can provide the processing process of video content from multiple information sources, that is, through the setting of the speed-up parameter on the terminal side, the relevant video content on the server is processed, and then speed-up playback is performed; it can be understood that

[0081] In this embodiment, the server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, as well as big data and artificial intelligence platforms. The terminal can be a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto. The terminal and the server can be directly or indirectly connected through wired or wireless communication methods. The terminal and the server can be connected to form a blockchain network, which is not limited in this application.

[0082] It can be understood that the above video content processing system can run on a personal mobile terminal, for example, as an application such as a video playback application, or it can run on a server, or it can also run on a third-party device to provide video content processing to obtain the processing result of the video content of the information source; the specific video content processing system can run in the above device in the form of a program, or it can run as a system component in the above device, or it can also be a kind of cloud service program. The specific operation mode depends on the actual scenario and is not limited here.

[0083] With the rapid development of Internet technology, people's requirements for video content are getting higher and higher. Variable speed playback is a way to process video content, providing users with a variety of variable speed modes during video playback.

[0084] Generally, during variable speed playback, the decoder needs to process twice as many video frames. For example, when playing at twice the speed, two frames are read per second and sent to the decoder for decoding, and during rendering, the display is accelerated at the variable speed to achieve the variable speed playback effect.

[0085] However, the processing of a large number of video frames may take too much time, resulting in video frames being lost before they can be displayed, causing the phenomenon of variable speed playback jamming, affecting the smoothness of variable speed playback of video content, or users can only choose to play at a lower definition, affecting the user experience.

[0086] To solve the above problems, the present application proposes a method for processing video content, which is applied to Figure 2 the shown process framework for processing video content, as Figure 2 shown, which is a process architecture diagram provided by an embodiment of the present application. The user sets the variable speed playback parameters through the terminal, and then the server side makes a decoding determination, that is, whether the decoding ability meets the current variable speed, and accordingly discards frames, so as to ensure that the frames for rendering can match the performance parameters.

[0087] It can be understood that since video frame decoding needs to start from the I frame, which decodes into a complete picture, the P frame and B frame rely on it for decoding, and all frames need to be decoded; if a certain frame is missing or discarded, the frames referenced by it will decode fail, resulting in a mosaic or scrambled screen phenomenon. However, there are also some frames that are not relied on by other frames. To improve the decoder processing speed, without affecting the decoding of other frames, some frames that are not referenced by other frames, that is, non-reference frames, can be discarded.

[0088] This embodiment can be configured to adopt the intelligent determination variable speed frame dropping logic proposed by the present invention during variable speed, thereby alleviating the decoding pressure and bringing a better experience to users on platforms with insufficient performance; or users can watch with better clarity.

[0089] It can be understood that the method provided in this application can be a program writing to serve as a processing logic in a hardware system, or can also be a video content processing device, and the above processing logic is implemented in an integrated or external connection manner. As an implementation manner, the video content processing device obtains the speed-up playback parameter corresponding to the target video; then determines the processing performance information corresponding to decoding the target video, and the processing performance information is obtained by simulating the rendering duration corresponding to the previous frame of the currently decoded frame; further determines the frame type of the current frame when the rendering duration corresponding to the processing performance information does not meet the playback requirement corresponding to the speed-up playback parameter; if the frame type of the current frame is a non-reference frame, the current frame is discarded, and the next frame of the current frame is decoded. Thus, a speed-up playback process of dropping frames before predictive decoding is realized. Since the non-reference frames that have been determined previously are dropped before decoding, and the reference frames and non-reference frames that do not meet the conditions are sent to the decoder for decoding, the rendering pressure is reduced, the occurrence of frame-drop jamming is avoided, and the smoothness of the speed-up playback of video content is improved.

[0090] Combined with the above process architecture, the video content processing method in this application will be introduced below. Please refer to Figure 3 , Figure 3 is a flowchart of a video content processing method provided by an embodiment of this application. This management method can be executed by a terminal device, a server, or both. The embodiment of this application at least includes the following steps:

[0091] 301. Obtain the speed-up playback parameter corresponding to the target video.

[0092] In this embodiment, the speed-up playback parameter is the speed of accelerated playback, such as double-speed playback, triple-speed playback, etc. The specific value depends on the actual scenario and is not limited here.

[0093] It can be understood that the setting of the speed-up playback parameter for the target video can be performed by the user through a setting operation, such as clicking the 2x playback button; specifically, the speed-up playback process can be set before the target video starts playing, or can also be set during the playback of the target video. The specific trigger timing depends on the actual scenario.

[0094] 302. Determine the processing performance information corresponding to decoding the target video.

[0095] In this embodiment, for the process of fast-forward playback, the video frames of the target video need to be decoded. Since the number of video frames to be decoded per unit time during fast-forward playback increases exponentially, it is necessary to consider whether the processing performance information can handle the decoding process corresponding to the bitrate, that is, the relationship between the number of frames decoded by the decoder per second and the number of frames required for fast-forward playback of the target video. Among them, since the rendering duration of the current frame can only be obtained after execution, the processing performance information in this embodiment is simulated based on the rendering duration corresponding to the previous frame of the currently decoded frame, thus ensuring the effectiveness of the processing performance information and enabling immediate conditional judgment without performing rendering.

[0096] In a possible embodiment, the determination of the processing performance information can be carried out when the non-reference frames in the target video reach a certain proportion. That is, first, based on the type identifiers of each video frame in the target video, the ratio of the number of non-reference frames in the target video to the total number of frames is determined. Then, when the ratio of the number of non-reference frames to the total number of frames reaches the preset processing limit (for example, the ratio of the number of non-reference frames to the total number of frames reaches 70%), the processing performance information corresponding to decoding the target video can be determined, thus ensuring the effectiveness of the execution of this embodiment.

[0097] Specifically, due to the fluctuations in the server load, the determination process of the processing performance information can be obtained through testing. That is, first, the test frames of the target video within a preset time period are extracted. Then, a load test is performed on the server based on the test frames to determine the processing performance information corresponding to decoding the target video, such as 30 frames per second.

[0098] Furthermore, considering that the target video may have different resolutions, and the processing performance information corresponding to different resolutions may be different, the determination of the processing performance information can first obtain the resolution parameters set for the target video, such as resolution parameters of 1080p, 4K, etc. Then, the frame rate information corresponding to the target video when configured with the resolution parameters is determined (for example, the frame rate corresponding to a 4K video is 80 frames). Furthermore, the number of frames indicated in the frame rate information is parsed to determine the preset processing limit corresponding to the number of frames indicated in the frame rate information (for example, when the frame rate of a 4K video is 80 frames, the non-reference frame ratio needs to reach 75%). When the ratio of the number of non-reference frames to the total number of frames reaches the preset processing limit, the processing performance information corresponding to decoding the target video is determined, thus ensuring that the target video can be fast-forward played at the resolution specified by the user.

[0099] 303. If the rendering duration corresponding to the processing performance information does not meet the playback requirements corresponding to the fast-forward playback parameters, then identify the frame type of the current frame.

[0100] In this embodiment, if the rendering duration corresponding to the processing performance information (a performance parameter indicating the current device's processing of video frames) does not meet the playback requirements corresponding to the speed-up playback parameter, it indicates that the playback platform may not be able to decode the corresponding number of video frames within the specified time, resulting in frame loss. Therefore, at this time, it is necessary to determine the frame type of the current frame of the target video to perform frame optimization operations.

[0101] It can be understood that the current frame is the video frame being processed at the current moment, that is, through the dynamic frame processing process of this application, the normal progress of speed-up playback is ensured.

[0102] Specifically, the process of determining whether the rendering duration corresponding to the processing performance information meets the playback requirements corresponding to the speed-up playback parameter can be obtained by judging based on the cumulative rendering duration, which is a process of moment comparison. That is, first obtain the cumulative rendering duration indicated by the rendering duration corresponding to the processing performance information, which is the cumulative duration starting from the rendering of the first frame of the target video; then, based on the preset playback progress corresponding to the target video when configuring the speed-up playback parameter, determine the preset playback moment corresponding to the current frame in the preset playback progress; further, if the difference between the rendering moment corresponding to the cumulative rendering duration and the preset playback moment does not meet the first threshold condition, it is determined that the rendering duration corresponding to the processing performance information does not meet the playback requirements corresponding to the speed-up playback parameter. For example, the first threshold condition is determined based on the comparison relationship between the playback process of the target video and the preset playback progress. For video frame 1, its cumulative rendering duration is 10 seconds, while the preset playback moment corresponding to video frame 1 in the preset playback progress is 9.5 seconds < 10 seconds. Therefore, the difference between the rendering moment corresponding to the cumulative rendering duration and the preset playback moment is 0.5 seconds, which exceeds 0.3 seconds, that is, it does not meet the first threshold condition. The threshold in the first threshold condition can be 0.3 seconds, or 0.2 seconds, 0.5 seconds, etc. The specific threshold setting depends on the actual scenario; if the interval between the rendering duration and the current moment exceeds the threshold, it is necessary to determine the frame type of the current frame of the target video.

[0103] It can be understood that the playback process and the preset playback progress can intuitively reflect the real-time rendering situation, that is, judging for stuttering from the perspective of the overall multiple playback of the video, avoiding the influence of individual abnormal frames on the judgment of the threshold condition.

[0104] In addition, the process of determining whether the rendering duration corresponding to the processing performance information meets the playback requirements corresponding to the fast playback parameter can also be obtained based on the rendering duration of the current frame. That is, the duration determination process. For example, if the rendering duration of the current frame is 50 milliseconds and the preset duration for the current frame is 30 milliseconds < 50 milliseconds, the difference between the rendering duration of the current frame and the preset duration of the current frame is 20 milliseconds, which exceeds the first threshold condition by 10 milliseconds, that is, it does not meet the first threshold condition. In this embodiment, the threshold in the first threshold condition can be 50 milliseconds, or 60 milliseconds, 40 milliseconds, etc. The specific threshold setting depends on the actual scenario.

[0105] 304. If the frame type of the current frame is a non-reference frame, discard the current frame and decode the next frame of the current frame.

[0106] In this embodiment, since non-reference frames do not affect the normal playback of the video, non-reference frames can be discarded when the playback platform is determined to meet the condition of insufficient performance to ensure the smooth progress of fast playback.

[0107] Specifically, that is, when the rendering time of the current frame is later than the preset playback progress and exceeds a certain set threshold (the first threshold condition), start the logic of discarding non-reference frames to reduce the decoding pressure and solve the problem of playback jitter. For example, when playing a source with a frame rate of 30 at double speed, if the platform performance limit is to decode 45 frames of the current source segment in 1 second, only about 15 non-reference frames need to be discarded to play at double speed.

[0108] In addition, for the scenario where the frame type of the current frame is a reference frame, decode the reference frame to obtain the decoded frame. Further, to ensure that the rendering process does not affect the smooth progress of fast playback, when the rendering duration corresponding to the processing performance information does not meet the second threshold condition, discard the reference frame to execute the playback process of the target video based on the fast playback parameter. The second threshold condition is determined based on the comparison relationship between the playback process corresponding to the target video and the rendering duration, that is, the difference between the rendering duration and the current moment exceeds the threshold corresponding to the second threshold condition. For example, 50 milliseconds, then still perform the frame discarding operation and decode the next frame of the current frame.

[0109] Correspondingly, if the rendering duration corresponding to the processing performance information meets the second threshold condition, it means that the rendering process does not affect the fast playback process. Therefore, the rendering process can be executed for the current frame (reference frame). Further, the rendering duration corresponding to the rendering process can be extracted. Then, update the rendering duration corresponding to the processing performance information to the rendering duration corresponding to the rendering process. The rendering duration corresponding to the rendering process is used for the processing of the next frame of the current frame, thereby providing a reference for the determination of the processing duration of the subsequent frames of the current frame.

[0110] In a possible scenario, for the starting time of the frame dropping process, it is also possible to determine the proportion of non-reference frames in the target video, that is, parse the data of the first second before playback starts and analyze the proportion of reference frames and non-reference frames therein; then compare the proportion of non-reference frames required to meet the requirements of this speed-up playback with the actual proportion of non-reference frames in the current video source. If the required proportion is less than or equal to the actual proportion, the above-mentioned frame dropping logic is enabled.

[0111] In another possible scenario, as Figure 4 shown, Figure 4 is a schematic diagram of a scenario of another video content processing method provided by an embodiment of the present application; the figure shows an example of 10 frames of a video source, among which there are 6 non-reference frames (B1 - B6). In the case of double speed, if the platform performance limit is to decode 7 frames of this period of the current video source in 1 second, then the 3 gray non-reference frames determined to meet the conditions in this scheme may be discarded. The number of frames sent for decoding is about 7 frames, thus reducing the pressure of decoding and rendering.

[0112] Combined with the above embodiments, it can be seen that in this embodiment, the decoding and rendering are optimized through the following condition judgments, that is, firstly, whether the rendering time of the current frame obtained from the rendering module is later than the current system time (the moment corresponding to the preset playback progress) and exceeds the set first threshold condition; secondly, whether the frame that needs to be decoded currently obtained from the parsing module is a non-reference frame. Among them, if the above two conditions are met, the current frame is discarded, and if one of them is not met, it continues to be sent to the decoder. For example, if 2 frames have been rendered out of 6 frames, and the 7th frame is a non-reference frame, since the ratio of the rendered 2 frames to the total 6 frames does not meet the double speed requirement, the 7th frame continues to be rendered. Or if 4 frames have been rendered out of 8 frames, and the 9th frame is a reference frame, 8 divided by 4 meets the double speed requirement, but since the current frame is a reference frame, it continues to be rendered. Or if 5 frames have been rendered out of the current 10 frames, and the 11th frame is a non-reference frame, 10 divided by 5 already meets the double speed, and the 11th non-reference frame can be discarded.

[0113] It should be noted that the decoding and rendering process provided by the present application is not limited to being applied to various coding technologies such as HEVC and AVC. The specific coding type depends on the actual scenario.

[0114] As can be seen from the above embodiments, by obtaining the speed-up playback parameter corresponding to the target video; then determining the processing performance information for decoding the target video, where the processing performance information is simulated based on the rendering duration corresponding to the previous frame of the currently decoded frame; further determining the frame type of the current frame when the rendering duration corresponding to the processing performance information does not meet the playback requirements corresponding to the speed-up playback parameter; if the frame type of the current frame is a non-reference frame, then discard the current frame and decode the next frame of the current frame. Thus, a speed-up playback process of discarding frames before predictive decoding is realized. Since non-reference frames that have been determined previously are discarded before decoding, while reference frames and non-reference frames that do not meet the conditions are sent to the decoder for decoding, the rendering pressure is reduced, the occurrence of frame-drop stuttering is avoided, and the smoothness of the speed-up playback of video content is improved.

[0115] The above embodiments introduce the speed-up playback process of discarding frames before predictive decoding. In a possible scenario, this speed-up playback process can be carried out in cooperation between a decoding module and a rendering module, as Figure 5 shown Figure 5 is a schematic diagram of a scenario of another method for processing video content provided by an embodiment of the present application; it shows a scheme for better supporting speed-up playback by the decoding module (decoder) determining whether to quickly discard frames before decoding by predicting whether the rendering is delayed after determining the speed-up playback parameter. This method is mainly implemented by adding an intelligent decision-making module for speed-up frame discarding in the decoding module; the module makes a decision on whether to discard the current frame according to the following conditions: one is that it is determined that the current frame is a non-reference frame before decoding; the other is whether the current playback causes rendering timeout due to insufficient performance, and the timeout exceeds a set threshold; then before decoding, discard the non-reference frames that have been determined previously. And send the reference frames and non-reference frames that do not meet the conditions to the decoder for decoding. Since frames are discarded before decoding, the decoding bottleneck is improved, and thus the user experience is improved.

[0116] Next, taking double-speed playback as an example, the interaction process between the above decoding module and the rendering module will be described, as Figure 6 shown Figure 6 is a flowchart of another method for processing video content provided by an embodiment of the present application; the embodiment of the present application at least includes the following steps:

[0117] 601. The terminal obtains the double-speed playback parameter.

[0118] In this embodiment, the double-speed playback parameter can be set by the user in real time or be the best playback recommendation for this video in the historical record.

[0119] 602. The decoding module determines whether the rendering time of the current frame is later than the current time by more than a first threshold.

[0120] In this embodiment, the first threshold is the threshold parameter in the first threshold condition. For example, the rendering time is 100 ms, and the current time indicates that the playing duration of this frame is 50 ms. The difference between the two is 100 - 50 = 50 ms, which is greater than 30 ms (the first threshold). This indicates that there is a risk of frame drop during the decoding process of this frame.

[0121] 603. The decoding module determines whether the current frame is a non-reference frame.

[0122] In this embodiment, by determining the frame type, non-reference frames that do not affect the smoothness of video playback are discarded, thereby reducing the pressure of decoding and rendering.

[0123] 604. The decoding module performs frame drop recovery before decoding.

[0124] In this embodiment, non-reference frames are dropped before decoding, without the need for the parsing process after decoding.

[0125] 605. The decoding module decodes the current frame.

[0126] In this embodiment, if the current frame is a reference frame or the rendering time of the current frame is not later than the current time by more than the first threshold, a decoding operation is performed to facilitate the next rendering process.

[0127] 606. The rendering module determines whether the rendering time of the current frame is later than the current time by more than the second threshold.

[0128] In this embodiment, to further ensure the smoothness of video playback, screening of the second threshold can be performed, that is, the second threshold can be less than the first threshold, which further reduces the impact of the rendering process on fast-forward playback. This is because the load capacity of the playback platform fluctuates. By setting the second threshold, stuttering during fast-forward playback caused by platform overload is avoided.

[0129] 607. The rendering module drops frames before rendering.

[0130] In this embodiment, frames that may affect fast-forward playback during the rendering process can also be dropped to ensure the normal progress of fast-forward playback.

[0131] 608. The rendering module executes the rendering process.

[0132] In this embodiment, if there is a video source with a double-speed playback frame rate of 30 and the non-reference frame ratio is about 60%. Playing at normal speed requires 30 frames to be displayed in 1 second, and playing at double speed requires 60 frames to be displayed in 1 second. Among them, there are 36 non-reference frames and 24 reference frames. Before decoding, 30 non-reference frames are discarded, and the remaining 30 frames are sent to the decoder for decoding. Still, displaying 30 frames in 1 second can meet the double-speed playback requirement. Since the number of decoded frames is significantly reduced, the decoding performance is greatly improved. On a platform where the performance is not sufficient for double-speed playback, originally only 30 frames could be decoded, but now 60 frames can be processed by discarding 30 frames. With the strategy of sacrificing some visual experience, the user hardly notices the discarding of non-reference frames, thus solving the original problem of playback jitter.

[0133] 609. The rendering module updates the rendering time to the decoding module.

[0134] In this embodiment, the rendering module transmits the difference between the rendering time of the current frame and the current system time from the rendering module to the decoding module, thus ensuring the referability of the rendering duration.

[0135] In a possible scenario, suppose that currently 3x speed playback is required, but the non-reference frame ratio does not meet the condition of exceeding 66%. Since this solution will give priority to using the system platform performance, that is, for a video source with a frame rate of 30, when the platform decoding bottleneck is 45 frames per second, and the non-reference frame ratio is 60% (18 frames) for triple-speed playback. At this time, the system needs to process 90 frames per second. Since this solution does not send data frames to the decoder proportionally but sends as many frames as possible to the decoder, among the 90 frames, there are 36 reference frames, which is lower than the platform decoding bottleneck of 45 frames, so smooth 3x speed playback can be achieved, thus realizing high-speed playback with low configuration requirements.

[0136] In another possible scenario, the frame dropping operation can be based on historical records. The following describes this scenario. Please refer to Figure 7 , Figure 7 which is a flowchart of another video content processing method provided by an embodiment of the present application. The embodiment of the present application at least includes the following steps:

[0137] 701. Obtain instant playback parameters in response to a target operation.

[0138] In this embodiment, the instant playback parameters are the speed parameters configured by the user at the current moment.

[0139] Specifically, the target operation can be function settings such as speed setting, playing at the default multiple, or playing at the previously set speed. The specific operation depends on the actual scenario.

[0140] 702. Invoke corresponding speed processing information based on the instant playback parameters.

[0141] In this embodiment, during the playback process of the same video at the same playback speed, the frame dropping operation can be directly invoked, that is, the marked non-reference frames or reference frames are directly discarded, thereby saving processing resources.

[0142] Specifically, for the marking process of the discarded frames, non-reference frames (or reference frames exceeding the second threshold) can be marked first to obtain marked frames; then the marked frames are associated with the playback speed parameters to obtain playback speed processing information, which is used to indicate the marked frames, and the marked frames are determined based on the currently discarded frames. For example, Video 1 - Playback Speed 2 - Frame Dropping (2, 7, 9); furthermore, during the instant playback process, obtain the instant playback parameters set for the target video; if the instant playback parameters are the same as the playback speed parameters, then invoke the playback speed processing information to process the target video to execute the playback process of the target video based on the instant playback parameters.

[0143] 703. Perform playback at the playback speed based on the playback speed processing information.

[0144] In this embodiment, by directly invoking the playback speed processing information, the processing efficiency of the playback speed is further improved.

[0145] In a possible scenario, the above embodiment can be presented using Figure 8 the scenario shown in Figure 8 which is a schematic diagram of a scenario for another method of processing video content provided by an embodiment of the present application; it shows that during the playback speed process of the video, the playback speed parameter label A1 will be displayed, which includes the value of the playback speed, the frame dropping situation, and the playback smoothness. The specific parameter display includes but is not limited to the various parameters that appear in the above embodiment, and will not be elaborated here.

[0146] Through the above embodiment, the playback speed effect can be directly improved. Since the decoding performance is alleviated, users can select a higher - definition video source to watch, greatly enhancing the user experience and improving the smoothness of the playback speed.

[0147] To better implement the above - mentioned solution of the embodiment of the present application, the following also provides a related device for implementing the above - mentioned solution. Please refer to Figure 9 , Figure 9 which is a schematic structural diagram of a device for processing video content provided by an embodiment of the present application. The device 900 for processing video content includes:

[0148] An obtaining unit 901, configured to obtain the playback speed parameters corresponding to the target video;

[0149] A determining unit 902, configured to determine the processing performance information corresponding to decoding the target video, where the processing performance information is simulated based on the rendering duration corresponding to the previous frame of the currently decoded frame;

[0150] A processing unit 903, configured to identify the frame type of the current frame if the rendering duration corresponding to the processing performance information does not meet the playback requirements corresponding to the fast playback parameter.

[0151] The processing unit 903 is further configured to discard the current frame and decode the next frame of the current frame if the frame type of the current frame is a non-reference frame.

[0152] Optionally, in some possible implementation manners of the present application, the processing unit 903 is specifically configured to obtain the cumulative rendering duration indicated by the rendering duration corresponding to the processing performance information, and the cumulative rendering duration starts to be accumulated from the first frame of rendering the target video.

[0153] The processing unit 903 is specifically configured to determine the preset playback moment corresponding to the current frame in the preset playback progress based on the preset playback progress corresponding to the target video when configuring the fast playback parameter.

[0154] The processing unit 903 is specifically configured to determine that the rendering duration corresponding to the processing performance information does not meet the playback requirements corresponding to the fast playback parameter if the difference between the rendering moment corresponding to the cumulative rendering duration and the preset playback moment does not meet the first threshold condition.

[0155] Optionally, in some possible implementation manners of the present application, the determining unit 902 is specifically configured to determine the ratio of the number of non-reference frames in the target video to the total number of frames based on the type identifiers of each video frame in the target video.

[0156] The determining unit 902 is specifically configured to determine the processing performance information corresponding to decoding the target video when the ratio of the number of non-reference frames to the total number of frames reaches a preset processing limit.

[0157] Optionally, in some possible implementation manners of the present application, the processing unit 903 is specifically configured to obtain the clarity parameter set for the target video.

[0158] The processing unit 903 is specifically configured to determine the frame rate information corresponding to the target video when configuring the clarity parameter.

[0159] The processing unit 903 is specifically configured to parse the number of frames indicated in the frame rate information to determine the preset processing limit corresponding to the number of frames indicated in the frame rate information.

[0160] The processing unit 903 is specifically configured to determine the processing performance information corresponding to decoding the target video when the ratio of the number of non-reference frames to the total number of frames reaches the preset processing limit.

[0161] Optionally, in some possible implementation manners of this application, the processing unit 903 is specifically configured to: if the frame type of the current frame is a reference frame, decode the current frame to obtain a decoded frame;

[0162] The processing unit 903 is specifically configured to: if the rendering duration corresponding to the processing performance information does not meet the second threshold condition, discard the current frame and decode the next frame of the current frame.

[0163] Optionally, in some possible implementation manners of this application, the processing unit 903 is specifically configured to: if the rendering duration corresponding to the processing performance information meets the second threshold condition, execute a rendering process on the current frame;

[0164] The processing unit 903 is specifically configured to extract the rendering duration corresponding to the rendering process;

[0165] The processing unit 903 is specifically configured to update the rendering duration corresponding to the processing performance information to the rendering duration corresponding to the rendering process, and the rendering duration corresponding to the rendering process is used for processing the next frame of the current frame.

[0166] Optionally, in some possible implementation manners of this application, the processing unit 903 is specifically configured to: in response to a target operation, set the target video and obtain the speed-playing parameter corresponding to the target operation;

[0167] The processing unit 903 is specifically configured to: if the speed-playing parameter corresponding to the target operation is the same as the speed-playing parameter, call speed-processing information to process the target video to execute the playing process of the target video based on the instant-playing parameter, where the speed-processing information is used to indicate a marked frame, and the marked frame is determined based on the discarded current frame.

[0168] By obtaining the speed - up playback parameter corresponding to the target video; then determining the processing performance information for decoding the target video, where the processing performance information is simulated based on the rendering duration corresponding to the previous frame of the currently decoded frame; further determining the frame type of the current frame when the rendering duration corresponding to the processing performance information does not meet the playback requirements corresponding to the speed - up playback parameter; if the frame type of the current frame is a non - reference frame, then discard the current frame and decode the next frame of the current frame. Thus, a speed - up playback process of pre - judged frame dropping before decoding is realized. Since, before decoding, the previously determined non - reference frames are dropped, while the reference frames and the non - reference frames that do not meet the conditions are sent to the decoder for decoding, the rendering pressure is reduced, the occurrence of frame - dropping stuttering is avoided, and the smoothness of the speed - up playback of video content is improved.

[0169] The embodiment of the present application also provides a terminal device. For example, Figure 10 As shown, it is a schematic structural diagram of another terminal device provided by the embodiment of the present application. For the sake of convenience of description, only the parts related to the embodiment of the present application are shown. For the specific technical details not disclosed, please refer to the method part of the embodiment of the present application. This terminal can be any terminal device including a mobile phone, a tablet computer, a personal digital assistant (PDA), a point of sales (POS), an in - vehicle computer, etc. Taking the terminal as a mobile phone as an example:

[0170] Figure 10 Shown is a block diagram of a part of the structure of the mobile phone related to the terminal provided by the embodiment of the present application. Referring to Figure 10 , the mobile phone includes: a radio frequency (RF) circuit 1010, a memory 1020, an input unit 1030, a display unit 1040, a sensor 1050, an audio circuit 1060, a wireless fidelity (WiFi) module 1070, a processor 1080, and a power supply 1090 and other components. Those skilled in the art can understand that Figure 10 the structure of the mobile phone shown in

[0171] does not limit the mobile phone, and it may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements. Figure 10 Next, the various components of the mobile phone will be specifically introduced with reference to

[0172] The RF circuit 1010 can be used for receiving and transmitting information or signals during communication. Specifically, after receiving the downlink information from the base station, it is sent to the processor 1080 for processing. Additionally, the uplink data designed is sent to the base station. Generally, the RF circuit 1010 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (LNA), a duplexer, etc. In addition, the RF circuit 1010 can also communicate with the network and other devices through wireless communication. The above wireless communication can use any communication standard or protocol, including but not limited to the Global System of Mobile Communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, Short Messaging Service (SMS), etc.

[0173] The memory 1020 can be used to store software programs and modules. The processor 1080 executes various functional applications and data processing of the mobile phone by running the software programs and modules stored in the memory 1020. The memory 1020 mainly includes a program storage area and a data storage area. Among them, the program storage area can store an operating system, application programs required for at least one function (such as a sound playback function, an image playback function, etc.); the data storage area can store data created according to the use of the mobile phone (such as audio data, phone book, etc.). In addition, the memory 1020 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state storage devices.

[0174] The input unit 1030 can be used to receive input digital or character information, and generate key signal inputs related to the user settings and function controls of the mobile phone. Specifically, the input unit 1030 may include a touch panel 1031 and other input devices 1032. The touch panel 1031, also known as a touch screen, can collect touch operations of the user thereon or nearby (such as operations of the user using any suitable object or accessory such as a finger or a stylus on or near the touch panel 1031, and air touch operations within a certain range on the touch panel 1031), and drive corresponding connection devices according to a preset program. Optionally, the touch panel 1031 may include two parts: a touch detection device and a touch controller. Among them, the touch detection device detects the touch position of the user, detects the signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts it into contact coordinates, and then sends it to the processor 1080, and can receive and execute commands sent by the processor 1080. In addition, the touch panel 1031 can be implemented in multiple types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch panel 1031, the input unit 1030 may further include other input devices 1032. Specifically, the other input devices 1032 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, power on / off keys, etc.), a trackball, a mouse, a joystick, etc.

[0175] The display unit 1040 can be used to display information input by the user or information provided to the user and various menus of the mobile phone. The display unit 1040 may include a display panel 1041. Optionally, the display panel 1041 can be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), etc. Further, the touch panel 1031 can cover the display panel 1041. After the touch panel 1031 detects a touch operation thereon or nearby, it transmits it to the processor 1080 to determine the type of touch event. Subsequently, the processor 1080 provides a corresponding visual output on the display panel 1041 according to the type of touch event. Although in Figure 10 the touch panel 1031 and the display panel 1041 are implemented as two independent components to realize the input and input functions of the mobile phone, in some embodiments, the touch panel 1031 and the display panel 1041 can be integrated to realize the input and output functions of the mobile phone.

[0176] The mobile phone may further include at least one sensor 1050, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor. Among them, the ambient light sensor can adjust the brightness of the display panel 1041 according to the brightness of the ambient light, and the proximity sensor can turn off the display panel 1041 and / or the backlight when the mobile phone is moved to the ear. As a kind of motion sensor, the accelerometer sensor can detect the magnitude of acceleration in all directions (generally three axes), and can detect the magnitude and direction of gravity when stationary, and can be used for applications that identify the posture of the mobile phone (such as horizontal and vertical screen switching, related games, magnetometer attitude calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for other sensors such as gyroscopes, barometers, hygrometers, thermometers, and infrared sensors that the mobile phone can also be configured with, they will not be elaborated here.

[0177] The audio circuit 1060, the speaker 1061, and the microphone 1062 can provide an audio interface between the user and the mobile phone. The audio circuit 1060 can transmit the electrical signal converted from the received audio data to the speaker 1061, and the speaker 1061 converts it into a sound signal for output; on the other hand, the microphone 1062 converts the collected sound signal into an electrical signal, which is received by the audio circuit 1060 and then converted into audio data. After the audio data is output to the processor 1080 for processing, it is sent through the RF circuit 1010 to, for example, another mobile phone, or the audio data is output to the memory 1020 for further processing.

[0178] WiFi belongs to short - range wireless transmission technology. The mobile phone can help users send and receive emails, browse the web, and access streaming media through the WiFi module 1070, which provides users with wireless broadband Internet access. Although Figure 10 the WiFi module 1070 is shown, it can be understood that it does not belong to the essential components of the mobile phone and can be omitted completely within the scope of not changing the essence of the invention according to needs.

[0179] The processor 1080 is the control center of the mobile phone, connecting various parts of the entire mobile phone through various interfaces and lines. By running or executing software programs and / or modules stored in the memory 1020, and by calling the data stored in the memory 1020, it executes various functions of the mobile phone and processes data. Optionally, the processor 1080 may include one or more processing units; optionally, the processor 1080 may integrate an application processor and a modem processor. Among them, the application processor mainly processes the operating system, user interface, and application programs, etc., and the modem processor mainly processes wireless communication. It can be understood that the above - mentioned modem processor may not be integrated into the processor 1080 either.

[0180] The mobile phone further includes a power supply 1090 (such as a battery) for powering each component. Optionally, the power supply can be logically connected to the processor 1080 through a power management system, so as to implement functions such as management of charging, discharging, and power consumption management through the power management system.

[0181] Although not shown, the mobile phone may further include a camera, a Bluetooth module, etc., which will not be elaborated here.

[0182] In the embodiment of the present application, the processor 1080 included in the terminal further has the function of executing each step of the above-mentioned page processing method.

[0183] The embodiment of the present application also provides a server. Please refer to Figure 11 , Figure 11 FIG. is a schematic structural diagram of a server provided by the embodiment of the present application. The server 1100 may vary greatly due to different configurations or performances, and may include one or more central processing units (CPUs) 1122 (for example, one or more processors) and a memory 1132, and one or more storage media 1130 (for example, one or more mass storage devices) for storing application programs 1142 or data 1144. Among them, the memory 1132 and the storage media 1130 may be transient storage or persistent storage. The program stored in the storage media 1130 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the server. Further, the central processing unit 1122 may be configured to communicate with the storage media 1130 and execute a series of instruction operations in the storage media 1130 on the server 1100.

[0184] The server 1100 may further include one or more power supplies 1126, one or more wired or wireless network interfaces 1150, one or more input / output interfaces 1158, and / or one or more operating systems 1141, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, etc.

[0185] The steps performed by the management device in the above embodiment may be based on the Figure 11 shown server structure.

[0186] The embodiment of the present application also provides a computer-readable storage medium, in which processing instructions for video content are stored. When it runs on a computer, it causes the computer to execute the steps performed by the video content processing device in the method described in the foregoing Figures 3 to 8 shown embodiment.

[0187] In an embodiment of the present application, there is also provided a computer program product including processing instructions for video content, which, when running on a computer, causes the computer to execute the steps performed by the video content processing device in the method described in the foregoing Figures 9 to 11 embodiment.

[0188] The embodiment of the present application also provides a video content processing system, which may include Figure 9 the video content processing device in the described embodiment, or Figure 10 the terminal device in the described embodiment, or Figure 11 the described server.

[0189] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein.

[0190] In several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division, and there may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed mutual coupling or direct coupling or communication connection can be through some interfaces, and the indirect coupling or communication connection of devices or units can be in electrical, mechanical, or other forms.

[0191] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place, or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0192] In addition, in each embodiment of the present application, the functional units can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.

[0193] When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a video content processing device, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of this application. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs.

[0194] As described above, the above embodiments are only used to illustrate the technical solutions of this application and are not intended to limit them; although this application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments or perform equivalent replacements for some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of various embodiments of this application.

Claims

1. A method for processing video content, characterized in that, including: obtaining the speed - up playback parameter corresponding to the target video; determining, based on the type identifier of each video frame in the target video, the ratio of the number of non - reference frames in the target video to the total number of frames; obtaining the clarity parameter set for the target video; determining the frame rate information corresponding to the target video when configuring the clarity parameter; analyzing the number of frames indicated in the frame rate information to determine the preset processing limit corresponding to the number of frames indicated in the frame rate information; when the ratio of the number of non - reference frames to the total number of frames reaches the preset processing limit, determining the processing performance information for decoding the target video, where the processing performance information is simulated based on the rendering duration corresponding to the previous frame of the currently decoded frame; if the rendering duration corresponding to the processing performance information does not meet the playback requirements corresponding to the speed - up playback parameter, identifying the frame type of the current frame before decoding; if the frame type of the current frame is a non - reference frame, discarding the current frame and decoding the next frame of the current frame.

2. The method according to claim 1, wherein Before the step of if the rendering duration corresponding to the processing performance information does not meet the playback requirements corresponding to the speed - up playback parameter, then identifying the frame type of the current frame before decoding, the method further includes: obtaining the cumulative rendering duration indicated by the rendering duration corresponding to the processing performance information, where the cumulative rendering duration starts to accumulate from the rendering of the first frame of the target video; determining the preset playback moment corresponding to the current frame in the preset playback progress based on the preset playback progress corresponding to the target video when configuring the speed - up playback parameter; if the difference between the rendering moment corresponding to the cumulative rendering duration and the preset playback moment does not meet the first threshold condition, determining that the rendering duration corresponding to the processing performance information does not meet the playback requirements corresponding to the speed - up playback parameter.

3. The method according to any one of claims 1-2, characterized in that, The method further includes: if the frame type of the current frame is a reference frame, decoding the current frame to obtain a decoded frame; if the rendering duration corresponding to the processing performance information does not meet the second threshold condition, discarding the current frame and decoding the next frame of the current frame.

4. The method according to claim 3, characterized in that, The method further includes: if the rendering duration corresponding to the processing performance information meets the second threshold condition, performing a rendering process on the current frame; extracting the rendering duration corresponding to the rendering process; updating the rendering duration corresponding to the processing performance information to the rendering duration corresponding to the rendering process, where the rendering duration corresponding to the rendering process is used for processing the next frame of the current frame.

5. The method according to claim 1, characterized in that, The method further includes: responding to a target operation to set the target video, and obtaining the speed - up playback parameter corresponding to the target operation; if the speed - up playback parameter corresponding to the target operation is the same as the speed - up playback parameter corresponding to the target video, calling speed - up processing information to process the target video to execute the playback process of the target video based on the speed - up playback parameter configured at the current moment, where the speed - up processing information is used to indicate a marked frame, and the marked frame is determined based on the discarded current frame.

6. A processing device for video content, characterized in that, including: an obtaining unit, configured to obtain the speed - up playback parameter corresponding to the target video; A determination unit, configured to determine a ratio of the number of non-reference frames in the target video to the total number of frames based on type identifiers of video frames in the target video; obtain a clarity parameter set for the target video; determine frame rate information corresponding to the target video when the clarity parameter is configured; parse the number of frames indicated in the frame rate information to determine a preset processing limit corresponding to the number of frames indicated in the frame rate information; when the ratio of the number of non-reference frames to the total number of frames reaches the preset processing limit, determine processing performance information for decoding the target video, where the processing performance information is obtained by simulating a rendering duration corresponding to the previous frame of the currently decoded frame; A processing unit, configured to, if a rendering duration corresponding to the processing performance information does not meet a playback requirement corresponding to the fast playback parameter, identify a frame type of the current frame before decoding; The processing unit is further configured to, if the frame type of the current frame is a non-reference frame, discard the current frame and decode the next frame of the current frame.

7. The device according to claim 6, characterized in that, The processing unit is specifically configured to obtain a cumulative rendering duration indicated by the rendering duration corresponding to the processing performance information, where the cumulative rendering duration starts to be accumulated when the first frame of the target video is rendered; The processing unit is specifically configured to determine a preset playback moment corresponding to the current frame in the preset playback progress based on a preset playback progress corresponding to the target video when the fast playback parameter is configured; The processing unit is specifically configured to, if a difference between a rendering moment corresponding to the cumulative rendering duration and the preset playback moment does not meet a first threshold condition, determine that the rendering duration corresponding to the processing performance information does not meet the playback requirement corresponding to the fast playback parameter.

8. The device according to any one of claims 6-7, characterized in that, The processing unit is specifically configured to, if the frame type of the current frame is a reference frame, decode the current frame to obtain a decoded frame; The processing unit is specifically configured to, if the rendering duration corresponding to the processing performance information does not meet a second threshold condition, discard the current frame and decode the next frame of the current frame.

9. The device according to claim 8, characterized in that The processing unit is specifically configured to, if the rendering duration corresponding to the processing performance information meets the second threshold condition, perform a rendering process on the current frame; The processing unit is specifically configured to extract a rendering duration corresponding to the rendering process; The processing unit is specifically configured to update the rendering duration corresponding to the processing performance information to the rendering duration corresponding to the rendering process, where the rendering duration corresponding to the rendering process is used for processing the next frame of the current frame.

10. The device according to claim 6, characterized in that, The processing unit is specifically configured to, in response to a target operation, set the target video and obtain a fast playback parameter corresponding to the target operation; The processing unit is specifically configured to, if the fast playback parameter corresponding to the target operation is the same as the fast playback parameter corresponding to the target video, call fast processing information to process the target video to execute a playback process of the target video based on the fast playback parameter configured at the current moment, where the fast processing information is used to indicate a marked frame, and the marked frame is determined based on the discarded current frame.

11. A computer device, characterized in that, The computer device includes a processor and a memory: The memory is used to store program codes; the processor is used to execute the video content processing method according to any one of claims 1 to 5 based on the instructions in the program codes.

12. A computer-readable storage medium storing instructions which, when run on a computer, cause the computer to execute the video content processing method according to any one of claims 1 to 5 above.

13. A computer program product, characterized in that, The computer program product includes instructions which, when run on a computer device, cause the computer to execute the video content processing method according to any one of claims 1 to 5 above.

Citation Information

Patent Citations

  • Video playing method and device and electronic device

    CN110012315A

  • Live broadcast data processing method and device, computer equipment and storage medium

    CN111918093A