WO2024056095A1 - 云服务的视频显示方法、装置、设备、存储介质和系统 - Google Patents

云服务的视频显示方法、装置、设备、存储介质和系统 Download PDF

Info

Publication number
WO2024056095A1
WO2024056095A1 PCT/CN2023/119261 CN2023119261W WO2024056095A1 WO 2024056095 A1 WO2024056095 A1 WO 2024056095A1 CN 2023119261 W CN2023119261 W CN 2023119261W WO 2024056095 A1 WO2024056095 A1 WO 2024056095A1
Authority
WO
WIPO (PCT)
Prior art keywords
jitter buffer
cloud service
video stream
video
decoded
Prior art date
Application number
PCT/CN2023/119261
Other languages
English (en)
French (fr)
Inventor
吴仲深
赵登
Original Assignee
杭州阿里云飞天信息技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 杭州阿里云飞天信息技术有限公司 filed Critical 杭州阿里云飞天信息技术有限公司
Publication of WO2024056095A1 publication Critical patent/WO2024056095A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs

Definitions

  • the present invention relates to the technical field of cloud computing, and in particular to a video display method, device, equipment, storage medium and system for cloud services.
  • Cloud desktop is a computing-based cloud desktop service that uses Desktop as a Service (DaaS) to provide users with an easy-to-use, secure, and efficient cloud desktop office system.
  • cloud services such as cloud desktops and cloud applications have been widely used by users in various application scenarios. Users who use cloud services can use the client to connect to the cloud service through the public network or dedicated line. The user's client does not need to install these cloud services.
  • the cloud service interface is transmitted to the client locally through video streaming, and the user can use the cloud service locally.
  • Embodiments of the present invention provide a video display method, device, equipment, storage medium and system for cloud services to ensure the picture quality of video streams of cloud services.
  • an embodiment of the present invention provides a video display method for cloud services, which is applied to a client.
  • the method includes:
  • the jitter buffer is enabled locally
  • an embodiment of the present invention provides a cloud service video display device, which is applied to a client.
  • the device includes:
  • a detection module configured to enable the jitter buffer locally if no user operation event on the cloud service is detected between the first detection time and the second detection time;
  • a storage module configured to store the received video stream of the cloud service into the jitter buffer, and the interface of the cloud service is encoded into the video stream;
  • a decoding display module is used to obtain a video stream from the jitter buffer, decode it, and display the decoded video stream.
  • embodiments of the present invention provide an electronic device, including: a memory, a processor, and a communication interface; wherein executable code is stored on the memory, and when the executable code is executed by the processor, The processor is caused to execute the video display method of the cloud service as described in the first aspect.
  • embodiments of the present invention provide a non-transitory machine-readable storage medium.
  • the non-transitory machine-readable storage medium stores executable code.
  • the executable code is processed by a processor of an electronic device, When executed, the processor is enabled to at least implement the video display method of the cloud service as described in the first aspect.
  • embodiments of the present invention provide a cloud service video transmission system, including: a cloud server running a cloud service and a client corresponding to the cloud service;
  • the cloud server is configured to perform video encoding on the interface of the cloud service to obtain the video stream of the cloud service, and send the video stream of the cloud service to the client;
  • the client is configured to enable a jitter buffer locally if no user operation event on the cloud service is detected between the first detection time and the second detection time; and, receive the video of the cloud service
  • the stream is stored in the jitter buffer, the video stream is obtained from the jitter buffer, decoded, and the decoded video stream is displayed.
  • the video stream of the cloud service can be stored in the jitter buffer by adding a jitter buffer to achieve anti-network delay and jitter on the video.
  • the impact of image quality and display quality can be reduced by reducing video stuttering and frame loss, and improving user experience.
  • Figure 1 is a flow chart of a video display method for cloud services provided by an embodiment of the present invention
  • Figure 2 is an application schematic diagram of a video display method for cloud services provided by an embodiment of the present invention
  • Figure 3 is a flow chart of a video display method for cloud services provided by an embodiment of the present invention.
  • Figure 4 is a flow chart of a video display method for cloud services provided by an embodiment of the present invention.
  • Figure 5 is a schematic structural diagram of a video display device for cloud services provided by an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of an electronic device provided in this embodiment.
  • the video display method of the cloud service provided by the embodiment of the present invention can be executed by a client corresponding to the cloud service.
  • the client can be installed in a user terminal such as a smart phone or a notebook computer.
  • Figure 1 is a flow chart of a video display method for cloud services provided by an embodiment of the present invention. As shown in Figure 1, the method includes the following steps:
  • cloud computing vendors provide several cloud servers in the cloud.
  • cloud services such as cloud desktops and cloud applications can be deployed in the cloud servers.
  • cloud services such as cloud desktops and cloud applications through the public network or dedicated lines
  • cloud services sends its screen video data to the client in the form of a video stream, so that the user can see the interface of the cloud service through the client.
  • the video stream of the cloud service is actually the video stream obtained after video encoding and compression processing of the cloud service interface. It does not refer to the video stream loaded in the cloud service (such as the video played in the playback window of a certain interface). ).
  • the cloud service mentioned in the embodiment of the present invention can be understood as: a service program running in the cloud server that transmits its complete interface to the client in the form of a video stream based on the video stream push protocol. Since the cloud service is run in the cloud, the client does not need to install the cloud service locally, and the user can use the cloud service remotely.
  • the cloud service can be, for example, cloud desktop, cloud mobile phone, and other respective cloud applications, such as cloud game applications, metaverse applications, etc.
  • the computing power can be expanded at any time based on the user's requirements for the resolution and code rate of the above video streams to support cloud service video streams with multiple resolutions and code rates, such as 1080P resolution and 5Mbps code rate, such as Resolution 4K, bit rate 10Mbps, etc.
  • the network connection between the client and the cloud service (that is, the cloud server) is not always stable, and there is often network delay and jitter.
  • network latency is an important indicator in network transmission, which can measure the time required for data to move from one endpoint (such as a cloud service) to another endpoint (such as a client). Latency will affect the user experience and may change due to a variety of factors, such as the physical distance between the two endpoints, the access switch, the performance of the router itself, etc.
  • Network jitter is generated based on network delay. Specifically, it is a manifestation of the delay time changing from long to short. Network jitter refers to the time difference between the maximum delay and the minimum delay. If the maximum delay is 20 milliseconds and the minimum delay is 5 milliseconds, then the network jitter is 15 milliseconds. It mainly identifies the stability of the network connection. The smaller the network jitter, the more stable the network connection.
  • Ultra-high-definition video generally refers to 4K (4096*2160) or UHD (3840*2160) video streams.
  • the bit rate of ultra-high-definition video streams is much higher than that of high-definition and standard-definition video streams, and requires sufficient network bandwidth support for smooth transmission.
  • the requirements for network bandwidth will be correspondingly much higher.
  • the network i.e., network bandwidth
  • Video stuttering, frame skipping, and other phenomena may occur.
  • embodiments of the present invention provide a solution for display processing of video streams of cloud services to resist the adverse effects of network delay and jitter on the display quality of the video stream.
  • the main idea of this solution is to detect the user's operating behavior on the cloud service on the client side in order to determine whether the current user is in a scenario where the user frequently interacts with the cloud service. If it is a frequent interaction scenario, priority is given to ensuring the real-time nature of the video stream transmission so that users can see the cloud service's response video stream to their interactive operation behavior in a timely manner; if it is not a frequent interaction scenario, then the jitter buffer can be appropriately increased. (such as jitter buffer) to achieve a certain degree of anti-network delay and jitter effects, and reduce experience problems such as frame skipping and lag caused by network delay and jitter.
  • the client After the client establishes a connection with the cloud service, it can use the cloud service.
  • the video stream of the cloud service can be transmitted to the client for decoding and display.
  • the client decodes the above video stream received from the cloud service in real time at a preset decoding rate (ie, 1x decoding rate) and sends it to the monitor for display.
  • a preset decoding rate ie, 1x decoding rate
  • the client can detect whether there is input of a user operation event (ie, user operation behavior) with a set detection period.
  • the detection period can be set to a short time in microseconds, such as 10 microseconds. If a certain first detection time is used as the starting point, if no user operation event is detected at the first detection time and at least a set time (such as at least 3 seconds) thereafter, it is considered that the user is not interacting frequently with the cloud service.
  • the jitter buffer is enabled locally on the client.
  • the set time may include a set number of detection periods. It is assumed that the second detection time is reached after the set time from the first detection time. Among them, enabling the jitter buffer locally on the client means that the client sets a dynamic (software-based) jitter buffer in the memory.
  • user operation events include, for example, the user clicking a button in the cloud service interface in the video stream currently being viewed, creating a new file/folder, deleting certain content on the interface, etc.
  • the input method of user operation events can be input through keyboard, mouse, touch, voice and other input methods.
  • the received video stream of the cloud service can be stored in the jitter buffer first. After that, the client obtains the video stream from the jitter buffer at a certain decoding rate for decoding, and then decodes the decoded video stream. The video stream is displayed. Optionally, the video stream can be obtained from the jitter buffer at the above-mentioned preset decoding rate for decoding.
  • the core idea of the jitter buffer is to increase the end-to-end delay in exchange for the smoothness of the video stream, thereby achieving the effect of resisting network delay and jitter.
  • the video stream of the cloud service needs to be stored in the jitter buffer for caching instead of being decoded immediately. Decoding is performed after caching for a period of time or a certain amount of data. Although it increases the delay of the video stream, it can be decoded and displayed stably, thereby achieving a smooth display effect of the video stream.
  • the cloud service If the network delay and jitter are large, and the jitter buffer is not used to cache the video stream, but the video stream from the cloud service is decoded and displayed in real time, then due to the influence of network delay and jitter, the cloud service The video stream is not received evenly. It may not be received in a short period of time, or it may receive many frames in a short period of time, and video freezes and frame skipping will occur.
  • the amount of data in the jitter buffer can be determined within a preset time period after the jitter buffer is enabled or in the jitter buffer.
  • the video stream obtained from the jitter buffer is decoded at a first decoding rate lower than the preset decoding rate; and after the preset time period or the data in the jitter buffer After the data volume is higher than the preset data volume, the video stream obtained from the jitter buffer is decoded at the preset decoding rate.
  • the preset time period is, for example, 1 second, 2 seconds and other preset values.
  • the first decoding rate may be 0.8x, 0.5x, etc. That is to say, after the jitter buffer is activated, the received video stream of the cloud service is stored in the jitter buffer, decoded at a low decoding rate for a period of time, and then decoded at a normal decoding rate.
  • the jitter buffer is understood as a pool, and the decoding rate is equivalent to the water outflow rate.
  • the water outlet rate is small, and more water will be stored in the pool.
  • the client can also maintain a status identifier indicating whether the jitter buffer is used.
  • the client When the client enables the jitter buffer, it records that the jitter buffer is in use, that is, the value of the status identifier is set to use. The value corresponding to the status.
  • the cloud service includes a cloud server running a certain cloud service (such as cloud desktop) and the corresponding client.
  • the cloud desktop sends the cloud desktop video stream a to the client, and the T1 time is used as the starting detection time.
  • the client detects the user operation event at the T1 time. Assume that no operation event is detected at this time. For example, 3 after the T1 time Each detection time within seconds assumes that the client does not detect the user operation event, and assumes that T2 is reached 3 seconds after T1. carve. It is understandable that during the time period from T1 to T2, the client continues to receive the cloud desktop video stream a.
  • the client When the client receives the cloud desktop video stream a, it decodes and displays it at a decoding rate of one time. At time T2, the client determines that the jitter buffer needs to be enabled, then the cloud desktop video stream b received since time T2 will first be stored in the jitter buffer for caching. The client can first cache it in a short period of time (such as 1.5 seconds) For example, the cloud desktop video stream b is obtained from the jitter buffer at a decoding rate of 0.8 times for decoding and display, and then the cloud desktop video stream b is obtained from the jitter buffer at a normal decoding rate of one time for decoding and display.
  • a short period of time such as 1.5 seconds
  • FIG. 3 is a flow chart of a video display method for cloud services provided by an embodiment of the present invention. As shown in Figure 3, the method includes the following steps:
  • a user operation event on the cloud service is detected at the third detection time, send the user operation event to the cloud service so that the cloud service responds to the user operation event.
  • the third detection time is later than the second detection time.
  • the jitter buffer According to the amount of data currently cached in the jitter buffer, determine a second decoding rate higher than the preset decoding rate, decode the video stream obtained from the jitter buffer at the second decoding rate, and decode the decoded video The stream is displayed.
  • the client needs to send the user operation event to the cloud service so that the cloud service can respond to the user operation event.
  • the client needs to decode and display the video stream generated in response to the user operation event in a timely manner so that the user can see the response results of the cloud service to its operation behavior in almost real time.
  • the client Since no user operation event on the cloud service has been detected from the first detection moment to the second detection moment, the client has enabled the jitter buffer. In the case that the jitter buffer has been enabled, when the jitter buffer is enabled in the third When a user operation event occurs at the detection moment, the video stream previously stored in the jitter buffer needs to be processed as quickly as possible before decoding the video stream generated in response to the user operation event. Therefore, when a user operation event is detected at the third detection moment, it can first be determined whether the jitter buffer is currently empty.
  • the client can directly decode and display the video stream received by the cloud service in response to the user operation event, and the decoding rate used at this time is the aforementioned preset decoding. rate (i.e. Double the decoding rate). Note that at this time, the video stream of the cloud service responding to the user operation event will not be stored in the jitter buffer for caching, because it needs to meet the real-time response to the user operation event.
  • the second decoding rate may be, for example, a 2x decoding rate, a 3x decoding rate, or the like.
  • the jitter buffer is enabled to cache the video stream of the cloud service at this time, so as to solve the problems caused by network delay and jitter.
  • the problem of video freezing and frame skipping occurs.
  • the video cached in the jitter buffer is decoded and displayed as quickly as possible so that the video in response to the user's operation behavior can be decoded and displayed in a timely manner to meet the requirements. Real-time response to user interactions.
  • the foregoing embodiment assumes that the jitter buffer is first enabled and then a user operation event is detected.
  • the following describes the general processing flow after the user operation event is detected in conjunction with the embodiment shown in FIG. 4 .
  • Figure 4 is a flow chart of a video display method for cloud services provided by an embodiment of the present invention. As shown in Figure 4, the method includes the following steps:
  • step 402. Determine whether the jitter buffer is in use. If so, perform step 403. Otherwise, perform step 405.
  • the jitter buffer According to the amount of data currently cached in the jitter buffer, determine a second decoding rate higher than the preset decoding rate, decode the video stream obtained from the jitter buffer at the second decoding rate, and decode the decoded video The stream is displayed. If all the video streams in the jitter buffer are decoded, the jitter buffer is recorded as unavailable.
  • the client when the client enables the jitter buffer, it can be recorded that the jitter buffer is in use, that is, the value of the status identifier indicating whether the jitter buffer is used is set to the value corresponding to the use status. value. Based on this, assuming that at the current third detection moment, the client detects a user operation event on the cloud service, on the one hand, it sends the user operation event to the cloud service so that the cloud service responds to the user operation event. On the other hand, the client needs to determine whether the jitter buffer is currently enabled and the amount of data in the jitter buffer.
  • the video stream received from the cloud service in response to the user operation event is directly decoded and displayed at a preset decoding rate.
  • the client When it is determined based on the above status flag that the jitter buffer has been enabled, it is further determined whether the jitter buffer is empty. If it is empty, it means that there is no video stream cached in it. At this time, the client also directly decodes and displays the video stream received by the cloud service in response to the user operation event at the preset decoding rate. If it is not empty, you can first determine a second decoding rate higher than the preset decoding rate based on the amount of data currently cached in the jitter buffer, and decode the video stream obtained from the jitter buffer at the second decoding rate. Display until all the video streams buffered in the jitter buffer are decoded and displayed.
  • the value of the above status identifier can be set to the value corresponding to the unused state; after that, the receiving The cloud service decodes and displays the video stream in response to user operation events. It can be understood that if no user operation event is detected within a set period of time (such as the 3 seconds in the above example) after the third detection moment, the client will enable the jitter buffer at this time and change the above status identifier to The value of is set to the value corresponding to the usage status.
  • a video display device of a cloud service will be described in detail below. Those skilled in the art can understand that these devices can be constructed using commercially available hardware components and configured through the steps taught in this solution.
  • FIG. 5 is a schematic structural diagram of a cloud service video display device provided by an embodiment of the present invention. As shown in Figure 5, the device includes: a detection module 11, a storage module 12, and a decoding display module 13.
  • the detection module 11 is configured to enable the jitter buffer locally if no user operation event on the cloud service is detected between the first detection time and the second detection time.
  • the storage module 12 is configured to store the received video stream of the cloud service into the jitter buffer, and the interface of the cloud service is encoded into the video stream.
  • the decoding and display module 13 is used to obtain the video stream from the jitter buffer, decode it, and display the decoded video stream.
  • the decoding display module 13 is specifically configured to decode the video stream obtained from the jitter buffer at a preset decoding rate.
  • the decoding display module 13 is specifically configured to: within a preset time period after enabling the jitter buffer or when the amount of data in the jitter buffer is lower than the preset data amount, the Assume that the video stream obtained from the jitter buffer is decoded at a first decoding rate; after the preset time period or after the data amount in the jitter buffer is higher than the preset data amount, The preset decoding rate decodes the video stream obtained from the jitter buffer.
  • the detection module 11 is also configured to record that the jitter buffer is in use.
  • the detection module 11 is also configured to: if a user operation event on the cloud service is detected at the third detection moment, send the user operation event to the cloud service, so that the cloud service The service responds to the user operation event, and the third detection time is later than the second detection time.
  • the decoding display module 13 is also configured to: determine a second decoding rate higher than the preset decoding rate based on the amount of data currently buffered in the jitter buffer; Decode the video stream obtained within and display the decoded video stream.
  • the decoding display module 13 is also configured to: decode the video stream obtained from the jitter buffer at the second decoding rate. If all the video streams in the jitter buffer are decoded, then Decoding the received video stream of the cloud service in response to the user operation event at the preset decoding rate, and displaying the decoded video stream.
  • the decoding display module 13 is also configured to: decode the video stream obtained from the jitter buffer at the second decoding rate. If all the video streams in the jitter buffer are decoded, then Record the jitter buffer as unavailable.
  • the decoding display module 13 is also configured to: in response to detecting a user operation event on the cloud service at the third detection moment, determine whether the jitter buffer is in use; if the jitter buffer is in use status, then according to the amount of data currently cached in the jitter buffer, determine a second decoding rate higher than the preset decoding rate, and decode the video stream obtained from the jitter buffer at the second decoding rate. , if all the video streams in the jitter buffer are decoded, decode the received video stream of the cloud service in response to the user operation event at the preset decoding rate, and display the decoded video stream. ; If the jitter buffer is in an unavailable state, decode the received video stream of the cloud service in response to the user operation event at the preset decoding rate, and display the decoded video stream.
  • the device shown in Figure 5 can perform the steps in the foregoing embodiments.
  • the structure of the video display device of the cloud service shown in Figure 5 can be implemented as an electronic device.
  • the electronic device is, for example, a user terminal device such as a smartphone or a laptop computer.
  • the electronic device may include: a processor 21 , a memory 22 , and a communication interface 23 .
  • the memory 22 stores executable code.
  • the processor 21 can at least implement the video display method of the cloud service provided in the foregoing embodiments.
  • embodiments of the present invention provide a non-transitory machine-readable storage medium.
  • the non-transitory machine-readable storage medium stores executable code.
  • the executable code is executed by a processor of an electronic device, , so that the processor can at least implement the video display method of the cloud service provided in the previous embodiment.
  • each embodiment can be implemented by adding the necessary general hardware platform, or of course, can also be implemented by combining hardware and software.
  • the above technical solution can be embodied in the form of a computer product in nature or in other words, the part that contributes to the existing technology.
  • the present invention can use one or more computer-usable storage devices containing computer-usable program codes.
  • the form of a computer program product implemented on media including but not limited to disk storage, CD-ROM, optical storage, etc.).

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供一种云服务的视频显示方法、装置、设备、存储介质和系统,该方法包括:客户端若在第一检测时刻与第二检测时刻内未检测到对云服务的用户操作事件,则本地启用抖动缓冲区,将接收的云服务的视频流存入抖动缓冲区,云服务的界面被编码成所述视频流;从抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。通过在客户端侧对用户对云服务的操作事件进行检测,以判断出当前是否处于用户对云服务交互的场景,如果是非交互的场景,则可以通过增加抖动缓存区的方式,将云服务的视频流存入抖动缓冲区,来达到抗网络延时和抖动对视频画质显示质量的影响,减少视频卡顿和丢帧的现象,提升用户体验。

Description

云服务的视频显示方法、装置、设备、存储介质和系统
本申请要求于2022年09月16日提交中国专利局、申请号为202211131870.3、申请名称为“云服务的视频显示方法、装置、设备、存储介质和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及云计算技术领域,尤其涉及一种云服务的视频显示方法、装置、设备、存储介质和系统。
背景技术
云桌面是一种基于计算的云上桌面服务,采用桌面即服务(Desktop as a Service,简称DaaS)为用户提供易用、安全、高效的云上桌面办公系统。实际上,诸如云桌面、云应用等云服务已经在各种应用场景中被用户广泛使用。使用云服务的用户,可以使用客户端通过公网或专线连接到云服务。用户的客户端不需要安装这些云服务,基于通信协议把云服务界面通过视频流化的方式传输至客户端本地,用户在本地便可以使用云端服务。
用户对云桌面、云应用等云服务的使用需求越来越高,对画质要求逐步提升,由之前的标清视频流的需求逐步提升至对超高清视频流的需求。超高清的画质体验更好,但是对网络带宽的要求也相应高很多。在很多实际环境下,网络带宽的时延和抖动较大,不能很好的支撑超高清视频流的流畅传输。
发明内容
本发明实施例提供一种云服务的视频显示方法、装置、设备、存储介质和系统,用以保证云服务的视频流的画面质量。
第一方面,本发明实施例提供一种云服务的视频显示方法,应用于客户端,所述方法包括:
若在第一检测时刻与第二检测时刻内未检测到对云服务的用户操作事件,则本地启用抖动缓冲区;
将接收的所述云服务的视频流存入所述抖动缓冲区,所述云服务的界面被编码成所述视频流;
从所述抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。
第二方面,本发明实施例提供一种云服务的视频显示装置,应用于客户端,所述装置包括:
检测模块,用于若在第一检测时刻与第二检测时刻内未检测到对云服务的用户操作事件,则本地启用抖动缓冲区;
存储模块,用于将接收的所述云服务的视频流存入所述抖动缓冲区,所述云服务的界面被编码成所述视频流;
解码显示模块,用于从所述抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。
第三方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如第一方面所述的云服务的视频显示方法。
第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第一方面所述的云服务的视频显示方法。
第五方面,本发明实施例提供了一种云服务的视频传输系统,包括:运行有云服务的云服务器以及与所述云服务对应的客户端;
所述云服务器,用于对所述云服务的界面进行视频编码以得到所述云服务的视频流,并将所述云服务的视频流发送至所述客户端;
所述客户端,用于若在第一检测时刻与第二检测时刻内未检测到对所述云服务的用户操作事件,则本地启用抖动缓冲区;以及,将接收的所述云服务的视频流存入所述抖动缓冲区,从所述抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。
在本发明实施例中,通过在客户端侧对用户对云服务的操作事件进行不断检测,以判断出当前是否处于用户对云服务频繁交互的场景,如果是非交互的场景(即第一检测时刻与第二检测时刻内未检测到对云服务的用户操作事件),则可以通过增加抖动缓存区的方式,将云服务的视频流存入抖动缓冲区,来达到抗网络延时和抖动对视频画质显示质量的影响,减少视频卡顿和丢帧的现象,提升用户体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种云服务的视频显示方法的流程图;
图2为本发明实施例提供的一种云服务的视频显示方法的应用示意图;
图3为本发明实施例提供的一种云服务的视频显示方法的流程图;
图4为本发明实施例提供的一种云服务的视频显示方法的流程图;
图5为本发明实施例提供的一种云服务的视频显示装置的结构示意图;
图6为本实施例提供的一种电子设备的结构示意。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
本发明实施例提供的云服务的视频显示方法,可以由与该云服务对应的客户端来执行,该客户端可以设于诸如智能手机、笔记本电脑等用户终端中。
图1为本发明实施例提供的一种云服务的视频显示方法的流程图,如图1所示,该方法包括如下步骤:
101、若在第一检测时刻与第二检测时刻内未检测到对云服务的用户操作事件,则本地启用抖动缓冲区。
102、将接收的云服务的视频流存入抖动缓冲区,云服务的界面被编码成所述视频流。
103、从抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。
实际应用中,云计算厂商在云端提供有若干云服务器,本发明实施例中,诸如云桌面、云应用等云服务可以部署在云服务器内。
实际应用中,用户可以使用客户端通过公网或专线连接到诸如云桌面、云应用等云服务,对云服务进行使用。具体地,云服务以视频流的方式向客户端发送其画面视频数据,以便用户通过客户端能够看到云服务的界面。其中,该云服务的视频流实际上是对云服务的界面进行视频编码、压缩处理后得到的视频流,并非是指云服务中加载的视频流(比如某界面中的播放窗口内播放的视频)。
基于此,本发明实施例中所说的云服务可以理解为是:基于视频流推流协议,将其完整界面以视频流的方式向客户端传输的运行在云服务器中的服务程序。由于是在云端运行该云服务的,客户端本地无需安装该云服务,用户便可以远程使用该云服务。实际应用中,该云服务比如可以是云桌面、云手机以及各自其他的云应用,比如云游戏应用、元宇宙应用等。
在云服务器内,可以基于用户对上述视频流的分辨率、码率的需求,随时扩充算力,以支持多种分辨率和码率的云服务视频流,例如分辨1080P、码率5Mbps,比如分辨率4K、码率10Mbps,等等。
客户端与云服务(亦即云服务器)之间的网络连接并非总是稳定不变的,往往是存在网络延迟和抖动情况的。其中,网络延迟是网络传输中的一个重要指标,可衡量数据从一个端点(比如云服务)移动到另一个端点(比如客户端)所需的时间。延迟会影响用户体验,同时可能会因为多种因素而发生变化,比如两个端点之间的物理距离,接入的交换机、路由器本身性能等。而网络抖动是基于网络延迟产生的,具体地说,它是延迟时间忽长忽短变化的表现形式。网络抖动是指最大延迟与最小延迟的时间差,如最大延迟是20毫秒,最小延迟为5毫秒,那么网络抖动就是15毫秒,它主要标识网络连接的稳定性。网络抖动越小,网络连接越稳定。
而实际应用中,用户可能提出超高清视频流的使用需求。超高清视频,一般指4K(4096*2160)或者UHD(3840*2160)的视频流,超高清视频流码率相对高清、标清视频流会高很多,需要有足够的网络带宽支撑才能流畅传输。
当用户对云服务的视频流的画质提出更高的质量要求(比如上述超高清视频流的需求)时,那么对网络带宽的要求也会相应地高很多。在很多实际环境下,网络(即网络带宽)的延迟和抖动较大,不能很好的支撑超高清视频流的流畅传输,会出现视频卡顿、跳帧等现象。
因此,本发明实施例中提供了一种针对云服务的视频流进行显示处理的方案,以实现抗网络延迟、抖动对视频流的显示质量产生的不利影响。
该方案的主要思路是:在客户端侧检测用户对云服务的操作行为,以便判断出当前是否处于用户与云服务频繁交互的场景。如果是频繁交互场景,则优先考虑保证视频流传输的实时性,以便用户能够及时地看到云服务对其交互操作行为的响应视频流;而如果不是频繁交互场景,则通过适当增加抖动缓冲区(如jitter buffer)的方式,来达到一定程度的抗网络延时、抖动的效果,减少网络延时和抖动带来的跳帧、卡顿等体验问题。
具体来说,客户端在与云服务建立连接后,便可以使用云服务。云服务的视频流便可以传输至客户端进行解码、显示。正常情形下,假设客户端是以预设解码速率(即1倍速的解码速率)对从云服务接收到的上述视频流进行即时的解码并送入显示器进行显示的。
客户端可以以设定的检测周期来检测是否有用户操作事件(即用户操作行为)的输入,该检测周期可以设置为微秒级的较短时间,比如10微秒。如果以某第一检测时刻作为起点,如果在第一检测时刻以及其之后的至少设定时间(比如至少3秒)内均没有检测到用户操作事件,则认为当前处于用户未与云服务频繁交互的场景,则客户端本地启用抖动缓冲区。其中,该设定时间可以包括设定数量的检测周期,假设自第一检测时刻起,经过该设定时间到达的是第二检测时刻。其中,客户端本地启用抖动缓冲区,是指客户端在内存中设置一块动态(基于软件的)的抖动缓冲区。
实际应用中,用户操作事件比如是用户在当前观看到的视频流画面中点击了云服务的界面中某个按钮、进行文件/文件夹的新建、删除界面上的某些内容,等等。用户操作事件的输入方式可以是通过键盘、鼠标、触控方式、语音方式等输入方式输入的。
在客户端启用抖动缓冲区后,接收的云服务的视频流便可以先存入该抖动缓冲区,之后,客户端从该抖动缓冲区以某解码速率从中获取视频流进行解码,将解码出的视频流进行显示。可选地,可以以上述预设解码速率从该抖动缓冲区中获取视频流进行解码。
其中,抖动缓冲区的核心思想以增大端到端的延迟为代价来换取视频流的流畅性,从而达到抗网络延时和抖动的效果。也就是说,由于抖动缓冲区被启用,云服务的视频流需要先存入该抖动缓冲区内进行缓存,而并非即时进行解码。缓存一段时间或一定数据量之后才进行解码,虽然增加了视频流的延迟,但是由于可以稳定地解码、显示,从而实现视频流的流畅显示效果。而如果网络延迟、抖动较大,并未采用抖动缓冲区来缓存视频流而是在接收到云服务的视频流时,便实时地进行解码、显示,那么由于网络延迟和抖动的影响,云服务的视频流并非是均匀接收到的,可能短时间内没有收到,也可能短时间内收到很多帧,便会出现视频卡顿、跳帧等现象。
为了更好地让抖动缓冲区内在更短时间内实现视频流的积累,实现缓存目的,可选地,可以在启用抖动缓冲区后的预设时间段内或所述抖动缓冲区内的数据量低于预设数据量时,以低于预设解码速率的第一解码速率对从抖动缓冲区内获取的视频流进行解码;而在该预设时间段之后或所述抖动缓冲区内的数据量高于预设数据量后,以所述预设解码速率对从抖动缓冲区内获取的视频流进行解码。该预设时间段比如为1秒、2秒等预设值。以预设解码速率为1倍速解码速率为例,第一解码速率比如为0.8倍速、0.5倍速等。也就是说,在启动抖动缓冲区后,接收到的云服务的视频流便存入抖动缓冲区,先以低倍速的解码速率来解码一段时间,之后再恢复正常倍速的解码速率进行解码。
为便于理解,类比举例来说,将抖动缓冲区理解为是一个水池,解码速率相当于是出水速率,在入水速率不变的情况下,出水速率小,水池内则会储存更多的水。
另外,客户端还可以维护一个指示抖动缓冲区是否被使用的状态标志符,在客户端启用抖动缓冲区时,记录所述抖动缓冲区处于使用状态,即将该状态标志符的取值设置为使用状态所对应的取值。
在上述实施例中,通过对用户操作事件的不断检测,当连续一段时间未检测到用户操作事件时认为用户当前处于不与云服务交互的场景,那么意味着此时对云服务的视频流延迟一定时间再进行显示对用户体验的影响是可以忽略的,因为以云桌面为例,如果用户并未对云桌面进行操作,那么用户感知不到视频流的延时。此时,启动使用抖动缓冲区,通过对视频流进行缓存以延迟显示,可以解决网络延迟和抖动带来的画面卡顿、跳帧的问题。
为便于理解,下面结合图2对上述实施例提供的方案进行示例型说明。
在图2提供的云服务的视频传输系统中,包括运行有某种云服务(比如云桌面)的云服务器以及对应的客户端,客户端与云桌面所在云服务器网络连接后的T1时刻开始,云桌面向客户端发送云桌面视频流a,T1时刻作为起始的检测时刻,客户端在T1时刻进行用户操作事件的检测,假设此时并未检测到操作事件,在T1时刻之后的比如3秒内的各个检测时刻假设客户端都并未检测到用户操作事件,并假设T1时刻之后过3秒到达T2时 刻。那么可以理解的是,在T1至T2时间段内,客户端持续接收云桌面视频流a,客户端在接收到云桌面视频流a时以一倍速的解码速率来对其进行解码、显示。在T2时刻,客户端确定需要启用抖动缓存区,那么自T2时刻开始接收到的云桌面视频流b将被先存入该抖动缓冲区进行缓存,客户端可以先在短时间(比如1.5秒)内比如以0.8倍速的解码速率从抖动缓冲区获取云桌面视频流b进行解码、显示,之后以正常的一倍速解码速率从抖动缓冲区获取云桌面视频流b进行解码、显示。
图3为本发明实施例提供的一种云服务的视频显示方法的流程图,如图3所示,该方法包括如下步骤:
301、若在第一检测时刻与第二检测时刻内未检测到对云服务的用户操作事件,则本地启用抖动缓冲区。
302、将接收的云服务的视频流存入抖动缓冲区,云服务的界面被编码成所述视频流。
303、以预设解码速率从抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。
304、若在第三检测时刻检测到对云服务的用户操作事件,则将用户操作事件发送至云服务,以使云服务对用户操作事件进行响应,第三检测时刻晚于第二检测时刻。
305、确定抖动缓冲区是否为空,若不为空,则执行步骤306-307,否则执行步骤307。
306、根据抖动缓冲区内当前缓存的数据量,确定高于预设解码速率的第二解码速率,以第二解码速率对从抖动缓冲区内获取的视频流进行解码,并对解码出的视频流进行显示。
307、以预设解码速率对接收的云服务响应用户操作事件的视频流进行解码,并对解码出的视频流进行显示。
本实施例中,步骤301-303的执行过程参考前述实施例中的相关说明,在此不赘述。
本实施例中,假设在连续的一段时间:第一检测时刻至第二检测时刻期间,都未检测到用户对云服务的用户操作事件,但是在第二检测时刻之后的某个检测时刻(称为第三检测时刻)检测到了用户操作事件,此时,一方面,客户端需要将该用户操作事件发送至云服务,以便云服务对该用户操作事件进行响应,另一方面,在产生了用户操作事件的情形下,客户端需要对响应该用户操作事件而产生的视频流进行及时地解码、显示,以便用户可以几乎实时地看到云服务对其操作行为的响应结果。
由于第一检测时刻至第二检测时刻期间都未检测到用户对云服务的用户操作事件,所以客户端已经启用了抖动缓冲区,那么在抖动缓冲区已经被启用的情形下,当在第三检测时刻产生了用户操作事件时,需要先尽快地将此前存入抖动缓冲区内缓存的视频流处理掉,之后才能解码在此之后产生的响应用户操作事件的视频流。因此,在第三检测时刻检测到用户操作事件时,首先可以判断抖动缓冲区内当前是否为空。
若为空,说明其中并未缓存有视频流,那么此时客户端可以直接对接收到的云服务响应用户操作事件的视频流进行解码、显示,且此时采用的解码速率为前述预设解码速率(即 一倍速解码速率)。注意,此时云服务响应该用户操作事件的视频流并不会存入抖动缓冲区进行缓存了,因为要满足对用户操作事件的实时响应。
若不为空,则可以先根据抖动缓冲区内当前缓存的数据量,确定高于预设解码速率的第二解码速率,以第二解码速率对从抖动缓冲区内获取的视频流进行解码、显示;之后,再以预设解码速率对接收的云服务响应用户操作事件的视频流进行解码、显示。
实际应用中,抖动缓冲区内缓存的数据量越多,确定的第二解码速率越高,以便以更高的解码速率尽快地将缓存的视频流解码、显示处理完毕。第二解码速率比如为2倍速解码速率、3倍速解码速率等。
综上,在本实施例所提供的方案中,当用户持续对云服务不进行交互操作时,启用抖动缓冲区以对此时云服务的视频流进行缓存,以便解决网络延时和抖动带来的视频卡顿、跳帧问题,而当用户对云服务产生交互操作时,则尽快解码、显示完抖动缓冲区内缓存的视频,以便及时地对响应用户操作行为的视频进行解码、显示,满足用户交互响应的实时性。
前述实施例中假设的是先启用了抖动缓冲区后检测到用户操作事件的情形,下面结合图4所示实施例介绍检测到用户操作事件之后的一般性处理流程。
图4为本发明实施例提供的一种云服务的视频显示方法的流程图,如图4所示,该方法包括如下步骤:
401、若在第三检测时刻检测到对云服务的用户操作事件,则将用户操作事件发送至云服务,以使云服务对用户操作事件进行响应。
402、确定抖动缓冲区是否处于使用状态,若是,则执行步骤403,否则,执行步骤405。
403、确定抖动缓冲区是否为空,若不为空,则执行步骤404-405,否则执行步骤405。
404、根据抖动缓冲区内当前缓存的数据量,确定高于预设解码速率的第二解码速率,以第二解码速率对从抖动缓冲区内获取的视频流进行解码,并对解码出的视频流进行显示,若抖动缓冲区内视频流均被解码,则记录抖动缓冲区为不可用状态。
405、以预设解码速率对接收的云服务响应用户操作事件的视频流进行解码,并对解码出的视频流进行显示。
基于前述实施例中的相关说明,当客户端启用抖动缓冲区时,可以记录抖动缓冲区处于使用状态,即将指示抖动缓冲区是否被使用的状态标志符的取值设置为使用状态所对应的取值。基于此,假设在当前的第三检测时刻,客户端检测到用户对云服务的用户操作事件,则一方面将该用户操作事件发送至云服务,以使云服务对该用户操作事件进行响应,另一方面,客户端需要判断当前是否已经启用了抖动缓冲区,以及抖动缓冲区内的数据量。
当基于上述状态标志符确定抖动缓冲区没有被启用时,则直接对从云服务接收到的响应该用户操作事件的视频流以预设解码速率进行解码、显示处理。
当基于上述状态标志符确定抖动缓冲区已经被启用时,进一步判断抖动缓冲区是否为空。若为空,说明其中并未缓存有视频流,那么此时客户端同样直接对接收到的云服务响应用户操作事件的视频流以预设解码速率进行解码、显示。若不为空,则可以先根据抖动缓冲区内当前缓存的数据量,确定高于预设解码速率的第二解码速率,以第二解码速率对从抖动缓冲区内获取的视频流进行解码、显示,直至抖动缓冲区内缓存的视频流都被解码、显示完毕,此时可以将上述状态标志符的取值设置为未使用状态所对应的取值;之后,再以预设解码速率对接收的云服务响应用户操作事件的视频流进行解码、显示。可以理解的是,若在第三检测时刻之后的一段设定时间(比如上述举例的3秒)内,均未检测到用户操作事件,则此时客户端启用抖动缓冲区,将上述状态标志符的取值设置为使用状态所对应的取值。
以下将详细描述本发明的一个或多个实施例的云服务的视频显示装置。本领域技术人员可以理解,这些装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图5为本发明实施例提供的一种云服务的视频显示装置的结构示意图,如图5所示,该装置包括:检测模块11、存储模块12、解码显示模块13。
检测模块11,用于若在第一检测时刻与第二检测时刻内未检测到对云服务的用户操作事件,则本地启用抖动缓冲区。
存储模块12,用于将接收的所述云服务的视频流存入所述抖动缓冲区,所述云服务的界面被编码成所述视频流。
解码显示模块13,用于从所述抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。
可选地,所述解码显示模块13具体用于:以预设解码速率对从所述抖动缓冲区内获取的视频流进行解码。
可选地,所述解码显示模块13具体用于:在启用所述抖动缓冲区后的预设时间段内或所述抖动缓冲区内的数据量低于预设数据量时,以低于预设解码速率的第一解码速率对从所述抖动缓冲区内获取的视频流进行解码;在所述预设时间段之后或所述抖动缓冲区内的数据量高于预设数据量后,以所述预设解码速率对从所述抖动缓冲区内获取的视频流进行解码。
可选地,所述检测模块11还用于:记录所述抖动缓冲区处于使用状态。
可选地,所述检测模块11还用于:若在第三检测时刻检测到对所述云服务的用户操作事件,则将所述用户操作事件发送至所述云服务,以使所述云服务对所述用户操作事件进行响应,所述第三检测时刻晚于所述第二检测时刻。所述解码显示模块13还用于:根据所述抖动缓冲区内当前缓存的数据量,确定高于预设解码速率的第二解码速率;以所述第二解码速率对从所述抖动缓冲区内获取的视频流进行解码,并对解码出的视频流进行显示。
可选地,所述解码显示模块13还用于:以所述第二解码速率对从所述抖动缓冲区内获取的视频流进行解码,若所述抖动缓冲区内视频流均被解码,则以所述预设解码速率对接收的所述云服务响应所述用户操作事件的视频流进行解码,并对解码出的视频流进行显示。
可选地,所述解码显示模块13还用于:以所述第二解码速率对从所述抖动缓冲区内获取的视频流进行解码,若所述抖动缓冲区内视频流均被解码,则记录所述抖动缓冲区为不可用状态。
可选地,解码显示模块13还用于:响应于在第三检测时刻检测到对所述云服务的用户操作事件,确定所述抖动缓冲区是否处于使用状态;若所述抖动缓冲区处于使用状态,则根据所述抖动缓冲区内当前缓存的数据量,确定高于预设解码速率的第二解码速率,以所述第二解码速率对从所述抖动缓冲区内获取的视频流进行解码,若所述抖动缓冲区内视频流均被解码,则以所述预设解码速率对接收的所述云服务响应所述用户操作事件的视频流进行解码,并对解码出的视频流进行显示;若所述抖动缓冲区处于不可用状态,则以所述预设解码速率对接收的所述云服务响应所述用户操作事件的视频流进行解码,并对解码出的视频流进行显示。
图5所示装置可以执行前述实施例中的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图5所示云服务的视频显示装置的结构可实现为一电子设备。该电子设备比如是智能手机、笔记本电脑等用户终端设备。如图6所示,该电子设备可以包括:处理器21、存储器22、通信接口23。其中,存储器22上存储有可执行代码,当所述可执行代码被处理器21执行时,使处理器21至少可以实现如前述实施例中提供的云服务的视频显示方法。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述实施例中提供的云服务的视频显示方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

  1. 一种云服务的视频显示方法,其特征在于,应用于客户端,所述方法包括:
    若在第一检测时刻与第二检测时刻内未检测到对云服务的用户操作事件,则本地启用抖动缓冲区;
    将接收的所述云服务的视频流存入所述抖动缓冲区,所述云服务的界面被编码成所述视频流;
    从所述抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。
  2. 根据权利要求1所述的方法,其特征在于,所述从所述抖动缓冲区内获取视频流进行解码,包括:
    以预设解码速率对从所述抖动缓冲区内获取的视频流进行解码。
  3. 根据权利要求2所述的方法,其特征在于,所述以预设解码速率对从所述抖动缓冲区内获取的视频流进行解码,包括:
    在启用所述抖动缓冲区后的预设时间段内或所述抖动缓冲区内的数据量低于预设数据量时,以低于所述预设解码速率的第一解码速率对从所述抖动缓冲区内获取的视频流进行解码;
    在所述预设时间段之后或所述抖动缓冲区内的数据量高于所述预设数据量后,以所述预设解码速率对从所述抖动缓冲区内获取的视频流进行解码。
  4. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    记录所述抖动缓冲区处于使用状态。
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
    若在第三检测时刻检测到对所述云服务的用户操作事件,则将所述用户操作事件发送至所述云服务,以使所述云服务对所述用户操作事件进行响应,所述第三检测时刻晚于所述第二检测时刻;
    根据所述抖动缓冲区内当前缓存的数据量,确定高于预设解码速率的第二解码速率;
    以所述第二解码速率对从所述抖动缓冲区内获取的视频流进行解码,并对解码出的视频流进行显示。
  6. 根据权利要求5所述的方法,其特征在于,所述以所述第二解码速率对从所述抖动缓冲区内获取的视频流进行解码之后,所述方法还包括:
    若所述抖动缓冲区内视频流均被解码,则以所述预设解码速率对接收的所述云服务响应所述用户操作事件的视频流进行解码,并对解码出的视频流进行显示。
  7. 根据权利要求6所述的方法,其特征在于,所述方法还包括:
    若所述抖动缓冲区内视频流均被解码,则记录所述抖动缓冲区为不可用状态。
  8. 根据权利要求5所述的方法,其特征在于,所述在第三检测时刻检测到对所述云服务的用户操作事件之后,所述方法还包括:
    确定所述抖动缓冲区是否处于使用状态;
    所述根据所述抖动缓冲区内当前缓存的数据量,确定高于预设解码速率的第二解码速率,包括:
    若所述抖动缓冲区处于使用状态,则根据所述抖动缓冲区内当前缓存的数据量,确定高于预设解码速率的第二解码速率。
  9. 一种云服务的视频显示装置,其特征在于,应用于客户端,包括:
    检测模块,用于若在第一检测时刻与第二检测时刻内未检测到对云服务的用户操作事件,则本地启用抖动缓冲区;
    存储模块,用于将接收的所述云服务的视频流存入所述抖动缓冲区,所述云服务的界面被编码成所述视频流;
    解码显示模块,用于从所述抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。
  10. 一种电子设备,其特征在于,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至8中任一项所述的云服务的视频显示方法。
  11. 一种非暂时性机器可读存储介质,其特征在于,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至8中任一项所述的云服务的视频显示方法。
  12. 一种云服务的视频传输系统,其特征在于,包括:运行有云服务的云服务器以及与所述云服务对应的客户端;
    所述云服务器,用于对所述云服务的界面进行视频编码以得到所述云服务的视频流,并将所述云服务的视频流发送至所述客户端;
    所述客户端,用于若在第一检测时刻与第二检测时刻内未检测到对所述云服务的用户操作事件,则本地启用抖动缓冲区;以及,将接收的所述云服务的视频流存入所述抖动缓冲区,从所述抖动缓冲区内获取视频流进行解码,并对解码出的视频流进行显示。
PCT/CN2023/119261 2022-09-16 2023-09-15 云服务的视频显示方法、装置、设备、存储介质和系统 WO2024056095A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211131870.3A CN115643449A (zh) 2022-09-16 2022-09-16 云服务的视频显示方法、装置、设备、存储介质和系统
CN202211131870.3 2022-09-16

Publications (1)

Publication Number Publication Date
WO2024056095A1 true WO2024056095A1 (zh) 2024-03-21

Family

ID=84941680

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/119261 WO2024056095A1 (zh) 2022-09-16 2023-09-15 云服务的视频显示方法、装置、设备、存储介质和系统

Country Status (2)

Country Link
CN (1) CN115643449A (zh)
WO (1) WO2024056095A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115643449A (zh) * 2022-09-16 2023-01-24 阿里巴巴(中国)有限公司 云服务的视频显示方法、装置、设备、存储介质和系统
CN116886974B (zh) * 2023-09-07 2023-12-19 海马云(天津)信息技术有限公司 优化终端解码渲染性能的方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006511A (zh) * 2010-11-24 2011-04-06 中兴通讯股份有限公司 直播节目的回看方法、装置及终端
US20140281017A1 (en) * 2012-11-28 2014-09-18 Nvidia Corporation Jitter buffering system and method of jitter buffering
CN111135569A (zh) * 2019-12-20 2020-05-12 RealMe重庆移动通信有限公司 云游戏处理方法、装置、存储介质与电子设备
CN111298427A (zh) * 2020-02-04 2020-06-19 南京大学 一种在虚拟现实云游戏系统中降低画面抖动的方法
CN112822502A (zh) * 2020-12-28 2021-05-18 阿里巴巴(中国)有限公司 直播去抖动的智能缓存与直播方法、设备及存储介质
CN115643449A (zh) * 2022-09-16 2023-01-24 阿里巴巴(中国)有限公司 云服务的视频显示方法、装置、设备、存储介质和系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11289519A (ja) * 1998-04-02 1999-10-19 Sony Corp 再生装置
US9510024B2 (en) * 2014-09-12 2016-11-29 Spotify Ab System and method for early media buffering using prediction of user behavior
CN107370714A (zh) * 2016-05-13 2017-11-21 吉林纪元时空动漫游戏科技集团股份有限公司 面向云渲染的高效通讯方法
CN111294634B (zh) * 2020-02-27 2022-02-18 腾讯科技(深圳)有限公司 直播方法、装置、系统、设备及计算机可读存储介质
CN112999653B (zh) * 2021-01-21 2022-08-02 腾讯科技(深圳)有限公司 一种云游戏处理方法、装置、设备及介质
CN114095762A (zh) * 2021-11-23 2022-02-25 湖南麒麟信安科技股份有限公司 数据传输方法、装置、计算机设备及计算机可读存储介质
CN114816644A (zh) * 2022-05-12 2022-07-29 阿里巴巴(中国)有限公司 云界面的数据处理方法、第一用户设备、服务器和第二用户设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006511A (zh) * 2010-11-24 2011-04-06 中兴通讯股份有限公司 直播节目的回看方法、装置及终端
US20140281017A1 (en) * 2012-11-28 2014-09-18 Nvidia Corporation Jitter buffering system and method of jitter buffering
CN111135569A (zh) * 2019-12-20 2020-05-12 RealMe重庆移动通信有限公司 云游戏处理方法、装置、存储介质与电子设备
CN111298427A (zh) * 2020-02-04 2020-06-19 南京大学 一种在虚拟现实云游戏系统中降低画面抖动的方法
CN112822502A (zh) * 2020-12-28 2021-05-18 阿里巴巴(中国)有限公司 直播去抖动的智能缓存与直播方法、设备及存储介质
CN115643449A (zh) * 2022-09-16 2023-01-24 阿里巴巴(中国)有限公司 云服务的视频显示方法、装置、设备、存储介质和系统

Also Published As

Publication number Publication date
CN115643449A (zh) 2023-01-24

Similar Documents

Publication Publication Date Title
WO2024056095A1 (zh) 云服务的视频显示方法、装置、设备、存储介质和系统
US10785275B2 (en) Presentation of media in an application
KR102039778B1 (ko) 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치
WO2020248909A1 (zh) 视频解码方法、装置、计算机设备及存储介质
WO2021143182A1 (zh) 游戏的处理方法、装置、电子设备及计算机可读存储介质
CN111135569A (zh) 云游戏处理方法、装置、存储介质与电子设备
CN101582926B (zh) 实现远程媒体播放重定向的方法和系统
CN102158553A (zh) 用于远程桌面的播放多媒体文件的方法和装置
CN112637661B (zh) 视频流的切换方法及装置、计算机存储介质、电子设备
WO2014054325A1 (ja) 符号化制御装置および符号化制御方法
US11356739B2 (en) Video playback method, terminal apparatus, and storage medium
KR101942270B1 (ko) 재생 지연 방지 시스템을 포함하는 미디어 재생 장치 및 방법
US20240056637A1 (en) Performing Trick Plays of Segmented Video Content
US20140099040A1 (en) Image processing device and image processing method
WO2024061307A1 (zh) 一种云桌面中应用服务的交互、处理、控制方法
Hsu et al. Screencast dissected: Performance measurements and design considerations
KR20140117889A (ko) 클라이언트 장치, 서버 장치, 멀티미디어 리디렉션 시스템 및 그 방법
JP2014075737A (ja) 画像処理装置、画像処理方法及び画像処理システム
US20200186849A1 (en) Method and system for reducing drop-outs during video stream playback
US9560105B2 (en) Server device and information processing method
EP3891962B1 (en) Synchronized jitter buffers to handle codec switches
CN110113641B (zh) 视频数据的传输方法、装置、边缘服务节点及介质
JP6483850B2 (ja) データ処理方法および装置
WO2016107174A1 (zh) 多媒体文件数据的处理方法及系统、播放器和客户端
TWI730837B (zh) 用於遊戲串流的方法及裝置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23864823

Country of ref document: EP

Kind code of ref document: A1