CN104038846B - 缓存状态估计方法及设备 - Google Patents
缓存状态估计方法及设备 Download PDFInfo
- Publication number
- CN104038846B CN104038846B CN201310069638.6A CN201310069638A CN104038846B CN 104038846 B CN104038846 B CN 104038846B CN 201310069638 A CN201310069638 A CN 201310069638A CN 104038846 B CN104038846 B CN 104038846B
- Authority
- CN
- China
- Prior art keywords
- buffer status
- state
- duration
- state estimation
- media data
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/87—Regeneration of colour television signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2401—Monitoring of the client buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
Abstract
本发明实施例提供一种缓存状态估计方法及设备。方法包括:获取终端在本次状态估计周期内接收的媒体数据对应的第一持续播放时长;根据本次状态估计前的缓存状态以及第一持续播放时长,计算当前缓存中的媒体数据对应的第二持续播放时长;根据本次状态估计前的缓存状态、预设的缓存配置参数和第二持续播放时长,对所述缓存进行状态估计,获取本次缓存状态以及本次缓存状态的开始时间和持续时间,所述缓存状态包括初始缓冲状态、正常播放状态、再缓冲状态、结束播放状态和停止播放状态中的至少一个。本发明技术方案解决了基于TCP实现的音视频应用中缓存状态的估计问题。
Description
技术领域
本发明涉及通信技术,尤其涉及一种缓存状态估计方法及设备。
背景技术
在互联网协议(Internet Protocol,简称为IP)网络的音视频应用中,为了平滑网络传输带来的影响及实现收发端的同步播放,收端需要把接收到的音视频数据暂存于缓存中,以保证音视频数据在通过IP网络传输后仍能连续播放。缓存的设计需要综合考虑缓存带来的延迟和丢包,缓存过小可能引起过多的丢包,缓存过大可能造成播放的延迟过大,由此可见,收端的缓存状态会直接影响音视频的播放质量,因此,通过估计缓存的状态对音视频的播放质量进行评估等变得尤为重要。
现有技术主要是针对实时传输协议(Real-time Transport Protocol,简称为RTP)/用户数据包协议(User Datagram Protocol,简称为UDP)场景下的缓存进行建模,以便于通过估计缓存的状态对音视频的播放质量进行评估等操作。目前,基于传输控制协议(Transmission Control Protocol,简称为TCP)的音视频应用越来越多,因此,需要一种针对TCP应用场景的缓存状态估计方案,为在TCP应用场景下对音视频的播放质量进行评估提供条件。
发明内容
本发明实施例提供一种缓存状态估计方法及设备,用以解决基于TCP实现的音视频应用中缓存状态的估计问题。
第一方面提供一种缓存状态估计方法,包括:
获取终端在本次状态估计周期内接收的媒体数据对应的第一持续播放时长;
根据本次状态估计前的缓存状态以及所述第一持续播放时长,计算当前缓存中的媒体数据对应的第二持续播放时长;
根据所述本次状态估计前的缓存状态、预设的缓存配置参数和所述第二持续播放时长,对所述缓存进行状态估计,获取本次缓存状态以及本次缓存状态的开始时间和持续时间,其中所述缓存的状态包括初始缓冲状态、正常播放状态、再缓冲状态、结束播放状态和停止播放状态中的至少一个。
结合第一方面,在第一方面的第一种可能的实现方式中,所述获取终端在本次状态估计周期内接收的媒体数据对应的第一持续播放时长,包括:
根据所述终端在本次状态估计周期内接收的媒体数据的字节数和当前媒体码率,计算所述第一持续播放时长;或者
解析所述终端在本次状态估计周期内接收的媒体数据,获得所述终端在本次状态估计周期内接收的媒体数据的帧数;
根据所述终端在本次状态估计周期内接收的媒体数据的帧数和当前媒体帧率,计算所述第一持续播放时长。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据所述终端在本次状态估计周期内接收的媒体数据的字节数和当前媒体码率,计算所述第一持续播放时长之前,包括:
接收所述终端发送的反馈报文,所述反馈报文是所述终端针对在本次状态估计周期内接收的媒体数据所发送的,根据所述反馈报文,获取所述终端在本次状态估计周期内接收的媒体数据的字节数;或者,
解析所述终端在本次状态估计周期内接收的媒体数据,获取所述终端在本次状态估计周期内接收的媒体数据的字节数。
结合第一方面,在第一方面的第三种可能的实现方式中,所述获取终端在本次状态估计周期内接收的媒体数据对应的第一持续播放时长,包括:
解析所述终端在本次状态估计周期内接收的媒体数据,获取所述媒体数据包括的完整帧的最大解码时间戳DTS和最小解码时间戳DTS,或获取所述媒体数据包括的完整帧的最大显示时间戳PTS和最小显示时间戳PTS;
以所述最大DTS与所述最小DTS之差作为所述第一持续播放时长,或者以所述最大PTS与所述最小PTS之差作为所述第一持续播放时长。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据本次状态估计前的缓存状态以及所述第一持续播放时长,计算当前缓存中的媒体数据对应的第二持续播放时长,包括:
如果所述本次状态估计前的缓存状态是除所述正常播放状态之外的其他的缓存状态,则将到上一次状态估计结束时所述缓存中媒体数据对应的持续播放时长与所述第一持续播放时长之和作为所述第二持续播放时长;
如果所述本次状态估计前的缓存状态是所述正常播放状态,则以到上一次状态估计结束时所述缓存中媒体数据对应的持续播放时长与所述第一持续播放时长之和,减去所述本次状态估计周期内正常播放所需的媒体数据对应的持续播放时长,得到所述第二持续播放时长。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述缓存配置参数包括:初始缓冲时间和再缓冲时间;
所述初始缓冲时间是指在所述终端第一次播放媒体数据前,为实现正常播放所述缓存中最少应该存储的媒体数据对应的持续播放时长;
所述再缓冲时间是指从所述终端在播放媒体数据过程中再缓冲开始,到所述终端重新播放媒体数据前,所述缓存中最少应该存储的媒体数据对应的持续播放时长;
所述根据所述本次状态估计前的缓存状态、预设的缓存配置参数和所述第二持续播放时长,对所述缓存进行状态估计,获取本次缓存状态以及本次缓存状态的开始时间和持续时间,包括:
如果所述本次状态估计前的缓存状态为所述初始缓冲状态,在所述第二持续播放时长大于或等于所述初始缓冲时间时,确定本次缓存状态为正常播放状态并记录本次缓存状态的开始时间和持续时间,或者,在所述第二持续播放时长小于所述初始缓冲时间时,确定本次缓存状态为所述初始缓冲状态并更新本次缓存状态的持续时间;
如果所述本次状态估计前的缓存状态为所述再缓冲状态,在所述第二持续播放时长大于或等于所述再缓冲时间时,确定本次缓存状态为正常播放状态并记录本次缓存状态的开始时间和持续时间,或者,在所述第二持续播放时长小于所述再缓冲时间时,确定本次缓存状态为再缓冲状态并更新本次缓存状态的持续时间。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式,在第一方面的第六种可能的实现方式中,所述方法还包括:
如果所述本次状态估计前的缓存状态为所述正常播放状态,在所述第二持续播放时长小于或等于预设门限,确定本次缓冲状态为再缓冲状态并记录本次缓冲状态的开始时间和持续时间,在所述第二持续播放时长大于所述预设门限时,确定本次缓存状态为正常播放状态并更新本次缓存状态的持续时间。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式,在第一方面的第七种可能的实现方式中,所述方法还包括:
如果所述本次状态估计前的缓存状态为所述正常播放状态,在所述最大DTS或最大PTS小于本次状态估计周期内正常播放所需的DTS或PTS时,确定本次缓冲状态为再缓冲状态并记录本次缓冲状态的开始时间和持续时间,在所述最大DTS或最大PTS大于或等于本次状态估计周期内正常播放所需的DTS或PTS时,确定本次缓存状态为正常播放状态并更新本次缓存状态的持续时间。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式,在第一方面的第八种可能的实现方式中,所述方法还包括:
如果所述本次状态估计前的缓存状态为所述结束播放状态,确定本次缓存状态为结束播放状态。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式,在第一方面的第九种可能的实现方式中,所述方法还包括:
如果所述本次状态估计前的缓存状态为所述停止播放状态,确定本次缓存状态为停止播放状态。
结合第一方面的第五种可能的实现方式或第一方面的第六种可能的实现方式或第一方面的第七种可能的实现方式或第一方面的第八种可能的实现方式或第一方面的第九种可能的实现方式,在第一方面的第十种可能的实现方式中,在本次缓存状态与所述本次状态估计前的缓存状态不一致时,所述记录本次缓存状态的开始时间和持续时间,包括:
根据所述第一持续播放时长和所述本次状态估计前的缓存状态,更新当前媒体数据自身播放进度对应的时间点,根据更新后的媒体数据自身播放进度对应的时间点获取本次缓存状态的开始时间和持续时间。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式或第一方面的第五种可能的实现方式或第一方面的第六种可能的实现方式或第一方面的第七种可能的实现方式或第一方面的第八种可能的实现方式或第一方面的第九种可能的实现方式或第一方面的第十种可能的实现方式,在第一方面的第十一种可能的实现方式中,所述获取本次缓存状态以及本次缓存状态的开始时间和持续时间之后,还包括:
根据用户请求,对本次缓存状态以及本次缓存状态的开始时间和持续时间进行修正。
结合第一方面的第十一种可能的实现方式,在第一方面的第十二种可能的实现方式中,所述用户请求包括:播放请求、重新播放请求、搜索请求、停止播放请求或结束播放请求;
所述根据用户请求,对本次缓存状态以及本次缓存状态的开始时间和持续时间进行修正,包括:
如果所述用户请求为所述播放请求或所述搜索请求,则将本次缓存状态修正为初始缓冲状态并记录修正后本次缓存状态的开始时间和持续时间;
如果所述用户请求为所述重新播放请求,则将本次缓存状态修正为正常播放状态并记录修正后本次缓存状态的开始时间和持续时间;
如果所述用户请求为所述结束播放请求,则将本次缓存状态修正为结束播放状态并记录修正后本次缓存状态的开始时间和持续时间;
如果所述用户请求为所述停止播放请求,则将本次缓存状态修正为停止播放状态并记录修正后本次缓存状态的开始时间和持续时间。
第二方面提供一种缓存状态估计设备,包括:
第一获取模块,用于获取终端在本次状态估计周期内接收的媒体数据对应的第一持续播放时长;
计算模块,用于根据本次状态估计前的缓存状态以及所述第一持续播放时长,计算当前缓存中的媒体数据对应的第二持续播放时长;
状态估计模块,用于根据所述本地状态估计前的缓存状态、预设的缓存配置参数和所述第二持续播放时长,对所述缓存进行状态估计,获取本次缓存状态以及本次缓存状态的开始时间和持续时间,其中所述缓存的状态包括初始缓冲状态、正常播放状态、再缓冲状态、结束播放状态和停止播放状态中的至少一个。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第一获取模块具体用于根据所述终端在本次状态估计周期内接收的媒体数据的字节数和当前媒体码率,计算所述第一持续播放时长;或者
所述第一获取模块具体用于解析所述终端在本次状态估计周期内接收的媒体数据,获得所述终端在本次状态估计周期内接收的媒体数据的帧数,根据所述终端在本次状态估计周期内接收的媒体数据的帧数和当前媒体帧率,计算所述第一持续播放时长。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述缓存状态估计设备还包括:第二获取模块,用于在所述第一获取模块计算所述第一持续播放时长之前,接收所述终端发送的反馈报文,所述反馈报文是所述终端针对在本次状态估计周期内接收的媒体数据所发送的,根据所述反馈报文,获取所述终端在本次状态估计周期内接收的媒体数据的字节数;或者,
第三获取模块,用于在所述第一获取模块计算所述第一持续播放时长之前,解析所述终端在本次状态估计周期内接收的媒体数据,获取所述终端在本次状态估计周期内接收的媒体数据的字节数。
结合第二方面,在第二方面的第三种可能的实现方式中,所述第一获取模块具体用于解析所述终端在本次状态估计周期内接收的媒体数据,获取所述媒体数据包括的完整帧的最大解码时间戳DTS和最小解码时间戳DTS,或者获取所述媒体数据包括的完整帧的最大显示时间戳PTS和最小显示时间戳PTS,以所述最大DTS与所述最小DTS之差作为所述第一持续播放时长,或者以所述最大PTS与所述最小PTS之差作为所述第一持续播放时长。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述计算模块具体用于在所述本次状态估计前的缓存状态是除所述正常播放状态之外的其他缓存状态时,将到上一次状态估计结束时所述缓存中媒体数据对应的持续播放时长与所述第一持续播放时长之和作为所述第二持续播放时长,或者在所述本次状态估计前的缓存状态是所述正常播放状态时,以到上一次状态估计结束时所述缓存中媒体数据对应的持续播放时长与所述第一持续播放时长之和,减去所述本次状态估计周期内正常播放所需的媒体数据对应的持续播放时长,得到所述第二持续播放时长。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述缓存配置参数包括:初始缓冲时间和再缓冲时间;
所述初始缓冲时间是指在所述终端第一次播放媒体数据前,为实现正常播放所述缓存中最少应该存储的媒体数据对应的持续播放时长;
所述再缓冲时间是指从所述终端播放媒体数据过程中再缓冲开始,到所述终端重新播放媒体数据前,所述缓存中最少应该存储的媒体数据对应的持续播放时长;
所述状态估计模块具体用于如果所述本次状态估计前的缓存状态为所述初始缓冲状态,在所述第二持续播放时长大于或等于所述初始缓冲时间时,确定本次缓存状态为正常播放状态并记录本次缓存状态的开始时间和持续时间,在所述第二持续播放时长小于所述初始缓冲时间时,确定本次缓存状态为所述初始缓冲状态并更新本次缓存状态的持续时间,以及如果所述本次状态估计前的缓存状态为所述再缓冲状态,在所述第二持续播放时长大于或等于所述再缓冲时间时,确定本次缓存状态为正常播放状态并记录本次缓存状态的开始时间和持续时间,在所述第二持续播放时长小于所述再缓冲时间时,确定本次缓存状态为再缓冲状态并更新本次缓存状态的持续时间。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式,在第二方面的第六种可能的实现方式中,所述状态估计模块还用于如果所述本次状态估计前的缓存状态为所述正常播放状态,在所述第二持续播放时长小于或等于预设门限,确定本次缓冲状态为再缓冲状态并记录本次缓冲状态的开始时间和持续时间,在所述第二持续播放时长大于所述预设门限时,确定本次缓存状态为正常播放状态并更新本次缓存状态的持续时间。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式,在第二方面的第七种可能的实现方式中,所述状态估计模块还用于如果所述本次状态估计前的缓存状态为所述正常播放状态,在所述最大DTS或最大PTS小于本次状态估计周期内正常播放所需的DTS或PTS时,确定本次缓冲状态为再缓冲状态并记录本次缓冲状态的开始时间和持续时间,在所述最大DTS或最大PTS大于或等于本次状态估计周期内正常播放所需的DTS或PTS时,确定本次缓存状态为正常播放状态并更新本次缓存状态的持续时间。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式,在第二方面的第八种可能的实现方式中,所述状态估计模块还用于如果所述本次状态估计前的缓存状态为所述结束播放状态,确定本次缓存状态为结束播放状态。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式,在第二方面的第九种可能的实现方式中,所述状态估计模块还用于如果所述本次状态估计前的缓存状态为所述停止播放状态,确定本次缓存状态为停止播放状态。
结合第二方面的第五种可能的实现方式或第二方面的第六种可能的实现方式或第二方面的第七种可能的实现方式或第二方面的第八种可能的实现方式或第二方面的第九种可能的实现方式,在第二方面的第十种可能的实现方式中,所述状态估计模块用于记录本次缓存状态的开始时间和持续时间,包括:
所述状态估计模块具体用于在本次缓存状态与所述本次状态估计前的缓存状态不一致时,根据所述第一持续播放时长和所述本次状态估计前的缓存状态,更新当前媒体数据自身播放进度对应的时间点,根据更新后的媒体数据自身播放进度对应的时间点获取本次缓存状态的开始时间和持续时间。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式或结合第二方面的第五种可能的实现方式或第二方面的第六种可能的实现方式或第二方面的第七种可能的实现方式或第二方面的第八种可能的实现方式或第二方面的第九种可能的实现方式或第二方面的第十种可能的实现方式,在第二方面的第十一种可能的实现方式中,所述缓存状态估计设备还包括:状态修正模块,用于根据用户请求,对本次缓存状态以及本次缓存状态的开始时间和持续时间进行修正。
结合第二方面的第十一种可能的实现方式,在第二方面的第十二种可能的实现方式中,所述用户请求包括:播放请求、重新播放请求、搜索请求、停止播放请求或结束播放请求;
所述状态修正模块具体用于如果所述用户请求为所述播放请求或所述搜索请求,则将本次缓存状态修正为初始缓冲状态并记录修正后本次缓存状态的开始时间和持续时间;如果所述用户请求为所述重新播放请求,则将本次缓存状态修正为正常播放状态并记录修正后本次缓存状态的开始时间和持续时间;如果所述用户请求为所述结束播放请求,则将本次缓存状态修正为结束播放状态并记录修正后本次缓存状态的开始时间和持续时间;如果所述用户请求为所述停止播放请求,则将本次缓存状态修正为停止播放状态并记录修正后本次缓存状态的开始时间和持续时间。
本发明实施例提供的缓存状态估计方法及设备,根据终端在两次状态估计之间接收的媒体数据对应的持续播放时长以及本次状态估计前的缓存状态,获得当前缓存中媒体数据对应的持续播放时长,然后根据本次状态估计前的缓存状态、预设的缓存配置参数与当前缓存中媒体数据对应的持续播放时长,对缓存进行状态估计获取本次缓存状态以及本次缓存状态的开始时间和持续时间,该缓存状态估计过程不受传输协议的限制,可以用于对TCP应用场景下的缓存状态进行估计,为在TCP应用场景下对音视频的播放质量进行评估提供条件。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种缓存状态估计方法的流程图;
图2为本发明实施例提供的一种缓存状态估计模型的示意图;
图3为本发明实施例提供的各缓存状态之间的跳转关系示意图;
图4为本发明实施例提供的一种缓存状态估计设备的结构示意图;
图5为本发明实施例提供的另一种缓存状态估计设备的结构示意图;
图6为本发明实施例提供的又一种缓存状态估计设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种缓存状态估计方法的流程图。如图1所示,本实施例的方法包括:
步骤101、获取终端在本次状态估计周期内接收的媒体数据对应的第一持续播放时长。
在一可选实施方式中,获取第一持续播放时长包括:根据所述终端在本次状态估计周期内接收的媒体数据的大小和当前媒体信息,计算所述第一持续播放时长。所述状态估计周期是指自上一次状态估计的结束时刻到本次状态估计的结束时刻之间的时间间隔,或者是指子上一状态估计的开始时刻到本次状态估计的开始时刻之间的时间间隔。
一种情况,上述终端在本次状态估计周期内接收的媒体数据的大小可以用终端在本次状态估计周期内接收的媒体数据的字节数表示,相应的,当前媒体信息为当前媒体码率。基于此,步骤101的一种可选实施方式包括:根据终端在本次状态估计周期内接收的媒体数据的字节数和当前媒体码率,计算所述第一持续播放时长。例如,可以根据公式RT(i)=S(i)/MRi,获得第一持续播放时长,公式中的S(i)表示终端在本次状态估计周期内接收的媒体数据的字节数,公式中的MR(i)表示当前媒体码率,公式中的RT(i)表示第一持续播放时长。其中,当前媒体码率可以是媒体平均码率或者是媒体实时码率。
可选的,本发明实施例提供的缓存状态估计方法可由终端来完成,则所述终端在执行上述步骤101的可选实施方式之前,即在根据所述终端在本次状态估计周期内接收的媒体数据的字节数和当前媒体码率,计算所述第一持续播放时长之前,可以解析终端在本次状态估计周期内接收的媒体数据,获取终端在本次状态估计周期内接收的媒体数据的字节数。
可选的,本发明实施例提供的缓存状态估计方法可由媒体服务器或网络节点来完成,则媒体服务器或网络节点在执行上述步骤101的可选实施方式之前,即在根据所述终端在本次状态估计周期内接收的媒体数据的字节数和当前媒体码率,计算所述第一持续播放时长之前,可以接收所述终端发送的反馈报文,所述反馈报文是终端针对所述终端在本次状态估计周期内接收的媒体数据所发送的,然后根据所述反馈报文,获取所述终端在本次状态估计周期内接收的媒体数据的字节数。其中,根据应用场景的不同,上述反馈报文或者是基于TCP的确认(ACK)报文或者是RTCP报文,这些报文中携带有终端接收到媒体数据的字节数等信息。
另一种情况,上述终端在本次状态估计周期内接收的媒体数据的大小可以用所述终端在本次状态估计周期内接收的媒体数据的帧数来表示;相应的,当前媒体信息为当前媒体帧率。基于此,步骤101的另一种可选实施方式包括:解析所述终端在本次状态估计周期内接收的媒体数据,获得所述终端在本次状态估计周期内接收的媒体数据的帧数;根据所述终端在本次状态估计周期内接收的媒体数据的帧数和当前媒体帧率,计算所述第一持续播放时长。例如,可以根据公式RT(i)=N(i)/FRi,计算第一持续播放时长,公式中的N(i)表示终端在本次状态估计周期内接收的媒体数据的帧数,公式中的FR(i)表示当前媒体帧率,公式中的RT(i)表示所述第一持续播放时长。在此说明,在该情况下,本实施例的缓存状态估计方法的执行主体为终端。
在另一可选实施方式中,获取第一持续播放时长包括:解析所述终端在本次状态估计周期内接收的媒体数据,获取所述媒体数据包括的完整帧的最大解码时间戳(Decoding Time Stamp,简称为DTS)和最小DTS,或者获取所述媒体数据包括的完整帧的最大显示时间戳(Presentation Time Stamp,简称为PTS)和最小PTS;以最大DTS与最小DTS之差作为所述第一持续播放时长,或者以最大PTS与最小PTS之差作为所述第一持续播放时长。例如,可以根据公式RT(i)=max(DTSm,......,DTSn)-min(DTSm,......,DTSn)或公式RT(i)=max(PTSm,......,PTSn)-min(PTSm,......,PTSn),计算第一持续播放时长,公式中的max()是一个取最大值的函数,min()是一个取最小值的函数,公式中的DTSm表示终端接收到的第m个数据帧携带的DTS,DTSn表示终端接收到的第n个数据帧携带的DTS,公式中的PTSm表示终端接收到的第m个数据帧携带的PTS,PTSn表示终端接收到的第n个数据帧携带的PTS。在此说明,该实施方式的执行主体为终端。
步骤102、根据本次状态估计前的缓存状态以及所述第一持续播放时长,计算当前缓存中的媒体数据对应的第二持续播放时长。
基于步骤101的各种可选实施方式或情况,在获取第一持续播放时长之后,可以根据本次状态估计前的缓存状态和第一持续播放时长,计算当前缓存中的媒体数据对应的持续播放时长,即第二持续播放时长。
本实施例提供一种缓存状态估计模型,该模型以第一持续播放时长、第二持续播放时长、本次状态估计前的缓存状态以及缓存配置参数等作为其输入参数,并以估计出的缓存状态、该缓存状态的开始时间和持续时间等信息作为其输出结果,该模型的一种直观示意图如图2所示。
在本发明各实施例中,所述缓存的缓存状态可以包括:初始缓冲状态、正常播放状态、再缓冲状态、结束播放状态和停止播放状态中的至少一个。其中,缓存状态估计模型的初始状态设置为初始缓冲状态,也就是说,如果本次状态估计是第一次状态估计,则本次状态估计前的缓存状态为初始缓冲状态。对于本次状态估计为非第一次状态估计时,本次状态估计前的缓存状态即为上一次状态估计获取的缓存状态,则本次状态估计前的缓存状态可能是初始缓冲状态、正常播放状态、再缓冲状态、结束播放状态和停止播放状态中的任意一个状态。相应的,无论本次状态估计是否是第一次状态估计,则估计出的本次缓存状态也可能是初始缓冲状态、正常播放状态、再缓冲状态、结束播放状态和停止播放状态中的任意一个状态。各缓存状态之间的跳转是按照媒体播放的时间顺序发生的。各缓存状态之间的跳转关系如图3所示。
基于上述缓存状态,计算第二持续播放时长的过程可以包括:
如果本次状态估计前的缓存状态是除上述正常播放状态之外的其他缓存状态,则将到上一次状态估计结束时所述缓存中媒体数据对应的持续播放时长与所述第一持续播放时长之和作为所述第二持续播放时长,例如可以根据公式BL(i)=BL(i-1)+RTi,获得第二持续播放时长,公式中的BL(i-1)表示到上一次状态估计结束时缓存中媒体数据对应的持续播放时长,亦可以表示到上一次状态估计结束时所述缓存中媒体数据的大小,公式中的BL(i)表示第二持续播放时长;由于在两次状态估计之间的时间内终端未处于上述正常播放状态,故缓存中的媒体数据自上一次缓存状态估计结束到本次缓存状态估计开始未发生变化,故将到上一次缓存状态估计结束时缓存中的媒体数据对应的持续播放时长以及终端在两次状态估计之间接收到的媒体数据对应的持续播放时长相加,即可获得当前缓存中媒体数据对应的持续播放时长;
如果所述本次状态估计前的缓存状态是上述正常播放状态,则将到上一次状态估计结束时所述缓存中媒体数据对应的持续播放时长与第一持续播放时长之和,减去本次状态估计周期内正常播放所需的媒体数据对应的持续播放时长,得到所述第二持续播放时长,例如可以根据公式BL(i)=BL(i-1)+RTi-Ti,获得第二持续播放时长,公式中的BL(i-1)表示到上一次状态估计结束时缓存中媒体数据对应的持续播放时长,亦可以表示到上一次状态估计结束时所述缓存中媒体数据的大小,公式中的Ti表示本次状态估计周期内正常播放所需的媒体数据对应的持续播放时长,亦可以表示本次状态估计周期内正常播放所需的媒体数据的大小,公式中的BL(i)表示第二持续播放时长;由于在两次状态估计之间的时间内终端处于正常播放状态,故缓存中的媒体数据自上一次缓存状态估计结束到本次缓存状态估计开始发生了变化,故将到上一次缓存状态估计结束时缓存中的媒体数据对应的持续播放时长与终端在两次状态估计之间接收到的媒体数据对应的持续播放时长相加,并减去本次状态估计周期内正常播放所需的媒体数据对应的持续播放时长,即可获得当前缓存中媒体数据对应的持续播放时长。这里的本次状态估计前的缓存状态是指上一次状态估计获取的缓存状态。
步骤103、根据本次状态估计前的缓存状态、预设的缓存配置参数和所述第二持续播放时长,对所述缓存进行状态估计,获取本次缓存状态以及本次缓存状态的开始时间和持续时间,其中所述缓存的状态包括初始缓冲状态、正常播放状态、再缓冲状态、结束播放状态和停止播放状态中的至少一个。
基于上述,在获取第二持续播放时长之后,可以根据本次状态估计前的缓存状态、预设的缓存配置参数和第二持续播放时长,对缓存进行状态估计,获取本次缓存状态以及本次缓存状态的开始时间和持续时间。
可选的,缓存配置参数可以包括:初始缓冲时间和再缓冲时间。所述初始缓冲时间是指在终端第一次播放媒体数据前,为实现正常播放缓存中最少应该存储的媒体数据对应的持续播放时长。所述再缓冲时间是指从终端播放媒体数据过程中再缓冲开始,到所述终端重新播放媒体数据前,所述缓存中最少应该存储的媒体数据对应的持续播放时长。在此说明,上述各种持续播放时长的单位可以是毫秒,但不限于此。
基于上述缓存配置参数,步骤103,即根据本次状态估计前的缓存状态、预设的缓存配置参数和所述第二持续播放时长,对所述缓存进行状态估计,获取本次缓存状态以及本次缓存状态的开始时间和持续时间,包括:
如果所述本次状态估计前的缓存状态为初始缓冲状态,在所述第二持续播放时长大于或等于所述初始缓冲时间时,确定本次缓存状态为正常播放状态并记录本次缓存状态的开始时间和持续时间,在所述第二持续播放时长小于所述初始缓冲时间时,确定本次缓存状态为所述初始缓冲状态并更新本次缓存状态的持续时间;
如果所述本次状态估计前的缓存状态为再缓冲状态,在所述第二持续播放时长大于或等于所述再缓冲时间时,确定本次缓存状态为正常播放状态并记录本次缓存状态的开始时间和持续时间,在所述第二持续播放时长小于所述再缓冲时间时,确定本次缓存状态为再缓冲状态并更新本次缓存状态的持续时间。
进一步可选的,除了可以根据本次状态估计前的缓存状态、预设的缓存配置参数和所述第二持续播放时长,对所述缓存进行状态估计,获取本次缓存状态以及本次缓存状态的开始时间和持续时间之外,所述缓存状态估计方法还可以包括:
如果所述本次状态估计前的缓存状态为正常播放状态,在所述第二持续播放时长小于或等于预设的第二门限,确定本次缓冲状态为再缓冲状态并记录本次缓冲状态的开始时间和持续时间,在所述第二持续播放时长大于所述预设的第二门限时,确定本次缓存状态为正常播放状态并更新本次缓存状态的持续时间。
进一步可选的,除了上述对缓存进行状态估计的过程之外,所述缓存状态估计方法还可以包括:
如果所述本次状态估计前的缓存状态为正常播放状态,在所述最大DTS或最大PTS小于本次状态估计周期内正常播放所需的DTS或PTS时,确定本次缓冲状态为再缓冲状态并记录本次缓冲状态的开始时间和持续时间,在所述最大DTS或最大PTS大于或等于本次状态估计周期内正常播放所需的DTS或PTS时,确定本次缓存状态为正常播放状态并更新本次缓存状态的持续时间。这里的本次状态估计前的缓存状态是指上一次状态估计获取的缓存状态。
进一步可选的,除了上述对缓存进行状态估计的过程之外,所述缓存状态估计方法还可以包括:
如果所述本次状态估计前的缓存状态为结束播放状态,确定本次缓存状态为结束播放状态。
进一步可选的,除了上述对缓存进行状态估计的过程之外,所述缓存状态估计方法还可以包括:
如果所述本次状态估计前的缓存状态为停止播放状态,确定本次缓存状态为停止播放状态。
基于上述各种获取本次缓存状态以及本次缓存状态的开始时间和持续时间的实施方式,在本次缓存状态与所述本次状态估计前的缓存状态不一致时,所述记录本次缓存状态的开始时间和持续时间,包括:
根据所述第一持续播放时长和所述本次状态估计前的缓存状态,更新当前媒体数据自身播放进度对应的时间点,根据更新后的媒体数据自身播放进度对应的时间点获取本次缓存状态的开始时间和持续时间。表1所示为估计出的缓存状态以及各个缓存状态的开始时间和持续时间。
表1
在表1中,各缓存状态的开始时间是媒体数据自身播放进度对应的各个时间点。基于上述各实施方式,在获取本次缓存状态以及本次缓存状态的开始时间和持续时间之后,所述缓存状态估计方法还包括:
根据用户请求,对本次缓存状态以及本次缓存状态的开始时间和持续时间进行修正。
所述用户请求包括:播放请求(paly)、重新播放请求(resume)、搜索请求(seek)、停止播放请求(pause)或结束播放请求(stop)。
其中,根据所述用户请求的不同,对本次缓存状态以及本次缓存状态的开始时间和持续时间进行修正的过程有所不同,举例说明:
如果所述用户请求为播放请求或搜索请求,则将本次缓存状态修正为初始缓冲状态并记录修正后本次缓存状态的开始时间和持续时间;
如果所述用户请求为重新播放请求,则将本次缓存状态修正为正常播放状态并记录修正后本次缓存状态的开始时间和持续时间;
如果所述用户请求为结束播放请求,则将本次缓存状态修正为结束播放状态并记录修正后本次缓存状态的开始时间和持续时间;
如果所述用户请求为停止播放请求,则将本次缓存状态修正为停止播放状态并记录修正后本次缓存状态的开始时间和持续时间。
由上述可见,本发明实施例可以根据终端在两次状态估计之间接收的媒体数据对应的持续播放时长以及本次状态估计前的缓存状态,获得当前缓存中媒体数据对应的持续播放时长,然后根据本次状态估计前的缓存状态、预设的缓存配置参数与当前缓存中媒体数据对应的持续播放时长,对缓存进行状态估计获取本次缓存状态以及本次缓存状态的开始时间和持续时间,该缓存状态估计过程不受传输协议的限制,可以用于对TCP应用场景下的缓存状态进行估计,为在TCP应用场景下对音视频的播放质量进行评估提供条件。另外,在本发明实施例中,可以根据用户请求对缓存状态进行修正,充分考虑了用户行为对缓存状态的影响,使得缓存状态估计结果更接近真实、更准确。
图4为本发明实施例提供的一种缓存状态估计设备的结构示意图。如图4所示,本实施例的设备包括:第一获取模块41、计算模块42和状态估计模块43。
第一获取模块41,用于获取终端在本次状态估计周期内接收的媒体数据对应的第一持续播放时长。
计算模块42,与第一获取模块41连接,用于根据本次状态估计前的缓存状态以及第一获取模块41获取的第一持续播放时长,计算当前缓存中的媒体数据对应的第二持续播放时长。
状态估计模块43,与计算模块42连接,用于根据本地状态估计前的缓存状态、预设的缓存配置参数和计算模块42计算的第二持续播放时长,对所述缓存进行状态估计,获取本次缓存状态以及本次缓存状态的开始时间和持续时间。
在本实施例中,所述缓存的缓存状态可以包括:初始缓冲状态、正常播放状态、再缓冲状态、结束播放状态和停止播放状态中的至少一个。其中,缓存状态估计的初始状态设置为初始缓冲状态。基于此,如果本次状态估计为第一次状态估计,则本次状态估计前的缓存状态为初始缓冲状态;如果本次状态估计非第一次状态估计,则本次状态估计前的缓存状态可以为:初始缓冲状态、正常播放状态、再缓冲状态、结束播放状态或停止播放状态。相应的,无论本次状态估计是否是第一次状态估计,则估计出的本次缓存状态可以为:初始缓冲状态、正常播放状态、再缓冲状态、结束播放状态或停止播放状态。
在一可选实施方式中,第一获取模块41具体用于根据所述终端在本次状态估计周期内接收的媒体数据的大小和当前媒体信息,计算所述第一持续播放时长。
一种情况,所述终端在本次状态估计周期内接收的媒体数据的大小为所述终端在本次状态估计周期内接收的媒体数据的字节数;所述当前媒体信息为当前媒体码率。基于此,第一获取模块41具体用于根据所述终端在本次状态估计周期内接收的媒体数据的字节数和当前媒体码率,计算所述第一持续播放时长。
基于上述情况,如图5所示,所述缓存状态估计设备还包括:第二获取模块44或第三获取模块45。
第二获取模块44,与第一获取模块41连接,用于在第一获取模块41计算所述第一持续播放时长之前,接收所述终端发送的反馈报文,所述反馈报文是终端针对所述终端在本次状态估计周期内接收的媒体数据所发送的,根据所述反馈报文,获取所述终端在本次状态估计周期内接收的媒体数据的字节数。
第三获取模块45,与第一获取模块41连接,用于在第一获取模块41计算所述第一持续播放时长之前,解析所述终端在本次状态估计周期内接收的媒体数据,获取所述终端在本次状态估计周期内接收的媒体数据的字节数。
在此说明,如果所述缓存状态估计设备为所述终端,则所述缓存状态估计设备可以包括上述第三获取模块45;如果所述缓存状态估计设备为媒体服务器,则所述缓存状态估计设备可以包括上述第二获取模块44。
另一种情况,所述终端在本次状态估计周期内接收的媒体数据的大小为所述终端在本次状态估计周期内接收的媒体数据的帧数;所述当前媒体信息为当前媒体帧率。则第一获取模块41具体用于解析所述终端在本次状态估计周期内接收的媒体数据,获得所述终端在本次状态估计周期内接收的媒体数据的帧数,根据所述终端在本次状态估计周期内接收的媒体数据的帧数和当前媒体帧率,计算所述第一持续播放时长。
在另一可选实施方式中,第一获取模块41具体用于解析所述终端在本次状态估计周期内接收的媒体数据,获取所述媒体数据包括的完整帧的最大DTS和最小DTS,或者获取所述媒体数据包括的完整帧的最大PTS和最小PTS,以最大DTS与最小DTS之差作为所述第一持续播放时长,或者以最大PTS与最小PTS之差作为所述第一持续播放时长。
基于上述,计算模块42具体可用于在所述本次状态估计前的缓存状态是除正常播放状态之外的其他缓存状态时,将到上一次状态估计结束时所述缓存中媒体数据对应的持续播放时长与所述第一持续播放时长之和作为所述第二持续播放时长,或者在所述本次状态估计前的缓存状态是正常播放状态时,将到上一次状态估计结束时所述缓存中媒体数据对应的持续播放时长与第一持续播放时长之和,减去本次状态估计周期内正常播放所需的媒体数据对应的持续播放时长,得到所述第二持续播放时长。这里的本次状态估计前的缓存状态是指上一次状态估计获取的缓存状态。
可选的,所述缓存配置参数包括:初始缓冲时间和再缓冲时间。所述初始缓冲时间是指在所述终端第一次播放媒体数据前,为实现正常播放所述缓存中最少应该存储的媒体数据对应的持续播放时长;所述再缓冲时间是指从所述终端播放媒体数据过程中再缓冲开始,到所述终端重新播放媒体数据前,所述缓存中最少应该存储的媒体数据对应的持续播放时长。
基于此,状态估计模块43具体可用于如果所述本次状态估计前的缓存状态为初始缓冲状态,在所述第二持续播放时长大于或等于所述初始缓冲时间时,确定本次缓存状态为正常播放状态并记录本次缓存状态的开始时间和持续时间,在所述第二持续播放时长小于所述初始缓冲时间时,确定本次缓存状态为所述初始缓冲状态并更新本次缓存状态的持续时间,以及如果所述本次状态估计前的缓存状态为再缓冲状态,在所述第二持续播放时长大于或等于所述再缓冲时间时,确定本次缓存状态为正常播放状态并记录本次缓存状态的开始时间和持续时间,在所述第二持续播放时长小于所述再缓冲时间时,确定本次缓存状态为再缓冲状态并更新本次缓存状态的持续时间。
进一步可选的,状态估计模块43还用于如果所述本次状态估计前的缓存状态为正常播放状态,在所述第二持续播放时长小于或等于预设的第二门限,确定本次缓冲状态为再缓冲状态并记录本次缓冲状态的开始时间和持续时间,在所述第二持续播放时长大于所述预设的第二门限时,确定本次缓存状态为正常播放状态并更新本次缓存状态的持续时间。
进一步可选的,状态估计模块43还用于如果所述本次状态估计前的缓存状态为正常播放状态,在所述最大DTS或最大PTS小于本次状态估计周期内正常播放所需的DTS或PTS时,确定本次缓冲状态为再缓冲状态并记录本次缓冲状态的开始时间和持续时间,在所述最大DTS或最大PTS大于或等于本次状态估计周期内正常播放所需的DTS或PTS时,确定本次缓存状态为正常播放状态并更新本次缓存状态的持续时间。这里的本次状态估计前的缓存状态是指上一次状态估计获取的缓存状态。
进一步可选的,状态估计模块43还用于如果所述本次状态估计前的缓存状态为结束播放状态,确定本次缓存状态为结束播放状态。
进一步可选的,状态估计模块43还用于如果所述本次状态估计前的缓存状态为停止播放状态,确定本次缓存状态为停止播放状态。
基于上述,状态估计模块43用于记录本次缓存状态的开始时间和持续时间,包括:
状态估计模块43具体用于在本次缓存状态与所述本次状态估计前的缓存状态不一致时,根据所述第一持续播放时长和所述本次状态估计前的缓存状态,更新当前媒体数据自身播放进度对应的时间点,根据更新后的媒体数据自身播放进度对应的时间点获取本次缓存状态的开始时间和持续时间。
如图5所示,所述缓存状态估计设备还包括:状态修正模块46。
状态修正模块46,与状态估计模块43连接,用于根据用户请求,对状态估计模块43估计出的本次缓存状态以及本次缓存状态的开始时间和持续时间进行修正。
其中,所述用户请求可以包括:播放请求、重新播放请求、搜索请求、停止播放请求或结束播放请求。
状态修正模块46具体用于如果所述用户请求为播放请求或搜索请求,则将本次缓存状态修正为初始缓冲状态并记录修正后本次缓存状态的开始时间和持续时间;如果所述用户请求为重新播放请求,则将本次缓存状态修正为正常播放状态并记录修正后本次缓存状态的开始时间和持续时间;如果所述用户请求为结束播放请求,则将本次缓存状态修正为结束播放状态并记录修正后本次缓存状态的开始时间和持续时间;如果所述用户请求为停止播放请求,则将本次缓存状态修正为停止播放状态并记录修正后本次缓存状态的开始时间和持续时间。
在此说明,所述缓存状态估计设备可以是所述终端,或者可以是媒体服务器或网络节点,但不限于此。
本实施例提供的缓存状态估计设备的各功能模块可用于执行图1所示缓存状态估计方法实施例的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的缓存状态估计设备,可以根据终端在两次状态估计之间接收的媒体数据对应的持续播放时长以及本次状态估计前的缓存状态,获得当前缓存中媒体数据对应的持续播放时长,然后根据本次状态估计前的缓存状态、预设的缓存配置参数与当前缓存中媒体数据对应的持续播放时长,对缓存进行状态估计获取本次缓存状态以及本次缓存状态的开始时间和持续时间,其对缓存状态进行估计的过程不受传输协议的限制,可以用于对TCP应用场景下的缓存状态进行估计,为在TCP应用场景下对音视频的播放质量进行评估提供条件。
图6为本发明实施例提供的又一种缓存状态估计设备的结构示意图。如图6所示,所述缓存状态估计设备包括:存储器61和处理器62。
存储器61,用于存储程序。具体地,所述程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器61可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器62,用于执行存储器61存储的程序,以用于:获取终端在本次状态估计周期内接收的媒体数据对应的第一持续播放时长;根据本次状态估计前的缓存状态以及所述第一持续播放时长,计算当前缓存中的媒体数据对应的第二持续播放时长;根据本次状态估计前的缓存状态、预设的缓存配置参数和所述第二持续播放时长,对所述缓存进行状态估计,获取本次缓存状态以及本次缓存状态的开始时间和持续时间。
在本实施例中,所述缓存的缓存状态包括:初始缓冲状态、正常播放状态、再缓冲状态、结束播放状态和停止播放状态中的至少一个。其中,缓存状态估计的初始状态设置为初始缓冲状态。基于此,如果本次状态估计为第一次状态估计,则本次状态估计前的缓存状态为初始缓冲状态;如果本次状态估计非第一次状态估计,则本次状态估计前的缓存状态可以为:初始缓冲状态、正常播放状态、再缓冲状态、结束播放状态或停止播放状态;相应的,无论本次状态估计是否是第一次状态估计,则估计出的本次缓存状态可以为:初始缓冲状态、正常播放状态、再缓冲状态、结束播放状态或停止播放状态。
在一可选实施方式中,处理器62用于获取第一持续播放时长包括:处理器62具体用于根据所述终端在本次状态估计周期内接收的媒体数据的大小和当前媒体信息,计算所述第一持续播放时长。
一种情况,所述终端在本次状态估计周期内接收的媒体数据的大小为所述终端在本次状态估计周期内接收的媒体数据的字节数;所述当前媒体信息为当前媒体码率。处理器62具体用于根据所述终端在本次状态估计周期内接收的媒体数据的字节数和当前媒体码率,计算所述第一持续播放时长。
可选的,所述缓存状态估计设备还包括:通信接口63。
如果所述缓存状态估计设备为媒体服务器,则通信接口63可用于在处理器62计算所述第一持续播放时长之前,接收所述终端发送的反馈报文,所述反馈报文是终端针对所述终端在本次状态估计周期内接收的媒体数据所发送的。基于此,处理器62具体用于根据所述反馈报文,获取所述终端在本次状态估计周期内接收的媒体数据的字节数,然后根据所述终端在本次状态估计周期内接收的媒体数据的字节数和当前媒体码率,计算所述第一持续播放时长。
或者,如果所述缓存状态估计设备为所述终端,则通信接口63可用于在处理器62计算所述第一持续播放时长之前,接收媒体数据。处理器62具体用于解析通信接口63在本次状态估计周期内接收的媒体数据,获取通信接口63在本次状态估计周期内接收的媒体数据的字节数,然后根据通信接口63在本次状态估计周期内接收的媒体数据的字节数和当前媒体码率,计算所述第一持续播放时长。
另一种情况,终端在本次状态估计周期内接收的媒体数据的大小为所述终端在本次状态估计周期内接收的媒体数据的帧数;所述当前媒体信息为当前媒体帧率。基于此,处理器62具体用于解析所述终端在本次状态估计周期内接收的媒体数据,获得所述终端在本次状态估计周期内接收的媒体数据的帧数,根据所述终端在本次状态估计周期内接收的媒体数据的帧数和当前媒体帧率,计算所述第一持续播放时长。
在另一可选实施方式中,处理器62用于获取第一持续播放时长包括:处理器62具体用于解析所述终端在本次状态估计周期内接收的媒体数据,获取所述媒体数据包括的完整帧的最大DTS和最小DTS,或者获取所述媒体数据包括的完整帧的最大PTS和最小PTS,以最大DTS与最小DTS之差作为所述第一持续播放时长,或者以最大PTS与最小PTS之差作为所述第一持续播放时长。
在一可选实施方式中,处理器62用于计算第二持续播放时长包括:处理器62具体用于在所述本次状态估计前的缓存状态是除正常播放状态之外的其他缓存状态时,将到上一次状态估计结束时所述缓存中媒体数据对应的持续播放时长与所述第一持续播放时长之和作为所述第二持续播放时长,或者在所述本次状态估计前的缓存状态是正常播放状态时,将到上一次状态估计结束时所述缓存中媒体数据对应的持续播放时长与第一持续播放时长之和,减去本次状态估计周期内正常播放所需的媒体数据对应的持续播放时长,得到所述第二持续播放时长。这里的本次状态估计前的缓存状态是指上一次状态估计获取的缓存状态。
可选的,所述缓存配置参数包括:初始缓冲时间和再缓冲时间。所述初始缓冲时间是指在所述终端第一次播放媒体数据前,为实现正常播放所述缓存中最少应该存储的媒体数据对应的持续播放时长;所述再缓冲时间是指从所述终端播放媒体数据过程中再缓冲开始,到所述终端重新播放媒体数据前,所述缓存中最少应该存储的媒体数据对应的持续播放时长。
基于此,处理器62用于根据本次状态估计前的缓存状态、预设的缓存配置参数和所述第二持续播放时长,对所述缓存进行状态估计,获取本次缓存状态以及本次缓存状态的开始时间和持续时间包括:处理器62具体用于如果所述本次状态估计前的缓存状态为初始缓冲状态,在所述第二持续播放时长大于或等于所述初始缓冲时间时,确定本次缓存状态为正常播放状态并记录本次缓存状态的开始时间和持续时间,在所述第二持续播放时长小于所述初始缓冲时间时,确定本次缓存状态为所述初始缓冲状态并更新本次缓存状态的持续时间,以及如果所述本次状态估计前的缓存状态为再缓冲状态,在所述第二持续播放时长大于或等于所述再缓冲时间时,确定本次缓存状态为正常播放状态并记录本次缓存状态的开始时间和持续时间,在所述第二持续播放时长小于所述再缓冲时间时,确定本次缓存状态为再缓冲状态并更新本次缓存状态的持续时间。
进一步可选的,处理器62还用于如果所述本次状态估计前的缓存状态为正常播放状态,在所述第二持续播放时长小于或等于预设的第二门限,确定本次缓冲状态为再缓冲状态并记录本次缓冲状态的开始时间和持续时间,在所述第二持续播放时长大于所述预设的第二门限时,确定本次缓存状态为正常播放状态并更新本次缓存状态的持续时间。
进一步可选的,处理器62还用于如果所述本次状态估计前的缓存状态为正常播放状态,在所述最大DTS或最大PTS小于本次状态估计周期内正常播放所需的DTS或PTS时,确定本次缓冲状态为再缓冲状态并记录本次缓冲状态的开始时间和持续时间,在所述最大DTS或最大PTS大于或等于本次状态估计周期内正常播放所需的DTS或PTS时,确定本次缓存状态为正常播放状态并更新本次缓存状态的持续时间。这里的本次状态估计前的缓存状态是指上一次状态估计获取的缓存状态。
进一步可选的,处理器62还用于如果所述本次状态估计前的缓存状态为结束播放状态,确定本次缓存状态为结束播放状态。
进一步可选的,处理器62还用于如果所述本次状态估计前的缓存状态为停止播放状态,确定本次缓存状态为停止播放状态。
其中,处理器62用于记录本次缓存状态的开始时间和持续时间,包括:处理器62具体用于在本次缓存状态与所述本次状态估计前的缓存状态不一致时,根据所述第一持续播放时长和所述本次状态估计前的缓存状态,更新当前媒体数据自身播放进度对应的时间点,根据更新后的媒体数据自身播放进度对应的时间点获取本次缓存状态的开始时间和持续时间。
在一可选实施方式中,通信接口63还用于接收用户请求。处理器62还用于根据所述用户请求,对本次缓存状态以及本次缓存状态的开始时间和持续时间进行修正。
所述用户请求包括:播放请求、重新播放请求、搜索请求、停止播放请求或结束播放请求。
处理器62用于根据所述用户请求,对本次缓存状态以及本次缓存状态的开始时间和持续时间进行修正,包括:处理器62具体用于如果所述用户请求为播放请求或搜索请求,则将本次缓存状态修正为初始缓冲状态并记录修正后本次缓存状态的开始时间和持续时间;如果所述用户请求为重新播放请求,则将本次缓存状态修正为正常播放状态并记录修正后本次缓存状态的开始时间和持续时间;如果所述用户请求为结束播放请求,则将本次缓存状态修正为结束播放状态并记录修正后本次缓存状态的开始时间和持续时间;如果所述用户请求为停止播放请求,则将本次缓存状态修正为停止播放状态并记录修正后本次缓存状态的开始时间和持续时间。
本实施例的缓存状态估计设备除了包括存储器61、处理器62和通信接口63之外,还包括电源模块、显示器、输入输出设备等。
可选的,在具体实现上,如果存储器61、处理器62和通信接口63等独立实现,则存储器61、处理器62和通信接口63等可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器61、处理器62和通信接口63等集成在一块芯片上实现,则存储器61、处理器62和通信接口63等可以通过内部接口完成相同间的通信。
在此说明,所述缓存状态估计设备可以是所述终端,或者可以是媒体服务器或网络节点,但不限于此。
本实施例提供的缓存状态估计设备可用于执行图1所示缓存状态估计方法实施例的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的缓存状态估计设备,可以根据终端在两次状态估计之间接收的媒体数据对应的持续播放时长以及本次状态估计前的缓存状态,获得当前缓存中媒体数据对应的持续播放时长,然后根据本次状态估计前的缓存状态、预设的缓存配置参数与当前缓存中媒体数据对应的持续播放时长,对缓存进行状态估计获取本次缓存状态以及本次缓存状态的开始时间和持续时间,其对缓存状态进行估计的过程不受传输协议的限制,可以用于对TCP应用场景下的缓存状态进行估计,为在TCP应用场景下对音视频的播放质量进行评估提供条件。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (27)
1.一种缓存状态估计方法,其特征在于,包括:
获取终端在本次状态估计周期内接收的媒体数据对应的第一持续播放时长;所述状态估计周期是指自上一次状态估计的结束时刻到本次状态估计的结束时刻之间的时间间隔,或者是指上一状态估计的开始时刻到本次状态估计的开始时刻之间的时间间隔;
根据本次状态估计前的缓存状态、上一次状态估计结束时缓存中媒体数据对应的持续播放时长以及所述第一持续播放时长,计算当前缓存中的媒体数据对应的第二持续播放时长;
根据所述本次状态估计前的缓存状态、预设的缓存配置参数和所述第二持续播放时长,对所述缓存进行状态估计,获取本次缓存状态以及本次缓存状态的开始时间和持续时间,其中所述缓存的状态包括初始缓冲状态、正常播放状态、再缓冲状态、结束播放状态和停止播放状态中的至少一个。
2.根据权利要求1所述的缓存状态估计方法,其特征在于,所述获取终端在本次状态估计周期内接收的媒体数据对应的第一持续播放时长,包括:
根据所述终端在本次状态估计周期内接收的媒体数据的字节数和当前媒体码率,计算所述第一持续播放时长;或者
解析所述终端在本次状态估计周期内接收的媒体数据,获得所述终端在本次状态估计周期内接收的媒体数据的帧数;
根据所述终端在本次状态估计周期内接收的媒体数据的帧数和当前媒体帧率,计算所述第一持续播放时长。
3.根据权利要求2所述的缓存状态估计方法,其特征在于,所述根据所述终端在本次状态估计周期内接收的媒体数据的字节数和当前媒体码率,计算所述第一持续播放时长之前,包括:
接收所述终端发送的反馈报文,所述反馈报文是所述终端针对在本次状态估计周期内接收的媒体数据所发送的,根据所述反馈报文,获取所述终端在本次状态估计周期内接收的媒体数据的字节数;或者,
解析所述终端在本次状态估计周期内接收的媒体数据,获取所述终端在本次状态估计周期内接收的媒体数据的字节数。
4.根据权利要求1所述的缓存状态估计方法,其特征在于,所述获取终端在本次状态估计周期内接收的媒体数据对应的第一持续播放时长,包括:
解析所述终端在本次状态估计周期内接收的媒体数据,获取所述媒体数据包括的完整帧的最大解码时间戳DTS和最小解码时间戳DTS,或获取所述媒体数据包括的完整帧的最大显示时间戳PTS和最小显示时间戳PTS;
以所述最大DTS与所述最小DTS之差作为所述第一持续播放时长,或者以所述最大PTS与所述最小PTS之差作为所述第一持续播放时长。
5.根据权利要求1所述的缓存状态估计方法,其特征在于,所述根据本次状态估计前的缓存状态以及所述第一持续播放时长,计算当前缓存中的媒体数据对应的第二持续播放时长,包括:
如果所述本次状态估计前的缓存状态是除所述正常播放状态之外的其他的缓存状态,则将到上一次状态估计结束时所述缓存中媒体数据对应的持续播放时长与所述第一持续播放时长之和作为所述第二持续播放时长;
如果所述本次状态估计前的缓存状态是所述正常播放状态,则以到上一次状态估计结束时所述缓存中媒体数据对应的持续播放时长与所述第一持续播放时长之和,减去所述本次状态估计周期内正常播放所需的媒体数据对应的持续播放时长,得到所述第二持续播放时长。
6.根据权利要求1-5任一项所述的缓存状态估计方法,其特征在于,所述缓存配置参数包括:初始缓冲时间和再缓冲时间;
所述初始缓冲时间是指在所述终端第一次播放媒体数据前,为实现正常播放所述缓存中最少应该存储的媒体数据对应的持续播放时长;
所述再缓冲时间是指从所述终端播放媒体数据过程中再缓冲开始,到所述终端重新播放媒体数据前,所述缓存中最少应该存储的媒体数据对应的持续播放时长;
所述根据所述本次状态估计前的缓存状态、预设的缓存配置参数和所述第二持续播放时长,对所述缓存进行状态估计,获取本次缓存状态以及本次缓存状态的开始时间和持续时间,包括:
如果所述本次状态估计前的缓存状态为所述初始缓冲状态,在所述第二持续播放时长大于或等于所述初始缓冲时间时,确定本次缓存状态为正常播放状态并记录本次缓存状态的开始时间和持续时间,或者,在所述第二持续播放时长小于所述初始缓冲时间时,确定本次缓存状态为所述初始缓冲状态并更新本次缓存状态的持续时间;
如果所述本次状态估计前的缓存状态为所述再缓冲状态,在所述第二持续播放时长大于或等于所述再缓冲时间时,确定本次缓存状态为正常播放状态并记录本次缓存状态的开始时间和持续时间,或者,在所述第二持续播放时长小于所述再缓冲时间时,确定本次缓存状态为再缓冲状态并更新本次缓存状态的持续时间。
7.根据权利要求1-5任一项所述的缓存状态估计方法,其特征在于,还包括:
如果所述本次状态估计前的缓存状态为所述正常播放状态,在所述第二持续播放时长小于或等于预设门限,确定本次缓冲状态为再缓冲状态并记录本次缓冲状态的开始时间和持续时间,在所述第二持续播放时长大于所述预设门限时,确定本次缓存状态为正常播放状态并更新本次缓存状态的持续时间。
8.根据权利要求4所述的缓存状态估计方法,其特征在于,还包括:
如果所述本次状态估计前的缓存状态为所述正常播放状态,在所述最大DTS或最大PTS小于本次状态估计周期内正常播放所需的DTS或PTS时,确定本次缓冲状态为再缓冲状态并记录本次缓冲状态的开始时间和持续时间,在所述最大DTS或最大PTS大于或等于本次状态估计周期内正常播放所需的DTS或PTS时,确定本次缓存状态为正常播放状态并更新本次缓存状态的持续时间。
9.根据权利要求1-5任一项所述的缓存状态估计方法,其特征在于,还包括:
如果所述本次状态估计前的缓存状态为所述结束播放状态,确定本次缓存状态为结束播放状态。
10.根据权利要求1-5任一项所述的缓存状态估计方法,其特征在于,还包括:
如果所述本次状态估计前的缓存状态为所述停止播放状态,确定本次缓存状态为停止播放状态。
11.根据权利要求6所述的缓存状态估计方法,其特征在于,
在本次缓存状态与所述本次状态估计前的缓存状态不一致时,所述记录本次缓存状态的开始时间和持续时间,包括:
根据所述第一持续播放时长和所述本次状态估计前的缓存状态,更新当前媒体数据自身播放进度对应的时间点,根据更新后的媒体数据自身播放进度对应的时间点获取本次缓存状态的开始时间和持续时间。
12.根据权利要求11所述的缓存状态估计方法,其特征在于,所述获取本次缓存状态以及本次缓存状态的开始时间和持续时间之后,还包括:
根据用户请求,对本次缓存状态以及本次缓存状态的开始时间和持续时间进行修正。
13.根据权利要求12所述的缓存状态估计方法,其特征在于,所述用户请求包括:播放请求、重新播放请求、搜索请求、停止播放请求或结束播放请求;
所述根据用户请求,对本次缓存状态以及本次缓存状态的开始时间和持续时间进行修正,包括:
如果所述用户请求为所述播放请求或所述搜索请求,则将本次缓存状态修正为初始缓冲状态并记录修正后本次缓存状态的开始时间和持续时间;
如果所述用户请求为所述重新播放请求,则将本次缓存状态修正为正常播放状态并记录修正后本次缓存状态的开始时间和持续时间;
如果所述用户请求为所述结束播放请求,则将本次缓存状态修正为结束播放状态并记录修正后本次缓存状态的开始时间和持续时间;
如果所述用户请求为所述停止播放请求,则将本次缓存状态修正为停止播放状态并记录修正后本次缓存状态的开始时间和持续时间。
14.一种缓存状态估计设备,其特征在于,包括:
第一获取模块,用于获取终端在本次状态估计周期内接收的媒体数据对应的第一持续播放时长;所述状态估计周期是指自上一次状态估计的结束时刻到本次状态估计的结束时刻之间的时间间隔,或者是指上一状态估计的开始时刻到本次状态估计的开始时刻之间的时间间隔;
计算模块,用于根据本次状态估计前的缓存状态、上一次状态估计结束时缓存中媒体数据对应的持续播放时长以及所述第一持续播放时长,计算当前缓存中的媒体数据对应的第二持续播放时长;
状态估计模块,用于根据所述本次状态估计前的缓存状态、预设的缓存配置参数和所述第二持续播放时长,对所述缓存进行状态估计,获取本次缓存状态以及本次缓存状态的开始时间和持续时间,其中所述缓存的状态包括初始缓冲状态、正常播放状态、再缓冲状态、结束播放状态和停止播放状态中的至少一个。
15.根据权利要求14所述的缓存状态估计设备,其特征在于,所述第一获取模块具体用于根据所述终端在本次状态估计周期内接收的媒体数据的字节数和当前媒体码率,计算所述第一持续播放时长;或者
所述第一获取模块具体用于解析所述终端在本次状态估计周期内接收的媒体数据,获得所述终端在本次状态估计周期内接收的媒体数据的帧数,根据所述终端在本次状态估计周期内接收的媒体数据的帧数和当前媒体帧率,计算所述第一持续播放时长。
16.根据权利要求15所述的缓存状态估计设备,其特征在于,还包括:
第二获取模块,用于在所述第一获取模块计算所述第一持续播放时长之前,接收所述终端发送的反馈报文,所述反馈报文是所述终端针对在本次状态估计周期内接收的媒体数据所发送的,根据所述反馈报文,获取所述终端在本次状态估计周期内接收的媒体数据的字节数;或者,
第三获取模块,用于在所述第一获取模块计算所述第一持续播放时长之前,解析所述终端在本次状态估计周期内接收的媒体数据,获取所述终端在本次状态估计周期内接收的媒体数据的字节数。
17.根据权利要求14所述的缓存状态估计设备,其特征在于,所述第一获取模块具体用于解析所述终端在本次状态估计周期内接收的媒体数据,获取所述媒体数据包括的完整帧的最大解码时间戳DTS和最小解码时间戳DTS,或者获取所述媒体数据包括的完整帧的最大显示时间戳PTS和最小显示时间戳PTS,以所述最大DTS与所述最小DTS之差作为所述第一持续播放时长,或者以所述最大PTS与所述最小PTS之差作为所述第一持续播放时长。
18.根据权利要求14所述的缓存状态估计设备,其特征在于,所述计算模块具体用于在所述本次状态估计前的缓存状态是除所述正常播放状态之外的其他缓存状态时,将到上一次状态估计结束时所述缓存中媒体数据对应的持续播放时长与所述第一持续播放时长之和作为所述第二持续播放时长,或者在所述本次状态估计前的缓存状态是所述正常播放状态时,以到上一次状态估计结束时所述缓存中媒体数据对应的持续播放时长与所述第一持续播放时长之和,减去所述本次状态估计周期内正常播放所需的媒体数据对应的持续播放时长,得到所述第二持续播放时长。
19.根据权利要求14-18任一项所述的缓存状态估计设备,其特征在于,所述缓存配置参数包括:初始缓冲时间和再缓冲时间;
所述初始缓冲时间是指在所述终端第一次播放媒体数据前,为实现正常播放所述缓存中最少应该存储的媒体数据对应的持续播放时长;
所述再缓冲时间是指从所述缓存中的媒体数据对应的持续播放时长小于或等于预设门限时开始,到所述缓存中的媒体数据对应的持续播放时长大于所述预设门限前,所述缓存中最少应该存储的媒体数据对应的持续播放时长;
所述状态估计模块具体用于如果所述本次状态估计前的缓存状态为所述初始缓冲状态,在所述第二持续播放时长大于或等于所述初始缓冲时间时,确定本次缓存状态为正常播放状态并记录本次缓存状态的开始时间和持续时间,在所述第二持续播放时长小于所述初始缓冲时间时,确定本次缓存状态为所述初始缓冲状态并更新本次缓存状态的持续时间,以及如果所述本次状态估计前的缓存状态为所述再缓冲状态,在所述第二持续播放时长大于或等于所述再缓冲时间时,确定本次缓存状态为正常播放状态并记录本次缓存状态的开始时间和持续时间,在所述第二持续播放时长小于所述再缓冲时间时,确定本次缓存状态为再缓冲状态并更新本次缓存状态的持续时间。
20.根据权利要求14-18任一项所述的缓存状态估计设备,其特征在于,所述状态估计模块还用于如果所述本次状态估计前的缓存状态为所述正常播放状态,在所述第二持续播放时长小于或等于预设门限,确定本次缓冲状态为再缓冲状态并记录本次缓冲状态的开始时间和持续时间,在所述第二持续播放时长大于所述预设门限时,确定本次缓存状态为正常播放状态并更新本次缓存状态的持续时间。
21.根据权利要求17所述的缓存状态估计设备,其特征在于,所述状态估计模块还用于如果所述本次状态估计前的缓存状态为所述正常播放状态,在所述最大DTS或最大PTS小于本次状态估计周期内正常播放所需的DTS或PTS时,确定本次缓冲状态为再缓冲状态并记录本次缓冲状态的开始时间和持续时间,在所述最大DTS或最大PTS大于或等于本次状态估计周期内正常播放所需的DTS或PTS时,确定本次缓存状态为正常播放状态并更新本次缓存状态的持续时间。
22.根据权利要求14-18任一项所述的缓存状态估计设备,其特征在于,所述状态估计模块还用于如果所述本次状态估计前的缓存状态为所述结束播放状态,确定本次缓存状态为结束播放状态。
23.根据权利要求14-18任一项所述的缓存状态估计设备,其特征在于,所述状态估计模块还用于如果所述本次状态估计前的缓存状态为所述停止播放状态,确定本次缓存状态为停止播放状态。
24.根据权利要求19所述的缓存状态估计设备,其特征在于,所述状态估计模块用于记录本次缓存状态的开始时间和持续时间,包括:
所述状态估计模块具体用于在本次缓存状态与所述本次状态估计前的缓存状态不一致时,根据所述第一持续播放时长和所述本次状态估计前的缓存状态,更新当前媒体数据自身播放进度对应的时间点,根据更新后的媒体数据自身播放进度对应的时间点获取本次缓存状态的开始时间和持续时间。
25.根据权利要求24所述的缓存状态估计设备,其特征在于,还包括:
状态修正模块,用于根据用户请求,对本次缓存状态以及本次缓存状态的开始时间和持续时间进行修正。
26.根据权利要求25所述的缓存状态估计设备,其特征在于,所述用户请求包括:播放请求、重新播放请求、搜索请求、停止播放请求或结束播放请求;
所述状态修正模块具体用于如果所述用户请求为所述播放请求或所述搜索请求,则将本次缓存状态修正为初始缓冲状态并记录修正后本次缓存状态的开始时间和持续时间;如果所述用户请求为所述重新播放请求,则将本次缓存状态修正为正常播放状态并记录修正后本次缓存状态的开始时间和持续时间;如果所述用户请求为所述结束播放请求,则将本次缓存状态修正为结束播放状态并记录修正后本次缓存状态的开始时间和持续时间;如果所述用户请求为所述停止播放请求,则将本次缓存状态修正为停止播放状态并记录修正后本次缓存状态的开始时间和持续时间。
27.根据权利要求14-18任一项所述的缓存状态估计设备,其特征在于,所述缓存状态估计设备为所述终端或者媒体服务器。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310069638.6A CN104038846B (zh) | 2013-03-05 | 2013-03-05 | 缓存状态估计方法及设备 |
PCT/CN2013/087558 WO2014134932A1 (zh) | 2013-03-05 | 2013-11-21 | 缓存状态估计方法及设备 |
EP13877046.6A EP2955930B1 (en) | 2013-03-05 | 2013-11-21 | Method and device for estimating temporary storage status |
US14/196,997 US9392247B2 (en) | 2013-03-05 | 2014-03-04 | Buffer state estimation method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310069638.6A CN104038846B (zh) | 2013-03-05 | 2013-03-05 | 缓存状态估计方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104038846A CN104038846A (zh) | 2014-09-10 |
CN104038846B true CN104038846B (zh) | 2018-03-09 |
Family
ID=51469412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310069638.6A Active CN104038846B (zh) | 2013-03-05 | 2013-03-05 | 缓存状态估计方法及设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9392247B2 (zh) |
EP (1) | EP2955930B1 (zh) |
CN (1) | CN104038846B (zh) |
WO (1) | WO2014134932A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108111902A (zh) * | 2017-12-21 | 2018-06-01 | Tcl移动通信科技(宁波)有限公司 | 移动终端及视频播放适配处理方法、及存储介质 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9854282B2 (en) * | 2014-11-20 | 2017-12-26 | Alcatel Lucent | System and method for enabling network based rate determination for adaptive video streaming |
CN105791987B (zh) * | 2014-12-23 | 2018-11-02 | 深圳Tcl数字技术有限公司 | 媒体数据播放的方法及终端 |
CN104639986B (zh) * | 2014-12-31 | 2018-10-26 | 小米科技有限责任公司 | 多媒体数据播放方法和装置 |
CN107645778A (zh) * | 2016-07-22 | 2018-01-30 | 中兴通讯股份有限公司 | 一种无线站点状态信息上报方法和装置 |
CN106792109B (zh) * | 2016-12-06 | 2021-02-26 | 海信视像科技股份有限公司 | 视频播放方法、装置及终端 |
CN106777113B (zh) * | 2016-12-15 | 2020-03-13 | 北京安云世纪科技有限公司 | 应用程序中的数据处理方法、装置及移动终端 |
CN106997300B (zh) * | 2017-03-31 | 2020-04-10 | Oppo广东移动通信有限公司 | 软件升级处理方法、装置和音频设备 |
CN108961855B (zh) * | 2018-05-04 | 2021-02-19 | 何战涛 | 一种便携式早教设备及其使用方法 |
US10555040B2 (en) | 2018-06-22 | 2020-02-04 | Samsung Electronics Co., Ltd. | Machine learning based packet service classification methods for experience-centric cellular scheduling |
CN108882056B (zh) * | 2018-07-18 | 2020-09-29 | 深圳市茁壮网络股份有限公司 | 流媒体播放状态检测方法及装置 |
CN113453066A (zh) * | 2020-03-24 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 一种播放时长确定方法和相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101945262A (zh) * | 2009-06-24 | 2011-01-12 | 日立民用电子株式会社 | 无线影像传送系统、内容比特率控制方法 |
CN102118270A (zh) * | 2011-03-04 | 2011-07-06 | 华为技术有限公司 | 一种度量用户体验质量QoE的方法及装置 |
WO2012167416A1 (en) * | 2011-06-07 | 2012-12-13 | Huawei Technologies Co., Ltd. | Monitoring device and method for monitoring a video session in a data network |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5677969A (en) | 1995-02-23 | 1997-10-14 | Motorola, Inc. | Method, rate controller, and system for preventing overflow and underflow of a decoder buffer in a video compression system |
US7177278B2 (en) * | 1999-12-09 | 2007-02-13 | Broadcom Corporation | Late frame recovery method |
US7260826B2 (en) | 2000-05-31 | 2007-08-21 | Microsoft Corporation | Resource allocation in multi-stream IP network for optimized quality of service |
DE10112939B4 (de) * | 2001-03-12 | 2005-03-03 | Ahead Software Ag | Verfahren zur Anzeige und/oder Kontrolle des Füllstandes eines internen Speichers (Buffers) eines Schreibers für Datenträger |
US7388912B1 (en) | 2002-05-30 | 2008-06-17 | Intervideo, Inc. | Systems and methods for adjusting targeted bit allocation based on an occupancy level of a VBV buffer model |
US7380028B2 (en) | 2003-06-13 | 2008-05-27 | Microsoft Corporation | Robust delivery of video data |
CN1604687A (zh) * | 2003-08-16 | 2005-04-06 | 三星电子株式会社 | 用于上行链路分组传输的调度分配的方法和装置 |
US7933328B2 (en) | 2005-02-02 | 2011-04-26 | Broadcom Corporation | Rate control for digital video compression processing |
US8489923B1 (en) * | 2006-11-15 | 2013-07-16 | Conviva Inc. | Detecting problems in content distribution |
US8874725B1 (en) * | 2006-11-15 | 2014-10-28 | Conviva Inc. | Monitoring the performance of a content player |
US8874964B1 (en) * | 2006-11-15 | 2014-10-28 | Conviva Inc. | Detecting problems in content distribution |
EP2394483A1 (en) * | 2009-02-09 | 2011-12-14 | Telefonaktiebolaget L M Ericsson (PUBL) | Method and arrangement in a wireless communication system |
CN101534400B (zh) * | 2009-04-14 | 2013-07-24 | 北京中星微电子有限公司 | 一种数据发送采样率的调节方法和装置 |
CN102196312A (zh) * | 2010-03-02 | 2011-09-21 | 北大方正集团有限公司 | 音视频数据流的播放方法及装置 |
EP2552323A4 (en) * | 2010-03-29 | 2013-09-25 | Follica Inc | COMBINATION THERAPY |
US9485298B2 (en) * | 2010-10-28 | 2016-11-01 | Netscout Systems Texas, Llc | Device with video buffer modeling and methods for use therewith |
EP2724584A1 (en) * | 2011-06-21 | 2014-04-30 | Telefonaktiebolaget LM Ericsson (PUBL) | Network node and method related to buffer estimation |
CN102547449A (zh) * | 2011-12-22 | 2012-07-04 | 华为技术有限公司 | 一种控制终端缓冲媒体流数据的方法、机顶盒及媒体服务器 |
-
2013
- 2013-03-05 CN CN201310069638.6A patent/CN104038846B/zh active Active
- 2013-11-21 EP EP13877046.6A patent/EP2955930B1/en active Active
- 2013-11-21 WO PCT/CN2013/087558 patent/WO2014134932A1/zh active Application Filing
-
2014
- 2014-03-04 US US14/196,997 patent/US9392247B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101945262A (zh) * | 2009-06-24 | 2011-01-12 | 日立民用电子株式会社 | 无线影像传送系统、内容比特率控制方法 |
CN102118270A (zh) * | 2011-03-04 | 2011-07-06 | 华为技术有限公司 | 一种度量用户体验质量QoE的方法及装置 |
WO2012167416A1 (en) * | 2011-06-07 | 2012-12-13 | Huawei Technologies Co., Ltd. | Monitoring device and method for monitoring a video session in a data network |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108111902A (zh) * | 2017-12-21 | 2018-06-01 | Tcl移动通信科技(宁波)有限公司 | 移动终端及视频播放适配处理方法、及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2955930A4 (en) | 2015-12-16 |
US9392247B2 (en) | 2016-07-12 |
CN104038846A (zh) | 2014-09-10 |
WO2014134932A1 (zh) | 2014-09-12 |
EP2955930B1 (en) | 2019-01-16 |
US20140255007A1 (en) | 2014-09-11 |
EP2955930A1 (en) | 2015-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104038846B (zh) | 缓存状态估计方法及设备 | |
CN102625006B (zh) | 一种回声消除数据同步对齐方法、系统及音频通信设备 | |
US10516718B2 (en) | Platform for multiple device playout | |
US7359324B1 (en) | Adaptive jitter buffer control | |
CN102014126B (zh) | 一种基于QoS的语音体验质量评测平台及评测方法 | |
US20100058409A1 (en) | Audio and video testing methodology | |
CN108111997A (zh) | 蓝牙设备音频同步方法和系统 | |
CN105009599A (zh) | 精彩时刻的自动标识 | |
CN105451034A (zh) | 一种广告播放控制方法及系统 | |
CN106686438A (zh) | 一种跨设备的音频图像同步播放的方法、装置及系统 | |
JP2005537738A5 (zh) | ||
CN102215286B (zh) | 一种嵌入式多通道电话录音录时系统 | |
CN105553939A (zh) | 一种流媒体卡顿的确定方法及装置 | |
US20090174761A1 (en) | Device, Method and Computer Program Product for Responding to Media Conference Deficiencies | |
CN104464743B (zh) | 一种在语音聊天室中播放背景音乐的方法及移动终端 | |
CN107613409A (zh) | 多媒体数据的处理方法及装置 | |
RU2596808C2 (ru) | Сглаживание дрожания в сети с уменьшенной задержкой | |
CN105721217A (zh) | 基于Web的音频通信质量改进方法 | |
US20170105141A1 (en) | Method for shortening a delay in real-time voice communication and electronic device | |
KR100490403B1 (ko) | 오디오 스트림의 버퍼링 제어 방법 및 그 장치 | |
CN108882013A (zh) | 调整音视频播放速率的方法、装置、电子设备及存储介质 | |
US9692831B1 (en) | Pausing interactive sessions | |
CN106775551A (zh) | 音频播放方法和系统 | |
CN107087210A (zh) | 基于缓存时间判断视频播放状态的方法及终端 | |
JP3833490B2 (ja) | データ伝送において発生する遅延ジッタを吸収する装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |