CN109327716A - 延迟控制方法、延迟控制装置和计算机可读存储介质 - Google Patents

延迟控制方法、延迟控制装置和计算机可读存储介质 Download PDF

Info

Publication number
CN109327716A
CN109327716A CN201811283473.1A CN201811283473A CN109327716A CN 109327716 A CN109327716 A CN 109327716A CN 201811283473 A CN201811283473 A CN 201811283473A CN 109327716 A CN109327716 A CN 109327716A
Authority
CN
China
Prior art keywords
threshold value
delay
network state
control method
delay threshold
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201811283473.1A
Other languages
English (en)
Other versions
CN109327716B (zh
Inventor
周超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN201811283473.1A priority Critical patent/CN109327716B/zh
Publication of CN109327716A publication Critical patent/CN109327716A/zh
Priority to PCT/CN2019/104200 priority patent/WO2020088090A1/zh
Priority to US17/057,048 priority patent/US11490156B2/en
Application granted granted Critical
Publication of CN109327716B publication Critical patent/CN109327716B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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
    • H04N21/44004Processing 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 involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请是关于一种延迟控制方法、延迟控制装置和计算机可读存储介质。该延迟控制方法包括:初始化缓存数据量,设定初始延迟阈值;获得客户端的实时缓存数据并据此判断所述客户端的网络状态;以及根据所述网络状态对当前延迟阈值进行调整。该延迟控制方法是根据用户端的缓存数据来判断用户端的网络状态,并对延迟时间进行的调整,使得在大规模的直播场景下,播放器能依据每个用户的网络状态,实时、动态地控制每个用户端的延迟时间,提升用户的观看体验。

Description

延迟控制方法、延迟控制装置和计算机可读存储介质
技术领域
本申请属于计算机软件应用领域,尤其是延迟控制方法及延迟控制装置。
背景技术
随着互联网技术的不断发展,流媒体技术的应用越来越广泛,简单来说,流媒体就是用户通过网络一边下载一边观看多媒体节目的一种服务方式,不需要花费很长时间将视频文件完整下载到本地,而仅需缓存空间数秒后即可开始播放,后面的数据会源源不断地输入到该缓存空间,维持连续播放。
在目前的直播方案中,应用流媒体服务,为了应对带宽的抖动,降低卡顿率,在客户端一般会缓存一定的数据,这种做法的弊端是带来一定的延迟。并且对于所有用户,缓存的数据量一般是提前预定的,也即所有用户的最低延迟都是提前预定义好的,在观看直播的过程中,不会动态改变。但是预设缓存数据量的选择非常困难,在缓存过多时,对于网络好的用户而言,会额外引入过大的延迟;而在缓存过少时,对于网络状态不够好的用户,又难以达到抗带宽抖动的目的,导致卡顿。
发明内容
为克服相关技术中存在的问题,本申请公开一种自适应延迟控制方法和延迟控制装置,在直播环境下,能依据用户的网络状态,动态控制每个用户的延迟,选择最佳的缓存数据量,提升观看体验。
根据本申请实施例的第一方面,提供一种延迟控制方法,包括:初始化缓存数据量,设定初始延迟阈值;获得客户端的实时缓存数据并据此判断所述客户端的网络状态;以及根据所述网络状态对当前延迟阈值进行调整。
可选地,所述根据所述网络状态对当前延迟阈值进行调整包括:当所述网络状态良好时,降低所述当前延迟阈值;当发生卡顿时,增大所述当前延迟阈值;以及当所述网络状态一般且没发生卡顿时,保持所述当前延迟阈值不变。
可选地,根据所述网络状态对当前延迟阈值进行调整还包括:当缓存数据量大于所述当前延迟阈值时,启动追帧逻辑,直到缓存数据量不大于所述当前延迟阈值。
可选地,根据所述网络状态对当前延迟阈值进行调整还包括:每次启动所述追帧逻辑后,判断是否发生卡顿。
可选地,所述缓存数据包括:视频码率、平均下载带宽和在每个滑动窗口中的缓存数据量。
可选地,根据每个所述滑动窗口中的最小缓存数据量与所述当前延迟阈值的倍数关系,和所述平均下载带宽与所述视频码率的倍数关系来判断所述网络状态。
可选地,当每个所述滑动窗口中的最小缓存数据量大于等于所述当前延迟阈值的设定倍数,且所述平均下载带宽大于所述视频码率的设定倍数时,认为所述网络状态良好;否则,认为所述网络状态一般。
可选地,所述平均下载带宽大于所述视频码率的设定倍数包括:对于单码率视频,所述平均下载带宽大于所述视频码率的设定倍数;对于多码率视频,所述每个滑动窗口中的最小所述视频码率等于最大可用视频码率,且所述平均下载带宽大于所述视频码率的设定倍数。
可选地,根据所述网络状态对当前延迟阈值进行调整还包括:预设延迟调整时间,根据所述延迟调整时间调整所述当前延迟阈值。
可选地,降低所述当前延迟阈值时,选择每个所述滑动窗口中的最小缓存数据量和所述当前延迟阈值与所述延迟调整时间的倍数差之间的较大值作为调整后的延迟阈值;增大所述当前延迟阈值时,选择每个所述滑动窗口中的最大缓存数据量和所述当前延迟阈值与所述延迟调整时间的倍数和之间的较小值作为调整后的延迟阈值。
根据本发明实施例的第二方面,提供一种延迟控制装置,包括:初始化模块,用于初始化缓存数据量,设定初始延迟阈值;数据获取模块,用于获得客户端的实时缓存数据并据此判断所述客户端的网络状态;以及调整模块,用于根据所述网络状态对当前延迟阈值进行调整。
可选地,所述调整模块包括:延迟降低模块,用于当所述网络状态良好时,降低所述当前延迟阈值;延迟增大模块,用于当发生卡顿时,增大所述当前延迟阈值;以及延迟维持模块,用于当所述网络状态一般且没发生卡顿时,保持所述当前延迟阈值不变。
可选地,所述缓存数据包括:视频码率、平均下载带宽和在每个滑动窗口中的缓存数据量。
可选地,根据每个所述滑动窗口中的最小缓存数据量与所述当前延迟阈值的倍数关系,和所述平均下载带宽与所述视频码率的倍数关系来判断所述网络状态。
根据本发明实施例的第三方面,提供一种电子设备,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述任意一项所述的延迟控制方法。
根据本发明实施例的第四方面,提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令被执行时实现上述延迟控制方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
该延迟控制方法是根据用户端的缓存数据来判断用户端的网络状态,并对延迟时间进行的调整,使得在大规模的直播场景下,播放器能依据每个用户的网络状态,实时、动态地控制每个用户端的延迟时间,提升用户的观看体验。
本申请的另一实施例提供的技术方案可以包括以下有益效果:
根据网络状态对客户端的当前延迟阈值进行调整,当网络状态良好时降低延迟阈值,当发生卡顿时增大延迟阈值,使得用户在网络良好时,可以及时跟进直播情况,而在发生卡顿时,及时调整缓存,减小卡顿,提升观看体验,而且可以达到实时调整,保证用户的观看质量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的延迟控制方法的流程图;
图2是根据一示例性实施例示出的延迟阈值调整的流程图;
图3是是根据一示例性实施例示出的延迟控制装置的示意图;
图4是是根据一示例性实施例示出的的延迟控制装置中的调整模块的示意图;
图5是根据一示例性实施例示出的一种执行延迟控制方法的电子设备的框图;
图6是根据一示例性实施例示出的一种执行延迟控制方法的延迟控制装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的延迟控制方法的流程图,具体包括以下步骤。
在步骤S101中,初始化缓存数据量,设定初始延迟阈值。
在步骤S102中,获得客户端的实时缓存数据并据此判断客户端的网络状态。
在步骤S103中,根据网络状态对当前延迟阈值进行调整。
直播过程中,一般会在客户端缓存一定的数据,初始缓存的数据量记为T(单位为秒),用于对抗网络的抖动,但会带来一定的延迟。例如,主播A直播推流到服务S,S在服务端至少存储T秒的数据,观众B观看主播A的直播,从S拉流。当前时刻记为t,则S将(t-T)之后的数据全部发送给B,因此观众B观看到的画面,相对于主播A的延迟为T秒。
首先初始化缓存数据量,设定初始延迟阈值T。将初始延迟阈值T作为当前阈值,再根据客户端的实时缓存数据判断客户端的网络状态,例如在观众B所在的客户端,持续统计缓存数据,例如每500ms统计一次。在一个实施例中,缓存数据包括:视频码率、平均下载带宽和在每个滑动窗口中的缓存数据量。记录在一个滑动窗口中的缓存数据量的大小时,设定窗口大小为W,例如W=60,时间间隔为500ms,即记录历史30秒的缓存状态。其中,视频码率指视频编码/转码的目标码率;下载带宽为估计的实际下载带宽,可以采用任意的带宽估计方案;缓存大小为播放器可用于播放的数据量,单位为秒。
本实施例主要依据缓存大小的变化、带宽的变化来动态控制当前缓存的大小,从而动态控制用户的延迟,降低卡顿率。在一个实施例中,可以根据每个滑动窗口中的最小缓存数据量与当前延迟阈值的倍数关系,和平均下载带宽与视频码率的倍数关系来判断网络状态。
根据网络状态对当前延迟阈值进行调整。T的大小直接决定了用户端延迟的最小值。如果用户网络足够好,在观看过程中没有发生卡顿,那么用户的延迟就稳定在T;如果用户网络不好,在观看过程中发生卡顿,那么用户的延迟就会增大,此时一般会通过跳帧或追帧的方式,将延迟再次降到T。
本实施例中,根据用户端的缓存数据来判断用户端的网络状态,并对延迟时间进行的调整,使得在大规模的直播场景下,能依据每个用户的网络状态,实时、动态地控制每个用户端的延迟时间,降低卡顿率,提升用户的观看体验。
图2是根据一示例性实施例示出的延迟阈值调整的流程图。
在步骤S201中,当网络状态良好时,降低当前延迟阈值;
在步骤S202中,当发生卡顿时,增大当前延迟阈值;
在步骤S203中,当网络状态一般且没发生卡顿时,保持当前延迟阈值不变;
在步骤S204中,当缓存数据量大于当前延迟阈值时,启动追帧逻辑,直到缓存数据量不大于当前延迟阈值;
在步骤S205中,每次启动追帧逻辑后,判断是否发生卡顿。
本实施例是图1的步骤S103的延迟阈值调整的优化方案,其中,步骤S201-S203是根据网络状态对延迟阈值作出的整体调整的判断。
首先根据缓存数据对当前客户端的网络状态进行评估,缓存数据包括:视频码率v_rate、平均下载带宽bw_estimate和在每个滑动窗口W中的缓存数据量。根据每个滑动窗口W中的最小缓存数据量与当前延迟阈值的倍数关系,和平均下载带宽bw_estimate与视频码率v_rate的倍数关系来判断网络状态。
例如,当每个滑动窗口W中的最小缓存数据量大于等于当前延迟阈值的设定倍数,且平均下载带宽bw_estimate大于视频码率v_rate的设定倍数时,认为网络状态良好;否则,认为网络状态一般。例如,当前延迟阈值为T1,滑动窗口W中的最小缓存数据量不小于0.95*T1时,且平均下载带宽bw_estimate大于视频码率v_rate的1.2倍时,两个条件都满足,认为网络良好。
关于平均下载带宽bw_estimate与视频码率v_rate的比较又可以分为两种情况:对于单码率视频,需要满足平均下载带宽bw_estimate大于视频码率v_rate的设定倍数(例如1.2倍);而对于多码率视频,不仅需要满足平均下载带宽bw_estimate大于视频码率v_rate的设定倍数(例如1.2倍),且需要满足每个滑动窗口中的最小视频码率等于最大可用视频码率。
在设定好条件之后,根据采集的实时缓存数据判断网络状态,当网络状态良好时,降低当前延迟阈值T1;当发生卡顿时,增大当前延迟阈值T1;当网络状态一般且没发生卡顿时,保持当前延迟阈值T1不变。
在一个实施例中,还包括:预设延迟调整时间delta,根据延迟调整时间delta调整当前延迟阈值T1的大小。
例如,当缓存数据同时满足上述的两个条件,认为网络状态良好,此时降低当前延迟阈值T1,选择每个滑动窗口W中的最小缓存数据量和当前延迟阈值T1与延迟调整时间delta的倍数差之间的较大值作为调整后的延迟阈值。用公式表达为:更新当前延迟阈值T1,即T1=max(T1-delta,T_min),T_min为每个滑动窗口W中的最小缓存数据量,单位为秒。其中0<delta<T1,例如delta=0.5秒。
而当发生卡顿时,增大当前延迟阈值T1,记录卡顿时长t,选择每个滑动窗口W中的最大缓存数据量和当前延迟阈值T1与延迟调整时间delta的倍数和之间的较小值作为调整后的延迟阈值。用公式表达为:更新当前延迟阈值T1,即T1=min(T1+2*delta,T_max),T_max为每个滑动窗口W中的最大缓存数据量,单位为秒。在步骤S204中,当缓存数据量大于当前延迟阈值时,启动追帧逻辑,直到缓存数据量不大于当前延迟阈值。例如,在步骤S201中,当网络状态良好时,降低当前延迟阈值,使得缓存数据量大于当前延迟阈值,此时,播放器启动追帧逻辑,开始追帧,直到缓存数据量不大于当前延迟阈值。而在视频播放的任意时刻,只要缓存数据量大于当前延迟阈值,就启动追帧。
在步骤S205中,每次启动追帧逻辑后,判断是否发生卡顿。追帧后,延迟降低,此时判断视频播放是否卡顿,若发生卡顿现象,则返回步骤S202,增大当前延迟阈值;若未发生卡顿,则保持当前状态,等待一段时间后,重新返回图1的步骤S103,重新判断网络状态。
本实施例中,根据网络状态对客户端的当前延迟阈值进行调整,当网络状态良好时降低延迟阈值,当发生卡顿时增大延迟阈值,使得用户在网络良好时,可以及时跟进直播情况,而在发生卡顿时,及时调整缓存,减小卡顿,提升观看体验,而且可以达到实时调整,保证用户的观看质量。
图3是根据一示例性实施例示出的延迟控制装置的示意图。该延迟控制装置包括视初始化模块301、数据获取模块302、和调整模块303。
初始化模块301用于初始化缓存数据量,设定初始延迟阈值;数据获取模块302用于获得客户端的实时缓存数据并据此判断客户端的网络状态;以及调整模块303用于根据网络状态对当前延迟阈值进行调整。
本实施例的延迟控制装置的整个系统能实时监测客户端的网络状况,并根据网络状况对应调整当前的延迟阈值和缓存数据量,使直播时可以动态控制客户端的延迟,提升客户观看体验。
图4是是根据一示例性实施例示出的延迟控制装置中的调整模块的示意图。
调整模块303包括:延迟降低模块3031、延迟增大模块3032、延迟维持模块3033和追帧模块3034。
延迟降低模块3031用于当网络状态良好时,降低当前延迟阈值;延迟增大模块3032用于当发生卡顿时,增大当前延迟阈值;延迟维持模块3033用于当网络状态一般且没发生卡顿时,保持当前延迟阈值不变。
可选地,追帧模块3034用于当缓存数据量大于当前延迟阈值时,启动追帧逻辑,直到缓存数据量不大于当前延迟阈值。例如,在延迟降低模块3031将当前延迟阈值降低时,缓存数据量会大于当前延迟阈值,系统启动追帧逻辑,迅速调整延迟。
在一个可选的实施例中,调整模块303还包括卡顿判断模块(图中未示出),用于在每次启动追帧逻辑后,判断是否发生卡顿,若发生卡顿,则利用延迟增大模块3032进行延迟阈值的调整。
关于上述实施例中的延迟控制装置,由于其中各个模块的功能已经在上述延迟控制方法的实施例中进行了详细描述,由此进行了相对简略的描述。
图5是根据一示例性实施例示出的一种用于上述延迟控制方法的电子设备1200的框图。例如,电子设备1200可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,电子设备1200可以包括以下一个或多个组件:处理组件1202,存储器1204,电力组件1206,多媒体组件1208,音频组件1210,输入/输出(I/O)的接口1212,传感器组件1214,以及通信组件1216。
处理组件1202通常控制电子设备1200的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1202可以包括一个或多个处理器1220来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1202可以包括一个或多个模块,便于处理组件1202和其他组件之间的交互。例如,处理组件1202可以包括多媒体模块,以方便多媒体组件1208和处理组件1202之间的交互。
存储器1204被配置为存储各种类型的数据以支持在电子设备1200的操作。这些数据的示例包括用于在电子设备1200上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1204可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1206为电子设备1200的各种组件提供电力。电源组件1206可以包括电源管理系统,一个或多个电源,及其他与为电子设备1200生成、管理和分配电力相关联的组件。
多媒体组件1208包括在所述电子设备1200和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1208包括一个前置摄像头和/或后置摄像头。当电子设备1200处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1210被配置为输出和/或输入音频信号。例如,音频组件1210包括一个麦克风(MIC),当电子设备1200处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1204或经由通信组件1216发送。在一些实施例中,音频组件1210还包括一个扬声器,用于输出音频信号。
I/O接口1212为处理组件1202和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1214包括一个或多个传感器,用于为电子设备1200提供各个方面的状态评估。例如,传感器组件1214可以检测到电子设备1200的打开/关闭状态,组件的相对定位,例如所述组件为装置1200的显示器和小键盘,传感器组件1214还可以检测电子设备1200,或电子设备1200一个组件的位置改变,用户与电子设备1200接触的存在或不存在,电子设备1200方位或加速/减速和电子设备1200的温度变化。传感器组件1214可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1214还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1214还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1216被配置为便于电子设备1200和其他设备之间有线或无线方式的通信。电子设备1200可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件1216经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1216还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备1200可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1204,上述指令可由电子设备1200的处理器1220执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图6是根据一示例性实施例示出的一种用于上述延迟控制方法的延迟控制装置1300的框图。例如,装置1300可以被提供为一服务器。参照图7,装置1300包括处理组件1322,其进一步包括一个或多个处理器,以及由存储器1332所代表的存储器资源,用于存储可由处理组件1322的执行的指令,例如应用程序。存储器1332中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1322被配置为执行指令,以执行上述延迟控制方法。
装置1300还可以包括一个电源组件1326被配置为执行装置1300的电源管理,一个有线或无线网络接口1350被配置为将装置1300连接到网络,和一个输入输出(I/O)接口1358。装置1300可以操作基于存储在存储器1332的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种延迟控制方法,其特征在于,包括:
初始化缓存数据量,设定初始延迟阈值;
获得客户端的实时缓存数据并据此判断所述客户端的网络状态;以及
根据所述网络状态对当前延迟阈值进行调整。
2.根据权利要求1所述的延迟控制方法,其特征在于,所述根据所述网络状态对当前延迟阈值进行调整包括:
当所述网络状态良好时,降低所述当前延迟阈值;
当发生卡顿时,增大所述当前延迟阈值;以及
当所述网络状态一般且没发生卡顿时,保持所述当前延迟阈值不变。
3.根据权利要求2所述的延迟控制方法,其特征在于,还包括:当缓存数据量大于所述当前延迟阈值时,启动追帧逻辑,直到缓存数据量不大于所述当前延迟阈值。
4.根据权利要求3所述的延迟控制方法,其特征在于,还包括:每次启动所述追帧逻辑后,判断是否发生卡顿。
5.根据权利要求2所述的延迟控制方法,其特征在于,所述缓存数据包括:视频码率、平均下载带宽和在每个滑动窗口中的缓存数据量。
6.根据权利要求2所述的延迟控制方法,其特征在于,还包括:预设延迟调整时间,根据所述延迟调整时间调整所述当前延迟阈值。
7.根据权利要求6所述的延迟控制方法,其特征在于,
降低所述当前延迟阈值时,选择每个所述滑动窗口中的最小缓存数据量和所述当前延迟阈值与所述延迟调整时间的倍数差之间的较大值作为调整后的延迟阈值;
增大所述当前延迟阈值时,选择每个所述滑动窗口中的最大缓存数据量和所述当前延迟阈值与所述延迟调整时间的倍数和之间的较小值作为调整后的延迟阈值。
8.一种延迟控制装置,其特征在于,包括:
初始化模块,用于初始化缓存数据量,设定初始延迟阈值;
数据获取模块,用于获得客户端的实时缓存数据并据此判断所述客户端的网络状态;以及
调整模块,用于根据所述网络状态对当前延迟阈值进行调整。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述权利要求1-7任意一项所述的延迟控制方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令被执行时实现如权利要求1至7任一项所述的延迟控制方法。
CN201811283473.1A 2018-10-31 2018-10-31 延迟控制方法、延迟控制装置和计算机可读存储介质 Active CN109327716B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201811283473.1A CN109327716B (zh) 2018-10-31 2018-10-31 延迟控制方法、延迟控制装置和计算机可读存储介质
PCT/CN2019/104200 WO2020088090A1 (zh) 2018-10-31 2019-09-03 延迟控制方法、延迟控制装置、终端设备以及存储介质
US17/057,048 US11490156B2 (en) 2018-10-31 2019-09-03 Delay control method, delay control apparatus, terminal device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811283473.1A CN109327716B (zh) 2018-10-31 2018-10-31 延迟控制方法、延迟控制装置和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109327716A true CN109327716A (zh) 2019-02-12
CN109327716B CN109327716B (zh) 2020-09-11

Family

ID=65259358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811283473.1A Active CN109327716B (zh) 2018-10-31 2018-10-31 延迟控制方法、延迟控制装置和计算机可读存储介质

Country Status (3)

Country Link
US (1) US11490156B2 (zh)
CN (1) CN109327716B (zh)
WO (1) WO2020088090A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109819312A (zh) * 2019-03-19 2019-05-28 四川长虹电器股份有限公司 基于动态缓冲区的播放器系统及其控制方法
CN111107104A (zh) * 2019-12-31 2020-05-05 广州酷狗计算机科技有限公司 视频发送方法、视频接收方法、装置、设备及存储介质
WO2020088090A1 (zh) * 2018-10-31 2020-05-07 北京达佳互联信息技术有限公司 延迟控制方法、延迟控制装置、终端设备以及存储介质
CN111405298A (zh) * 2020-02-17 2020-07-10 重庆邮电大学 一种基于KCP协议的Android端到端直播方法
CN111865727A (zh) * 2020-08-05 2020-10-30 江苏电子信息职业学院 一种基于物联网的通信延迟降低方法及系统
EP3767915A1 (en) * 2019-07-17 2021-01-20 Beijing Baidu Netcom Science And Technology Co., Ltd. Buffer processing method, apparatus, device and computer storage medium
CN114071068A (zh) * 2020-08-04 2022-02-18 重庆艾艺荷马教育科技股份有限公司 一种基于5g的无压缩的高清网络实时音视频传输设备
CN115002007A (zh) * 2022-05-18 2022-09-02 北京达佳互联信息技术有限公司 网络延迟判别方法、装置、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110113270B (zh) * 2019-04-11 2021-04-23 北京达佳互联信息技术有限公司 网络通信的抖动控制方法、装置、终端及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1627755A (zh) * 2003-12-10 2005-06-15 华为技术有限公司 异步传输模式反向复用协议中延时调整方法
CN101094047A (zh) * 2007-07-06 2007-12-26 中国人民解放军国防科学技术大学 基于网络状态测量的分阶段慢启动传输控制方法
CN101917342A (zh) * 2010-08-25 2010-12-15 天津理工大学 一种面向普适服务的自适应网络拥塞控制方法
CN102355462A (zh) * 2011-10-09 2012-02-15 大唐移动通信设备有限公司 一种实现tcp传输的方法及装置
CN103929370A (zh) * 2013-01-11 2014-07-16 中国科学院声学研究所 一种用于带宽预留网络的tcp拥塞控制方法
CN104133880A (zh) * 2014-07-25 2014-11-05 广东睿江科技有限公司 一种设置文件缓存时间的方法与装置
CN104333778A (zh) * 2013-12-26 2015-02-04 乐视网信息技术(北京)股份有限公司 一种动态播放缓冲处理方法及电子设备
CN102118244B (zh) * 2010-01-06 2015-04-22 Lsi公司 具有步进延迟预补偿的自适应时钟恢复
WO2016122225A1 (ko) * 2015-01-28 2016-08-04 삼성전자 주식회사 통신 시스템에서 혼잡 제어 방법 및 장치
CN105847381A (zh) * 2016-04-18 2016-08-10 乐视控股(北京)有限公司 内容服务器的调度方法及装置
WO2016207688A1 (en) * 2015-06-26 2016-12-29 Intel Corporation Method and system for improving video quality during call handover
CN108092787A (zh) * 2016-11-21 2018-05-29 中国移动通信有限公司研究院 一种缓存调整方法、网络控制器及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100787314B1 (ko) * 2007-02-22 2007-12-21 광주과학기술원 미디어내 동기화를 위한 적응형 미디어 재생 방법 및 장치
JP5544806B2 (ja) * 2009-09-29 2014-07-09 ソニー株式会社 情報処理装置、及び情報処理方法
US8301794B2 (en) * 2010-04-16 2012-10-30 Microsoft Corporation Media content improved playback quality
KR101737325B1 (ko) * 2010-08-19 2017-05-22 삼성전자주식회사 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
WO2011150657A1 (zh) * 2010-12-31 2011-12-08 华为技术有限公司 流媒体中播放时间点跳转后的处理方法及装置
US8769144B2 (en) * 2011-05-19 2014-07-01 Mobitv, Inc. Contextually aware client buffer thresholds
CN103051955B (zh) 2012-12-21 2016-08-03 华为技术有限公司 流媒体播放方法及装置
CN103259803B (zh) * 2013-06-04 2016-01-27 腾讯科技(深圳)有限公司 一种音频回放方法、装置和系统
CN103533451B (zh) 2013-09-30 2017-01-11 广州华多网络科技有限公司 抖动缓存调节方法及其系统
US20150254340A1 (en) 2014-03-10 2015-09-10 JamKazam, Inc. Capability Scoring Server And Related Methods For Interactive Music Systems
CN104202675A (zh) * 2014-09-03 2014-12-10 乐视致新电子科技(天津)有限公司 智能终端及其快速频道切换方法和装置
CN107205160A (zh) * 2017-06-27 2017-09-26 青岛海信电器股份有限公司 一种针对服务器下发的视频的播放方法及装置
CN108123947A (zh) * 2017-12-21 2018-06-05 重庆脉实智能制造有限公司 一对多音视频直播实现方法
CN109327716B (zh) * 2018-10-31 2020-09-11 北京达佳互联信息技术有限公司 延迟控制方法、延迟控制装置和计算机可读存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1627755A (zh) * 2003-12-10 2005-06-15 华为技术有限公司 异步传输模式反向复用协议中延时调整方法
CN101094047A (zh) * 2007-07-06 2007-12-26 中国人民解放军国防科学技术大学 基于网络状态测量的分阶段慢启动传输控制方法
CN102118244B (zh) * 2010-01-06 2015-04-22 Lsi公司 具有步进延迟预补偿的自适应时钟恢复
CN101917342A (zh) * 2010-08-25 2010-12-15 天津理工大学 一种面向普适服务的自适应网络拥塞控制方法
CN102355462A (zh) * 2011-10-09 2012-02-15 大唐移动通信设备有限公司 一种实现tcp传输的方法及装置
CN103929370A (zh) * 2013-01-11 2014-07-16 中国科学院声学研究所 一种用于带宽预留网络的tcp拥塞控制方法
CN104333778A (zh) * 2013-12-26 2015-02-04 乐视网信息技术(北京)股份有限公司 一种动态播放缓冲处理方法及电子设备
CN104133880A (zh) * 2014-07-25 2014-11-05 广东睿江科技有限公司 一种设置文件缓存时间的方法与装置
WO2016122225A1 (ko) * 2015-01-28 2016-08-04 삼성전자 주식회사 통신 시스템에서 혼잡 제어 방법 및 장치
WO2016207688A1 (en) * 2015-06-26 2016-12-29 Intel Corporation Method and system for improving video quality during call handover
CN105847381A (zh) * 2016-04-18 2016-08-10 乐视控股(北京)有限公司 内容服务器的调度方法及装置
CN108092787A (zh) * 2016-11-21 2018-05-29 中国移动通信有限公司研究院 一种缓存调整方法、网络控制器及系统

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11490156B2 (en) 2018-10-31 2022-11-01 Beijing Dajia Internet Information Technology Co., Ltd. Delay control method, delay control apparatus, terminal device and storage medium
WO2020088090A1 (zh) * 2018-10-31 2020-05-07 北京达佳互联信息技术有限公司 延迟控制方法、延迟控制装置、终端设备以及存储介质
CN109819312A (zh) * 2019-03-19 2019-05-28 四川长虹电器股份有限公司 基于动态缓冲区的播放器系统及其控制方法
CN109819312B (zh) * 2019-03-19 2020-06-30 四川长虹电器股份有限公司 基于动态缓冲区的播放器系统及其控制方法
EP3767915A1 (en) * 2019-07-17 2021-01-20 Beijing Baidu Netcom Science And Technology Co., Ltd. Buffer processing method, apparatus, device and computer storage medium
KR102607561B1 (ko) * 2019-07-17 2023-11-29 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 버퍼 처리 방법, 장치, 기기 및 컴퓨터 저장 매체
JP2021019351A (ja) * 2019-07-17 2021-02-15 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド バッファ処理方法、装置、デバイス及びコンピュータ記憶媒体
US11310558B2 (en) * 2019-07-17 2022-04-19 Beijing Baidu Netcom Science And Technology Co., Ltd. Buffer processing method, apparatus, device and computer storage medium
JP7066940B2 (ja) 2019-07-17 2022-05-16 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド バッファ処理方法、装置、デバイス及びコンピュータ記憶媒体
KR20230017335A (ko) * 2019-07-17 2023-02-03 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 버퍼 처리 방법, 장치, 기기 및 컴퓨터 저장 매체
CN111107104A (zh) * 2019-12-31 2020-05-05 广州酷狗计算机科技有限公司 视频发送方法、视频接收方法、装置、设备及存储介质
CN111107104B (zh) * 2019-12-31 2022-02-18 广州酷狗计算机科技有限公司 视频发送方法、视频接收方法、装置、设备及存储介质
CN111405298A (zh) * 2020-02-17 2020-07-10 重庆邮电大学 一种基于KCP协议的Android端到端直播方法
CN114071068A (zh) * 2020-08-04 2022-02-18 重庆艾艺荷马教育科技股份有限公司 一种基于5g的无压缩的高清网络实时音视频传输设备
CN111865727A (zh) * 2020-08-05 2020-10-30 江苏电子信息职业学院 一种基于物联网的通信延迟降低方法及系统
CN115002007A (zh) * 2022-05-18 2022-09-02 北京达佳互联信息技术有限公司 网络延迟判别方法、装置、电子设备及存储介质
CN115002007B (zh) * 2022-05-18 2023-12-19 北京达佳互联信息技术有限公司 网络延迟判别方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2020088090A1 (zh) 2020-05-07
US20210250644A1 (en) 2021-08-12
US11490156B2 (en) 2022-11-01
CN109327716B (zh) 2020-09-11

Similar Documents

Publication Publication Date Title
CN109327716A (zh) 延迟控制方法、延迟控制装置和计算机可读存储介质
CN110611829B (zh) 视频预加载的方法、装置、电子设备及存储介质
CN107943409B (zh) 触摸屏控制方法及装置
CN108495142B (zh) 视频编码方法及装置
CN106791893B (zh) 视频直播方法及装置
CN107608561B (zh) 触摸屏控制方法及装置
CN109474538B (zh) 一种数据传输方法、装置、终端设备及存储介质
CN106357985B (zh) 一种屏幕补光拍照方法、装置及移动终端
US11317350B2 (en) Method and device for adjusting DRX-related parameter
CN111182318B (zh) 直播中贡献分生成方法、装置、电子设备及存储介质
CN110120896B (zh) 网络延迟控制方法、装置、电子设备及存储介质
JP6195674B2 (ja) ネットワーク環境に基づく映像画質の調整方法、装置、プログラム、及び記録媒体
CN107040591B (zh) 一种对客户端进行控制的方法及装置
EP4007289A1 (en) Video uploading method and apparatus, electronic device, and storage medium
JP2017535085A (ja) 省エネルギーモードを開始するための方法及び装置
CN109451341A (zh) 视频播放方法、视频播放装置、电子设备及存储介质
CN111385349B (zh) 通信处理方法、装置、终端、服务器及存储介质
CN111240835A (zh) Cpu工作频率调整方法、cpu工作频率调整装置及存储介质
CN108600503B (zh) 语音通话的控制方法及装置
CN111699724A (zh) 控制终端的方法及装置、存储介质
EP3972259A1 (en) Video transcoding method and apparatus, and electronic device and storage medium
CN112019680A (zh) 屏幕亮度调整方法及装置
US11910260B2 (en) Cell selection method and device, user equipment, and storage medium
WO2023245512A1 (zh) 空口处理方法及装置、存储介质
CN116257195A (zh) 投屏方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant