Cloud video smooth display method and apparatus, device and storage medium

By detecting the decoded frame queue of cloud videos and rendering the target frames within the rendering time, the problem of cloud video frames not being rendered in time is solved, improving the smoothness and fluency of cloud videos, and ensuring user experience.

WO2025055760A1PCT designated stage expired Publication Date: 2025-03-20SHENZHEN CLOUDSKY TECH CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/116073
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-12
Filing Date
2024-08-30
Publication Date
2025-03-20

AI Technical Summary

Technical Problem

After the client receives the cloud video frame, the video frame is not rendered in time due to network jitter and uneven timestamps, which reduces the smoothness of cloud video and the smoothness of user operations.

Method used

By detecting the decoded frame queue during the streaming process of cloud video, determining whether there is a decoded frame within the current rendering time, and entering the rendering stage when it exists, rendering and displaying the target decoded frame, and updating the rendering time.

Benefits of technology

It realizes timely rendering of cloud video frames, improves the smoothness and fluency of cloud videos, reduces delays, and ensures smooth operation and high experience of users.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024116073_20032025_PF_FP_ABST
    Figure CN2024116073_20032025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention relates to the technical field of cloud videos, in particular to a cloud video smooth display method. The method comprises: during a streaming process of a cloud video, within the current rendering duration, detecting a decoding frame queue of the cloud video (S101); if it is detected that there is a current decoding frame set in the decoding frame queue, entering a rendering stage corresponding to the current rendering duration (S102); and at the rendering stage corresponding to the current rendering duration, at the rendering moment of the current rendering duration, rendering and displaying a target decoding frame in the current decoding frame set, and meanwhile updating the current rendering duration to the next rendering duration, the target decoding frame being a decoding frame having the maximum frame number in the current decoding frame set or a decoding frame having the maximum decoding timestamp in the current decoding frame set (S103). The present method renders decoding frames in real time, so as to efficiently render and display video frames of cloud videos, thereby improving the smoothness and fluency of cloud videos, reducing the delay of cloud videos, ensuring the smooth operation of users, and improving the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

A method, device, equipment and storage medium for smooth display of cloud video Technical Field

[0001] The present invention relates to the field of cloud video technology, and in particular to a method, device, equipment and storage medium for smooth display of cloud video. Background Art

[0002] With the continuous development and popularization of Internet technology, cloud video is gaining increasing attention and popularity. Cloud video refers to a service that uses Internet, cloud computing, and video transmission technologies to store video resources in a distributed manner in cloud data centers, and enables online video playback and sharing over the network.

[0003] Each frame of cloud video passes through the acquisition, encoding, packaging, and transmission stages in a uniform sequence. Due to variations in network performance, such as transmission rate, packet loss rate, throughput, and latency, the timestamps of each frame arriving at the client after transmission are uneven. To ensure smooth cloud video playback, the client typically caches a preset number of video frames after receiving them, decodes the cached frames, and then renders the decoded frames.

[0004] However, the client is affected by network jitter and uneven timestamps of each received video frame, and video frames may still not be rendered in time, which reduces the smoothness of user operations on the client and causes the smoothness of cloud video to be reduced. Summary of the Invention

[0005] The embodiments of the present application provide a method, apparatus, device and storage medium for smooth display of cloud video, thereby solving the technical problem in the prior art that the smoothness of cloud video is reduced due to the influence of network jitter and uneven timestamps of each received video frame on the client. The present application achieves technical effects such as efficient and rapid determination of the decoded frames to be rendered, timely rendering of the decoded frames, efficient rendering and display of video frames of cloud video, improving the smoothness and fluency of cloud video, reducing the delay of cloud video, ensuring smooth operation of users, and improving user experience.

[0006] In a first aspect, an embodiment of the present invention provides a method for smoothly displaying cloud video, comprising:

[0007] During the streaming of the cloud video, detecting the decoded frame queue of the cloud video within the current rendering duration;

[0008] If it is detected that there is a current decoded frame set in the decoded frame queue, entering the rendering phase corresponding to the current rendering duration;

[0009] In the rendering phase corresponding to the current rendering duration, at the rendering moment of the current rendering duration, the target decoded frame in the current decoded frame set is rendered and displayed, and at the same time, the current rendering duration is updated to the next rendering duration, wherein the target decoded frame is the decoded frame with the largest frame number in the current decoded frame set or the decoded frame with the largest decoding timestamp in the current decoded frame set.

[0010] Preferably, rendering and displaying the target decoded frame in the current decoded frame set includes:

[0011] In the case that the number of frames in the current decoding frame set is multiple frames, the target decoding frame is screened out from the current decoding frame set, and the target decoding frame is rendered and displayed.

[0012] Preferably, rendering and displaying the target decoded frame in the current decoded frame set includes:

[0013] In a case where the number of frames in the current decoding frame set is 1, the current decoding frame in the current decoding frame set is used as the target decoding frame, and the target decoding frame is rendered and displayed.

[0014] Preferably, updating the current rendering duration to the next rendering duration includes:

[0015] The rendering time of the current rendering duration is updated to the starting time of the next rendering duration, wherein the rendering time of the current rendering duration is the ending time of the current rendering duration.

[0016] Preferably, after detecting the decoded frame queue of the cloud video, the method further includes:

[0017] If it is detected that the current decoded frame set does not exist in the decoded frame queue, the waiting stage is entered. After a frame of the current decoded frame is detected in the waiting stage, the corresponding rendering stage is switched to render and display the current decoded frame, and the time of rendering the current decoded frame is updated to the starting time of the next rendering duration.

[0018] Preferably, the waiting stage further includes:

[0019] Under the condition that the duration of the waiting phase is greater than the current rendering duration, frame loss information is output during the waiting phase.

[0020] Preferably, the rendering duration ranges from 0 to 33.33 milliseconds or from 0 to 16.67 milliseconds.

[0021] Based on the same inventive concept, in a second aspect, the present invention further provides a smooth display device for cloud video, comprising:

[0022] A detection module, configured to detect a decoded frame queue of the cloud video within a current rendering duration during the streaming process of the cloud video;

[0023] A stage module, configured to enter a rendering stage corresponding to the current rendering duration if it is detected that a current decoding frame set exists in the decoding frame queue;

[0024] A rendering module is used to render and display the target decoded frame in the current decoded frame set at the rendering moment of the current rendering duration in the rendering phase corresponding to the current rendering duration, and at the same time update the current rendering duration to the next rendering duration, wherein the target decoded frame is the decoded frame with the largest frame number in the current decoded frame set or the decoded frame with the largest decoding timestamp in the current decoded frame set.

[0025] Based on the same inventive concept, in the third aspect, the present invention provides a terminal device, including a memory, a processor, and a computer program stored in the memory and runnable on the processor, wherein the processor implements the steps of a method for smooth display of cloud video when executing the program.

[0026] Based on the same inventive concept, in a fourth aspect, the present invention provides a computer-readable storage medium, on which a computer program is stored, which, when executed by a processor, implements the steps of a method for smooth display of cloud video.

[0027] One or more technical solutions in the embodiments of the present invention have at least the following technical effects or advantages:

[0028] In an embodiment of the present invention, during the streaming process of the cloud video, the decoded frame queue of the cloud video is detected within the current rendering duration, so as to efficiently determine whether there are decoded frames in the decoded frame queue within the current rendering duration, so that the decoded frames can be rendered in a timely manner and the cloud video can be processed efficiently.

[0029] If it is detected that there is a current decoded frame set in the decoded frame queue, it means that the current decoded frame needs to be rendered efficiently and timely, and then the rendering phase corresponding to the current rendering duration is entered. In the rendering phase corresponding to the current rendering duration, at the rendering moment of the current rendering duration, the target decoded frame in the current decoded frame set is rendered and displayed, and at the same time the current rendering duration is updated to the next rendering duration, where the target decoded frame is the decoded frame with the largest frame number in the current decoded frame set or the decoded frame with the largest decoding timestamp in the current decoded frame set. In this way, the delay is greatly reduced, the amount of computational processing is reduced, the target decoded frame is rendered efficiently and timely, the video frames of the cloud video are efficiently rendered and displayed, and the smoothness and fluency of the cloud video are improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] Various other advantages and benefits will become apparent to those skilled in the art upon reading the detailed description of the preferred embodiment below. The accompanying drawings are for illustration purposes only and are not to be considered as limiting the present invention. Throughout the drawings, the same reference figures denote the same components. In the drawings:

[0031] FIG1 is a schematic diagram showing a flow chart of steps of a method for smoothly displaying cloud video according to an embodiment of the present invention;

[0032] FIG2 is a schematic diagram showing a method of rendering a target decoded frame when the number of frames in the current decoded frame set is multiple frames according to an embodiment of the present invention;

[0033] FIG3 is a schematic diagram showing a method of rendering a target decoded frame when the number of frames in a current decoded frame set is 1 frame according to an embodiment of the present invention;

[0034] FIG4 is a schematic diagram showing a process of rendering a decoded frame in a waiting phase according to an embodiment of the present invention;

[0035] FIG5 shows a module schematic diagram of a device for smoothly displaying cloud video in an embodiment of the present invention;

[0036] FIG6 shows a schematic structural diagram of a terminal device in an embodiment of the present invention. DETAILED DESCRIPTION

[0037] Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.

[0038] Example 1

[0039] A first embodiment of the present invention provides a method for smoothly displaying cloud videos, as shown in FIG1 , including:

[0040] S101, during the streaming process of the cloud video, detecting the decoded frame queue of the cloud video within the current rendering duration;

[0041] S102, if it is detected that there is a current decoded frame set in the decoded frame queue, then entering the rendering phase corresponding to the current rendering duration;

[0042] S103, in the rendering phase corresponding to the current rendering duration, at the rendering moment of the current rendering duration, rendering and displaying the target decoded frame in the current decoded frame set, and at the same time updating the current rendering duration to the next rendering duration, wherein the target decoded frame is the decoded frame with the largest frame number in the current decoded frame set or the decoded frame with the largest decoding timestamp in the current decoded frame set.

[0043] The smooth display method of cloud video in this embodiment is applied to a terminal device of a client, and the terminal device of the client includes but is not limited to a mobile phone, a tablet computer or a personal computer.

[0044] The specific implementation steps of the method for smooth display of cloud video provided by this embodiment are described in detail below with reference to FIG1 :

[0045] First, step S101 is executed to detect a decoded frame queue of the cloud video within the current rendering duration during the cloud video streaming process.

[0046] Specifically, during the streaming process of the cloud video, the client will receive each video frame of the cloud video, then decode each video frame to obtain the decoded frame corresponding to each video frame, and place the decoded frame in the decoded frame queue to be rendered and displayed. During the current rendering duration, it is detected whether there is a current decoded frame set in the decoded frame queue of the cloud video, that is, it is detected whether there are decoded frames within the current rendering duration in the decoded frame queue of the cloud video. Based on the judgment result, it is efficiently and quickly determined whether the decoded frames need to be rendered and displayed within the current rendering duration, so that the decoded frames can be rendered in a timely manner and the cloud video can be processed efficiently.

[0047] Next, step S102 is executed. If it is detected that the current decoded frame set exists in the decoded frame queue, the rendering phase corresponding to the current rendering duration is entered.

[0048] Specifically, if it is detected that there is a current decoded frame set in the decoded frame queue, it means that there are decoded frames in the decoded frame queue under the current rendering duration, then the rendering stage corresponding to the current rendering duration is entered to render the decoded frames efficiently and timely, and efficiently render and display the video frames of the cloud video to ensure the smoothness and fluency of the cloud video.

[0049] Then, step S103 is executed. In the rendering phase corresponding to the current rendering duration, at the rendering moment of the current rendering duration, the target decoded frame in the current decoded frame set is rendered and displayed, and the current rendering duration is updated to the next rendering duration at the same time, wherein the target decoded frame is the decoded frame with the largest frame number in the current decoded frame set or the decoded frame with the largest decoding timestamp in the current decoded frame set.

[0050] Specifically, in the rendering phase corresponding to the current rendering duration, there are two situations in which the target decoded frame is rendered and displayed: when the current decoded frame set has multiple frames, the target decoded frame is selected from the current decoded frame set and rendered and displayed. When the current decoded frame set has only one frame, the current decoded frame of the current decoded frame set is used as the target decoded frame and rendered and displayed.

[0051] During the rendering phase corresponding to the current rendering duration, while rendering the target decoded frame, the specific process for updating the current rendering duration to the next rendering duration is as follows: the rendering time of the current rendering duration is updated to the starting time of the next rendering duration, indicating that the next rendering duration is used as the new current rendering time duration. Each rendering duration is consistent, and the rendering time of each rendering duration is consistent. Preferably, the rendering time of each rendering duration is the end time of the rendering duration. This can also be set according to actual needs, such as the rendering time of the current rendering duration is the end time of the current rendering duration.

[0052] Therefore, each rendering duration and the rendering time of each rendering duration are equal or consistent, and the rendering stages corresponding to each rendering duration are also consistent. In each rendering stage, one frame of the target is decoded and rendered for display, resulting in a rendered frame. This ensures a uniform display speed for video frames, improving the smoothness and fluidity of cloud video, ensuring smooth user operation, and enhancing the user experience.

[0053] During the next rendering duration, steps S101-S103 are executed repeatedly until the cloud video streaming process ends. This indicates that during the next rendering duration, the cloud video decoded frame queue is checked for a decoded frame set. Based on the judgment structure, the target decoded frame is rendered and displayed, and the next rendering duration is simultaneously updated.

[0054] For example, in Figures 2-4, the sending timeline represents the timeline of sending cloud video frames, the decoding timeline represents the timeline of the decoded frames obtained after decoding the video frames, and the rendering timeline represents the timeline of rendering the decoded frames. P0 represents the first frame, P1 represents the second frame, and P2 represents the third frame. T0 represents the start time of the rendering duration, and T0' represents the end time of the rendering duration, which is also the start time of the next rendering duration.

[0055] As shown in Figure 2, assuming that the duration T0-T0' represents the current rendering duration, within the duration corresponding to the current rendering duration on the decoding timeline, that is, from the time corresponding to P0 on the decoding timeline to the time corresponding to the dotted line on the decoding timeline, P1 and P2 exist. This indicates that the number of frames in the currently decoded frame set during the rendering phase corresponding to the current rendering duration is multiple.

[0056] When the number of frames in the current decoded frame set during the rendering phase corresponding to the current rendering duration is multiple, the target decoded frame P2 is selected from the current decoded frame set {P1, P2}, and the target decoded frame P2 is rendered and displayed at the rendering time of the current rendering duration. P2 is the decoded frame with the largest frame number in the current decoded frame set, and also the decoded frame with the largest decoding timestamp in the current decoded frame set. While rendering the target decoded frame P2, the rendering time (end time) of the current rendering duration is updated to the start time T0' of the next rendering time, indicating that the next rendering duration is used as the new current rendering time, and the start time of the next rendering duration is updated to the end time of the current rendering duration, which is also updated to the new start time of the current rendering duration.

[0057] In this embodiment, if the current decoded frame set contains multiple frames during the rendering phase corresponding to the current rendering duration, the decoded frame with the largest frame number or the largest decoding timestamp is selected from the current decoded frame set as the target decoded frame, and the target decoded frame is then rendered and displayed. Rendering and display processing is not performed on decoded frames other than the target decoded frame in the current decoded frame set, significantly reducing latency and computational processing. The target decoded frame is rendered efficiently and promptly, effectively rendering and displaying the cloud video frames, and improving the smoothness and fluidity of the cloud video.

[0058] As shown in Figure 3, assuming that the duration T0-T0' represents the current rendering duration, within the duration corresponding to the current rendering duration on the decoding timeline, that is, from the time corresponding to P0 on the decoding timeline to the time corresponding to the first dotted line on the decoding timeline, only P1 exists. This indicates that the number of frames in the currently decoded frame set during the rendering phase corresponding to the current rendering duration is 1.

[0059] If the number of frames in the current decoded frame set in the rendering phase corresponding to the current rendering duration is 1, the current decoded frame P1 is directly used as the target decoded frame and rendered and displayed at the rendering time of the current rendering duration. While rendering the target decoded frame P1, the rendering time (end time) of the current rendering duration is updated to the start time T0' of the next rendering time, indicating that the next rendering duration is used as the new current rendering time.

[0060] During the next rendering duration, that is, the new current rendering duration, only P2 exists within the duration corresponding to the next rendering duration on the decoding timeline, that is, the duration from the moment corresponding to the first dotted line on the decoding timeline to the moment corresponding to the second dotted line on the decoding timeline. This indicates that the number of frames in the currently decoded frame set during the rendering phase corresponding to the current rendering duration is 1.

[0061] If the number of frames in the current decoded frame set in the rendering phase corresponding to the current rendering duration is 1, the current decoded frame P2 is directly used as the target decoded frame and rendered and displayed at the rendering time of the new current rendering duration. While rendering the target decoded frame P2, the rendering time (end time) of the new current rendering duration is updated to the start time of the next rendering time, indicating that the next rendering duration is used as the new current rendering time.

[0062] In this embodiment, if the number of frames in the current decoded frame set during the rendering phase corresponding to the current rendering duration is 1, the current decoded frame is directly used as the target decoded frame, and then the target decoded frame is rendered and displayed. This allows for efficient and timely rendering of the target decoded frame, effectively rendering and displaying the cloud video frames, and improving the smoothness and fluidity of the cloud video.

[0063] It should also be noted that the rendering time range is 0 to 33.33 milliseconds or 0 to 16.67 milliseconds. The rendering time is determined based on the number of frames per second transmitted by the cloud video, and can also be set according to actual needs. Taking T0-T0' on the rendering timeline of Figure 2 as an example, assuming that the cloud video frame rate is 30FPS, T0-T0' is a rendering time, and the rendering time is 33.33ms. When the delay is lower than 33.33ms, it is difficult for the human eye to distinguish the jamming, and there will be no jamming by discarding the intermediate frames. It is just discarding invalid frame processing to reduce the amount of calculation, ensure the smoothness and fluidity of the cloud video, and ensure smooth operation of the user.

[0064] After executing step S101, that is, after detecting the decoded frame queue of the cloud video, if it is detected that there is no current decoded frame set in the decoded frame queue, indicating that there is no decoded frame in the decoded frame queue under the current rendering duration, then the waiting stage is entered. After a current decoded frame is detected in the waiting stage, the waiting stage is immediately switched to the corresponding rendering stage, the current decoded frame is rendered and displayed, and the time of rendering the current decoded frame is updated to the starting time of the next rendering duration.

[0065] Specifically, as shown in Figure 4, assuming that the duration from time T0 on the rendering timeline to the time corresponding to the first dotted line on the rendering timeline corresponds to the current rendering duration, and that there is no currently decoded frame within the duration corresponding to the current rendering duration on the decoding timeline, that is, within the duration from time P0 on the decoding timeline to the time corresponding to the first dotted line on the decoding timeline, this represents the waiting phase.

[0066] During the waiting phase, once any decoded frame (i.e., P1) is detected, the system immediately switches from the waiting phase to the corresponding rendering phase, rendering and displaying the decoded frame P1. The rendering time of the current decoded frame P1 is simultaneously updated to the start time T0' of the next rendering duration. T0' is then used as the start time of the new current rendering duration. Within the new current rendering duration, steps S101-103 are executed, repeating the same process.

[0067] Therefore, during the waiting phase, the timing duration of the waiting phase is greater than the current rendering duration, that is, in Figure 4, the duration from the moment corresponding to P0 on the decoding timeline to the moment corresponding to P1 on the decoding timeline is greater than the current rendering time T0+33.3ms. Under the condition that the duration of the waiting phase is greater than the current rendering duration, no decoded frames are received during the waiting phase, and frame loss occurs during the waiting phase, then frame loss information is output during the waiting phase. Then, there will be a freeze phenomenon during the waiting phase. The output frame loss information can be used as a basis for subsequent analysis of the cloud video streaming rate and efficiency, and can be used as basic data for analyzing cloud video streaming.

[0068] One or more technical solutions in the embodiments of the present invention have at least the following technical effects or advantages:

[0069] In an embodiment of the present invention, during the streaming process of the cloud video, the decoded frame queue of the cloud video is detected within the current rendering duration, so as to efficiently determine whether there are decoded frames in the decoded frame queue within the current rendering duration, so that the decoded frames can be rendered in a timely manner and the cloud video can be processed efficiently.

[0070] If it is detected that there is a current decoded frame set in the decoded frame queue, it means that the current decoded frame needs to be rendered efficiently and timely, and then the rendering phase corresponding to the current rendering duration is entered. In the rendering phase corresponding to the current rendering duration, at the rendering moment of the current rendering duration, the target decoded frame in the current decoded frame set is rendered and displayed, and at the same time the current rendering duration is updated to the next rendering duration, where the target decoded frame is the decoded frame with the largest frame number in the current decoded frame set or the decoded frame with the largest decoding timestamp in the current decoded frame set. In this way, the delay is greatly reduced, the amount of computational processing is reduced, the target decoded frame is rendered efficiently and timely, the video frames of the cloud video are efficiently rendered and displayed, and the smoothness and fluency of the cloud video are improved.

[0071] Example 2

[0072] Based on the same inventive concept, a second embodiment of the present invention further provides a smooth display device for cloud video, as shown in FIG5 , comprising:

[0073] The detection module 201 is used to detect the decoded frame queue of the cloud video within the current rendering duration during the streaming process of the cloud video;

[0074] The stage module 202 is configured to enter a rendering stage corresponding to the current rendering duration if it is detected that a current decoding frame set exists in the decoding frame queue;

[0075] The rendering module 203 is used to render and display the target decoded frame in the current decoded frame set at the rendering moment of the current rendering duration in the rendering phase corresponding to the current rendering duration, and simultaneously update the current rendering duration to the next rendering duration, wherein the target decoded frame is the decoded frame with the largest frame number in the current decoded frame set or the decoded frame with the largest decoding timestamp in the current decoded frame set.

[0076] As an optional embodiment, rendering and displaying the target decoded frame in the current decoded frame set includes:

[0077] In the case that the number of frames in the current decoding frame set is multiple frames, the target decoding frame is screened out from the current decoding frame set, and the target decoding frame is rendered and displayed.

[0078] As an optional embodiment, rendering and displaying the target decoded frame in the current decoded frame set includes:

[0079] In a case where the number of frames in the current decoding frame set is 1, the current decoding frame in the current decoding frame set is used as the target decoding frame, and the target decoding frame is rendered and displayed.

[0080] As an optional embodiment, updating the current rendering duration to the next rendering duration includes:

[0081] The rendering time of the current rendering duration is updated to the starting time of the next rendering duration, wherein the rendering time of the current rendering duration is the ending time of the current rendering duration.

[0082] As an optional embodiment, the stage module 202 is configured to:

[0083] If it is detected that the current decoded frame set does not exist in the decoded frame queue, the waiting stage is entered. After a frame of the current decoded frame is detected in the waiting stage, the corresponding rendering stage is switched to render and display the current decoded frame, and the time of rendering the current decoded frame is updated to the starting time of the next rendering duration.

[0084] As an optional embodiment, the stage module 202 is configured to output frame loss information during the waiting stage if the duration of the waiting stage is greater than the current rendering duration.

[0085] As an optional embodiment, the rendering duration ranges from 0 to 33.33 milliseconds or from 0 to 16.67 milliseconds.

[0086] Since the smooth display device for cloud video described in this embodiment is the device used to implement the smooth display method for cloud video in Example 1 of this application, based on the smooth display method for cloud video described in Example 1 of this application, those skilled in the art can understand the specific implementation and various variations of the smooth display device for cloud video in this embodiment, so how the smooth display device for cloud video implements the method in Example 1 of this application will not be described in detail here. As long as those skilled in the art implement the device used by the smooth display method for cloud video in Example 1 of this application, it falls within the scope of protection of this application.

[0087] Example 3

[0088] Based on the same inventive concept, the third embodiment of the present invention also provides a terminal device, as shown in Figure 6, including a memory 304, a processor 302, and a computer program stored on the memory 304 and executable on the processor 302. When the processor 302 executes the program, it implements the steps of any one of the above-mentioned methods for smooth display of cloud video.

[0089] In FIG6 , a bus architecture (represented by bus 300) is shown. Bus 300 may include any number of interconnected buses and bridges. Bus 300 links various circuits, including one or more processors represented by processor 302 and memory represented by memory 304. Bus 300 may also link various other circuits, such as peripherals, voltage regulators, and power management circuits. These are well known in the art and are therefore not described further herein. Bus interface 306 provides an interface between bus 300 and receiver 301 and transmitter 303. Receiver 301 and transmitter 303 may be the same component, namely a transceiver, which provides a means for communicating with various other devices over a transmission medium. Processor 302 is responsible for managing bus 300 and general processing, while memory 304 may be used to store data used by processor 302 when performing operations.

[0090] Example 4

[0091] Based on the same inventive concept, the fourth embodiment of the present invention further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of any one of the methods for the smooth display of cloud video described in the first embodiment above.

[0092] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Thus, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0093] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowcharts and / or block diagrams, as well as combinations of processes and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, such that execution of the instructions by the processor of the computer or other programmable data processing device produces means for implementing the functions specified in one or more processes in the flowcharts and / or one or more blocks in the block diagrams.

[0094] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0095] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0096] Although the preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the present invention.

[0097] Obviously, those skilled in the art may make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if such changes and modifications fall within the scope of the claims and their equivalents, the present invention is intended to include such changes and modifications.

Claims

1. A method for smooth display of cloud video, characterized in that: include: During the streaming process of the cloud video, within the current rendering duration, detecting the decoded frame queue of the cloud video; If it is detected that there is a current decoded frame set in the decoded frame queue, entering a rendering phase corresponding to the current rendering duration; In the rendering phase corresponding to the current rendering duration, at the rendering moment of the current rendering duration, the target decoded frame in the current decoded frame set is rendered and displayed, and the current rendering duration is updated to the next rendering duration at the same time, wherein the target decoded frame is the decoded frame with the largest frame number in the current decoded frame set or the decoded frame with the largest decoding timestamp in the current decoded frame set; The updating of the current rendering duration to the next rendering duration includes: Update the rendering time of the current rendering duration to the starting time of the next rendering duration, wherein the rendering time of the current rendering duration is the ending time of the current rendering duration; After detecting the decoded frame queue of the cloud video, the method further includes: If it is detected that the current decoded frame set does not exist in the decoded frame queue, the waiting phase is entered. After a current decoded frame is detected in the waiting phase, the phase is switched to the corresponding rendering phase, the current decoded frame is rendered and displayed, and the time of rendering the current decoded frame is updated to the starting time of the next rendering duration.

2. The method according to claim 1, characterized in that The rendering and displaying of the target decoded frame in the current decoded frame set includes: In the case that the number of frames in the current decoding frame set is multiple frames, the target decoding frame is selected from the current decoding frame set, and the target decoding frame is rendered and displayed.

3. The method according to claim 1, characterized in that The rendering and displaying of the target decoded frame in the current decoded frame set includes: In the case that the number of frames in the current decoding frame set is 1 frame, the current decoding frame of the current decoding frame set is used as the target decoding frame, and the target decoding frame is rendered and displayed.

4. The method according to claim 1, characterized in that The waiting stage also includes: Under the condition that the duration of the waiting stage is greater than the current rendering duration, frame loss information is output during the waiting stage.

5. The method according to claim 1, characterized in that The rendering time is 33.33 ms or 16.67 ms.

6. A smooth display device for cloud video, characterized in that: include: A detection module, used to detect a decoded frame queue of the cloud video within a current rendering duration during the streaming process of the cloud video; a stage module, configured to enter a rendering stage corresponding to the current rendering duration if it is detected that the current decoding frame set exists in the decoding frame queue; and enter a waiting stage if it is detected that the current decoding frame set does not exist in the decoding frame queue, until a current decoding frame is detected in the waiting stage, switch to the corresponding rendering stage, render and display the current decoding frame, and update the time of rendering the current decoding frame to the starting time of the next rendering duration; a rendering module, configured to render and display a target decoded frame in the current decoded frame set at a rendering stage corresponding to the current rendering duration and at a rendering moment of the current rendering duration, and simultaneously update the current rendering duration to a next rendering duration, wherein the target decoded frame is a decoded frame with a maximum frame number in the current decoded frame set or a decoded frame with a maximum decoding timestamp in the current decoded frame set; The updating of the current rendering duration to the next rendering duration includes: The rendering time of the current rendering duration is updated to the starting time of the next rendering duration, wherein the rendering time of the current rendering duration is the ending time of the current rendering duration.

7. A terminal device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the steps of the method for smooth display of cloud video as described in any one of claims 1 to 5 are implemented.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the steps of the method for smoothly displaying cloud video as described in any one of claims 1 to 5 are implemented.

Citation Information

Patent Citations

  • Video uniform display method, terminal device, and machine readable storage medium

    CN110771160A

  • Display device and display method

    CN111836104A

  • Method and device for smoothly displaying real-time streaming video picture in Android system

    CN112153082A

  • Video rendering method and device, equipment and storage medium

    CN113347488A

  • System for reducing client cloud streaming rendering

    CN115002541A