CN103905924B - 终端侧的视频自适应接收方法和装置 - Google Patents
终端侧的视频自适应接收方法和装置 Download PDFInfo
- Publication number
- CN103905924B CN103905924B CN201210586815.3A CN201210586815A CN103905924B CN 103905924 B CN103905924 B CN 103905924B CN 201210586815 A CN201210586815 A CN 201210586815A CN 103905924 B CN103905924 B CN 103905924B
- Authority
- CN
- China
- Prior art keywords
- video
- period
- video clip
- end side
- predicted value
- 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
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及一种终端侧的视频自适应接收方法和装置。该方法包括以下步骤:按照当前时段的视频片段请求策略向一视频内容服务器请求并接收当前时段的视频片段;估计下一时段的视频平均速率预测值;获取反映终端侧用户观看视频的体验质量的回放状态参数,所述回放状态参数包括回放缓存数据时长及停顿播放时长;以及根据所述下一时段的视频平均速率预测值以及所述回放状态参数适应性地确定所述下一时段的视频片段请求策略。
Description
技术领域
本发明涉及移动应用业务领域,尤其是涉及在终端侧实施的视频自适应接收方法和装置。
背景技术
目前的视频应用主要采用基于RTP/RTCP(Real-time Transport Protocol,实时传送协议/Real-time Transport Control Protocol,实时传输控制协议)的视频传输控制方法。RTP是基于UDP(User Datagram Protocol,用户数据包协议)的传输视频流的承载协议。UDP是一种无连接协议,不保证视频数据的可靠传输。这样,视频数据的可靠传输需要由上层应用根据发送端及接收端不断实时双向交互的RTCP协议数据来制定相关策略,并由发送端(或服务器端)执行。另外,网络拥塞、流量调节等策略要有效实施,也必须依赖发送端(服务器侧)及接收端不断实时双向交互的RTCP协议数据信息,并完全由服务器侧决定并执行相关调整策略。这样带来几个问题:
1、过多的实时双向RTCP数据增加了网络带宽要求;
2、完全在服务器侧端(或发送端)进行调节控制的决策及执行,移动终端侧(接收端)完全透明和被动,而事实上用户体验更多依赖于终端侧的相关状态和行为。并且,基于服务器侧调节控制策略只能基于网络传输实时状态一个维度。与用户体验密切相关的终端侧视频实时播放的相关实时状态没有被考虑。即使能在调节控制策略中要考虑终端侧视频实时播放的相关实时状态,前提也只能是RTCP协议在收发端频繁双向传输这些实时数据,导致更大的带宽消耗。
3、完全服务器侧决策及执行的方式不利于大规模的分布式移动视频应用部署。
解决上述问题的一个方向是,由终端侧端(或接收端)参与进行调节控制的决策及执行。但已有视频应用中,几乎现在所有基于浏览器的视频播放模式选择(如高清模式、标准模式)均采取用户在播放开始或播放过程中手动切换的调节方式。但是这一调节方式的决策和执行直接交给由对视频传输状况并不了解的用户完成,因而是不合理的。并且,模式切换也是直接选择不同视频编码流层次进行,这一切换的粒度显然过大,达不到真正动态实时优化调节的效果。
发明内容
本发明所要解决的技术问题是提供一种终端侧的视频自适应接收方法和装置,它完全是在终端侧执行,并且能够综合反映网络传输及终端视频播放体验两个方面的实时状况。
本发明为解决上述技术问题而采用的技术方案是提出一种终端侧的视频自适应接收方法,包括以下步骤:按照当前时段的视频片段请求策略向一视频内容服务器请求并接收当前时段的视频片段;估计下一时段的视频平均速率预测值;获取反映终端侧用户观看视频的体验质量的回放状态参数,所述回放状态参数包括回放缓存数据时长及停顿播放时长;以及根据所述下一时段的视频平均速率预测值以及所述回放状态参数适应性地确定所述下一时段的视频片段请求策略。
在本发明的一实施例中,估计所述下一时段的视频平均速率预测值的步骤包括:每完成一次当前时段的视频接收后,计算当前时段的视频平均接收速率;根据所述当前时段的视频平均接收速率、以及当前时段的前两个连续时段的的两个视频平均接收速率,估计所述下一时段的视频平均速率预测值。
在本发明的一实施例中,对所述当前时段的视频平均接收速率、以及所述当前时段前两个连续时段的视频平均接收速率使用移动加权平均,以估计所述下一时段的视频平均速率预测值。
在本发明的一实施例中,视频自适应接收方法还包括,根据所述下一时段的视频平均速率预测值和所述当前时段的视频平均速率预测值计算所述下一时段相对于所述当前时段的速率波动因子,并且根据所述下一时段的视频平均速率预测值、所述速率波动因子以及所述回放状态参数适应性地确定所述下一时段的视频片段请求策略。
在本发明的一实施例中,所述下一时段的视频片段请求策略包括所述下一时段对应的视频片段模式及所述视频片段模式下需并发请求接收的连续视频片段的个数,其中每一视频片段模式对应一分辨率及一传输速率。
在本发明的一实施例中,根据所述下一时段的视频平均速率预测值与各视频片段模式对应的传输速率的大小关系,以及所述回放状态参数选择下一时段的视频片段模式。
在本发明的一实施例中,根据所述下一时段的视频平均速率预测值与所选择的视频片段模式所对应的传输速率的倍数关系,确定所述视频片段模式下需并发请求接收的连续视频片段的个数。
在本发明的一实施例中,在向所述视频内容服务器请求并接收所述当前时段的视频片段之前还包括:向一视频元数据描述文件服务器请求并获取视频元数据,所述视频元数据包括视频片段元数据,所述视频片段元数据描述视频片段的位置及播放时长。
在本发明的一实施例中,所述视频元数据还包括视频片段模式元数据,所述视频片段模式元数据描述对应不同分辨率及传输速率的视频编码方式。
在本发明的一实施例中,在视频接收开始的一个或多个时段,根据一初始视频片段请求策略向所述内容服务器请求并接收视频片段。
在本发明的一实施例中,所述视频片段为HTML5的Web视频片段。
本发明还提出一种终端侧的视频自适应接收装置,包括:用于按照当前时段的视频片段请求策略向一视频内容服务器请求并接收当前时段的视频片段的模块;用于估计下一时段的视频平均速率预测值的模块;用于获取反映终端侧用户观看视频的体验质量的回放状态参数的模块,所述回放状态参数包括回放缓存数据时长及停顿播放时长;以及用于根据所述下一时段的视频平均速率预测值以及所述回放状态参数适应性地确定所述下一时段的视频片段请求策略的模块。
在本发明的一实施例中,按照当前时段的视频片段请求策略向一视频内容服务器请求并接收当前时段的视频片段的模块,每完成一次当前时段的视频接收后,计算当前时段的视频平均接收速率;
在本发明的一实施例中,所述用于估计下一时段的视频平均速率预测值的模块,根据所述当前时段的视频平均接收速率、以及当前时段的前两个连续时段的的两个视频平均接收速率,估计所述下一时段的视频平均速率预测值。
在本发明的一实施例中,所述用于估计下一时段的视频平均速率预测值的模块对所述当前时段的视频平均接收速率、以及所述当前时段前两个连续时段的视频平均接收速率使用移动加权平均,以估计所述下一时段的视频平均速率预测值。
在本发明的一实施例中,视频自适应接收装置还包括:根据所述下一时段的视频平均速率预测值和所述当前时段的视频平均速率预测值计算所述下一时段相对于所述当前时段的速率波动因子的模块;以及用于根据所述下一时段的视频平均速率预测值、所述速率波动因子以及所述回放状态参数适应性地确定所述下一时段的视频片段请求策略的模块。
在本发明的一实施例中,所述下一时段的视频片段请求策略包括所述下一时段对应的视频片段模式及所述视频片段模式下需并发请求接收的连续视频片段的个数,其中每一视频片段模式对应一分辨率及一传输速率。
在本发明的一实施例中,根据所述下一时段的视频平均速率预测值与各视频片段模式对应的传输速率的大小关系,以及所述回放状态参数选择下一时段的视频片段模式。
在本发明的一实施例中,根据所述下一时段的视频平均速率预测值与所选择的视频片段模式所对应的传输速率的倍数关系,确定所述视频片段模式下需并发请求接收的连续视频片段的个数。
在本发明的一实施例中,视频自适应接收装置还包括:用于向一视频元数据描述文件服务器请求并获取视频元数据的模块,所述视频元数据包括视频片段元数据,所述视频片段元数据描述视频片段的位置及播放时长。
在本发明的一实施例中,所述视频元数据还包括视频片段模式元数据,所述视频片段模式元数据描述对应不同分辨率及传输速率的视频编码方式。
在本发明的一实施例中,所述用于按照当前时段的视频片段请求策略向一视频内容服务器请求并接收当前时段的视频片段的模块,在视频接收开始的一个或多个时段根据一初始视频片段请求策略向所述内容服务器请求并接收视频片段。
在本发明的一实施例中,所述视频片段为HTML5的Web视频片段。
本发明同时基于网络传输速率情况和及终端侧视频回放用户体验两个维度的综合的实时的状态参数,在终端侧进行自适应的视频接收策略决策和调节,可以使视频传输更加主动地适应网络状态,并在终端侧视频播放效果方面获得更优化的用户体验。
附图说明
为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明,其中:
图1示出本发明的示例性实施环境。
图2示出一实施例的视频自适应接收方法流程图。
图3示出本发明一实施例的视频自适应接收装置的逻辑框图。
具体实施方式
本发明的实施例提出完全由终端侧实现视频接收的自适应调节决策和执行。视频的发送和接收双方不再频繁地交互实时状态控制信息,而调节决策及执行无需由发送方(服务器)参与。本发明实施例的自适应调节基于综合反映网络传输及终端视频播放体验这两个方面实时状况的状态参数,使优化策略更加全面。本发明实施例的调节的粒度是基于视频片段,从而能在更小粒度层面完成更加精细化的动态接收策略优化。
根据一实施例,视频片段是HTML5(Hypertext Markup Language,超文本标记语言)浏览器的Web视频片段(Video Segment)。
Web视频片段是以秒为单位的小片视频片段。同一个视频内容,可以编码为不同分辨率(对应不同的网络带宽需求)的视频格式文件(称为视频片段模式)。每个视频文件分隔为以视频片段为单位的多个片段。元数据描述文件(Metadata PresentationDescription,MPD)对视频内容的这些不同视频文件格式及相应视频片段情况进行描述说明。视频分片依据MPD文件中的对应统一资源定位(URL)通过基于TCP的HTTP协议进行访问。基于MPD描述的Web视频片段,终端可以以视频片段为最小切换单元,对所接收的视频内容在不同分辨率的视频片段模式间切换。对Web视频片段及MPD格式的相关定义可参见2012年正式发布的标准ISO/IEC DIS23009-1.2。
HTML5新增加了视频元素(Video element)的结构标记语言描述,并定义了基于HTML5的几种视频容器格式,如google提出的WebM。同时HTML5增加了可进行并发异步访问的XML Http Request请求方式。HTML5这些特性的描述可参见http://www.w3c.org/TR/ html5。
本发明的实施例对视频片段的请求策略是基于实时状态参数进行动态自适应调整的。采用的实时状态参数综合反映网络传输趋势及反映终端视频回放体验这两个方面的状态,包括速率状态及回放状态。下面的介绍是以Web视频片段为例进行的,但本领域技术人员可以理解,这并非旨在限定本发明的范围。其他形式的视频片段仍然是可选的。
速率状态有两种:稳定及变动。当为下一次视频请求时段T(n+1)估计的视频视频平均速率预测值BWexp(n+1)与当前视频请求时段T(n)的视频平均速率预测值BWexp(n)比较波动较大时,速率状态为不稳定;当BWexp(n+1)与BWexp(n)比较波动不大时,速率状态为稳定。引入反映速率波动幅度的速率波动因子∈,其设为较小的百分数,如可设为5%。当{BWexp(n+1)–BWexp(n)}/BWexp(n)<∈,速率状态为稳定,否则速率状态为变动。
无论速率状态是稳定还是变动,下一次视频请求时段的视频平均速率预测值是一个重要的指标。T(n+1)估计的视频平均速率预测值BWexp(n+1)可以采用移动加权平均方式进行估计。T(n)、T(n-1)、T(n-2)为终端最近的三个获取视频片段的连续时段时长,每个时段接收到的所有视频片段数据的大小为S(n)、S(n-1)、S(n-2),三个时段对应的的平均接收速率分别为V(n)=S(n)/T(n)、V(n-1)=S(n-1)/T(n-1)、V(n-2)=S(n-1)/T(n-1),则下一时段的速率预测值为:
BWexp(n+1)={w0×V(n)+w1×V(n-1)+w2×V(n-2)}/(w0+w1+w2)
其中参数w0、w1、w2为分别对应于T(n)、T(n-1)、T(n-2)三个连续时段的平均接收速率的权重因子。w0选择较大、w1选择较小、w2选择最小以较好反映速率变化趋势,如可选w0=0.7,w1=0.2,w2=0.1。
回放状态可包括回放缓存数据时长T1(n),还可包括停顿播放时长T2(n)。回放缓存数据时长是指终端的视频回放缓存模块中已存储但还尚未播放的视频片段数据累积的可播放时长。停顿播放时长指终端的视频解码播放模块至当前时刻停止播放视频帧的累积时长。回放状态可反映终端侧用户观看视频的体验质量。
根据本发明的实施例中,每次完成一个时段的视频片段接收后,终端均需要根据实时更新的上述状态参数,自适应动态优化选择下一次时段的视频片段请求策略。即在T(n)时段完成视频片段的接收后,需要根据当前网络的速率状态及反映终端本地用户体验的回放状态,动态优化选择下一时段T(n+1)的视频片段请求策略。
图1示出本发明的示例性实施环境。参照图1所示,配置了视频元数据描述文件服务器200和视频内容服务器300,以提供终端100所需的数据。视频元数据描述文件服务器200和视频内容服务器300配置在网络侧。终端100通过空中接口连接到这两个服务器200、300。
图2示出本发明一实施例的视频自适应接收方法流程图。这一方法是在终端100侧执行。参照图2所示,在步骤201,根据当前视频片段请求策略向视频内容服务器300请求并接收当前时段的视频片段。在步骤202,估计当前时段的下一时段的视频平均速率预测值。该下一时段是紧接着当前时段。在步骤203,获取反映终端侧用户观看视频的体验质量的回放状态参数。回放状态参数可包括回放缓存数据时长和停顿播放时长。在步骤204,根据视频平均速率预测值以及回放状态参数适应性地确定下一时段的视频片段请求策略。
在一个实施例中,可以计算当前时段和当前时段之前的连续两个时段的视频平均接收速率,然后根据这些视频平均接收速率估计下一时段的视频平均速率预测值。在一实施例中,可以使用移动加权平均,对不同时段的视频平均接收速率使用不同的权重。
在步骤202,还可进一步根据下一时段的视频平均速率预测值和当前时段的视频平均速率预测值,计算下一时段相对于当前时段的速率波动因子。速率波动因子对于判断传输速率状态是否是十分有用的,当速率状态为稳定时,倾向于不改变视频片段请求策略。当速率状态为变动时,倾向于动态优化视频片段请求策略。然而,此时在步骤204的视频片段请求策略仍是基于视频平均速率预测值、速率波动因子以及回放状态参数共同做出。
在本发明的实施例中,回放状态参数还可包括能够反映用户观看体验的其他参数。
在本发明的一实施例中,视频片段请求策略可以包括选择视频片段模式。不同视频片段模式对应不同的分辨率,从而也对应不同的传输速率。可以根据视频平均速率预测值与各视频片段模式对应的传输速率的大小关系,以及该回放状态参数来共同确定下一时段的一视频片段模式。例如,当视频平均速率预测值高于某一视频片段模式对应的传输速率时,倾向于选择这一视频片段模式。当然,在确定时视频片段模式,回放状态参数仍会被考虑。
在选择了视频片段模式后,视频片段请求策略还可以包括确定并发请求的连续视频片段的个数。这一个数主要取决于视频平均速率预测值与所选择下一时段的视频片段模式所对应的传输速率之间的倍数关系。在确定了这一个数后,终端可从视频内容服务器300以这一个数并行地接收视频片段。
参照图1所示,终端可在步骤201之前向视频元数据描述文件服务器200请求并获取视频元数据。这一视频元数据可包括视频片段元数据。视频片段元数据进一步包括当前时段的视频片段的位置及播放时长。根据这些位置,在步骤201可向内容服务器300请求视频片段。这一视频元数据还可包括视频片段模式元数据。视频片段模式元数据描述对应不同分辨率及传输速率的视频编码方式。根据这一视频编码方式,终端将得到一对应的传输速率,以在确定视频片段请求策略时参考。
图3示出本发明一实施例的视频自适应接收装置的逻辑框图。参见图3所示,视频自适应接收装置100可包括视频元数据描述文件请求与解析模块101、视频片段请求模块102、速率估计模块103、视频解码播放模块104、视频回放缓存模块105、自适应调整逻辑模块106、以及回放状态监测模块107。这些模块可以在终端的浏览器中实施,并实现前述的自适应接收方法。
视频元数据描述文件请求与解析模块101用于解析HTML5标记语言中的视频元素(video element),根据视频元素中的视频元文件(MPD)统一资源定位(URL)说明,向网络侧的视频元数据描述文件服务器200请求并获取MPD。视频元数据描述文件请求与解析模块101将解析后的MPD发送给视频片段请求模块102,用于后者向视频内容服务器300请求视频片段,例如Web视频片段。同时,将MPD中的视频片段速率元数据信息发给自适应调整逻辑模块106,用于后者的自适应调整计算。视频速率是不同分辨率的视频片段编码模式对应的网络带宽要求。本实施例中以高分辨率视频片段模式、中分辨率视频片段模式及低分辨率视频片段模式所对应的高、中、低三种传输速率模式为例。这些步骤需在视频应用开始阶段完成。
每个获取视频片段,例如Web视频片段的新时段T(n+1),视频片段请求模块102均根据自适应调整逻辑模块106针对T(n+1)时段更新的视频片段请求策略完成。自适应调整逻辑模块106确定T(n+1)时段请求视频片段的策略的过程如下。
完成T(n)时段的视频片段接收后,视频片段请求模块102将本次接收时段的平均接收速率V(n)发送至速率估计模块103。速率估计模块103根据最近三个接收时段(T(n)、T(n-1)、T(n-2))的三个平均接收速率V(n)、V(n-1)、V(n-2),采用移动加权平均法估计下一接收时段T(n+1)的视频平均速率预测值BWexp(n+1),并将BWexp(n+1)发送给自适应调整逻辑模块106。
完成T(n)时段的视频片段接收后,视频片段请求模块102也同时向回放状态监测模块107发送回放状态监测更新的触发通知。获取该通知后,回放状态监测模块107触发回放状态监测更新,即:向视频回放缓存模块105获取当前最新的回放缓存数据时长T1(n),向视频解码播放模块104获取当前最新的停顿播放时长T2(n),并将T1(n)、T2(n)发送给自适应调整逻辑模块106。
完成T(n)时段的视频片段接收后,视频片段请求模块102将视频片段数据发送至视频回放缓存模块105。同时将视频片段对应所对应的MPD文件描述的视频片段播放时长元数据发送给视频回放缓存模块105,以便后者计算回放缓存数据时长。
视频解码播放模块104对视频回放缓存模块105存储的视频数据的视频回放方式可参考通用的视频回放方式。已有的通用视频回放方式策略体现在连续播放过程中当视频回放停顿后,如何确定最大保证用户体验的下次继续回放的时间条件。通常的视频回放方式策略可通过最长回放缓存数据时长TaMax及最长停顿播放时间TbMax描述:连续播放过程中当视频回放停顿时,需等回放缓存数据时长T1(n)大于或等于TaMax后,视频回放缓存模块105才开始继续向视频解码播放模块104继续发送视频帧数据进行回放;或者,当回放缓存数据时长T1(n)小于TaMax,但停顿播放时长T2(n)大于或等于TbMax,视频回放缓存模块105也开始继续向视频解码播放模块104发送视频帧数据进行回放。
自适应调整逻辑模块106获取新的BWexp(n+1)、T1(n)、T2(n)后,即获知了更新的状态参数:速率状态(包括稳定和变动两种情况)及回放状态(包括T1(n)、T2(n)两个参数)。相对于上一时段T(n-1),若状态参数不变,自适应调整逻辑模106向视频片段请求模块102发送的T(n+1)时段对应的视频片段请求策略维持不变。若状态参数变化,自适应调整逻辑模块106按照下述方法为T(n+1)时段选择新的视频片段请求策略,并将确定后的新的视频片段请求策略发送至视频片段请求模块102。其中,视频片段请求策略是指所选择的视频片段模式及并发请求该模式连续视频片段的个数。
首先自适应调整逻辑模块106确认基于BWexp(n+1)及MPD中的不同视频片段模式速率元数据信息确认可传输的视频片段模式。标记高分辨率、中分辨率及低分辨率视频片段模式对应的高、中、低传输速率为B_Hi、B_Mid、B_Low。则分为三种情况:
1、BWexp(n+1)>=B_Hi,可传输高分辨率、中分辨率及低分辨率三种视频片段模式;
2、B_Hi>BWexp(n+1)>=B_Mid,可传输中分辨率及低分辨率两种视频片段模式;
3、BWexp(n+1)<B_Mid,仅可传输低分辨率视频片段模式。
当为上述第3种情况时,对应T(n+1)的视频片段请求策略的视频片段模式为低分辨率视频片段模式,并发请求该模式连续视频片段的个数为〖BWexp(n+1)/B_Low〗,符号〖Y〗表示取小于Y的最大正整数。如果为上述第1、2两种情况,自适应调整逻辑模块106需根据当前回放状态按照下述方法继续选择对应T(n+1)的视频片段请求策略。
共有4种回放状态:T1(n)=0,表示当前视频回放缓存模块105中已经没有视频数据,视频播放已经中断;T1(n)>TaMax,表示当前视频播放流畅;0<T1(n)<TaMax,T2(n)>0,表示已经视频播放已经中断一段时间,但视频回放缓存模块105已开始累计存储一段视频数据;0<T1(n)<TaMax,T2(n)=0,表示当前正在流畅播放,但即将中断。
当BWexp(n+1)>=B_Hi时,进行下述选择:
1)T1(n)=0:T(n+1)时段选择低分辨率视频片段模式;
2)T1(n)>=TaMax:T(n+1)时段选择高分辨率视频片段模式;
3)0<T1(n)<TaMax,T2(n)>0:T(n+1)时段选择低分辨率视频片段模式;
4)0<T1(n)<TaMax,T2(n)=0:T(n+1)时段选择中分辨率视频片段模式。
当B_Hi>BWexp(n+1)>=B_Mid时,进行下述选择:
1)T1(n)=0:T(n+1)时段选择低分辨率视频片段模式;
2)T1(n)>=TaMax:T(n+1)时段选择中分辨率视频片段模式;
3)0<T1(n)<TaMax,T2(n)>0:T(n+1)时段选择低分辨率视频片段模式;
4)0<T1(n)<TaMax,T2(n)=0:T(n+1)时段选择中分辨率视频片段模式。
按照上述方法确认T(n+1)的视频片段请求策略的视频片段模式后,自适应调整逻辑模块106还需按照下述方法确认并发地请求该模式连续视频片段的个数Nt:
Nt=〖BWexp(n+1)/Vx〗
其中,Vx为确认的视频片段模式所对应的传输速率,即B_Hi或B_Mid或B_Low。这样,视频片段请求模块102可以并行接收数量为Nt的视频片段。
自适应调整逻辑模块106确定T(n+1)时段的上述视频片段请求策略后,将其发送给视频片段请求模块102,视频片段请求模块102按照该策略向视频内容服务器300通过XMLHttp Request异步并发请求机制获取相应的视频片段。其中,视频片段请求模块102可根据MPD文件中的视频片段标记元数据信息保证在不同分辨率模式切换视频片段接收时的视频内容同步。
视频片段请求模块102初次启动时的视频片段请求策略可由自适应调整逻辑模块106进行初始设置,如设置为高分辨率视频片段模式、单个XML HttpRequest请求。
下面是在移动终端HTML5浏览器环境,基于标记语言Video Element新特性,在视频接收与播放应用业务中,采用上述自适应调节方法进行视频接收调节的一个实例:
第1步:移动终端的HTML5浏览器中的视频元数据描述文件请求与解析模块解析所加载网页上的HTML5Video element,如下述HTML5标记语言中的Video element部分:
<Video width"320"height="240"control="autoplay">
<source src=example.mpd type="video/webm">
该HTML5标记语言描述了一个可在网页上自动播放的视频信息,该视频的元数据呈现描述文件为example.mpd,是视频文件以webm格式打包。
第2步:终端HTML5浏览器中的视频元数据描述文件请求模块向视频元数据描述文件服务器请求并获取与以XML方式描述的example.mpd文件,并对其解析,该MPD文件如下:
该视频元数据表示描述文件中,有三种视频表示模式,即:Representationid分别为Resolution_High、Resolution_Mid及Resolution_Low的三个表示模式。Resolution_High代表高分辨率的视频片段模式,其需要的速率最高,为224Kb/s;Resolution_Mid代表中分辨率的视频片段模式,其需要的速率为128Kb/s;Resolution_Low代表低分辨率的视频片段模式,其需要的速率最低,为56Kb/s。三种模式均采用vp8的编码方式,文件格式为Webm。三种模式中,本例中每个视频片段(Segment)的播放时长均假设为5秒。每个视频片段由SegmentURL:media属性描述其所文件所在URL,SegmentURL:mediaRange描述其在文件中的位置,SegmentURL:index为对应该视频片段的标记序列号。三个模式中,对同一个内容的不同分辨率的视频片段采用相同的标记序列号。
第3步:视频元数据描述文件请求与解析模块将解析的上述MPD文件发送至HTML5浏览器的视频片段请求模块,同时将对应三种视频片段模式的速率:224Kb/s、128Kb/s、56Kb/s发送至HTML5浏览器的自适应调整逻辑模块。
第4步:视频片段请求模块根据MPD文件中的Segment URL描述向视频内容服务器获取视频片段,可通过HTML5的XML Http Requst异步方式获取。并将获取的视频片段数据存入视频回放缓存模块,同时将对应于该视频片段的元数据(如视频片段播放时长)告知视频回放缓存模块。本实例中每个模式的视频片段的播放时长均为5秒。本实例中,初始XMLHttp Request所请求的视频片段所属的模式为Resolution_High,请求的视频片段个数为1,即顺序单个地请求Resolution_Mid表示模式模式的视频片段。当回放缓存模块中所存储的视频片段数据累积播放时长达到T1时,将回放缓存模块中的视频帧数据送入视频解码播放模块开始进行自动播放。本实例中可将当TaMax值设为30秒。
第5步:视频片段请求模块获取的视频片段数据时长达到30秒后(即获取6个连续Resolution_High模式的视频分片后),计算最后三个连续接收时段的平均接收速率。本例中每个Resolution_High视频片段为1.1M,如最后三次顺序时段T(n-2)、T(n-1)、T(n)接收到视频片段所用时间分别为T(n-2)=8秒,T(n-1)=9秒,T(n)=9秒,则三个连续接收时段的平均接收速率分别为V(n-2)=140Kb/s、V(n-1)=125Kb/s、V(n)=125Kb/s。
第6.1步:视频片段请求模块将上述三个连续接收时段的平均接收速率发送至速率估计模块。
第6.2步:同时,视频片段请求模块向回放状态监测模块发送回放状态监测更新触发指示,指示回放状态监测模块获取当前最新的回放状态。
第7.1步:速率估计模块根据依据移动加权平均的方式估计下次获取视频片段时段T(n+1)的视频平均速率预测值,并将该视频平均速率预测值发送给自适应调整逻辑模块。T(n+1)时段获取视频片段时的视频平均速率预测值为:
BWexp(n+1)={0.7×V(n)+0.2×V(n-1)+0.1×V(n-2)}=135Kb/s
本例中取权重因子为w0=0.7,w1=0.2,w2=0.1。
第7.2.步:回放状态监测模块向视频回放缓存模块获取当前的回放缓存数据时长T1(n),向视频解码播放模块获取当前的停顿播放时长T2(n),并将这两个参数作为更新的回放状态发送给自适应调整逻辑模块。这两个参数分别为T1(n)=30秒,T2(n)=0。
第8步:自适应调整模块根据正文中的自适应调整方式确定下一接收时段T(n+1)的视频片段请求策略。本例中去速率波动因子∈为5%。计算出当前的更新的状态参数为:速率状态变动、回放缓存数据时长30秒、停顿播放时长0秒。对应T(n+1)时段视频平均速率预测值135Kb/s,可传输Resolution_Mid、Resolution_Low两种模式的视频片段。本实例中设当TbMax为20秒。则确定的T(n+1)时段视频片段请求策略为:由当前的Resolution_High模式切换为Resolution_Mid模式,请求的连续视频片段数为1,即发起的并发XMLhttpRequest请求为1个。自适应调整逻辑模块将确定的T(n+1)时段视频片段请求策略发给视频片段请求模块。
第9步:视频片段请求模块向视频内容服务器发起一个XMLhttpRequest请求,其请求的URL从MPD文件的Representation Id为Resolution_Mid部分的SegmentURL属性获取,对应的SegmentURL:Index为最后一次获取的Resolution_High模式的视频片段的SegmentURL:Index+1。
第10步:视频片段请求模块在T(n+1)时段接收到请求的视频片段后,将获取的视频片段数据存入视频回放缓存模块。并计算该时段的平均接收速率,并将T(n+1)时段作为前述中的T(n)时段发送至速率估计模块,速率估计模块中存储的T(n)、T(n-1)时段类似处理,作为T(n-1)、T(n-2)。并循环跳转至第6.2步。即每依据当前的视频片段请求策略获取视频片段后,均需要依据当前的更新的状态参数决定下一次视频片段的接收策略。
本发明的上述实施例相比已有技术有以下优点:
1、由于同时基于网络传输速率情况和及终端侧视频回放用户体验两个维度的综合的实时的状态参数,在终端侧进行自适应的视频接收策略决策和调节,可以使视频传输更加主动地适应网络状态,并在终端侧视频播放效果方面获得更优化的用户体验。
2、所有自适应调节策略决策及执行均在终端侧本地完成,无需在服务器侧及终端侧间交换实时状态及控制信息,服务器侧完全透明,利于视频应用的分布式部署。
3、对视频应用调节是以视频片段为单位,能在更小粒度的层面实现视频接收的自适应调节方法,实现更加精细化的动态优化方法。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。
Claims (22)
1.一种终端侧的视频自适应接收方法,包括以下步骤:
按照当前时段的视频片段请求策略向一视频内容服务器请求并接收当前时段的视频片段;
每完成一次当前时段的视频接收,则估计下一时段的视频平均速率预测值;
每完成一次当前时段的视频接收,则触发获取反映终端侧用户观看视频的体验质量的回放状态参数,所述回放状态参数包括回放缓存数据时长及停顿播放时长;以及
根据所述下一时段的视频平均速率预测值以及所述回放状态参数适应性地确定所述下一时段向所述视频内容服务器的视频片段请求策略。
2.如权利要求1所述的终端侧的视频自适应接收方法,其特征在于,估计所述下一时段的视频平均速率预测值的步骤包括:
每完成一次当前时段的视频接收后,计算当前时段的视频平均接收速率;
根据所述当前时段的视频平均接收速率、以及当前时段的前两个连续时段的两个视频平均接收速率,估计所述下一时段的视频平均速率预测值。
3.如权利要求2所述的终端侧的视频自适应接收方法,其特征在于,对所述当前时段的视频平均接收速率、以及所述当前时段前两个连续时段的视频平均接收速率使用移动加权平均,以估计所述下一时段的视频平均速率预测值。
4.如权利要求1所述的终端侧的视频自适应接收方法,其特征在于,还包括,根据所述下一时段的视频平均速率预测值和所述当前时段的视频平均速率预测值计算所述下一时段相对于所述当前时段的速率波动因子,并且根据所述下一时段的视频平均速率预测值、所述速率波动因子以及所述回放状态参数适应性地确定所述下一时段的视频片段请求策略。
5.如权利要求1所述的终端侧的视频自适应接收方法,其特征在于,所述下一时段的视频片段请求策略包括所述下一时段对应的视频片段模式及所述视频片段模式下需并发请求接收的连续视频片段的个数,其中每一视频片段模式对应一分辨率及一传输速率。
6.如权利要求5所述的终端侧的视频自适应接收方法,其特征在于,根据所述下一时段的视频平均速率预测值与各视频片段模式对应的传输速率的大小关系,以及所述回放状态参数选择下一时段的视频片段模式。
7.如权利要求5所述的终端侧的视频自适应接收方法,其特征在于,根据所述下一时段的视频平均速率预测值与所选择的视频片段模式所对应的传输速率的倍数关系,确定所述视频片段模式下需并发请求接收的连续视频片段的个数。
8.如权利要求1所述的终端侧的视频自适应接收方法,其特征在于,在向所述视频内容服务器请求并接收所述当前时段的视频片段之前还包括:
向一视频元数据描述文件服务器请求并获取视频元数据,所述视频元数据包括视频片段元数据,所述视频片段元数据描述视频片段的位置。
9.如权利要求8所述的终端侧的视频自适应接收方法,其特征在于,所述视频元数据还包括视频片段模式元数据,所述视频片段模式元数据描述对应不同分辨率及传输速率的视频编码方式。
10.如权利要求1所述的终端侧的视频自适应接收方法,其特征在于,在视频接收开始的一个或多个时段,根据一初始视频片段请求策略向所述内容服务器请求并接收视频片段。
11.如权利要求1所述的终端侧的视频自适应接收方法,其特征在于,所述视频片段为HTML5的Web视频片段。
12.一种终端侧的视频自适应接收装置,包括:
用于按照当前时段的视频片段请求策略向一视频内容服务器请求并接收当前时段的视频片段的模块;
用于每完成一次当前时段的视频接收后估计下一时段的视频平均速率预测值的模块;
用于每完成一次当前时段的视频接收后触发获取反映终端侧用户观看视频的体验质量的回放状态参数的模块,所述回放状态参数包括回放缓存数据时长及停顿播放时长;以及
用于根据所述下一时段的视频平均速率预测值以及所述回放状态参数适应性地确定所述下一时段向所述视频内容服务器的视频片段请求策略的模块。
13.如权利要求12所述的终端侧的视频自适应接收装置,其特征在于,所述按照当前时段的视频片段请求策略向一视频内容服务器请求并接收当前时段的视频片段的模块,每完成一次当前时段的视频接收后,计算当前时段的视频平均接收速率;
所述用于估计下一时段的视频平均速率预测值的模块,根据所述当前时段的视频平均接收速率、以及当前时段的前两个连续时段的的两个视频平均接收速率,估计所述下一时段的视频平均速率预测值。
14.如权利要求13所述的终端侧的视频自适应接收装置,其特征在于,所述用于估计下一时段的视频平均速率预测值的模块对所述当前时段的视频平均接收速率、以及所述当前时段前两个连续时段的视频平均接收速率使用移动加权平均,以估计所述下一时段的视频平均速率预测值。
15.如权利要求12所述的终端侧的视频自适应接收装置,其特征在于,还包括,
根据所述下一时段的视频平均速率预测值和所述当前时段的视频平均速率预测值计算所述下一时段相对于所述当前时段的速率波动因子的模块;以及
用于根据所述下一时段的视频平均速率预测值、所述速率波动因子以及所述回放状态参数适应性地确定所述下一时段的视频片段请求策略的模块。
16.如权利要求12所述的终端侧的视频自适应接收装置,其特征在于,所述下一时段的视频片段请求策略包括所述下一时段对应的视频片段模式及所述视频片段模式下需并发请求接收的连续视频片段的个数,其中每一视频片段模式对应一分辨率及一传输速率。
17.如权利要求16所述的终端侧的视频自适应接收装置,其特征在于,根据所述下一时段的视频平均速率预测值与各视频片段模式对应的传输速率的大小关系,以及所述回放状态参数选择下一时段的视频片段模式。
18.如权利要求16所述的终端侧的视频自适应接收装置,其特征在于,根据所述下一时段的视频平均速率预测值与所选择的视频片段模式所对应的传输速率的倍数关系,确定所述视频片段模式下需并发请求接收的连续视频片段的个数。
19.如权利要求12所述的终端侧的视频自适应接收装置,其特征在于,还包括:
用于向一视频元数据描述文件服务器请求并获取视频元数据的模块,所述视频元数据包括视频片段元数据,所述视频片段元数据描述视频片段的位置。
20.如权利要求19所述的终端侧的视频自适应接收装置,其特征在于,所述视频元数据还包括视频片段模式元数据,所述视频片段模式元数据描述对应不同分辨率及传输速率的视频编码方式。
21.如权利要求12所述的终端侧的视频自适应接收装置,其特征在于,所述用于按照当前时段的视频片段请求策略向一视频内容服务器请求并接收当前时段的视频片段的模块,在视频接收开始的一个或多个时段根据一初始视频片段请求策略向所述内容服务器请求并接收视频片段。
22.如权利要求12所述的终端侧的视频自适应接收装置,其特征在于,所述视频片段为HTML5的Web视频片段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210586815.3A CN103905924B (zh) | 2012-12-28 | 2012-12-28 | 终端侧的视频自适应接收方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210586815.3A CN103905924B (zh) | 2012-12-28 | 2012-12-28 | 终端侧的视频自适应接收方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103905924A CN103905924A (zh) | 2014-07-02 |
CN103905924B true CN103905924B (zh) | 2018-06-08 |
Family
ID=50997038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210586815.3A Active CN103905924B (zh) | 2012-12-28 | 2012-12-28 | 终端侧的视频自适应接收方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103905924B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105898385A (zh) * | 2014-09-19 | 2016-08-24 | 青岛海尔电子有限公司 | 一种媒体优化文件的生成方法、调用方法及装置 |
CN105744308A (zh) * | 2014-12-08 | 2016-07-06 | 深圳Tcl数字技术有限公司 | 流媒体数据的下载方法及装置 |
US10904312B2 (en) * | 2014-12-10 | 2021-01-26 | Akamai Technologies, Inc. | Server-side prediction of media client steady state |
CN105471869B (zh) * | 2015-11-23 | 2019-05-21 | 珠海全志科技股份有限公司 | 一种互联网电视内容请求的连接复用方法及系统 |
CN106231416A (zh) * | 2016-08-16 | 2016-12-14 | 北京小米移动软件有限公司 | 视频处理方法及装置 |
CN108234433A (zh) * | 2016-12-22 | 2018-06-29 | 华为技术有限公司 | 用于处理视频业务的方法和装置 |
CN108282449B (zh) | 2017-01-06 | 2020-10-09 | 华为技术有限公司 | 一种应用于虚拟现实技术的流媒体的传输方法和客户端 |
JP6472478B2 (ja) | 2017-04-07 | 2019-02-20 | キヤノン株式会社 | 映像配信装置、映像配信方法及びプログラム |
CN109257626B (zh) * | 2017-07-13 | 2020-11-10 | 大唐移动通信设备有限公司 | 一种数据处理方法和装置 |
CN111510791B (zh) * | 2019-01-30 | 2022-07-29 | 上海哔哩哔哩科技有限公司 | 播放音视频的方法、装置、计算机设备及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185835A (zh) * | 2011-04-14 | 2011-09-14 | 广东威创视讯科技股份有限公司 | 一种实时网络信号播放方法及装置 |
CN102802089A (zh) * | 2012-09-13 | 2012-11-28 | 浙江大学 | 一种基于体验质量预测的移动视频码率调整方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101686383B (zh) * | 2008-09-23 | 2013-05-01 | Utc消防和保安美国有限公司 | 通过网络传输媒体的方法及系统 |
CN101795401A (zh) * | 2010-03-19 | 2010-08-04 | 中兴通讯股份有限公司 | 传输视频流媒体的方法及系统 |
CN102710586B (zh) * | 2011-03-28 | 2014-10-08 | 华为技术有限公司 | 流媒体传输控制方法、媒体传输控制方法、相关设备 |
CN102821268A (zh) * | 2012-07-17 | 2012-12-12 | 苏州坤里达信息科技有限公司 | 应急通信指挥系统中的无线接入多信道捆绑技术 |
-
2012
- 2012-12-28 CN CN201210586815.3A patent/CN103905924B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185835A (zh) * | 2011-04-14 | 2011-09-14 | 广东威创视讯科技股份有限公司 | 一种实时网络信号播放方法及装置 |
CN102802089A (zh) * | 2012-09-13 | 2012-11-28 | 浙江大学 | 一种基于体验质量预测的移动视频码率调整方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103905924A (zh) | 2014-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103905924B (zh) | 终端侧的视频自适应接收方法和装置 | |
CN106993237B (zh) | 基于mpeg-dash协议的动态自适应码率选择方法 | |
US10841358B2 (en) | System and method for determining quality of a media stream | |
CN104956631B (zh) | 用于执行链路感知自适应流传输的设备和方法 | |
CN109302623B (zh) | 一种基于QoE模型动态自适应视频的传输方法 | |
Jarnikov et al. | Client intelligence for adaptive streaming solutions | |
US9191284B2 (en) | Methods and apparatus for providing a media stream quality signal | |
CN103108257B (zh) | 一种用于嵌入式终端改善流媒体播放质量的方法及系统 | |
CN104350755B (zh) | 通过速率限制的自适应流视频客户端的稳定的方法和装置 | |
Krishnappa et al. | DASHing YouTube: An analysis of using DASH in YouTube video service | |
CN108063955B (zh) | 基于状态机的动态自适应视频传输的码率切换方法 | |
CN105357591A (zh) | 一种自适应码率视频直播的QoE监控和优化方法 | |
CN103179107A (zh) | 多径环境自适应流传输系统及方法 | |
CN105323604A (zh) | 一种QoE驱动的HTTP流媒体点播缓冲区控制方法 | |
Bentaleb et al. | Performance analysis of ACTE: A bandwidth prediction method for low-latency chunked streaming | |
CN106453270B (zh) | 基于pi控制流媒体的自适应传输算法 | |
JP2022545623A (ja) | ビデオプレイバックにおける予測ベースドロップフレームハンドリング論理 | |
JP2013214800A (ja) | ストリーミングメディア再生装置、ストリーミングメディア再生方法、及びプログラム | |
KR102304476B1 (ko) | 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법 | |
CN114071240A (zh) | 一种基于自适应程度的移动视频QoE评估方法 | |
Zahran et al. | ARBITER: Adaptive rate-based intelligent HTTP streaming algorithm | |
Togou et al. | An elastic DASH-based bitrate adaptation scheme for smooth on-demand video streaming | |
Zhang et al. | A QOE-driven approach to rate adaptation for dynamic adaptive streaming over http | |
Kim et al. | Content-aware rate adaptation scheme to improve stability in HTTP Adaptive Streaming | |
CN108900874A (zh) | 一种基于svc-dash框架的流媒体自适应请求方法及其装置 |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20140702 Assignee: Shanghai Li Ke Semiconductor Technology Co., Ltd. Assignor: Leadcore Technology Co., Ltd. Contract record no.: 2018990000159 Denomination of invention: Terminal-side video self-adaptation receiving method and device Granted publication date: 20180608 License type: Common License Record date: 20180615 |
|
EE01 | Entry into force of recordation of patent licensing contract |