CN112866756A - 一种多媒体文件的码率控制方法、装置、介质和设备 - Google Patents
一种多媒体文件的码率控制方法、装置、介质和设备 Download PDFInfo
- Publication number
- CN112866756A CN112866756A CN202011634256.XA CN202011634256A CN112866756A CN 112866756 A CN112866756 A CN 112866756A CN 202011634256 A CN202011634256 A CN 202011634256A CN 112866756 A CN112866756 A CN 112866756A
- Authority
- CN
- China
- Prior art keywords
- client
- gear
- multimedia file
- group
- slot machine
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000004044 response Effects 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 110
- 238000004891 communication Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 10
- 241000282376 Panthera tigris Species 0.000 claims description 7
- 238000013461 design Methods 0.000 abstract description 2
- AVIZABGQXBMRCJ-UHFFFAOYSA-N Mammea A/AB cyclo F Chemical compound C12=C(O)C(C(=O)C(C)CC)=C3OC(C(C)(C)O)CC3=C2OC(=O)C=C1C1=CC=CC=C1 AVIZABGQXBMRCJ-UHFFFAOYSA-N 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- AVIZABGQXBMRCJ-DYVFJYSZSA-N 1,2-Dihydro-5-hydroxy-2-(1-hydroxy-1-methylethyl)-4-(2-methylbutyryl)-6-phenylfurano[2,3-h][1]benzopyran-8-one Natural products O=C([C@@H](CC)C)c1c(O)c2C(c3ccccc3)=CC(=O)Oc2c2c1O[C@H](C(O)(C)C)C2 AVIZABGQXBMRCJ-DYVFJYSZSA-N 0.000 description 6
- 101100344898 Arabidopsis thaliana MED13 gene Proteins 0.000 description 6
- 101100350216 Arabidopsis thaliana PDH2 gene Proteins 0.000 description 6
- 101100075829 Caenorhabditis elegans mab-3 gene Proteins 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008713 feedback mechanism Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 208000003028 Stuttering Diseases 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- 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/25—Management 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/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- 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/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/25—Management 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/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
-
- 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/25—Management 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/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Computer Graphics (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种多媒体文件的码率控制方法、装置、介质和设备。根据本发明实施例提供的方案,可以在接收到客户端发送的多媒体文件获取请求时,确定客户端所属组别,利用客户端所属组别对应的多臂老虎机模型,确定客户端对应的档位,进而将该档位对应版本的多媒体文件发送至该客户端,从而实现码率控制。可以通过奖励函数的设计,基于多媒体文件的播放状态,对每个分组的用户需求反馈做出及时地响应,实现每个MAB模型基于用户需求反馈的自适应调节,进而可以动态、及时地调整输出策略,精细准确地针对每个分组分别进行码率控制,保证码率控制的准确性,更好地满足用户需求,提升用户体验质量。
Description
技术领域
本发明涉及音视频传输技术领域,特别涉及一种多媒体文件的码率控制方法、装置、介质和设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
短视频即短片视频,是一种互联网内容传播方式,一般是指在互联网新媒体上传播的时长在设定时长,例如5分钟以内的视频。
随着近年来网络传输技术和音视频技术的不断发展,短视频播放平台成长得越来越成熟。在将短视频下发到客户端时,为了平衡视频播放的清晰度和卡顿率,满足用户的观看需求,需要选择合适的码率,而如何选择合适的码率,即如何有效地进行码率控制就显得非常重要。
码率为下发一个音视频文件到客户端时,在单位时间内使用的数据流量,下发一个短视频选择的码率与短视频的清晰度有关。
可以理解为,在进行短视频下发之前,针对不同码率,预先生成了清晰度不同的多个版本。清晰度不同的多个版本可以按照清晰度进行排序,每个版本对应一个档位。在进行短视频下发时,需要从多个档位中选择一个档位对应的短视频版本进行传输,以实现码率控制。
现有的码率控制方法一般使用预测模型,通过对用户体验质量进行建模,确定出能带来最优用户体验的档位的短视频版本。
但是对用户体验质量进行建模得到的预测模型,缺乏自适应性,无法对用户的需求反馈做出及时的反应,且预测模型无法满足不同用户的需求,码率控制的准确性无法得到有效保证。
发明内容
本发明实施例提供一种多媒体文件的码率控制方法、装置、介质和设备,用于解决现有的码率控制方法准确性较差的问题。
第一方面,本发明提供了一种多媒体文件的码率控制方法,所述方法包括:
响应客户端的多媒体文件获取请求,确定所述客户端所属组别,所述客户端所属组别是基于获取的所述客户端的本地资源特征信息确定的;
利用所述客户端所属组别对应的多臂老虎机模型,确定所述客户端对应的档位,每个档位具有对应的多媒体文件的传输码率;所述多臂老虎机模型的奖励函数值是根据每次获取的属于所述组别的客户端反馈的播放状态参数确定并进行动态更新的;其中,所述播放状态参数是属于所述组别的客户端根据历史多媒体文件播放的播放状态进行动态反馈的;
按照所述客户端对应的档位,获取对应版本的多媒体文件,并向所述客户端发送。
第二方面,本发明还提供了一种多媒体文件的码率控制装置,所述装置包括:
响应模块,用于响应客户端的多媒体文件获取请求,确定所述客户端所属组别,所述客户端所属组别是基于获取的所述客户端的本地资源特征信息确定的;
确定模块,用于利用所述客户端所属组别对应的多臂老虎机模型,确定所述客户端对应的档位,每个档位具有对应的多媒体文件的传输码率;所述多臂老虎机模型的奖励函数值是根据每次获取的属于所述组别的客户端反馈的播放状态参数确定并进行动态更新的;其中,所述播放状态参数是属于所述组别的客户端根据历史多媒体文件播放的播放状态进行动态反馈的;
发送模块,用于按照所述客户端对应的档位,获取对应版本的多媒体文件,并向所述客户端发送。
第三方面,本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有可执行程序,该可执行程序被处理器执行实现如上所述的方法。
第四方面,本发明还提供了一种多媒体文件的码率控制设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存储的程序时,实现如上所述的方法步骤。
根据本发明实施例提供的方案,可以在接收到客户端发送的多媒体文件获取请求时,确定客户端所属组别,利用客户端所属组别对应的多臂老虎机模型,确定客户端对应的档位,进而将该档位对应版本的多媒体文件发送至该客户端,从而实现码率控制。其中,用于更新多臂老虎机模型的奖励函数值,根据每次获得的对应组别的客户端反馈的播放状态参数确定,而播放状态参数是对应组别的客户端根据历史多媒体文件播放的播放状态进行动态反馈的。因此,可以通过奖励函数的设计,基于多媒体文件的播放状态,对每个分组的用户需求反馈做出及时地响应,实现每个MAB模型基于用户需求反馈的自适应调节,进而可以动态、及时地调整输出策略,精细准确地针对每个分组分别进行码率控制,保证码率控制的准确性,更好地满足用户需求,提升用户体验质量。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的多媒体文件的码率控制方法的流程示意图;
图2为本发明实施例提供的确定客户端分组的流程示意图;
图3为本发明实施例提供的多媒体文件的码率控制方法的流程示意图;
图4为本发明实施例提供的多媒体文件的码率控制装置的结构示意图;
图5为本发明实施例提供的多媒体文件的码率控制设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面对本发明涉及的几个概念进行简单说明。
多媒体文件:将影像、声音、图像、文字、文本、动画等至少两种媒体结合在一起,形成的具有一定功能的整体文件,例如短视频等等。
短视频:即短片视频,是一种互联网内容传播方式,一般是指在互联网新媒体上传播的时长在设定时长,例如5分钟以内的视频。
长视频:与短视频相对,一般是指在互联网新媒体上传播的时长在指定时长,例如半小时以上的视频。
直播视频:即以网络直播的方式发布的视频。不同于占用较短时长的短视频,通常占用较长时长,例如,45分钟。
终端设备:任意可以安装需要获取、播放多媒体文件的客户端的载体,可以但不限于为移动电话(手机)、智能终端、笔记本电脑、平板电脑(PAD)等。
码率:下发一个多媒体文件,例如,短视频到客户端时,在单位时间内使用的数据流量。
档位:针对不同码率,预先生成同一多媒体文件清晰度不同的多个版本,同一多媒体文件的每个版本按照清晰度进行排序,一个档位即为一个版本对应的排序顺序分配的一个标识,同一多媒体文件的每个版本对应的排序顺序可以用等差数列来标识。
例如,假设针对不同码率,预先生成同一多媒体文件清晰度不同的三个版本,分别记为版本1、版本2和版本3,三个版本按照清晰度由高到低的顺序进行排序,得到版本3、版本2和版本1,那么版本3、版本2和版本1对应的档位可以分别用3、2、1来表示,其中,版本3对应档位3、版本2对应档位2、版本1对应档位1。
选档:从同一多媒体文件的多个版本分别对应的档位中,选择一个档位。
多臂老虎机模型(MAB模型,Multi-Armed Bandit Model):一种通过探索获取经验,并通过经验优化其决策的模型。可以理解为,环境给予的反馈遵从某种随机但未知的分布,MAB模型通过探索获取经验,并通过经验优化其决策的过程,就是要学习出这个未知分布中的某些参数,而且保证整个学习过程的整体收益尽量高。
奖励函数:MAB模型中衡量决策好坏的一个函数。
正是基于MAB模型可以通过探索获取经验,并通过经验优化其决策的特点,本申请考虑通过反馈机制,利用MAB模型来对用户的需求反馈进行响应,通过MAB模型的自适应调节,以及基于最大化累积用户体验质量的目标,实现的策略的动态输出,实现更为准确的码率控制,使得短视频播放能更好地满足用户需求,提升用户体验质量。
进一步的,本案发明人研究发现,针对不同用户,对于短视频的选档偏好不同,因此,对同一档位短视频播放的用户体验质量不同。而用户对于短视频的选档偏好往往与其使用的客户端的特征相关,例如,客户端所安装在的手机的硬件较佳的情况下,该客户端对应的用户往往偏好超清版本(可以理解为清晰度最高的版本)的短视频,而客户端所安装在的手机的硬件一般的情况下,由于播放超清版本的短视频可能存在卡顿等问题,该客户端对应的用户往往偏好高清版本(可以理解为清晰度一般的版本)的短视频。
因此,在本申请方案中,可以基于用于表征用户对于短视频的选档偏好的客户端特征,对客户端进行分组,从而可以利用每个分组分别对应的MAB模型,对对应分组内的客户端对应的用户反馈进行响应。利用每个MAB模型的自学习能力,自动化地指导对应用户不同选档偏好的分组分别进行选档,使得码率控制能够分组实现,更精准地针对每个分组分别进行码率控制,更好地满足每个分组中用户的需求。
需要进一步说明的是,用于表征用户对于短视频的选档偏好的客户端特征可以是实时变化的特征,此时,可以基于实时变化的客户端特征,对客户端进行动态分组。从而可以根据客户端特征的变化,切换客户端所在分组,及时切换MAB模型针对该客户端进行码率控制,解决同一用户在不同时刻的短视频选档偏好的波动问题,进一步提高码率控制的准确性。
基于上述主要技术构思的说明,本发明实施例提供一种多媒体文件的码率控制方法,本方法可以应用于服务器端,该方法的步骤流程可以如图1所示,包括:
步骤101、响应客户端的多媒体文件获取请求,确定客户端所属组别。
在本步骤中,若接收到客户端发送的多媒体文件获取请求,可以响应客户端发送的多媒体文件获取请求,确定客户端所属组别。
在本步骤中,可以基于获取的客户端本地资源特征信息,对客户端进行分组,即可以根据用户对多媒体文件的选档偏好对客户端进行分组,每个分组对应一个多臂老虎机模型,解决不同用户选档偏好不同的问题。
确定客户端对应的分组的方式可以为任意方式。例如,本步骤可以包括:
步骤11、获得客户端当前对应的本地资源特征信息。
获得客户端当前对应的本地资源特征信息可以通过任意方式实现。例如,在一种可能的实现方式中,客户端当前对应的本地资源特征信息可以携带在多媒体文件获取请求中,可以从多媒体文件获取请求中获得客户端当前对应的本地资源特征信息。即,客户端发送的每个多媒体文件获取请求中,均会携带该客户端当前对应的本地资源特征信息。
步骤12、根据获得的本地资源特征信息,确定客户端当前所属组别。
可以理解为,用于表征用户对于多媒体文件的选档偏好的本地资源特征信息可以是实时变化的,此时客户端对应的分组可以是实时变化的。因此可以实时获得客户端对应的本地资源特征信息,从而实时确定客户端对应的分组,实现对客户端的动态分组,保证对客户端分组的准确性。
即,针对同一个客户端进行码率控制的过程中,在客户端对应的本地资源特征信息发生变化时,可以根据变化的本地资源特征信息,重新确定客户端所在分组,从而重新确定对应的MAB模型,针对该客户端进行码率控制,进一步解决同一用户在不同时刻的选档偏好的波动问题。
当然,根据选择的用于表征用户对于多媒体文件的选档偏好的本地资源特征信息不同,客户端对应的分组可以是实时变化的,也可以是固定不变的。如果客户端对应的分组是固定不变的,那么确定客户端对应的分组的方式也可以发生变化。
例如,可以仅需要确定一次客户端对应的分组,并可以记录确定出的该客户端对应的分组,后续直接获取记录的该客户端对应的分组即可。而确定客户端对应的分组的过程可以是根据获得的客户端对应的本地资源特征信息,确定客户端对应的分组。
进一步的,在一种可能的实现方式中,客户端对应的本地资源特征信息可以是通过客户端首次发送的多媒体文件获取请求携带的。
基于上述构思,本领域技术人员经合理推测和简单变形,可以获得确定客户端对应的分组的其他可能方式,本实施例不再对其他可能方式一一进行说明。
在本实施例中,用于表征用户对于多媒体文件的选档偏好的本地资源特征信息,可以为任意用于描述客户端本地资源特征的信息。
本案发明人进一步通过实验数据研究发现,用户对多媒体文件的选档偏好往往与接入的网络类型信息、所在终端设备硬件属性信息以及网络环境特征信息有关。
因此,在一种可能的实现方式中,用于对客户端进行分组的本地资源特征信息,可以包括接入的网络类型信息、所在终端设备硬件属性信息以及网络环境特征信息中的至少一种。
其中,接入的网络类型信息可以用于描述客户端接入的网络类型,例如,可以但不限于为无线保真(WiFi)网络或非WiFi网络。
所在终端设备硬件属性信息可以用于描述客户端所在终端设备的硬件属性,例如,可以但不限于包括所在终端设备(例如手机)中央处理器(CPU)最大频率(cpu_max_fq)信息、CPU核心数(cpu_core)信息、操作系统信息以及解码能力信息中的至少一种。
网络环境特征信息可以用于描述客户端接入网络的网络环境,例如,可以但不限于包括互联网服务提供商、网络环境所在地区、网络带宽、网络速率以及用户带宽中的至少一种。
假设本地资源特征信息包括接入的网络类型信息、所在终端设备硬件属性信息以及网络环境特征信息,可以理解为,用于对客户端进行分组的本地资源特征信息可以是实时变化的,客户端对应的分组也可以是实时变化的。此时,确定客户端对应的分组,可以是根据获得的客户端当前接入的网络类型信息、客户端当前所在终端设备硬件属性信息以及客户端当前网络环境特征信息,确定客户端当前对应的分组,并可以通过以下方式实现:
首先,根据客户端当前接入的网络类型信息,确定客户端对应的网络类型是WiFi网络,还是非WiFi网络;
进一步的,可以根据客户端当前所在终端设备硬件属性信息,确定客户端所在的终端设备为高端终端设备(可以简单记为高端)、中端终端设备(可以简单记为中端)还是低端终端设备(可以简单记为低端)。即,可以将客户端所在的终端设备分类为高端终端设备(可以理解为终端设备硬件较佳)、中端终端设备(可以理解为终端设备硬件一般)和低端终端设备(可以理解为终端设备硬件较差)三类,可以根据客户端当前所在终端设备硬件属性信息,确定客户端当前所在终端设备属于哪一类;
更进一步的,可以根据客户端当前网络环境特征信息,确定客户端对应的网络环境为优、良还是差。即,可以将客户端对应的网络环境分类为优(可以理解为网络环境质量较佳)、良(可以理解为网络环境质量一般)和差(可以理解为网络环境质量较差)三类,可以根据客户端当前网络环境特征信息,确定客户端对应的网络环境属于哪一类。
按照以上层次化的分组方式,即可以根据获得的客户端当前对应的本地资源特征信息,确定客户端当前对应的分组。确定客户端分组的流程示意图可以如图2所示。
在一种可能的实现方式中,客户端可以在多媒体文件播放过程中实时收集接入的网络类型信息、所在终端设备硬件属性信息以及网络环境特征信息,并在设定条件,例如触发播放统计事件时,上报收集到的信息到hive数据库分区进行存储,并在需要获取收集的信息时,例如,需要发送多媒体文件获取请求时,获取保存的指定信息。
需要说明的是,用于对客户端进行分组的本地资源特征信息,不限于选择接入的网络类型信息、所在终端设备硬件属性信息以及网络环境特征信息中的至少一种。而根据选择的用于对客户端进行分组的本地资源特征信息不同,对客户端的分组方式也可能不同,例如,可以根据选择的用于对客户端进行分组的本地资源特征信息,将客户端总共分为九个分组,在本步骤中,可以确定发送多媒体文件获取请求的客户端属于九个分组中的哪个分组。
且,即使选择的用于对客户端进行分组的本地资源特征信息相同的情况下,对客户端的分组方式也可能不同,例如,选择的用于对客户端进行分组的本地资源特征信息包括选择接入的网络类型信息、所在终端设备硬件属性信息以及网络环境特征信息的情况下,可以如图2所示的将客户端总共分为十八个分组,也可以是将客户端总共分为十二个分组,其中,可以将客户端对应的网络环境分类为两类(可以分别记为优质和一般),或者,也可以是将客户端总共分为十二个分组,其中,可以将客户端所在的终端设备分类为两类(可以分别记为优质和一般)等等。
需要另外说明的是,在一种可能的实现方式中,多媒体文件获取请求中可以携带客户端需要获取的多媒体文件对应的多媒体文件标识,以便后续下发多媒体文件标识对应版本的多媒体文件。
步骤102、利用客户端所属组别对应的多臂老虎机模型,确定客户端对应的档位。
在本实施例中,可以理解为,每个档位具有对应的多媒体文件的传输码率,通过多臂老虎机模型进行选档,即可以实现码率控制。在确定出客户端对应的分组后,即可以利用确定出的分组对应的多臂老虎机模型,确定客户端对应的档位。
在本步骤中,可以利用客户端所属组别对应的MAB模型,针对接收到的多媒体文件获取请求所请求获取的多媒体文件,确定出一个对应的档位,以便将该档位对应版本的多媒体文件发送给客户端进行播放,更好地满足观看用户的需求。
在本实施例中,每个MAB模型以最大化累积用户体验质量为目标进行输出,为了最大化累积用户体验质量,每个MAB模型的奖励函数可以根据指定的播放状态指标确定。且每个MAB模型的奖励函数值是根据每次获取的属于对应组别的客户端反馈的播放状态参数确定并进行动态更新的,其中,播放状态参数是属于对应组别的客户端根据历史多媒体文件播放的播放状态进行动态反馈的。而每个MAB模型根据奖励函数值进行更新,从而使得每个MAB模型可以根据对应分组的播放状态信息,对对应分组的用户反馈进行及时地响应,提高码率控制的准确性。
每个分组对应的MAB模型,根据每次获得该分组中的客户端对应的播放状态参数后,确定出的奖励函数值进行更新,从而使得每个MAB模型可以对对应分组中的用户反馈进行及时地响应,提高码率控制的准确性。
可以理解为,每个分组初始对应的MAB模型可以是相同的,但是由于针对每个MAB模型,每次获得的播放状态参数可能不同,根据奖励函数确定出的奖励函数值也就可能不同,导致每个MAB模型的更新方式可能不同,从而可以利用每个MAB模型,针对每个分组来分别确定档位。
一次获得的播放状态参数,可以理解为根据利用多臂老虎机模型确定出一个档位后,对应的多媒体文件发送至客户端播放时的播放状态确定。可以理解为,利用多臂老虎机模型根据多媒体文件获取请求,确定出一个档位,对应的多媒体文件发送至客户端播放后,可以获得一次播放状态参数。
利用多臂老虎机模型,确定客户端对应的档位,可以通过任意方式实现。
例如,可以是针对接收到的多媒体文件获取请求,利用多臂老虎机模型,直接确定出一个对应的档位。
又如,可以是针对接收到的多媒体文件获取请求,利用多臂老虎机模型,确定出一个对应的档位调节策略,根据确定出的档位调节策略,对确定出的档位,该档位可以是按照任意现有方式确定出的,例如根据网络带宽确定出的档位进行调节,将调节后的档位确定为发送多媒体文件获取请求的客户端对应的档位。
以每个分组对应的多臂老虎机模型,确定客户端对应的档位,是通过多臂老虎机模型输出的档位调节策略,对按照现有方式确定出的档位进行调节来获得为例,本步骤可以包括:
步骤21、利用客户端所属组别对应的多臂老虎机模型,确定客户端对应的档位调节策略。
步骤22、根据确定出的档位调节策略,对确定出的档位进行调节,将调节后的档位确定为客户端对应的档位。
步骤103、按照客户端对应的档位,获取对应版本的多媒体文件,并向客户端发送。
可以理解为,针对多媒体文件获取请求携带的多媒体文件标识,预先保存了多个版本的多媒体文件,在本步骤中,可以将确定出的档位对应的某个版本的多媒体文件发送至客户端,使得客户端可以播放该版本的多媒体文件。
需要说明的是,在本实施例中,多臂老虎机模型可以基于任意算法实现,例如,可以但不限于基于UCB-Tuned、UCB-1、e-greedy等算法实现。
以多臂老虎机模型基于UCB-Tuned算法实现为例,假设利用预先建立的多臂老虎机模型,针对接收到的多媒体文件获取请求,确定出一个对应的档位调节策略,那么多臂老虎机模型可以表示如下:
I=argmaxi(Xt(i)/Nt(i)+ct(i));
其中,确定出的档位调节策略I,为预先设定的档位调节策略i中,使得Xt(i)/Nt(i)+ct(i)最大的i;
Xt(i)代表档位调节策略i价值的估计值;
Nt(i)代表档位调节策略i作为确定出的档位调节策略I的次数;
t代表利用该多臂老虎机模型进行档位调节的总次数;
ct(i)代表档位调节策略i的置信区间上界,表示如下:
预先设定的档位调节策略i,可以包括提升档位、档位不变和降低档位三类。
例如,档位调节策略i可以包括三个,分别是提升一个档位,对应的i可以用+1表示,档位不变,对应的i可以用0表示,以及,降低一个档位,对应的i可以用-1表示。
当然,档位调节策略i可以不限于包括三个,也可以包括更多。例如,档位调节策略i可以包括五个,分别是提升两个档位,对应的i可以用+2表示,提升一个档位,对应的i可以用+1表示,档位不变,对应的i可以用0表示,降低一个档位,对应的i可以用-1表示,以及,降低两个档位,对应的i可以用-2表示。
此外,档位调节策略i的档位调节幅度也不限于为一个档位,也可以为多个档位,例如,档位调节策略i可以包括三个,分别是提升两个档位,对应的i可以用+2表示,档位不变,对应的i可以用0表示,以及,降低两个档位,对应的i可以用-2表示。
在本实施例中,每个多臂老虎机模型根据奖励函数值进行更新,可以是在指定的更新时刻进行。指定的更新时刻可以按照任意方式设定。
例如,指定的更新时刻可以是每次获得播放状态参数的时刻。即可以在每次获得播放状态参数的时刻,对对应的多臂老虎机模型进行更新。从而可以及时地对用户需求反馈进行响应。
又如,指定的更新时刻可以是按照设定的更新周期确定的,如,设定的更新周期为每5分钟更新一次,那么可以在上一次更新后,更新周期时长(如,5分钟)到达时,再次更新多臂老虎机模型。
通过更新周期的设定,可以在通过对模型进行更新,保证对用户需求反馈进行及时响应的同时,避免频繁地更新模型占用大量的系统资源。
当然,如果每个分组对应一个多臂老虎机模型,每个多臂老虎机模型的更新周期可以相同,也可以不相同,可以根据需要进行灵活设置。且,根据更新周期起点设置的不同,每个多臂老虎机模型可以在同一时刻更新,也可以在不同时刻更新。
需要进一步说明的是,如果发送多媒体文件获取请求的客户端之前曾经根据步骤101~步骤103进行过码率控制,接收多媒体文件并播放,在本实施例中,还可以在步骤101之后,获取该客户端最后一次播放多媒体文件时的播放状态参数,并可以在指定的更新时刻,利用获取的播放状态参数确定出的奖励函数值,更新对应的多臂老虎机模型。该多臂老虎机模型为用于确定该客户端最后一次播放的多媒体文件对应的档位(如,档位调节策略)的多臂老虎机模型。
其中,客户端最后一次播放多媒体文件时,播放状态参数可以通过任意方式从客户端获取。例如,从客户端发送的多媒体文件获取请求中获取。
也就是说,在本实施例中,如果发送多媒体文件获取请求的客户端之前曾经根据步骤101~步骤103进行过码率控制,那么在本实施例中,还可以根据该客户端最后一次播放多媒体文件时的播放状态信息,对对应的多臂老虎机模型进行更新。
基于上述说明,上述多臂老虎机模型可以按照如下方式进行一次更新:
Nt+1(i)=Nt(i)*γ+m
其中,γ表示设定的衰减率系数;
rewardj表示根据上一次更新到本次更新的时间段内第j次获取的播放状态参数,确定出的奖励函数值;
m表示上一次更新到本次更新的时间段内,获取播放状态参数的总次数,m为不小于1的正整数。
在本实施例中,衰减率系数可以根据需要进行设定,例如,衰减率系数可以设定为0.95。
根据上述更新方式可知,如果针对一个MAB模型,本次更新距离上一次更新之间间隔的时间段内,获取到了m次播放状态参数,可以利用每次获取到播放状态参数,所对应的奖励函数值的和值,对该MAB模型进行更新。当然,如果本次更新距离上一次更新之间间隔的时间段内,没有获取到播放状态参数,则可以不对该MAB模型进行更新。
在本实施例中,多臂老虎机模型的奖励函数根据播放状态指标确定。用于确定奖励函数的播放状态指标可以为任意的播放状态指标。例如,在一种可能的实现方式中,用于确定奖励函数的播放状态指标可以包括结束播放时视频播放比例(play_progress),卡顿次数(stuck_cnt),第一次卡顿发生的时间(firststucktime),视频长度(duration),视频播放等待时长(timestartplay)和视频码率(bitrate)。即,可以用以上六个播放状态指标,来作为衡量用户体验质量的指标。
其中,play_progress可以理解为视频播放结束时,播放的视频时长占视频总时长的比例;
stuck_cnt可以理解为视频播放过程中,发生卡顿的次数;
firststucktime可以理解为视频播放过程中,第一次发生卡顿的时间;
duration可以理解为播放的视频的总时长;
timestartplay可以理解为从启动播放,到实际播放之间的等待时长;
bitrate可以理解为下发视频时,在单位时间内使用的数据流量。
以用于确定奖励函数的播放状态指标包括上述六个播放状态指标为例,在一种可能的实现方式中,奖励函数的表示形式可以但不限于如下所示:
reward=0.24*playprogress_rew+0.54*stuck_rew+0.20*timestartplay_rew+0.02*bitrate_rew
其中:
playprogress_rew=(play_progress/100)0.2
bitrate_rew=(bitrate/800)2
如上奖励函数的表示形式所示,可以理解为奖励函数由四个子奖励函数,按照不同的权重构成,四个子奖励函数分别记为playprogress_rew、stuck_rew、timestartplay_rew以及bitrate_rew,表示形式分别如上所示。
考虑到多臂老虎机模型根据奖励函数值进行更新,对奖励函数比较敏感,在本实施例中,可以根据历史每次确定出档位,对应的多媒体文件发送至客户端播放后,客户端对应的播放状态参数,对奖励函数进行调整优化,其中,对奖励函数进行调整优化,可以理解为对如上所示的奖励函数中,至少一个子奖励函数的表示形式中的至少一个系数进行调整优化,和/或,对奖励函数的表示形式中的各子奖励函数的权重进行调整优化。从而通过对奖励函数的优化,进一步保证通过多臂老虎机模型进行码率控制的准确性。
以每个分组对应一个多臂老虎机模型,每个多臂老虎机模型均如上所示为例,则每个多臂老虎机模型的奖励函数可以按照以下方式中的至少一种确定,从而获得较为准确的奖励函数(可以理解为,如上所示的奖励函数表示形式,即为经过优化获得的奖励函数),使得码率控制更为准确:
方式一、针对每种档位调节策略,奖励函数值的平均值之间的差值不大于第一设定值,所述奖励函数值的平均值,为每个分组对应的多臂老虎机模型对应的,奖励函数值的平均值。
在这种方式下,可以针对所有的多臂老虎机模型,平衡每种档位调节策略的奖励函数值的平均值,使得各平均值接近,从而使得根据这种方式确定出奖励函数后,每种档位调节策略被决策出的概率相似。
例如,假设存在3个分组,分别记为分组1、分组2和分组3,每个分组对应一个MAB模型,依次记为MAB1、MAB2和MAB3,每个模型对应三种档位调节策略,分别记为策略1、策略2和策略3。
假设在设定时长内进行统计得到,利用MAB1进行了20次决策,其中,决策出策略1共10次,决策出策略2共5次,决策出策略3共5次。针对每次决策各获得一次对应的播放状态参数。
假设在上述设定时长内统计得到,利用MAB2进行了25次决策,其中,决策出策略1共12次,决策出策略2共6次,决策出策略3共7次。针对每次决策各获得一次对应的播放状态参数。
假设在上述设定时长内统计得到,利用MAB3进行了18次决策,其中,决策出策略1共8次,决策出策略2共6次,决策出策略3共4次。针对每次决策各获得一次对应的播放状态参数。
那么在本方式下,需要对奖励函数进行调节,使得策略1对应的30个奖励函数值(针对每次决策获得的播放状态参数,可以用于计算出一个奖励函数值)的平均值、策略2对应的17个奖励函数值的平均值以及策略3对应的16个奖励函数值的平均值之间的差值不大于第一设定值。
方式二、针对每个分组对应的多臂老虎机模型,该多臂老虎机模型对应的一种档位调节策略,作为确定出的档位调节策略I的次数,与其他种档位调节策略,作为确定出的档位调节策略I的次数之间的差值均不小于第二设定值。
在这种方式下,针对每个多臂老虎机模型,可以对每种档位调节策略被决策出的概率进行区分,从而使得根据这种方式确定出奖励函数后,每个多臂老虎机模型不会按照相似的概率决策出每种档位调节策略,可以更好地实现对反馈信息的响应。
例如,仍然假设存在3个分组,分别记为分组1、分组2和分组3,每个分组对应一个MAB模型,依次记为MAB1、MAB2和MAB3,每个模型对应三种档位调节策略,分别记为策略1、策略2和策略3。
那么在本方式下,需要对奖励函数进行调节,使得利用MAB1进行的决策中,某种档位调节策略,作为确定出的档位调节策略I的次数,与其他种档位调节策略,作为确定出的档位调节策略I的次数之间的差值均不小于第二设定值。例如,策略1作为确定出的档位调节策略I的次数,与策略2作为确定出的档位调节策略I的次数之间的差值不小于第二设定值,且策略1作为确定出的档位调节策略I的次数,与策略3作为确定出的档位调节策略I的次数之间的差值也不小于第二设定值。
同时,通过对奖励函数进行调节,还使得利用MAB2进行的决策中,某种档位调节策略,作为确定出的档位调节策略I的次数,与其他种档位调节策略,作为确定出的档位调节策略I的次数之间的差值也均不小于第二设定值。
另外,通过对奖励函数进行调节,还使得利用MAB3进行的决策中,某种档位调节策略,作为确定出的档位调节策略I的次数,与其他种档位调节策略,作为确定出的档位调节策略I的次数之间的差值也均不小于第二设定值。
方式三、针对每种档位调节策略,奖励函数的每个子奖励函数值的方差之间的差值不大于第三设定值,其中,针对所述奖励函数的每个子奖励函数,该子奖励函数值的方差,为根据每个分组对应的多臂老虎机模型对应的奖励函数的该子奖励函数值,所获得的方差。
在这种方式下,可以针对所有的多臂老虎机模型,平衡每种档位调节策略的奖励函数子奖励函数的方差,使得各方差接近,从而使得根据这种方式确定出奖励函数后,每种档位调节策略被决策出的概率相似。
例如,仍然假设存在3个分组,分别记为分组1、分组2和分组3,每个分组对应一个MAB模型,依次记为MAB1、MAB2和MAB3,每个模型对应三种档位调节策略,分别记为策略1、策略2和策略3。
假设在设定时长内进行统计得到,利用MAB1进行了20次决策,其中,决策出策略1共10次,决策出策略2共5次,决策出策略3共5次。针对每次决策各获得一次对应的播放状态参数。
假设在上述设定时长内统计得到,利用MAB2进行了25次决策,其中,决策出策略1共12次,决策出策略2共6次,决策出策略3共7次。针对每次决策各获得一次对应的播放状态参数。
假设在上述设定时长内统计得到,利用MAB3进行了18次决策,其中,决策出策略1共8次,决策出策略2共6次,决策出策略3共4次。针对每次决策各获得一次对应的播放状态参数。
那么在本方式下,需要对奖励函数进行调节,使得策略1对应的30个playprogress_rew值(针对每次决策获得的对应的播放状态参数,可以用于计算出一个playprogress_rew值)的方差、策略2对应的17个playprogress_rew值的方差以及策略3对应的16个playprogress_rew值的方差之间的差值不大于第三设定值。
同时,通过对奖励函数进行调节,还使得策略1对应的30个stuck_rew值(针对每次决策获得的对应的播放状态参数,可以用于计算出一个stuck_rew值)的方差、策略2对应的17个stuck_rew值的方差以及策略3对应的16个stuck_rew值的方差之间的差值也不大于第三设定值。
另外,通过对奖励函数进行调节,还使得策略1对应的30个timestartplay_rew值(针对每次决策获得的对应的播放状态参数,可以用于计算出一个timestartplay_rew值)的方差、策略2对应的17个timestartplay_rew值的方差以及策略3对应的16个timestartplay_rew值的方差之间的差值也不大于第三设定值。
而通过对奖励函数进行调节,还使得策略1对应的30个bitrate_rew值(针对每次决策获得的对应的播放状态参数,可以用于计算出一个bitrate_rew值)的方差、策略2对应的17个bitrate_rew值的方差以及策略3对应的16个bitrate_rew值的方差之间的差值也不大于第三设定值。
根据本发明实施例提供的方案,利用MAB模型来进行码率控制,通过与用户进行交互,利用反馈机制提高码率控制的准确性。其中,可以根据播放状态及时响应用户反馈,实现对用户反馈的自适应调节,并可以根据用户的满意程度,动态、及时地调整输出策略。
另外,考虑到不同客户端对应的用户,对同一档位多媒体文件的用户体验质量可能不同,根据本发明实施例提供的方案,可以对客户端进行分组,每个分组可以理解为对应类似的多媒体文件选档偏好,更加精细地区分出具有不同选档偏好的用户组。进而可以针对每个分组,分别设置MAB模型来进行策略决策,针对每个分组分别进行用户选档行为建模,最大化累积对应分组用户体验质量,更加精准和智能地针对每个分组进行档位调节,提升用户观看体验,并提高用户对客户端的使用满意度。
通过区分不同的客户端分组,可以避免由于不同用户的多媒体文件选档偏好不同,造成的码率控制结果的系统性偏差。而通过对客户端分组的实时确定,还可以避免同一用户在不同时刻的多媒体文件选档偏好的波动,进一步减少码率控制结果的系统性偏差,优化用户的多媒体文件观看体验,更好地满足用户的需求。
需要指出的是,较佳的,本发明实施例提供的码率控制方案可以应用于时长较短的多媒体文件。本实施例中提及的多媒体文件,可以但不限于理解为直接生成的一个时长较短的视频(即,与直播视频或长视频无关的一个短视频),或者,根据直播视频或长视频获得的一个时长较短的视频片段,例如,根据直播视频或长视频,单独生成的一个时长较短的视频,又如,通过对直播视频或长视频进行切分,获得的直播视频或长视频对应的连续的视频片段集合中,一个时长较短的视频片段。因此,本实施例提供的方案,不仅适用于对短视频进行码率控制,实际上可以同样适用于对直播视频或长视频进行码率控制。
下面以上述实施例提供的方案应用于短视频播放平台为例进行说明。短视频播放平台涉及的短视频,可以但不限于理解为直接生成的一个时长较短的视频,或者,根据直播视频或长视频,单独生成的一个时长较短的视频。
假设客户端分组包括根据接入的网络类型信息、所在终端设备硬件属性信息以及网络环境特征信息确定出的十八种分组,每个分组对应一个MAB模型(每个分组初始对应的MAB模型可以理解为相同)。每个MAB模型不需要经过离线训练,在经过超参数调节确定出每个MAB模型的奖励函数后,可以直接针对每个分组,将每个MAB模型部署于短视频内容服务媒体后台(可以简单记为短视频内容服务器)。并可以假设每个MAB模型按照相同的更新周期进行更新,例如,每5分钟更新一次,且每个MAB模型同时更新。
基于上述说明,本发明实施例提供一种多媒体文件的码率控制方法,该方法的执行主体可以为短视频内容服务器,该方法的步骤流程可以如图3所示,包括:
步骤201、接收客户端发送的短视频获取请求。
接收到的短视频获取请求中可以携带短视频标识。
步骤202、确定短视频获取请求中是否携带多臂老虎机模型标识。
如果携带,则可以继续执行步骤203,否则,可以跳转执行步骤204。
即在本实施例中,可以通过短视频获取请求中是否携带多臂老虎机模型标识,来标识发送该短视频获取请求的客户端之前是否曾经利用MAB模型进行过码率控制,并可以利用携带的多臂老虎机模型标识来标识最近一次针对该客户端进行过码率控制的MAB模型,以便后续可以根据获取的该客户端最后一次播放短视频时的播放状态参数,对该MAB模型标识对应的MAB模型进行更新。
步骤203、确定一个奖励函数值。
在本步骤中,可以获取所述客户端最后一次播放短视频时的播放状态参数,根据获取的播放状态参数,确定奖励函数对应的一个奖励函数值。
步骤204、判断是否处于指定的更新时刻。
在本步骤中,可以判断当前是否处于指定的更新时刻,如果判断出当前处于指定的更新时刻,则可以继续执行步骤205,否则,可以跳转执行步骤206。
步骤205、对MAB模型进行更新。
在本步骤中,可以在指定的更新时刻,对每个MAB模型进行同步更新。需要指出的是,如果在步骤202中确定短视频获取请求中携带多臂老虎机模型标识,则在本步骤中,可以利用步骤203中确定出的奖励函数值,更新短视频获取请求中携带的MAB模型标识(Banditid)对应的MAB模型。
步骤206、确定客户端当前对应的分组。
在本步骤中,可以根据短视频获取请求中携带的客户端当前对应的本地资源特征信息,确定该客户端当前对应的分组,从而可以根据确定出的分组,确定一个对应的多臂老虎机模型。
如果在本步骤之前执行了步骤205,那么本步骤中确定出的MAB模型,可以理解为更新后的MAB模型。
步骤207、利用MAB模型确定档位调节策略。
在本步骤中,可以利用客户端当前对应的分组所对应的MAB模型,针对接收到的短视频获取请求,决策出一个档位调节策略。
在本步骤中,可以假设从3个档位调节策略(分别是提升一个档位,对应的档位调节策略用+1表示,档位不变,对应的档位调节策略用0表示,以及,降低一个档位,对应的档位调节策略用-1表示)中,决策出一个档位调节策略,例如,-1。
步骤208、获得档位调节结果。
在本步骤中,可以根据确定出的档位调节策略,对根据网络带宽确定出的档位(假设用NearbyLevel表示)进行调节,获得档位调节结果。
假设步骤207中决策出的档位调节策略用-1表示,那么本步骤获得的档位调节结果可以表示为NearbyLevel-1。
步骤209、向客户端下发短视频和Banditid。
在本步骤中,可以将接收到的短视频标识对应的各个版本的短视频中,确定出的档位对应版本的短视频,发送至发送短视频获取请求的客户端,以便客户端播放该版本的短视频,更好地满足用户需求。
同时,还可以向客户端下发本次用于决策档位调节策略的MAB模型的Banditid,以便客户端下次发送短视频获取请求时,可以携带该Banditid。
另外,客户端在播放一个直播视频或者长视频时,对直播视频或长视频的获取可以是通过对每个视频片段(每个视频片段为通过对直播视频或长视频进行切分,得到的连续的视频片段集合中的一个视频片段)的获取来实现的,此时,码率控制方案同样可以应用于直播平台或长视频播放平台。
在这种应用场景中,短视频获取请求中携带的短视频标识,可以理解为直播视频或长视频的一个视频片段标识。与码率控制方案应用于短视频播放平台类似的,也可以按照图3所示的流程,通过码率控制,向客户端下发直播视频或长视频的每个视频片段。
与提供的方法对应的,进一步提供以下的装置。
本发明实施例提供一种多媒体文件的码率控制装置,该装置的结构可以如图4所示,包括:
响应模块11用于响应客户端的多媒体文件获取请求,确定所述客户端所属组别,所述客户端所属组别是基于获取的所述客户端的本地资源特征信息确定的;
确定模块12用于利用所述客户端所属组别对应的多臂老虎机模型,确定所述客户端对应的档位,每个档位具有对应的多媒体文件的传输码率;所述多臂老虎机模型的奖励函数值是根据每次获取的属于所述组别的客户端反馈的播放状态参数确定并进行动态更新的;其中,所述播放状态参数是属于所述组别的客户端根据历史多媒体文件播放的播放状态进行动态反馈的;
发送模块13用于按照所述客户端对应的档位,获取对应版本的多媒体文件,并向所述客户端发送。
可选的,所述响应模块11确定所述客户端所属组别,包括:
获得所述客户端当前对应的本地资源特征信息;
根据获得的本地资源特征信息,确定所述客户端当前所属组别。
可选的,所述本地资源特征信息包括接入的网络类型信息、所在终端设备硬件属性信息以及网络环境特征信息中的至少一种。
可选的,所述确定模块12利用所述客户端所属组别对应的多臂老虎机模型,确定所述客户端对应的档位,包括:
利用所述客户端所属组别对应的多臂老虎机模型,确定所述客户端对应的档位调节策略;
根据确定出的所述档位调节策略,对确定出的档位进行调节,将调节后的档位确定为所述客户端对应的档位。
可选的,所述装置还包括获取模块14以及更新模块15,其中:
所述获取模块14,用于获取所述客户端最后一次播放多媒体文件时的播放状态参数;
所述更新模块15,用于在指定的更新时刻,利用获取的播放状态参数确定出的奖励函数值,更新对应的多臂老虎机模型,该多臂老虎机模型为用于确定所述客户端最后一次播放的多媒体文件对应的档位调节策略的多臂老虎机模型。
可选的,每个多臂老虎机模型表示如下:
I=argmaxi(Xt(i)/Nt(i)+ct(i));
其中,确定出的档位调节策略I,为预先设定的档位调节策略i中,使得Xt(i)/Nt(i)+ct(i)最大的i;
Xt(i)代表档位调节策略i价值的估计值;
Nt(i)代表档位调节策略i作为确定出的档位调节策略I的次数;
t代表利用该多臂老虎机模型进行档位调节的总次数;
ct(i)代表档位调节策略i的置信区间上界,表示如下:
可选的,每个多臂老虎机模型按照如下方式进行一次更新:
Nt+1(i)=Nt(i)*γ+m
其中,γ表示设定的衰减率系数;
rewardj表示根据上一次更新到本次更新的时间段内第j次获取的播放状态参数,确定出的奖励函数值;
m表示上一次更新到本次更新的时间段内,获取播放状态参数的总次数,m为不小于1的正整数。
可选的,用于确定奖励函数的播放状态指标包括结束播放时视频播放比例,卡顿次数,第一次卡顿发生的时间,视频长度,视频播放等待时长和视频码率。
可选的,按照以下方式中的至少一种,确定每个多臂老虎机模型的奖励函数:
针对每种档位调节策略,奖励函数值的平均值之间的差值不大于第一设定值,所述奖励函数值的平均值,为每个分组对应的多臂老虎机模型对应的,奖励函数值的平均值;
针对每个分组对应的多臂老虎机模型,该多臂老虎机模型对应的一种档位调节策略,作为确定出的档位调节策略I的次数,与其他种档位调节策略,作为确定出的档位调节策略I的次数之间的差值均不小于第二设定值;以及,
针对每种档位调节策略,奖励函数的每个子奖励函数值的方差之间的差值不大于第三设定值,其中,针对所述奖励函数的每个子奖励函数,该子奖励函数值的方差,为根据每个分组对应的多臂老虎机模型对应的奖励函数的该子奖励函数值,所获得的方差。
本发明上述实施例提供的各装置的各功能单元的功能,可以通过上述对应的各方法的步骤来实现,因此,本发明实施例提供的各装置中的各个功能单元的具体工作过程和有益效果,在此不复赘述。
基于同一发明构思,本发明实施例提供以下的设备和介质。
本发明实施例提供一种多媒体文件的码率控制设备,该设备的结构可以如图5所示,包括处理器21、通信接口22、存储器23和通信总线24,其中,所述处理器21,所述通信接口22,所述存储器23通过所述通信总线24完成相互间的通信;
所述存储器23,用于存放计算机程序;
所述处理器21,用于执行所述存储器上所存储的程序时,实现本发明上述方法实施例所述的步骤。
可选的,所述处理器21具体可以包括中央处理器(CPU)、特定应用集成电路(ASIC,Application Specific Integrated Circuit),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(FPGA,Field Programmable Gate Array)开发的硬件电路,可以是基带处理器。
可选的,所述处理器21可以包括至少一个处理核心。
可选的,所述存储器23可以包括只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)和磁盘存储器。存储器23用于存储至少一个处理器21运行时所需的数据。存储器23的数量可以为一个或多个。
本发明实施例还提供一种非易失性计算机存储介质,所述计算机存储介质存储有可执行程序,当可执行程序被处理器执行时,实现本发明上述方法实施例提供的方法。
在具体的实施过程中,计算机存储介质可以包括:通用串行总线闪存盘(USB,Universal Serial Bus Flash Drive)、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的存储介质。
在本发明实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性或其它的形式。
在本发明实施例中的各功能单元可以集成在一个处理单元中,或者各个单元也可以均是独立的物理模块。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备,例如可以是个人计算机,服务器,或者网络设备等,或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(Universal Serial Bus Flash Drive)、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种多媒体文件的码率控制方法,其特征在于,所述方法包括:
响应客户端的多媒体文件获取请求,确定所述客户端所属组别,所述客户端所属组别是基于获取的所述客户端的本地资源特征信息确定的;
利用所述客户端所属组别对应的多臂老虎机模型,确定所述客户端对应的档位,每个档位具有对应的多媒体文件的传输码率;所述多臂老虎机模型的奖励函数值是根据每次获取的属于所述组别的客户端反馈的播放状态参数确定并进行动态更新的;其中,所述播放状态参数是属于所述组别的客户端根据历史多媒体文件播放的播放状态进行动态反馈的;
按照所述客户端对应的档位,获取对应版本的多媒体文件,并向所述客户端发送。
2.如权利要求1所述的方法,其特征在于,确定所述客户端所属组别,包括:
获得所述客户端当前对应的本地资源特征信息;
根据获得的本地资源特征信息,确定所述客户端当前所属组别。
3.如权利要求2所述的方法,其特征在于,所述本地资源特征信息包括接入的网络类型信息、所在终端设备硬件属性信息以及网络环境特征信息中的至少一种。
4.如权利要求1所述的方法,其特征在于,利用所述客户端所属组别对应的多臂老虎机模型,确定所述客户端对应的档位,包括:
利用所述客户端所属组别对应的多臂老虎机模型,确定所述客户端对应的档位调节策略;
根据确定出的所述档位调节策略,对确定出的档位进行调节,将调节后的档位确定为所述客户端对应的档位。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
获取所述客户端最后一次播放多媒体文件时的播放状态参数;
并在指定的更新时刻,利用获取的播放状态参数确定出的奖励函数值,更新对应的多臂老虎机模型,该多臂老虎机模型为用于确定所述客户端最后一次播放的多媒体文件对应的档位调节策略的多臂老虎机模型。
8.如权利要求7所述的方法,其特征在于,用于确定奖励函数的播放状态指标包括结束播放时视频播放比例,卡顿次数,第一次卡顿发生的时间,视频长度,视频播放等待时长和视频码率。
9.如权利要求8所述的方法,其特征在于,按照以下方式中的至少一种,确定每个多臂老虎机模型的奖励函数:
针对每种档位调节策略,奖励函数值的平均值之间的差值不大于第一设定值,所述奖励函数值的平均值,为每个分组对应的多臂老虎机模型对应的,奖励函数值的平均值;
针对每个分组对应的多臂老虎机模型,该多臂老虎机模型对应的一种档位调节策略,作为确定出的档位调节策略I的次数,与其他种档位调节策略,作为确定出的档位调节策略I的次数之间的差值均不小于第二设定值;以及,
针对每种档位调节策略,奖励函数的每个子奖励函数值的方差之间的差值不大于第三设定值,其中,针对所述奖励函数的每个子奖励函数,该子奖励函数值的方差,为根据每个分组对应的多臂老虎机模型对应的奖励函数的该子奖励函数值,所获得的方差。
10.一种多媒体文件的码率控制装置,其特征在于,所述装置包括:
响应模块,用于响应客户端的多媒体文件获取请求,确定所述客户端所属组别,所述客户端所属组别是基于获取的所述客户端的本地资源特征信息确定的;
确定模块,用于利用所述客户端所属组别对应的多臂老虎机模型,确定所述客户端对应的档位,每个档位具有对应的多媒体文件的传输码率;所述多臂老虎机模型的奖励函数值是根据每次获取的属于所述组别的客户端反馈的播放状态参数确定并进行动态更新的;其中,所述播放状态参数是属于所述组别的客户端根据历史多媒体文件播放的播放状态进行动态反馈的;
发送模块,用于按照所述客户端对应的档位,获取对应版本的多媒体文件,并向所述客户端发送。
11.一种非易失性计算机存储介质,其特征在于,所述计算机存储介质存储有可执行程序,该可执行程序被处理器执行实现权利要求1~9任一所述的方法。
12.一种多媒体文件的码率控制设备,其特征在于,所述设备包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存储的程序时,实现权利要求1~9任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011634256.XA CN112866756B (zh) | 2020-12-31 | 2020-12-31 | 一种多媒体文件的码率控制方法、装置、介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011634256.XA CN112866756B (zh) | 2020-12-31 | 2020-12-31 | 一种多媒体文件的码率控制方法、装置、介质和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112866756A true CN112866756A (zh) | 2021-05-28 |
CN112866756B CN112866756B (zh) | 2023-04-18 |
Family
ID=76000096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011634256.XA Active CN112866756B (zh) | 2020-12-31 | 2020-12-31 | 一种多媒体文件的码率控制方法、装置、介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112866756B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114257880A (zh) * | 2022-01-10 | 2022-03-29 | 百果园技术(新加坡)有限公司 | 一种码率策略选择方法、装置、电子设备及存储介质 |
WO2023035884A1 (zh) * | 2021-09-07 | 2023-03-16 | 北京字跳网络技术有限公司 | 动态画质视频播放方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080140591A1 (en) * | 2006-12-12 | 2008-06-12 | Yahoo! Inc. | System and method for matching objects belonging to hierarchies |
CN102918887A (zh) * | 2010-06-04 | 2013-02-06 | 微软公司 | 动态的信道和传输速率选择 |
US20150012345A1 (en) * | 2013-06-21 | 2015-01-08 | Thomson Licensing | Method for cold start of a multi-armed bandit in a recommender system |
CN110049352A (zh) * | 2019-04-18 | 2019-07-23 | 北京达佳互联信息技术有限公司 | 码率确定方法、装置、计算机设备和存储介质 |
CN111049622A (zh) * | 2019-10-18 | 2020-04-21 | 南京海骅信息技术有限公司 | 一种针对时变信道的速率自适应选择方法 |
CN111447471A (zh) * | 2020-03-26 | 2020-07-24 | 广州市百果园信息技术有限公司 | 模型生成方法、播放控制方法、装置、设备及存储介质 |
-
2020
- 2020-12-31 CN CN202011634256.XA patent/CN112866756B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080140591A1 (en) * | 2006-12-12 | 2008-06-12 | Yahoo! Inc. | System and method for matching objects belonging to hierarchies |
CN102918887A (zh) * | 2010-06-04 | 2013-02-06 | 微软公司 | 动态的信道和传输速率选择 |
US20150012345A1 (en) * | 2013-06-21 | 2015-01-08 | Thomson Licensing | Method for cold start of a multi-armed bandit in a recommender system |
CN110049352A (zh) * | 2019-04-18 | 2019-07-23 | 北京达佳互联信息技术有限公司 | 码率确定方法、装置、计算机设备和存储介质 |
CN111049622A (zh) * | 2019-10-18 | 2020-04-21 | 南京海骅信息技术有限公司 | 一种针对时变信道的速率自适应选择方法 |
CN111447471A (zh) * | 2020-03-26 | 2020-07-24 | 广州市百果园信息技术有限公司 | 模型生成方法、播放控制方法、装置、设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023035884A1 (zh) * | 2021-09-07 | 2023-03-16 | 北京字跳网络技术有限公司 | 动态画质视频播放方法、装置、电子设备及存储介质 |
CN114257880A (zh) * | 2022-01-10 | 2022-03-29 | 百果园技术(新加坡)有限公司 | 一种码率策略选择方法、装置、电子设备及存储介质 |
CN114257880B (zh) * | 2022-01-10 | 2023-11-17 | 百果园技术(新加坡)有限公司 | 一种码率策略选择方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112866756B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11509703B2 (en) | System and method for widescale adaptive bitrate selection | |
Sengupta et al. | HotDASH: Hotspot aware adaptive video streaming using deep reinforcement learning | |
CN109302623B (zh) | 一种基于QoE模型动态自适应视频的传输方法 | |
CN112866756B (zh) | 一种多媒体文件的码率控制方法、装置、介质和设备 | |
US10609570B2 (en) | Method and system for optimizing network parameters to improve customer satisfaction of network content | |
CN111447471B (zh) | 模型生成方法、播放控制方法、装置、设备及存储介质 | |
CN112291620A (zh) | 视频播放方法、装置、电子设备及存储介质 | |
CN108319974B (zh) | 数据处理方法、装置、存储介质和电子装置 | |
US11570063B2 (en) | Quality of experience optimization system and method | |
CN114726799B (zh) | 拥塞控制智能体的训练方法、拥塞控制方法及装置 | |
CN113014968B (zh) | 一种基于强化学习的多用户动态码率视频传输方法及系统 | |
CN111031387A (zh) | 一种监控视频发送端视频编码流速控制的方法 | |
CN111669627A (zh) | 一种视频码率的确定方法、装置、服务器和存储介质 | |
CN113543160A (zh) | 5g切片资源配置方法、装置、计算设备及计算机存储介质 | |
CN102904907B (zh) | 一种媒体文件传输方法和装置 | |
CN116320620A (zh) | 基于个性化联邦强化学习的流媒体比特率自适应调整方法 | |
CN117082008B (zh) | 虚拟弹性网络数据传输调度方法、计算机装置及存储介质 | |
Hafez et al. | Reinforcement learning-based rate adaptation in dynamic video streaming | |
CN111614526B (zh) | 一种hinoc链路快速维护方法、装置、存储介质及终端 | |
CN116074256A (zh) | 内容分发网络节点带宽优化方法、装置、电子设备及介质 | |
CN114244843A (zh) | 流媒体下载方法、电子设备及存储介质 | |
Huo et al. | Optimizing QoE of multiple users over DASH: A meta-learning approach | |
CN115426526B (zh) | 一种视频播放方法、装置、存储介质及设备 | |
CN112533036A (zh) | 一种神经自适应视频流多路径传输结果确定方法及系统 | |
Hou et al. | QoE estimation of DASH-based mobile video application using deep reinforcement learning |
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 |