视频播放方法、视频播放器及计算机存储介质.pdf
《视频播放方法、视频播放器及计算机存储介质.pdf》由会员分享,可在线阅读,更多相关《视频播放方法、视频播放器及计算机存储介质.pdf(16页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910871317.5 (22)申请日 2019.09.16 (71)申请人 清华大学 地址 100084 北京市海淀区100084信箱82 分箱清华大学专利办公室 (72)发明人 徐明伟孟子立陈婧郭雅宁 孙晨 (74)专利代理机构 北京聿宏知识产权代理有限 公司 11372 代理人 吴大建张杰 (51)Int.Cl. H04N 21/437(2011.01) H04N 21/44(2011.01) H04N 21/466(2011.01) H04N 21/647(2011。
2、.01) (54)发明名称 一种视频播放方法、 视频播放器及计算机存 储介质 (57)摘要 本发明公开了一种视频播放方法、 视频播放 器及计算机存储介质, 该方法应用于移动终端, 该方法包括: 播放由多个连续的视频块组成的预 定视频; 针对预定视频中的每个视频块, 计算该 视频块的第一播放状态, 并采用ABR算法并根据 第一播放状态计算与第一播放状态对应的该视 频块的下一个视频块的比特率决策; 将预定视频 中所有视频块的第一播放状态及其对应的动作 作为训练数据集; 采用CART算法基于训练数据集 生成决策树; 将决策树部署到移动终端的视频播 放器中并使视频播放器根据由决策树得到的比 特率播放视。
3、频。 本发明能够将复杂的ABR算法转 化为算法简单的决策树, 移动终端的视频播放器 根据由上述决策树得到的比特率播放视频时, 能 够极大地提高用户体验。 权利要求书2页 说明书9页 附图4页 CN 110784760 A 2020.02.11 CN 110784760 A 1.一种视频播放方法, 应用于移动终端, 其特征在于, 包括: 播放预定视频, 所述预定视频由多个连续的视频块组成; 针对所述预定视频中的每个视频块, 执行以下步骤: 计算该视频块的第一播放状态; 采用ABR算法根据所述第一播放状态计算与所述第一播放状态对应的动作, 其中, 与所 述第一播放状态对应的动作为该视频块的下一个视。
4、频块的比特率决策; 将所述预定视频中所有视频块的第一播放状态及其对应的动作作为第一训练数据集; 采用CART算法基于所述第一训练数据集生成用于确定播放视频用的比特率的决策树; 将所述决策树部署到移动终端的视频播放器中; 在所述视频播放器向预设的视频服务器发送请求, 并在接收到视频服务器反馈的请求 通过的消息后根据由决策树基于当前网络状态得到的比特率播放视频服务器反馈的视频。 2.根据权利要求1所述的视频播放方法, 其特征在于, 还包括: 对所述决策树进行优化; 将所述决策树部署到移动终端的视频播放器中, 包括: 将优化后的决策树部署到移动 终端的视频播放器中, 根据由决策树基于当前网络状态得到。
5、的比特率播放视频服务器反馈的视频, 包括: 根 据由优化的决策树基于当前网络状态得到的比特率播放视频服务器反馈的视频。 3.根据权利要求2所述的视频播放方法, 其特征在于, 所述采用CART算法基于所述第一 训练数据集生成决策树包括: 在CART算法中采用贪婪算法选择所述第一训练数据集中的播放状态作为数据特征构 建叶节点, 直到叶节点数达到第一预设阈值或者所述第一训练数据集的Gini系数小于第二 预设阈值。 4.根据权利要求3所述的视频播放方法, 其特征在于, 在生成决策树的过程中采用的损 失函数为l(r; r0): 其中, r (s), r0 *(s), 为当前生成的决策树, *为ABR算法。
6、, s为视频块的播放状 态; Rmax为预设的最大比特率, Rmin为预设的最小比特率。 5.根据权利要求4所述的视频播放方法, 其特征在于, 对所述决策树进行优化包括: S1: 播放所述预定视频; 针对所述预定视频中的每个视频块, 执行步骤S2和S3: S2: 基于所述决策树计算该视频块的第二播放状态; S3: 采用所述ABR算法根据所述第二播放状态计算与所述第二播放状态对应的动作, 其 中, 与所述第二播放状态对应的动作为该视频块的下一个视频块的比特率决策; S4: 汇总所述预定视频中的所有视频块的第一播放状态和第二播放状态, 获得优化方 法的播放状态; S5: 汇总所述预定视频中的所有视。
7、频块的第一播放状态对应的动作和所有视频块的第 二播放状态对应的动作, 获得优化方法的决策动作; S6: 将所述优化方法的播放状态和所述优化方法的决策动作作为第二训练数据集; 权利要求书 1/2 页 2 CN 110784760 A 2 S7: 将采用CART算法基于所述第二训练数据集生成的决策树作为优化后的决策树; 重复所述S1至S7, 直到达到预设的最大迭代次数。 6.一种视频播放器, 应用于移动终端, 其特征在于, 包括: 视频播放模块, 用于播放预定视频, 所述预定视频由多个连续的视频块组成; 计算模块, 用于针对所述预定视频中的每个视频块, 执行以下步骤: 计算该视频块的第一播放状态;。
8、 采用ABR算法根据所述第一播放状态计算与所述第一播放状态对应的动作, 其中, 与所 述第一播放状态对应的动作为该视频块的下一个视频块的比特率决策; 第一训练数据集获取模块, 用于将所述预定视频中所有视频块的第一播放状态及其对 应的动作作为第一训练数据集; 决策树生成模块, 用于采用CART算法基于所述第一训练数据集生成用于确定播放视频 用的比特率的决策树; 部署模块, 用于将所述决策树部署到所述视频播放器中; 收发模块, 用于在向预设的视频服务器发送请求, 并接收到视频服务器反馈的请求通 过的消息后通知所述视频播放模块根据由决策树基于当前网络状态得到的比特率播放视 频服务器反馈的视频。 7.。
9、根据权利要求6所述的视频播放器, 其特征在于, 还包括: 优化模块, 用于对所述决策树进行优化, 所述部署模块还用于将优化后的决策树部署到所述视频播放器中, 所述视频播放模块还用于根据由优化的决策树基于当前网络状态得到的比特率播放 视频服务器反馈的视频。 8.根据权利要求7所述的视频播放器, 其特征在于, 所述决策树生成模块用于在CART算 法中采用贪婪算法选择所述第一训练数据集中的播放状态作为数据特征构建叶节点, 直到 叶节点数达到第一预设阈值或者所述第一训练数据集的Gini系数小于第二预设阈值。 9.根据权利要求8所述的视频播放器, 其特征在于, 所述决策树构建模块采用的损失函 数为l(r。
10、; r0): 其中, r (s), r0 *(s), 为当前生成的决策树, *为ABR算法, s为视频当前的播放状 态; Rmax为预设的最大比特率, Rmin为预设的最小比特率。 10.一种计算机存储介质, 其上存储有计算机程序, 其特征在于, 所述计算机程序被处 理器执行时实现如权利要求1至5任意一项所述的视频播放方法。 权利要求书 2/2 页 3 CN 110784760 A 3 一种视频播放方法、 视频播放器及计算机存储介质 技术领域 0001 本发明涉及互联网信息技术领域, 尤其涉及一种视频播放方法、 视频播放器及计 算机存储介质。 背景技术 0002 在现有的网络系统中, 视频流量。
11、占网络总流量的很大一部分。 同时, 在线视频传输 的需求近年来迅猛增长。 为了优化用户在线观看视频的视频质量, 自适应比特率(Adaptive Bit-rate, ABR)技术应运而生。 ABR技术最早于2011年由学术界首先提出, 旨在优化用户的 体验质量(Quality of Experience, QoE)。 简单来说, ABR算法通过在客户端基于当前网络 情况的估计来选择最适合该用户的比特率进行视频传输。 利用ABR技术, 用户在线观看视频 时, 可以充分利用当前可用的网络带宽, 同时尽量避免卡顿等情况的出现, 从而提升用户的 体验质量。 0003 在实际部署中, ABR算法需要在Qo。
12、E需求的差异(有的用户希望视频清晰度尽可能 高而不在乎卡顿, 有的用户则相反)、 网络吞吐量的波动(未来网络吞吐难以准确预测)以及 决策与决策之间的关联效应(序贯决策过程中决策是前后依赖的)的共同作用下进行复杂 的优化。 现有技术中已经有各种不同的ABR算法的优化方案, 例如, 混合整数规划(Mixed Integer Linear Programming, MILP)、 李雅普诺夫优化和通过深度神经网络优化等, 以使 在线视频播放达到最优的性能。 0004 然而, 上述各种优化方案使得ABR算法在实际部署中存在很多问题。 目前大部分视 频都是在移动终端上播放的, 由于上述ABR优化算法较复杂。
13、, 而播放视频的移动终端的计算 资源通常十分有限, 难以支持复杂优化问题的求解, 因此, 视频内容提供商很难像传统方法 那样将ABR算法直接集成到HTML页面中, 在客户端播放器内进行部署, 这一问题会随着未来 ABR优化方法的进一步复杂化而变得更加严峻。 发明内容 0005 本发明要解决的技术问题是: 现有技术中的ABR优化算法较复杂, 导致无法直接在 客户端播放器内进行部署, 从而使视频播放时用户的观看体验较差。 0006 为解决上述技术问题, 本发明提供了一种视频播放方法, 应用于移动终端, 其包 括: 0007 播放预定视频, 所述预定视频由多个连续的视频块组成; 0008 针对所述预。
14、定视频中的每个视频块, 执行以下步骤: 0009 计算该视频块的第一播放状态; 0010 采用ABR算法根据所述第一播放状态计算与所述第一播放状态对应的动作, 其中, 与所述第一播放状态对应的动作为该视频块的下一个视频块的比特率决策; 0011 将所述预定视频中所有视频块的第一播放状态及其对应的动作作为第一训练数 据集; 说明书 1/9 页 4 CN 110784760 A 4 0012 采用CART算法基于所述第一训练数据集生成用于确定播放视频用的比特率的决 策树; 0013 将所述决策树部署到移动终端的视频播放器中; 0014 在所述视频播放器向预设的视频服务器发送请求, 并接收到视频服务。
15、器反馈的请 求通过的消息后根据由决策树基于当前网络状态得到的比特率播放视频服务器反馈的视 频。 0015 进一步的, 所述方法还包括: 0016 对所述决策树进行优化; 0017 将所述决策树部署到移动终端的视频播放器中, 包括: 将优化后的决策树部署到 移动终端的视频播放器中, 0018 根据由决策树基于当前网络状态得到的比特率播放视频服务器反馈的视频, 包 括: 根据由优化的决策树基于当前网络状态得到的比特率播放视频服务器反馈的视频。 0019 进一步的, 所述采用CART算法基于所述第一训练数据集生成决策树包括: 0020 在CART算法中采用贪婪算法选择所述第一训练数据集中的播放状态作。
16、为数据特 征构建叶节点, 直到叶节点数达到第一预设阈值或者所述第一训练数据集的Gini系数小于 第二预设阈值。 0021 优选的, 在生成决策树的过程中采用的损失函数为l(r; r0): 0022 0023 其中, r (s), r0 *(s), 为当前生成的决策树, *为ABR算法, s为视频块的播放 状态; Rmax为预设的最大比特率, Rmin为预设的最小比特率。 0024 进一步的, 对所述决策树进行优化包括: 0025 S1: 播放所述预定视频; 0026 针对所述预定视频中的每个视频块, 执行步骤S2和S3: 0027 S2: 基于所述决策树计算该视频块的第二播放状态; 0028 。
17、S3: 采用ABR算法根据所述第二播放状态计算与所述第二播放状态对应的动作, 其 中, 与所述第二播放状态对应的动作为该视频块的下一个视频块的比特率决策; 0029 S4: 汇总所述预定视频中的所有视频块的第一播放状态和第二播放状态, 获得优 化方法的播放状态; 0030 S5: 汇总所述预定视频中的所有视频块的第一播放状态对应的动作和所有视频块 的第二播放状态对应的动作, 获得优化方法的决策动作; 0031 S6: 将所述优化方法的播放状态和所述优化方法的决策动作作为第二训练数据 集; 0032 S7: 将采用CART算法基于所述第二训练数据集生成的决策树作为优化后的决策 树; 0033 重。
18、复所述S1至S7, 直到达到预设的最大迭代次数。 0034 本发明还提供了一种视频播放器, 应用于移动终端, 其包括: 0035 视频播放模块, 用于播放预定视频, 所述预定视频由多个连续的视频块组成; 0036 计算模块, 用于针对所述预定视频中的每个视频块, 执行以下步骤: 说明书 2/9 页 5 CN 110784760 A 5 0037 计算该视频块的第一播放状态; 0038 采用ABR算法根据所述第一播放状态计算与所述第一播放状态对应的动作, 其中, 与所述第一播放状态对应的动作为该视频块的下一个视频块的比特率决策; 0039 第一训练数据集获取模块, 用于将所述预定视频中所有视频块。
19、的第一播放状态及 其对应的动作作为第一训练数据集; 0040 决策树生成模块, 用于采用CART算法基于所述第一训练数据集生成用于确定播放 视频用的比特率的决策树; 0041 部署模块, 用于将所述决策树部署到所述视频播放器中; 0042 收发模块, 用于在向预设的视频服务器发送请求, 并接收到视频服务器反馈的请 求通过的消息后通知所述视频播放模块根据由决策树基于当前网络状态得到的比特率播 放视频服务器反馈的视频。 0043 进一步的, 所述视频播放器还包括: 0044 优化模块, 用于对所述决策树进行优化, 0045 所述部署模块还用于将优化后的决策树部署到视频播放器中, 0046 所述视频。
20、播放模块还用于根据由优化的决策树基于当前网络状态得到的比特率 播放视频服务器反馈的视频。 0047 进一步的, 所述决策树生成模块用于在CART算法中采用贪婪算法选择所述第一训 练数据集中的播放状态作为数据特征构建叶节点, 直到叶节点数达到第一预设阈值或者所 述第一训练数据集的Gini系数小于第二预设阈值。 0048 优选的, 所述决策树构建模块采用的损失函数为l(r; r0): 0049 0050 其中, r (s), r0 *(s), 为当前生成的决策树, *为ABR算法, s为视频当前的播 放状态; Rmax为预设的最大比特率, Rmin为预设的最小比特率。 0051 本发明还提供一种计。
21、算机存储介质, 其上存储有计算机程序, 所述计算机程序被 处理器执行时实现上述任意一项所述的视频播放方法。 0052 与现有技术相比, 上述方案中的一个或多个实施例可以具有如下优点或有益效 果: 0053 应用本发明的视频播放方法, 由于将计算极其复杂的原始ABR算法转化为算法简 单、 轻量级的决策树, 极大地降低了对计算资源的消耗, 并缩短了决策延迟, 因此, 可直接将 其部署到客户端的视频播放器中, 该视频播放器根据由上述决策树得到的比特率播放视频 时, 能够极大地提高用户体验。 附图说明 0054 通过结合附图阅读下文示例性实施例的详细描述可更好地理解本公开的范围。 其 中所包括的附图是。
22、: 0055 图1为本发明实施例的方法流程图一; 0056 图2为本发明实施例的方法流程图二; 0057 图3为本发明实施例的系统结构图一; 说明书 3/9 页 6 CN 110784760 A 6 0058 图4为本发明实施例的系统结构图二; 0059 图5为本发明实施例中决策树的结构示意图及其决策效果图; 0060 图6为本发明实施例中未经过优化的决策树的预测效果示意图; 0061 图7为本发明实施例的算法示意图。 具体实施方式 0062 为使本发明的目的、 技术方案和优点更加清楚, 以下将结合附图及实施例来详细 说明本发明的实施方法, 借此对本发明如何应用技术手段来解决技术问题, 并达成。
23、技术效 果的实现过程能充分理解并据以实施。 0063 本发明的设计目标为将复杂的ABR算法转化为轻量级的、 高效的线上部署模型, 且 需保证转化后的部署模型在性能上与原始ABR算法无差异。 这其中, 线性拟合、 非线性拟合、 策略摘要等方法均可作为目标转化模型的备选方案。 本发明最终基于以下原因, 采用决策 树作为目标转化模型: 0064 (1)决策树表达能力丰富。 由于决策树是一种非参数化的表达形式, 其可以表达复 杂的决策逻辑。 决策树丰富的表达能力使其在转化过程中可以保证ABR算法的性能。 如图5 所示, 即使在状态空间中, 决策边界的非线性程度很高, 决策树依然可以高保真地近似决策 边。
24、界, 这是因为其可以在需要的时候灵活地调整其决策粒度。 0065 (2)决策树足够轻量级。 由于二元决策树(二叉树)由一系列条件判断构成, 在实际 部署时网络管理员可通过JavaScript中的分支语句将其轻量级地实现。 部署一个100个叶 子节点的决策树为HTML页面带来的额外大小还不到1。 0066 (3)决策树决策逻辑与ABR算法类似。 ABR算法在决策时也一般由一系列的条件判 断组合而成。 例如, 优化QoE需要在目前缓冲区大小和网络吞吐量均较高(以避免视频卡 顿)、 当前分辨率也较高(以避免分辨率抖动)的前提下才可以选择高比特率。 0067 然而, 决策树是一种监督学习方法, 其为优。
25、化特定的损失函数(一般为平均预测误 差)而设计。 其通常需要一个较大的带有标签的数据集, 以在整个状态空间内优化。 数学上, 这一优化过程可表示为: 0068 0069 其中, d为当使用决策树策略 进行优化时的状态空间分布, s与 分别为观察到的 状态及其对应的决策。 然而, 由于分布与流量吞吐量、 视频长度以及策略内容等相互耦合, 因此很难直接计算状态的概率分布。 最近的一些研究工作通过在整个状态空间中均匀采样 来详尽地搜索每个状态的动作, 实际上这一方法既低效又有偏。 状态空间的维度通常很高 (Pensieve的状态空间有25维), 使得所有组合的列举效率低下。 同时, 由于状态空间中的。
26、状 态在现实世界中并不是均匀分布, 因此在状态空间中的均匀采样可能并不是无偏的, 因此 会降低性能。 因此, 我们采用虚拟播放器的设计, 并使用真实的网络流量数据来模拟ABR算 法。 与数据包级仿真相比, 虚拟播放器快速高效, 因为它们只计算视频块级别的信息。 然后, 我们在模拟播放过程中收集状态-动作对。 因为这些数据是用真实世界的流量数据生成的, 所以它们与真实生产环境比是无偏的。 0070 但是, 通过利用虚拟播放器, 基于给定数据集将ABR算法转换为决策树也具有挑战 性。 由于ABR系统的级联效应, 即使最终决策树的整体预测精度很高, 转换后的决策树的性 说明书 4/9 页 7 CN 。
27、110784760 A 7 能仍可能很差。 如图6所示, 尽管整体准确率很高, 但一次错误的决策可能会将决策树带入 到在训练时没有经历过的状态空间中去。 决策树因为不了解该子空间应该如何处理, 可能 会随之犯更多错误。 这将进一步推动决策树离开轨道并使性能恶化。 为了应对这一挑战, 受 到模仿学习的最新进展的启发, 本发明不断对决策树进行仿真实验, 并让原始ABR算法(教 师)纠正该决策树(学生)做出的错误决策。 在循环迭代中, 决策树将逐步学习如何在整个状 态空间做出决策。 0071 基于上述分析, 本发明实施例的算法如图7所示, 为了将复杂的原始ABR算法转化 为决策树, 本发明实施例采用。
28、虚拟播放器来有效地模拟真实视频播放器的系统动态性, 并 采用模仿学习来提高决策树的保真度。 本发明通过连续模拟决策树的性能, 并根据原始ABR 算法的结果纠正决策树所产生的错误。 以下为本发明实施例中算法代码的示意: 0072 0073 基于上述代码, 本发明提供一种视频播放方法, 其应用于移动终端, 如图1所示, 本 方法包括以下步骤: 0074 S110、 播放预定视频, 所述预定视频由多个连续的视频块组成; 0075 针对上述预定视频中的每个视频块, 执行步骤S120和步骤S130: 0076 S120、 计算该视频块的第一播放状态; 0077 S130、 采用待部署的ABR算法并根据所。
29、述第一播放状态, 计算与所述第一播放状态 对应的动作, 与所述第一播放状态对应的动作为该视频块的下一个视频块的比特率决策; 0078 S140、 将所述预定视频中所有视频块的第一播放状态及其对应的动作作为第一训 练数据集; 0079 本实施例中, 采用预先设置的虚拟播放器来播放预定视频, 该预定视频为划分为 视频块的网络流量数据集和视频摘要。 对于每个ABR算法, 本实施例首先在虚拟播放器中模 拟该ABR算法, 以收集初始状态-动作对(S,A)用于后续的决策树训练(上述算法代码的第1 行)。 本实施例中的决策树训练过程也即决策树的生成过程。 虚拟播放器是基于跟踪的块级 模拟器, 可以精确模拟具。
30、有痕迹和视频清单的实际视频播放器的行为。 对于某个待部署的 ABR算法, 虚拟播放器使用网络流量数据集和视频摘要作为算法的输入来进行模拟。 在实际 部署中, 内容提供商可以使用公共网络流量数据集或收集历史数据进行模拟。 此外, 我们的 评估表明, 即使在训练阶段使用的网络流量数据集在统计上与测试环境中的网络流量数据 特征不同, 本方法也具有很强的泛化能力。 0080 具体而言, 虚拟播放器不断地计算当前视频块的播放状态(即第一播放状态), 该 播放状态具体包括当前缓冲区的大小、 当前的下载时间等参数。 然后, 待部署的原始ABR算 说明书 5/9 页 8 CN 110784760 A 8 法获。
31、取上述第一播放状态, 为下一个视频块生成比特率决策, 该决策即为上述第一播放状 态对应的动作。 将该动作发送回虚拟播放器, 虚拟播放器根据该动作继续播放下一个视频 块, 然后继续计算下一个视频块的状态, 如此循环, 直到预定视频播放完成。 在这个过程中, 我们能够采集到每个视频块的播放状态及其对应的动作, 将这些状态-动作对初始化为(S, A),作为后续生成决策树的训练数据集。 0081 S150、 采用CART算法基于所述第一训练数据集生成决策树; 0082 如上 述 算法 代 码的 第3行 所 示 , 本实 施 例首先 使 用分 类 和回 归树 训练 (Classification and。
32、 Regression Tree, CART)算法基于初始化后的状态-动作对(S, A)生 成决策树 (也称为学生)。 本实施例中, 我们并没有采用现有技术中的0-1损失来预测准确 度(式1), 而是使用归一化的平方损失作为决策树生成期间的训练损失, 本实施例所采用的 损失函数如下: 0083 0084 其中, r (s), r0 *(s), 为当前生成的决策树, *为待部署的ABR算法, s为视频 当前的播放状态; Rmax为预设的最大比特率, Rmin为预设的最小比特率。 0085 使用平方损失背后的原理是希望惩罚学生(决策树)策略中的那些与教师(原始 ABR算法)策略相差甚远的比特率误差。
33、, 因为它们对视频卡顿等有更大的影响。 然后, 在CART 算法中采用贪婪算法选择上述第一训练数据集中的播放状态作为数据特征构建叶节点, 以 最小化损失函数, 直到叶节点数达到第一预设阈值或者第一训练数据集的Gini系数小于第 二预设阈值, 其中, 第一预设阈值由网络运营商设置。 当第一训练数据集的Gini系数小于第 二预设阈值时, 表明所有的样本已经被完全分开。 0086 S160、 将所述决策树部署到移动终端的视频播放器中, 使所述视频播放器向预设 的视频服务器发送请求, 并在接收到视频服务器反馈的请求通过的消息后根据由决策树得 到的比特率播放视频服务器反馈的视频。 0087 将复杂的原始。
34、ABR算法转化为简单的决策树后, 就可以像现有技术那样将决策树 直接部署到移动终端的视频播放器中。 通过决策树不断生成的比特率决策, 对网络视频进 行播放, 以改善用户的视频体验。 具体地, 视频播放器中的收发模块向预设的视频服务器发 送视频请求, 视频服务器向视频播放器的收发模块反馈请求通过的响应消息和网络视频, 上述收发模块接收到该网络视频后, 将其传送给视频播放器中的视频播放模块, 该视频播 放模块根据当前计算出的比特率对该网络视频进行播放。 这个播放过程同样是对组成该网 络视频的视频块进行播放的过程。 0088 为了提升所获得的决策树的性能, 如图2所示, 本实施例还包括: S170、。
35、 在将决策树 部署到移动终端之前, 还将上述获得的决策树进行优化; S180、 将优化后的决策树部署到移 动终端的视频播放器中, 并使视频播放器向预设的视频服务器发送请求, 并在接收到视频 服务器反馈的请求通过的消息后根据由优化后的决策树得到的比特率播放视频服务器反 馈的视频。 0089 本实施例中, 对决策树进行优化包括: 0090 S1: 播放所述预定视频; 0091 针对所述预定视频中的每个视频块, 执行步骤S2和S3: 说明书 6/9 页 9 CN 110784760 A 9 0092 S2: 基于所述决策树计算当前视频块的第二播放状态; 0093 S3: 采用待部署的ABR算法并根据。
36、所述第二播放状态, 计算与所述第二播放状态对 应的动作, 与所述第二播放状态对应的动作为下一个视频块的比特率决策; 0094 S4: 汇总所述预定视频中的所有视频块的第一播放状态和第二播放状态, 获得优 化方法的播放状态; 0095 S5: 汇总所述预定视频中的所有视频块的第一播放状态对应的动作和所有视频块 的第二播放状态对应的动作, 获得优化方法的决策动作; 0096 S6: 将所述优化方法的播放状态和所述优化方法的决策动作作为第二训练数据 集; 0097 S7: 将采用CART算法基于所述第二训练数据集生成的决策树作为优化后的决策 树; 0098 重复上述S1至S7, 直到达到预设的最大迭。
37、代次数。 因此, 本实施例对决策树的优化 是一种循环优化过程, 让老师循环地纠正学生作出的策略错误, 从而提高决策树的性能。 0099 具体地, 本实施例在虚拟播放器中模拟决策树 i, 并收集一系列新的状态-动作对 (Si, Ai)(上述算法代码中的第4行)。 目前, 虽然学生 i(即步骤S150中生成的决策树)已经知 道如何在面对培训状态时做出决策, 但独立模拟 i可能会导致表现不佳。 如图6所示, 由于 级联效应, 模拟中学生 i经历的Si中的许多状态可能在本实施例中的迭代的训练期间(即上 述步骤S1至S7)没有经历过。 我们仍需要在后续步骤中更正决策树策略。 0100 因此, 我们将Si。
38、中的状态提供给原始ABR算法 *(教师), 并收集教师生成的决策数 据集(上述算法代码中的第5行)。 最后, 我们用当前的状态-动作对汇总到总的学 生的状态和教师的行为(S,A)中, 并返回算法的第2行继续下一次迭代(上述算法代码中的 第6行)。 在这种情况下, 当在下一次迭代中训练决策树 i+1时, 它将从最后一次迭代所犯的 错误中吸取教训。 循环将这样继续, 直到达到用户设置的最大迭代次数(M)。 然后, 最后一次 迭代生成的决策树将被部署到客户端视频播放器中。 0101 下面对本发明实施例进行理论分析: 0102 如上所述, 网络运营商需要设置两个超参数: 最大迭代次数(M)和叶子节点数。
39、(第 一预设阈值)。 因此, 我们提供了本方法实际部署决策树时的平均损失函数界限(失真度)的 理论分析。 我们首先证明本实施例定义的的损失函数同时具有Lipschitz性和强凸性: 0103 结论1式2中的l(r; r0)同时具有Lipschitz性与强凸性。 0104证明:我们有: 0105 |l(r1; r0)-l(r2; r0)|(r1-r0)2-(r2-r0)2| 0106 |r1+r2-2r0|r1-r2|2(Rmax-Rmin)|r1-r2| (式3) 0107 最后一个不等号成立是因为l(r; r0)的定义域在Rmin, Rmax上。 因此l(r; r0)具有 Lipschitz。
40、性, Lipschitz常数为类似地, 我们同样可以证明l(r; r0) 具有强凸性。有: 说明书 7/9 页 10 CN 110784760 A 10 0108 0109 其中, 强凸性系数 2/(Rmax-Rmin)2。 证毕。 0110 由于损失函数l(r; r0)同时具有Lipschitz性与强凸性, 我们可以将Ross等人发表 在AISTATS 2011上的工作进行扩展。 因此, 我们可以得到, 当使用本方法产生的决策树独立 处理视频时, 平均损失函数的上界满足如下结论: 0111结论2对任意 0, 当训练时损失函数值为 M时, 存在策略使得平 均损失函数满足: 0112 0113当。
41、时, 上式成立概率大于1- 。 T是模拟播放其中的视频块数。 0114证明: 令为在初始状态s下采取动作a, 并随后t步内都采用策略 的成 本, 则: 0115 0116 其中, s为在 时刻的状态。 所以有: 0117 0118 根据Ross等人的工作, 结论2证毕。 0119可以通过不同迭代的决策树之间的交叉验证找到, 这通常是我们实验中最后一 次迭代的决策树 M。 因此, 我们为本方法的失真度提供了上限。 训练时的损失函数值 M与原 始ABR算法的复杂性和叶节点的数量N(决策树的表达能力)有关。 0120 本发明还提供一种视频播放器, 其应用于移动终端, 如图3所示, 该视频播放器包 括。
42、: 0121 视频播放模块, 用于播放预定视频, 所述预定视频由多个连续的视频块组成; 0122 计算模块, 用于针对所述预定视频中的每个视频块, 执行以下步骤: 0123 计算该视频块的第一播放状态; 0124 采用待部署的ABR算法并根据所述第一播放状态, 计算与所述第一播放状态对应 的动作, 与所述第一播放状态对应的动作为该视频块的下一个视频块的比特率决策; 0125 第一训练数据集获取模块, 用于将所述预定视频中所有视频块的第一播放状态及 其对应的动作作为第一训练数据集; 0126 决策树生成模块, 用于采用CART算法基于所述第一训练数据集生成决策树; 0127 部署模块, 用于将所。
43、述决策树部署到上述视频播放器中; 0128 收发模块, 用于向预设的视频服务器发送请求, 并在接收到视频服务器反馈的请 求通过的消息后通知所述视频播放模块根据由决策树得到的比特率播放视频服务器反馈 说明书 8/9 页 11 CN 110784760 A 11 的视频。 0129 进一步的, 如图4所示, 该视频播放器还包括: 0130 优化模块, 用于对所述决策树进行优化, 0131 所述部署模块还用于将优化后的决策树部署到视频播放器中, 0132 所述视频播放模块还用于根据由优化的决策树得到的比特率播放视频服务器反 馈的视频。 0133 在本播放器的实施例中, 决策树生成模块用于在CART算。
44、法中采用贪婪算法选择所 述第一训练数据集中的播放状态作为数据特征构建叶节点, 直到叶节点数达到第一预设阈 值或者所述第一训练数据集的Gini系数小于第二预设阈值。 0134 在本播放器的实施例中, 决策树生成模块采用的损失函数为l(r; r0): 0135 0136 其中, r (s), r0= *(s), 为当前生成的决策树, *为待部署的ABR算法, s为视频 当前的播放状态; Rmax为预设的最大比特率, Rmin为预设的最小比特率。 0137 本发明所述的视频播放器, 其具体的工作原理、 工作流程等可参见本发明所提供 的视频播放方法, 此处不再对相同的技术内容进行赘述。 0138 本发。
45、明还提供一种计算机存储介质, 其上存储有计算机程序, 所述计算机程序被 处理器执行时实现如本发明实施例所述的视频播放方法。 0139 本发明为ABR算法部署以用于视频播放的实用性设计, 可通用于多种在线视频客 户端设备, 包括但不限于: 个人电脑、 智能手机、 平板电脑、 智能电视等。 0140 本发明提供了一种视频播放方法及视频播放器, 以网络管理员所希望选取的ABR 算法为输入, 通过自动将复杂ABR算法(如MILP、 神经网络)转化为轻量级、 可直接部署的决 策树算法, 以降低ABR算法部署的资源消耗。 本发明在传统的直接部署方案中增加了轻量化 转化步骤, 为复杂ABR算法的实际部署提供。
46、支持。 同时, 为确保转化时的性能保障, 本发明提 出通过模仿学习进行循环迭代拟合, 使得转化后的决策树与转化前的复杂ABR算法性能相 近, 也有助于加速最新ABR技术的实际落地。 0141 本发明鉴别了复杂ABR算法直接部署的局限性, 创新性地设计了轻量化部署转化 方法, 提高了ABR算法部署的实用价值; 本发明通过对多种转化目标方案的分析, 创新性地 提出选用决策树作为实际上线部署的计算方案, 以降低ABR算法决策延迟、 内存消耗以及页 面大小资源消耗; 本发明创新性地在ABR算法客户端直接部署前引入轻量化转化步骤, 在不 用改变管理员训练或设计新ABR算法的前提下, 通过将实际部署的算法。
47、转换为决策树, 对复 杂ABR算法的资源消耗进行优化; 本发明还分析了视频传输中序贯决策过程的依赖性, 创新 性地设计了基于模仿学习的循环迭代拟合转化算法, 能确保转换前后ABR算法性能不损失。 将本发明生成的决策树部署到移动终端的视频播放器中时, 视频播放器向视频服务器请求 视频并根据由决策树得到的比特率播放该视频, 能够极大地提高用户的视频体验。 0142 虽然本发明所公开的实施方式如上, 但所述的内容只是为了便于理解本发明而采 用的实施方式, 并非用以限定本发明。 任何本发明所属技术领域内的技术人员, 在不脱离本 发明所公开的精神和范围的前提下, 可以在实施的形式上及细节上作任何的修改与变化, 但本发明的保护范围, 仍须以所附的权利要求书所界定的范围为准。 说明书 9/9 页 12 CN 110784760 A 12 图1 说明书附图 1/4 页 13 CN 110784760 A 13 图2 图3 说明书附图 2/4 页 14 CN 110784760 A 14 图4 图5 图6 说明书附图 3/4 页 15 CN 110784760 A 15 图7 说明书附图 4/4 页 16 CN 110784760 A 16 。
- 内容关键字: 视频 播放 方法 计算机 存储 介质
显示装置.pdf
电子机芯生产用配件装配设备.pdf
玻璃制品生产原料除铁设备.pdf
电路板点焊设备.pdf
茶叶分选用过滤装置.pdf
用于茶叶的储存罐结构.pdf
基于压感自调张力的化纤面料圆筒针织机牵拉结构.pdf
多功能小车移动防护结构.pdf
可拆卸式的灌装装置.pdf
输配电线路无线通信型激光雷达.pdf
炼厂货用升降机轿厢制停测距装置.pdf
文档扫描仪的纸张对齐机构.pdf
测量斜绕螺线管磁场强度的实验装置.pdf
通电检测夹具.pdf
用于丁基胶灌装机的压盘结构.pdf
真空绝热外墙复合一体板.pdf
提高丰年虫孵化率的孵化装置.pdf
陶瓷加工用球磨机.pdf
快速调节间隙的悬挂端梁.pdf
洁净室恒温恒湿空气处理组合风柜.pdf
汽车管柱筒生产用下料设备.pdf
裤耳机的裤耳定位装置.pdf
建筑设施抗震性能的评估方法、装置、设备及存储介质.pdf
基于牵引振动落饵料的导料槽结构及灭蚁毒饵撒料机.pdf
高通量高分辨率静态傅里叶变换光谱测量方法.pdf
智能计量包装方法及装置.pdf
RNA疫苗递送制剂及其制备方法.pdf
基于点云与有限元分析的飞机蒙皮修配方法.pdf
检测番鸭查帕马病毒的引物和探针、病毒分离培养方法.pdf
长效保湿乳液及其制备方法.pdf
水泥碎渣废料清理装置.pdf
基于病患信息的全病程管理平台的应用方法及系统.pdf
用于制造可重复扣紧的制品的方法.pdf
一种抗高原反应保健饮料及其制备方法.pdf
基于独立成份空间相关性消除功能磁共振数据噪声的方法.pdf
加速度传感器轴信息校正装置、及其校正方法.pdf
一种手持式园林花卉人工授粉装置.pdf
一种组合式高粱栽培装置.pdf
一种具备整体侧板机架的花生收获机.pdf
用于空间分辨地测定检查区域内的磁性粒子分布的方法.pdf
一种测定鸟类贮存食物和空间记忆的装置.pdf
果树高效环保杀虫器.pdf
一种含有波拉克林钾帕罗西汀的复合物.pdf
用于防止由糖尿病引起的微血管疾病的发展或恶化的血管紧张素Ⅱ受体阻断剂.pdf
一种适用于淡水鱼的转运箱分类管理方法.pdf
一种羊栖菜脱砷工艺.pdf
一种含有香菜的家用植物源驱虫剂及制备方法、应用.pdf
面罩系统.pdf
一种含锗冰淇淋及其制备方法.pdf
诺丽果浆及其制备方法.pdf
一种实用的机器人.pdf