CN103973662B - 流媒体请求方法及控制器 - Google Patents
流媒体请求方法及控制器 Download PDFInfo
- Publication number
- CN103973662B CN103973662B CN201310047145.2A CN201310047145A CN103973662B CN 103973662 B CN103973662 B CN 103973662B CN 201310047145 A CN201310047145 A CN 201310047145A CN 103973662 B CN103973662 B CN 103973662B
- Authority
- CN
- China
- Prior art keywords
- code check
- client
- media
- request
- controller
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000005540 biological transmission Effects 0.000 claims description 19
- 230000009467 reduction Effects 0.000 claims description 8
- 230000000875 corresponding effect Effects 0.000 description 239
- 230000006870 function Effects 0.000 description 55
- 230000008569 process Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 7
- 230000006978 adaptation Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000001727 in vivo Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- CSRZQMIRAZTJOY-UHFFFAOYSA-N trimethylsilyl iodide Substances C[Si](C)(C)I CSRZQMIRAZTJOY-UHFFFAOYSA-N 0.000 description 2
- 241000331006 Euchaeta media Species 0.000 description 1
- 208000032370 Secondary transmission Diseases 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 210000004209 hair Anatomy 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000012092 media component Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- 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/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8543—Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种流媒体请求方法及控制器。方法包括:控制器接收客户端发送的MPD请求消息,获取网络拥塞等级信息和用户签约等级信息,将MPD请求消息转发给媒体服务器;接收媒体服务器返回的MPD文件,获取媒体服务器支持的媒体分片码率,并确定媒体内容对应的效用函数,将MPD文件转发给客户端;接收客户端发送的媒体分片请求消息,根据所述效用函数、网络拥塞等级信息、用户签约等级信息和媒体服务器支持的媒体分片码率,获得目标码率,将媒体分片请求消息中的请求码率替换为目标码率后发送给媒体服务器,以请求目标码率对应的媒体分片。本发明技术方案可以提高请求的媒体分片码率的准确性。
Description
技术领域
本发明实施例涉及通信技术,尤其涉及一种流媒体请求方法及控制器。背景技术
流媒体是指在互联网(Internet,简称为IP)上以数据流的方式实时发布的音频、视频等多媒体内容;流媒体技术是指在IP网络上发布多媒体数据流的技术。流媒体技术采用流式传输方式,即媒体服务器将整个多媒体文件压缩编码成多个压缩包,向客户端实时顺序地传送;客户端可以一边解压播放之前传送过来的压缩包,一边接收后续传送的压缩包,从而节省了等待时间。
传统流媒体传输技术利用实时传输协议(Real-time Transport Protocol,简称为RTP)、RTP控制协议(RTP Control Protocol,简称为RTCP)来传输实时流媒体,例如音频流、视频流、字幕流等。目前出现的超文本传输协议(Hypertext transfer protocol,简称为HTTP)流(Streaming)以及实时消息传送协议(Real Time Messaging Protocol,简称为RTMP)在传统流媒体基础上进行了改进,主要增加了多种码率供客户端选择,即在媒体服务器端把一个媒体内容分成不同码率的各个分片,媒体服务器根据客户端的请求将不同码率的分片传送给客户端播放。3GPP定义的动态自适应HTTP流媒体(Dynamic AdaptiveStreaming over HTTP,简称为DASH)业务是一种常见的HTTP流业务,主要是将媒体内容进行切片并按照预设的格式进行封装生成媒体内容分片,并生成媒体呈现描述(MediaPresentation Description,简称为MPD),然后根据客户端的MPD请求,将MPD提供给客户端,客户端根据MPD生成媒体内容分片的统一资源定位符(Uniform Resource Locator,简称为URL)信息,然后请求媒体内容分片。
现有技术对DASH业务的MPD格式、媒体内容分片的格式、客户端行为、服务器行为等作了良好的规范定义,DASH业务的自适应行为都由客户端控制完成的,在客户端自适应机制下,客户端根据估计的可用带宽值和MPD中给出的媒体分片码率值来决策请求的媒体分片码率。由于客户端仅根据自身的情况估计可用带宽值,因此,对可用带宽估计的精度不高,进而导致请求的媒体分片码率的准确性较低。
发明内容
本发明实施例提供一种流媒体请求方法及控制器,用以提高请求的媒体分片码率的准确性。
第一方面提供一种流媒体请求方法,包括:
控制器接收所有客户端中第一客户端发送的媒体呈现描述MPD请求消息,所述MPD请求消息携带有所述第一客户端的身份标识信息;
所述控制器在接收到所述MPD请求消息之后,获取所述第一客户端所在网络对应的网络拥塞等级信息,根据所述第一客户端的身份标识信息,获取所述第一客户端对应的用户签约等级信息,并将所述MPD请求消息转发给媒体服务器;
所述控制器接收所述媒体服务器根据所述MPD消息返回的MPD文件,从所述MPD文件中获取所述媒体服务器所支持的媒体分片码率,根据所述MPD文件中所述第一客户端请求的媒体内容的标识信息,从预设的效用函数中确定所述媒体内容对应的效用函数,并将所述MPD文件转发给所述第一客户端;
所述控制器接收所述第一客户端根据所述MPD文件发送的第一媒体分片请求消息,所述第一媒体分片请求消息携带有请求码率,所述请求码率是指所述第一客户端向所述媒体服务器请求的所述媒体内容中的媒体分片对应的编码码率;
所述控制器根据所述媒体内容对应的效用函数、所述网络拥塞等级信息、所述用户签约等级信息和所述媒体服务器所支持的媒体分片码率,获得所述第一客户端对应的目标码率,并将所述第一媒体分片请求消息中的所述请求码率替换为所述第一客户端对应的目标码率后发送给所述媒体服务器,以向所述媒体服务器请求所述目标码率对应的所述媒体分片。
结合第一方面,在第一方面的第一种可能的实现方式中,所述控制器根据所述媒体内容对应的效用函数、所述网络拥塞等级、所述用户签约等级信息和所述媒体服务器所支持的媒体分片码率,获得所述第一客户端对应的目标码率,包括:
所述控制器根据所述媒体内容对应的效用函数和所有客户端中每个客户端在所述控制器接收到所述第一媒体分片请求消息时对应的目标码率,获得每个客户端对应的效用值,并对所有客户端对应的效用值进行平均,获得平均效用值;
所述控制器根据所述媒体内容对应的效用函数、所述平均效用值、所述用户签约等级信息和所述媒体服务器所支持的媒体分片码率,获得所述第一客户端对应的第一码率;
所述控制器根据所述网络拥塞等级信息和所述媒体服务器所支持的媒体分片码率,对所述第一码率进行调整,获得所述第一客户端对应的目标码率。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述控制器根据所述媒体内容对应的效用函数、所述平均效用值、所述用户签约等级信息和所述媒体服务器所支持的媒体分片码率,获得所述第一客户端对应的第一码率,包括:
所述控制器根据公式wU(bref1)=αUaver,计算初始码率;
根据所述初始码率与所述媒体服务器所支持的媒体分片码率之间的大小关系,确定所述媒体服务器所支持的媒体分片码率中与所述初始码率最接近的媒体分片码率作为所述第一码率;
其中,w表示所述用户签约等级信息对应的权重,且所述用户签约等级信息所标识的用户等级越高,所述用户签约等级信息对应的权重越小;bref1表示所述初始码率;U(bref1)表示以所述初始码率为变量的所述媒体内容对应的效用函数;α为预先设定的常数值;Uaver为所述平均效用值。
结合第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述控制器根据所述网络拥塞等级信息和所述媒体服务器所支持的媒体分片码率,对所述第一码率进行调整,获得所述第一客户端对应的目标码率,包括:
所述控制器按照由大到小的顺序,对所有客户端中除所述第一客户端之外的其他客户端在所述控制器接收到所述第一媒体分片请求消息时对应的目标码率以及所述第一码率进行排序,如果所述第一码率在所述排序结果中位于指定位置之前且所述网络拥塞等级信息所标识的网络拥塞等级大于预设等级门限,则根据所述媒体服务器所支持的媒体分片码率降低所述第一码率,获得第二码率,并根据所述第二码率,获得所述第一客户端对应的目标码率。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述控制器根据所述第二码率,获得所述第一客户端对应的目标码率,包括:
所述控制器直接将所述第二码率作为所述第一客户端对应的目标码率;或者
所述控制器根据所述请求码率和所述第二码率对应的效用值,分别计算所述请求码率和所述第二码率对应的公平性代价值,并分别计算所述请求码率和所述第二码率对应的稳定性代价值,根据所述请求码率对应的公平性代价值和稳定性代价值计算所述请求码率对应的平均代价值,根据所述第二码率对应的公平性代价值和稳定性代价值,计算所述第二码率对应的平均代价值,从所述请求码率和所述第二码率中选择平均代价值小的码率作为所述第一客户端对应的目标码率。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述控制器根据所述请求码率和所述第二码率对应的效用值,分别计算所述请求码率和所述第二码率对应的公平性代价值,包括:
所述控制器根据公式分别计算所述请求码率和所述第二码率对应的公平性代价值;
所述控制器分别计算所述请求码率和所述第二码率对应的稳定性代价值,包括:
所述控制器根据公式分别计算所述请求码率或所述第二码率对应的稳定性代价值;
所述控制器根据所述请求码率对应的公平性代价值和稳定性代价值计算所述请求码率对应的平均代价值,根据所述第二码率对应的公平性代价值和稳定性代价值,计算所述第二码率对应的平均代价值,包括:
所述控制器根据公式SFb=βSfairness(b)+Sstability(b),分别计算所述请求码率和所述第二码率对应的平均代价值;
其中,Sfairness(b)表示所述请求码率或所述第二码率对应的公平性代价值,表示第二码率对应的效用值,Ub表示所述请求码率或所述第二码率对应的效用值,Sstability(b)表示所述请求码率或所述第二码率对应的稳定性代价值,n表示所述第一客户端在指定时间内的码率切换次数,M表示所述第一客户端在最近一次发生码率切换时的切换幅度;b的取值为所述请求码率或所述第二码率,bt-1表示所述第一客户端在发送所述第一媒体分片请求消息之前最近一次发送的第二媒体分片请求消息对应的目标码率;SFb表示所述请求码率或所述第二码率对应的平均代价值,β为预设的常数值。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式或第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述控制器在接收到所述MPD请求消息之后,获取所述第一客户端所在网络对应的网络拥塞等级信息,根据所述第一客户端的身份标识信息,获取所述第一客户端对应的用户签约等级信息,包括:
所述控制器在接收到所述MPD请求消息之后,向基站发送第一获取请求消息,所述第一获取请求消息携带有所述第一客户端的身份标识信息;
所述控制器接收所述基站根据所述第一获取请求消息返回的所述网络拥塞等级信息和所述第一客户端的用户标识信息;
所述控制器根据所述第一客户端的用户标识信息,向用户属性存储SPR发送第二获取请求消息,所述第二获取请求消息携带有所述第一客户端的用户标识信息;
所述控制器接收所述SPR根据所述第二获取请求消息返回的所述用户签约等级信息。
第二方面提供一种控制器,包括:
第一接收模块,用于接收所有客户端中第一客户端发送的媒体呈现描述MPD请求消息,所述MPD请求消息携带有所述第一客户端的身份标识信息;
第一获取模块,用于在所述第一接收模块接收到所述MPD请求消息之后,获取所述第一客户端所在网络对应的网络拥塞等级信息,根据所述第一客户端的身份标识信息,获取所述第一客户端对应的用户签约等级信息;
第一转发模块,用于在所述第一接收模块接收到所述MPD请求消息之后,将所述MPD请求消息转发给媒体服务器;
第二接收模块,用于接收所述媒体服务器根据所述MPD消息返回的MPD文件;
第二获取模块,用于从所述MPD文件中获取所述媒体服务器所支持的媒体分片码率,并根据所述MPD文件中所述第一客户端请求的媒体内容的标识信息,从预设的效用函数中确定所述媒体内容对应的效用函数;
第二转发模块,用于将所述MPD文件转发给所述第一客户端;
第三接收模块,用于接收所述第一客户端根据所述MPD文件发送的第一媒体分片请求消息,所述第一媒体分片请求消息携带有请求码率,所述请求码率是指所述第一客户端向所述媒体服务器请求的所述媒体内容中的媒体分片对应的编码码率;
第三获取模块,用于根据所述媒体内容对应的效用函数、所述网络拥塞等级信息、所述用户签约等级信息和所述媒体服务器所支持的媒体分片码率,获得所述第一客户端对应的目标码率;
第三转发模块,用于将所述第一媒体分片请求消息中的所述请求码率替换为所述第一客户端对应的目标码率后发送给所述媒体服务器,以向所述媒体服务器请求所述目标码率对应的所述媒体分片。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第三获取模块包括:
第一获取单元,用于根据所述媒体内容对应的效用函数和所有客户端中每个客户端在所述控制器接收到所述第一媒体分片请求消息时对应的目标码率,获得每个客户端对应的效用值,并对所有客户端对应的效用值进行平均,获得平均效用值;
第二获取单元,用于根据所述媒体内容对应的效用函数、所述平均效用值、所述用户签约等级信息和所述媒体服务器所支持的媒体分片码率,获得所述第一客户端对应的第一码率;
第三获取单元,用于根据所述网络拥塞等级信息和所述媒体服务器所支持的媒体分片码率,对所述第一码率进行调整,获得所述第一客户端对应的目标码率。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第二获取单元具体用于根据公式wU(bref1)=αUaver,计算初始码率,根据所述初始码率与所述媒体服务器所支持的媒体分片码率之间的大小关系,确定所述媒体服务器所支持的媒体分片码率中与所述初始码率最接近的媒体分片码率作为所述第一码率;
其中,w表示所述用户签约等级信息对应的权重,且所述用户签约等级信息所标识的用户等级越高,所述用户签约等级信息对应的权重越小;bref1表示所述初始码率;U(bref1)表示以所述初始码率为变量的所述媒体内容对应的效用函数;α为预先设定的常数值;Uaver为所述平均效用值。
结合第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第三获取单元具体用于按照由大到小的顺序,对所有客户端中除所述第一客户端之外的其他客户端在所述控制器接收到所述第一媒体分片请求消息时对应的目标码率以及所述第一码率进行排序,如果所述第一码率在所述排序结果中位于指定位置之前且所述网络拥塞等级信息所标识的网络拥塞等级大于预设等级门限,则根据所述媒体服务器所支持的媒体分片码率降低所述第一码率,获得第二码率,并根据所述第二码率,获得所述第一客户端对应的目标码率。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第三获取单元用于根据所述第二码率,获得所述第一客户端对应的目标码率包括:
所述第三获取单元具体用于直接将所述第二码率作为所述第一客户端对应的目标码率;或者
所述第三获取单元具体用于根据所述请求码率和所述第二码率对应的效用值,分别计算所述请求码率和所述第二码率对应的公平性代价值,并分别计算所述请求码率和所述第二码率对应的稳定性代价值,根据所述请求码率对应的公平性代价值和稳定性代价值计算所述请求码率对应的平均代价值,根据所述第二码率对应的公平性代价值和稳定性代价值,计算所述第二码率对应的平均代价值,从所述请求码率和所述第二码率中选择平均代价值小的码率作为所述第一客户端对应的目标码率。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第三获取单元具体用于根据公式分别计算所述请求码率和所述第二码率对应的公平性代价值,根据公式分别计算所述请求码率或所述第二码率对应的稳定性代价值,根据公式SFb=βSfairness(b)+Sstability(b),分别计算所述请求码率和所述第二码率对应的平均代价值,并选择所述请求码率和所述第二码率中平均代价值小的码率作为所述第一客户端对应的目标码率;
其中,Sfairness(b)表示公平性代价值,表示第二码率对应的效用值,Ub表示所述请求码率或所述第二码率对应的效用值,Sstability(b)表示稳定性代价值,n表示所述第一客户端在指定时间内的码率切换次数,M表示所述第一客户端在最近一次发生码率切换时的切换幅度;b的取值为所述请求码率或所述第二码率,bt-1表示所述第一客户端在发送所述第一媒体分片请求消息之前最近一次发送的第二媒体分片请求消息对应的目标码率;SFb表示所述请求码率或所述第二码率对应的平均代价值,β为预设的常数值。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式或第二方面的第四种可能的实现方式或第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述第一获取模块具体用于在所述第一接收模块接收到所述MPD请求消息之后,向基站发送第一获取请求消息,所述第一获取请求消息携带有所述第一客户端的身份标识信息,并接收所述基站根据所述第一获取请求消息返回的所述网络拥塞等级信息和所述第一客户端的用户标识信息,根据所述第一客户端的用户标识信息,向用户属性存储SPR发送第二获取请求消息,所述第二获取请求消息携带有所述第一客户端的用户标识信息,并接收所述SPR根据所述第二获取请求消息返回的所述用户签约等级信息。
本发明实施例提供的流媒体请求方法及控制器,控制器接收客户端发送的MPD请求消息,在接收到MPD请求消息之后,获取网络拥塞等级信息和用户签约等级信息,并将MPD请求消息转发给媒体服务器,接收媒体服务器根据所述MPD请求消息返回的MPD文件,从MPD文件中获取媒体服务器所支持的媒体分片码率,并根据MPD文件携带的媒体内容的标识信息确定所述媒体内容对应的效用函数,进而在接收到客户端发送的媒体分片请求消息之后,根据媒体内容对应的效用函数、网络拥塞等级信息、用户签约等级信息和媒体服务器所支持的媒体分片码率,获得目标码率,并将媒体分片请求消息中的请求码率替换为目标码率之后发送给媒体服务器,以向媒体服务器请求所述目标码率对应的媒体分片,在上述过程中,控制器充分考虑了网络拥塞情况和用户签约等级等信息,调整客户端请求的媒体分片码率,有利于提供更为合适的媒体分片码率,提高了请求的媒体分片码率的准确性,有利于为客户端提供合理的、有区别的媒体服务。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种流媒体请求方法的流程图;
图2为本发明实施例提供的MPD文件的结构示意图;
图3为本发明实施例提供的一种效用函数的变化曲线示意图;
图4为本发明一实施例提供的实现DASH业务的网络架构示意图;
图5为本发明实施例提供的另一种流媒体请求方法的流程图;
图6为本发明实施例提供的一种控制器的结构示意图;
图7为本发明实施例提供的另一种控制器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种流媒体请求方法的流程图。如图1所示,本实施例的方法包括:
步骤101、控制器接收所有客户端中第一客户端发送的MPD请求消息,所述MPD请求消息携带有第一客户端的身份标识信息。
本实施例的控制器是指支持DASH业务的控制器,又可称为DASH控制器。控制器位于客户端与媒体服务器之间,主要负责调整客户端向媒体服务器请求的媒体分片码率。
通常,DASH业务下的客户端有多个,每个客户端向媒体服务器请求媒体分片的过程相同,故本实施例以其中一个客户端为例进行说明,为便于区分将该客户端称为第一客户端。具体的,第一客户端首先发送MPD请求消息,以向媒体服务器请求MPD文件,并在MPD请求消息中携带第一客户端的身份标识信息,用于使媒体服务器获知请求MPD文件的客户端是哪个。控制器接收第一客户端发送的MPD请求消息,可以对MPD请求消息进行解析,从中获取第一客户端的身份标识信息。可选的,第一客户端的身份标识信息可以是第一客户端对应的用户名、IP地址等。
步骤102、控制器在接收到MPD请求消息之后,获取第一客户端所在网络对应的网络拥塞等级信息,根据第一客户端的身份标识信息,获取第一客户端对应的用户签约等级信息,并将所述MPD请求消息转发给媒体服务器。
在本实施例中,为了提高客户端向媒体服务器请求的媒体分片码率的准确性,控制器在接收到MPD请求消息之后,一方面获取第一客户端所在网络对应的网络拥塞等级信息,另一方面根据第一客户端的身份标识信息,获取第一客户端对应的用户签约等级信息。其中,所述网络拥塞等级信息用于标识网络的拥塞状况,基于此有助于了解网络整体资源情况,有助于对网络的可用带宽进行正确估计,进而有利于选择合适码率的媒体分片。所述用户签约等级信息用于标识第一客户端对应用户的签约等级,基于此在一定程度上可以了解该用户的资源分配情况,通常用户签约等级越高,用户分配的资源就越多。
在接收到MPD请求消息之后,控制器还要负责将MPD请求消息转发给媒体服务器,以便媒体服务器根据该MPD请求消息向客户端返回MPD文件。
在此说明,控制器获取网络拥塞等级信息的过程,控制器获取用户签约等级信息的过程,以及控制器转发MPD请求消息给媒体服务器的过程可以相互独立,并行执行。
在一可选实施方式中,控制器在接收到MPD请求消息之后,可以向网络中的基站发送第一获取请求消息,所述第一获取请求消息携带有第一客户端的身份标识信息;然后,控制器接收基站根据第一获取请求消息返回的所述网络拥塞等级信息和所述第一客户端的用户标识信息;接着,控制器根据所述第一客户端的用户标识信息,从用户属性存储(Subscription ProfileRepository,简称为SPR)获取所述用户签约等级信息。在该实施方式中,控制器具体从基站获取网络拥塞等级信息,从SPR获取用户签约等级信息。在此说明,第一客户端的用户标识信息与第一客户端的身份标识信息不同,主要是指内部使用的标识信息,例如可以是第一客户端的临时识别码(Temporary Mobile Subscriber Identity,简称为TMSI)等,基站存储有第一客户端的身份标识信息与第一客户端的用户标识信息之间的映射关系。
进一步可选的,控制器可以周期性的从基站获取网络拥塞等级信息,以保证网络拥塞等级信息的实时性,有利于提高后续基于网络拥塞等级获得的目标码率的准确性。
步骤103、控制器接收媒体服务器根据所述MPD请求消息返回的MPD文件,从所述MPD文件中获取媒体服务器所支持的媒体分片码率,根据所述MPD文件中第一客户端请求的媒体内容的标识信息,从预设的效用函数中确定所述媒体内容对应的效用函数,并将MPD文件转发给第一客户端。
控制器将MPD请求消息转发给媒体服务器之后,媒体服务器会根据MPD请求消息通过控制器向客户端返回MPD文件。具体的,控制器接收媒体服务器返回的MPD文件,该MPD文件携带有第一客户端请求的媒体内容的标识信息,例如可以是媒体内容的名称、URL等信息,同时携带有媒体服务器所支持的媒体分片码率等信息。
MPD文件是对第一客户端请求的媒体内容的描述,主要包括对媒体分片、请求构造、多码率等的描述。MPD文件是一个xml格式的文档,第一客户端可以用MPD文件中包括的元数据来构造合适的HTTP-URL,进而获取媒体分片。其中,关于MPD文件中URL的格式以及第一客户端根据这些URL产生媒体分片请求的过程,本实施例不做细述,可参考现有技术实现。
MPD文件的多功能互联网邮件扩充服务(Multipurpose Internet MailExtensions,简称为MIME)类型是“application/dash+xml”,MPD delta文件的MIME类型是“application/dashdelta+xml”。如图2所示,为MPD文件的组成格式,主要包括多个时期(Period),每个时期包括多个自适应集(AdaptationSet),每个自适应集包括多个表示(Representation),每个表示包括多个分片(Segment)。
一个MPD文件是描述整个媒体内容的文件,其中包括许多以时间为单位的信息块(即上述period),每个时期中有很多不同编码版本的媒体分片,包括码率,语言,标题,副标题等不同的媒体分片,这些信息在一个MPD更新周期内是不变的。自适应集表示可以相互交叉以编码的媒体内容组件,语言/媒体组件类型/角色/访问属性/码率属性,如表1所示是一个自适应集的实例。
表1
A | 码率大小 | 20kbps | 200kbps | 2Mbps |
B | 声频编码 | B1 | B2 | B3 |
C | 语言 | Chinese | English | Japanese |
D | 视频/声频 | DA1 | DA2 | DA3 |
如图2所示,一行就是一个自适应集,后面的就是其中的表示,用户切换就是在这个层面上切换的,从一个Representation切换到另一个Representation,可以是不同码率的切换,不同音频编码方式的切换,语言的切换等等。
基于接收到的MPD文件,控制器可以从中获取媒体服务器所支持的媒体分片码率,并可以获知媒体内容的标识信息。另外,控制器上预先存储有媒体内容的标识信息与媒体内容对应的效用函数之间的映射关系,基于此,控制器可以获取第一客户端请求的媒体内容对应的效用函数。
效用是指应用使用带宽后取得的实际性能,效用函数是刻画带宽和应用性能之间数学关系的表达式。其中,DASH业务的效用函数用于衡量DASH客户端得到的业务体验。DASH业务的效用函数为一增函数,表达式如公式(1)所示。
U(R)=A(1-e-BR) (1)
其中,R代表媒体分片的码率,是一组离散值,在后续应用中,R可以是媒体分片请求消息携带的请求码率,也可以是根据客户端上一次发送的媒体分片请求消息中的请求码率计算出的目标码率。A代表最大效用偏置值,即用户可以获得的最好效用,是已知的。Bmax代表媒体分片的最大码率,是已知的,B的值用于决定效用函数的形状,K是基于媒体内容的常数,是已知的。当R趋于Bmax时,效用函数的取值趋于A。
效用函数的变化曲线如图3所示,从效用函数的变化曲线可以看出,从低码率上升到高码率过程中用户体验的优化速度是不一样的,当从较低码率上升到较高码率时,用户体验提升很快,当从较高码率再上升至更高码率时,用户体验的提升速度变慢。
不同媒体内容对应的效用函数不一样,在实际应用中,预先把提供商所提供的媒体内容对应的效用函数设置在控制器中。
控制器在接收到MPD文件之后,除了从该MPD文件中获取媒体服务器所支持的媒体分片码率以及根据该MPD文件中媒体内容的标识信息,获取该媒体内容对应的效用函数之外,还需要将MPD文件转发给第一客户端,以便于第一客户端根据该MPD文件生成媒体分片请求消息,以请求媒体分片。在此说明,媒体内容包括多个媒体分片,每个媒体分片对应多个不同版本,例如可能是编码速率不同、语言不同等等。
在此说明,控制器在接收到MPD文件之后,根据MPD文件中的媒体内容的标识信息获取效用函数的过程,与控制器将MPD文件转发给第一客户端的过程可以相互独立,并行执行。
步骤104、控制器接收第一客户端根据所述MPD文件发送的第一媒体分片请求消息,所述第一媒体分片请求消息携带有请求码率,所述请求码率是指第一客户端向媒体服务器请求的媒体内容中的媒体分片对应的编码码率。
第一客户端接收到由控制器转发的MPD文件之后,可以根据MPD文件中的信息生成媒体分片请求消息,并通过控制器向媒体服务器发送该媒体分片请求消息。在该过程中,第一客户端会通过估计网络的可用带宽,并根据估计出的网络的可用带宽确定一个媒体分片码率,将该媒体分片码率称之为请求码率,将该请求码率携带在所生成的媒体分片请求消息中。为了便于区分和描述,将这里的媒体分片请求消息称为第一媒体分片请求消息。
步骤105、控制器根据所述媒体内容对应的效用函数、所述网络拥塞等级信息、所述用户签约等级信息和媒体服务器所支持的媒体分片码率,获得第一客户端对应的目标码率,并将第一媒体分片请求消息中的请求码率替换为所述第一客户端对应的目标码率后发送给媒体服务器,以向媒体服务器请求所述目标码率对应的媒体分片。
控制器接收到第一客户端发送的第一媒体分片请求消息之后,根据之前获取的媒体内容对应的效用函数、网络拥塞等级信息、用户签约等级信息和媒体服务器所支持的媒体分片码率,获得当前第一客户端对应的目标码率,将第一媒体分片请求消息中的请求码率替换为该第一客户端对应的目标码率,然后将替换码率后的第一媒体分片请求消息发送给媒体服务器,这样媒体服务器就会向客户端提供该目标码率对应的媒体分片,而不是请求码率对应的媒体分片。在此说明,目标码率对应的媒体分片与请求码率对应的媒体分片的内容相同,只是对应的码率不同。
其中,控制器获得的第一客户端对应的目标码率同时考虑了网络拥塞等级、用户签约等级、以及媒体内容对应的效用函数、媒体服务器所支持的媒体分片码率等信息,其准确性要比第一客户端仅根据自身情况确定的请求码率高,所以请求该目标码率对应的媒体分片更加适合网络传输情况。
在一可选实施方式中,上述控制器根据媒体内容对应的效用函数、网络拥塞等级、用户签约等级信息和媒体服务器所支持的媒体分片码率,获得第一客户端对应的目标码率的一种实施方式包括以下步骤:
步骤1051、控制器根据媒体内容对应的效用函数和所有客户端中每个客户端在控制器接收到第一媒体分片请求消息时对应的目标码率,获得每个客户端对应的效用值,并对所有客户端对应的效用值进行平均,获得平均效用值。
具体的,假设所有客户端的个数为P,则控制器可以根据公式(2),计算所述平均效用值。
其中,bi,t-1表示第i个客户端在控制器接收到第一媒体分片请求消息时对应的目标码率(也就是第i个客户端在控制器接收到第一媒体分片请求消息之前最近一次发送的第二媒体分片请求消息对应的目标码率,亦即第i个客户端在控制器接收到第一媒体分片请求消息之前最近一次通过第二媒体分片请求消息携带给控制器的目标码率),这里每个客户端在控制器接收到第一媒体分片请求消息时对应的目标码率的获取过程,与本发明实施例提供的计算第一客户端对应的目标码率的过程相同。Ui(bi,t-1)表示第i个客户端对应的效用值,这里的bi,t-1是已知的,具体可以将bi,t-1作为公式(1)中的R,代入公式(1)获得Ui(bi,t-1)。Uaver表示所述平均效用值。
步骤1052、控制器根据所述媒体内容对应的效用函数、所述平均效用值、所述用户签约等级信息和媒体服务器所支持的媒体分片码率,获得第一客户端对应的第一码率。
具体的,控制器可以根据公式(3),计算初始码率;然后,根据初始码率与媒体服务器所支持的媒体分片码率之间的大小关系,确定媒体服务器所支持的媒体分片码率中与该初始码率最接近的媒体分片码率作为第一客户端对应的第一码率。其中,第一码率是媒体服务器所支持的媒体分片码率中的一个媒体分片码率。
wU(bref1)=αUaver (3)
其中,w表示所述用户签约等级信息对应的权重,且所述用户签约等级信息所标识的用户等级越高,所述用户签约等级信息对应的权重越小;bref1表示所述初始码率;U(bref1)表示以初始码率为变量的所述媒体内容对应的效用函数;α为预先设定的常数值;Uaver为所述平均效用值。具体的,将bref1作为公式(1)中的R,根据公式(1)即可计算出bref1。
步骤1053、控制器根据所述网络拥塞等级信息和媒体服务器所支持的媒体分片码率,对第一码率进行调整,获得所述第一客户端对应的目标码率。
可选的,步骤1053的一种实施方式包括:控制器按照由大到小的顺序,对所有客户端中除第一客户端之外的其他客户端在控制器接收到第一媒体分片请求消息时对应的目标码率以及第一码率进行排序,如果所述第一码率在所述排序结果中位于指定位置之前且所述网络拥塞等级信息所标识的网络拥塞等级大于预设等级门限,则根据媒体服务器所支持的媒体分片码率降低所述第一码率,获得第二码率,并根据所述第二码率,获得所述第一客户端对应的目标码率。其中,根据媒体服务器所支持的媒体分片码率降低所述第一码率,获得第二码率包括:将第一码率降低到媒体服务器所支持的媒体分片码率中比降低前的第一码率小的一个媒体分片码率,将降低到的媒体分片码率作为第二码率,也就是说第二码率是媒体服务器所支持的媒体分片码率中比第一码率小的一个媒体分片码率。举例说明,媒体服务器所支持的媒体分片码率包括200、400、600和800,假设第一码率为600,则可以降低第一码率至400作为第二码率,或者也可以降低第一码率至200作为第二码率。
具体的,控制器会记录每个客户端到控制器接收到第一媒体分片码率时最近一次发起媒体分片请求对应的目标码率,对每个客户端来说,其对应的目标码率的获取过程与第一客户端对应的目标码率的获取过程相同。控制器按照由大到小的顺序,对所有客户端中除第一客户端之外的其他客户端在控制器接收到第一媒体分片请求消息时对应的目标码率和第一码率进行排序,这里用第一码率代表第一客户端对应的目标码率,如果第一码率在排序结果中位于指定位置之前,例如位于前20%,且网络拥塞等级信息所标识的网络拥塞等级大于预设的等级门限,即网络拥塞较为严重,则控制器以媒体服务器所支持的媒体分片码率为依据,降低第一码率,获得第二码率,进而根据第二码率,获得第一客户端对应的目标码率。
可选的,控制器直接将所述第二码率作为所述第一客户端对应的目标码率。
对于同一网络中的多个DASH客户端,公平性是指签约等级越高的用户能够获得越高的用户效用,相同签约等级的用户能够获得相同的用户效用。稳定性则是指DASH用户得到的媒体分片的码率波动平稳。可以基于效用和用户签约等级信息定义加权公平性指数(JainFair)、不公平性指数(JainUnfair)和不稳定性指数(Instability Index),用于衡量本发明实施例提供的流媒体请求方法在公平性和稳定性方面的性能。例如,加权公平性指数的一种方式如公式(4)所示,不稳定性指数的一种实现方式如公式(5)所示。
在上述公式(4)中,LFair表示加权公平性指数,wi表示第i个客户端对应的用户签约等级信息对应的权重,bi,t表示第i个客户端在当前时刻t发送的第一媒体分片请求消息中的请求码率;Ui(bi,t)表示第i个客户端在当前时刻t对应的效用值。
在上述公式(5)中,IInstability表示不稳定性指数,不稳定性指数可用于评估客户端的请求码率变化的频度和幅度;k代表在指定评估时间段内获得的媒体分片的数量;w(d)=k-d,是一个权重值,表示距离当前时间t越久的码率变化,其权重越小,反之亦然。bi,t-d表示第i个客户端在时刻t-d发送的第二媒体分片请求消息中的请求码率;bi,t-d-1表示第i个客户端在时刻t-d-1发送的第二媒体分片请求消息中的请求码率。在此说明,本发明实施例所述的时刻主要是客户端发送媒体分片请求消息的时刻。
基于此,为了达到公平性和稳定性间的平衡,控制器根据第二码率,获得第一客户端对应的目标码率的另一种实施方式包括:控制器根据所述请求码率和所述第二码率对应的效用值,分别计算所述请求码率和所述第二码率对应的公平性代价值,并分别计算所述请求码率和所述第二码率对应的稳定性代价值,根据所述请求码率对应的公平性代价值和稳定性代价值计算所述请求码率对应的平均代价值,根据所述第二码率对应的公平性代价值和稳定性代价值,计算所述第二码率对应的平均代价值,从所述请求码率和第二码率中选择平均代价值小的码率作为所述第一客户端对应的目标码率。
其中,控制器根据所述请求码率和所述第二码率对应的效用值,分别计算所述请求码率和所述第二码率对应的公平性代价值,包括:
所述控制器根据公式(6),分别计算所述请求码率和所述第二码率对应的公平性代价值。
其中,Sfairness(b)表示所述请求码率或第二码率对应的公平性代价值,表示第二码率对应的效用值,具体可以将bref2作为公式(1)中的R,代入公式(1)计算获得;Ub表示所述请求码率或所述第二码率对应的效用值,如果b的取值为请求码率,则Ub表示所述请求码率对应的效用值,如果b的取值为第二码率,则Ub表示所述第二码率对应的效用值。
所述控制器分别计算所述请求码率和所述第二码率对应的稳定性代价值,包括:
所述控制器根据公式(7),分别计算所述请求码率或所述第二码率对应的稳定性代价值。
其中,Sstability(b)表示请求码率或所述第二码率对应的稳定性代价值,n表示所述第一客户端在指定时间内的码率切换次数,M表示所述第一客户端在最近一次发生码率切换时的切换幅度;bt-1表示所述第一客户端在发送所述第一媒体分片请求消息之前最近一次发送的第二媒体分片请求消息对应的目标码率,即第一客户端在发送所述第一媒体分片请求消息之前最近一次发送的第二媒体分片请求消息中最终的目标码率。
所述控制器根据所述请求码率对应的公平性代价值和稳定性代价值计算所述请求码率对应的平均代价值,根据所述第二码率对应的公平性代价值和稳定性代价值,计算所述第二码率对应的平均代价值,包括:
所述控制器根据公式(8),分别计算所述请求码率和所述第二码率对应的平均代价值。
SFb=βSfairness(b)+Sstabili吵(b) (8)
其中,SFb表示所述请求码率或所述第二码率对应的平均代价值,β为预设的常数值。
由上述可见,本实施例提供的流媒体请求方法,由控制器基于网络资源拥塞状况对流媒体传输进行集中控制,有助于对网络资源的有效调度和管理;其次,本实施例提供的方法能够为不同用户签约等级的用户,提供相配的媒体分片码率,提高了DASH用户的用户体验;另外,本实施例提供的方法使用范围较广,灵活性好,针对各种传输网络可以有很好的作用,使得运营商可以更好地提供服务。
图4为本发明一实施例提供的实现DASH业务的网络架构示意图。如图4所示,该网络架构包括:客户端41、基站42、回程网(Backhaul)43、S-GW44、核心网(Core)45、PDN-GW46、控制器47、SPR48和媒体服务器49。其中,客户端41、基站42、回程网43、S-GW44、核心网45、PDN-GW46、控制器47和媒体服务器49依次连接。具体的,客户端41通过无线网络与基站42连接,控制器47通过互联网与媒体服务器49连接。另外,控制器47还与SPR48连接。
基于图4所示网络架构,一种流媒体请求方法的流程如图5所示,包括以下步骤:
步骤5a、客户端向控制器发送MPD请求消息。
步骤5b、控制器接收到MPD请求消息后,向基站发送第一获取请求消息,携带有客户端的身份标识信息,例如IP地址。
步骤5c、基站接收第一获取请求消息后,向控制器返回网络拥塞等级信息和客户端的用户标识信息,例如TMSI。
步骤5d、控制器向SPR发送第二获取请求消息,携带有客户端的用户标识信息。
步骤5e、SPR接收到第二获取请求消息后,向控制器返回客户端对应的用户签约等级信息。
步骤5f、控制器将MPD请求消息转发给媒体服务器。
步骤5g、媒体服务器向控制器返回MPD文件。
步骤5h、控制器解析MPD文件,从MPD文件中获取媒体服务器所支持的媒体分片码率,根据MPD文件中媒体内容对应的标识信息,从预设的效用函数中确定该媒体内容对应的效用函数。
步骤5i、控制器将MPD文件转发给客户端。
步骤5j、客户端接收MPD文件后,根据MPD文件中的信息生成媒体分片获取请求消息,并向控制器发送媒体分片请求消息,携带有请求码率。
步骤5k、控制器基于之前获得的效用函数、网络拥塞等级信息、用户签约等级信息和媒体服务器所支持的媒体分片码率,进行码率选择决策,获得目标码率。
步骤5k的实施方式可参见上述实施例的描述,在此不再赘述。
步骤5l、控制器将媒体分片请求消息中的请求码率替换为目标码率,然后将媒体分片请求消息发送给媒体服务器。
步骤5m、媒体服务器通过控制器向客户端返回目标码率对应的媒体分片。
综上可见,本实施例提供的流媒体请求方法,由控制器基于网络资源拥塞状况对流媒体传输进行集中控制,有助于对网络资源的有效调度和管理;其次,本实施例提供的方法能够为不同用户签约等级的用户,提供相配的媒体分片码率,提高了DASH用户的用户体验;另外,本实施例提供的方法使用范围较广,灵活性好,针对各种传输网络可以有很好的作用,使得运营商可以更好地提供服务。
图6为本发明实施例提供的一种控制器的结构示意图。如图6所示,所述控制器包括:第一接收模块61、第一获取模块62、第一转发模块63、第二接收模块64、第二获取模块65、第二转发模块66、第三接收模块67、第三获取模块68和第三转发模块69。
其中,第一接收模块61,用于接收所有客户端中第一客户端发送的MPD请求消息,所述MPD请求消息携带有第一客户端的身份标识信息。
第一获取模块62,与第一接收模块61连接,用于在第一接收模块61接收到所述MPD请求消息之后,获取所述第一客户端所在网络对应的网络拥塞等级信息,根据所述第一客户端的身份标识信息,获取所述第一客户端对应的用户签约等级信息。
第一转发模块63,与第一接收模块61连接,用于在第一接收模块61接收到所述MPD请求消息之后,将所述MPD请求消息转发给媒体服务器。
第二接收模块64,用于接收所述媒体服务器根据所述MPD消息返回的MPD文件。可选的,第二接收模块64与第一转发模块63连接。
第二获取模块65,与第二接收模块64连接,用于从第二接收模块64接收的MPD文件中获取所述媒体服务器所支持的媒体分片码率,并根据第二接收模块64接收的MPD文件中所述第一客户端请求的媒体内容的标识信息,从预设的效用函数中确定所述媒体内容对应的效用函数。
第二转发模块66,与第二接收模块64连接,用于将第二接收模块64接收的MPD文件转发给所述第一客户端。
第三接收模块67,用于接收所述第一客户端根据所述MPD文件发送的第一媒体分片请求消息,所述第一媒体分片请求消息携带有请求码率,所述请求码率是指所述第一客户端向所述媒体服务器请求的所述媒体内容中的媒体分片对应的编码码率。可选的,第三接收模块67与第二转发模块66连接。
第三获取模块68,与第一获取模块62和第二获取模块65连接,用于根据第二获取模块65获取的所述媒体内容对应的效用函数、第一获取模块62获取的所述网络拥塞等级信息、第一获取模块62获取的所述用户签约等级信息和第二获取模块65获取的所述媒体服务器所支持的媒体分片码率,获得所述第一客户端对应的目标码率。
第三转发模块69,分别与第三接收模块67和第三获取模块68连接,用于将第三接收模块67接收的所述第一媒体分片请求消息中的所述请求码率替换为第三获取模块68获取的所述第一客户端对应的目标码率后发送给所述媒体服务器,以向所述媒体服务器请求所述目标码率对应的所述媒体分片。
在一可选实施方式中,第三获取模块68包括:第一获取单元681、第二获取单元682和第三获取单元683。
第一获取单元681,与第二获取模块65连接,用于根据第二获取模块65获取的所述媒体内容对应的效用函数和所有客户端中每个客户端在所述控制器接收到第一媒体分片请求消息时对应的目标码率,获得每个客户端对应的效用值,并对所有客户端对应的效用值进行平均,获得平均效用值。
第二获取单元682,分别与第一获取模块62、第二获取模块65和第一获取单元681连接,用于根据第二获取模块65获取的所述媒体内容对应的效用函数、第一获取单元681获取的所述平均效用值、第一获取模块62获取的所述用户签约等级信息和第二获取模块65获取的所述媒体服务器所支持的媒体分片码率,获得所述第一客户端对应的第一码率。
第三获取单元683,分别与第二获取单元682、第一获取模块62和第二获取模块65连接,用于根据第一获取模块62获取的所述网络拥塞等级信息和第二获取模块65获取的所述媒体服务器所支持的媒体分片码率,对第二获取单元682获取的所述第一码率进行调整,获得所述第一客户端对应的目标码率。
可选的,第二获取单元682具体可用于根据公式(3),计算初始码率,然后根据所述初始码率与所述媒体服务器所支持的媒体分片码率之间的大小关系,确定所述媒体服务器所支持的媒体分片码率中与所述初始码率最接近的媒体分片码率作为所述第一码率。关于公式(3)可参见上面的描述,在此不再赘述。
可选的,第三获取单元683具体可用于按照由大到小的顺序,对所有客户端中除所述第一客户端之外的其他客户端在所述控制器接收到第一媒体分片请求消息时对应的目标码率以及所述第一码率进行排序,如果所述第一码率在所述排序结果中位于指定位置之前且所述网络拥塞等级信息所标识的网络拥塞等级大于预设等级门限,则根据所述媒体服务器所支持的媒体分片码率降低所述第一码率,获得第二码率,并根据所述第二码率,获得所述第一客户端对应的目标码率。
进一步可选的,第三获取单元683用于根据所述第二码率,获得所述第一客户端对应的目标码率包括:
第三获取单元683具体用于直接将所述第二码率作为所述第一客户端对应的目标码率。或者
第三获取单元683具体用于根据所述请求码率和所述第二码率对应的效用值,分别计算所述请求码率和所述第二码率对应的公平性代价值,并分别计算所述请求码率和所述第二码率对应的稳定性代价值,根据所述请求码率对应的公平性代价值和稳定性代价值计算所述请求码率对应的平均代价值,根据所述第二码率对应的公平性代价值和稳定性代价值,计算所述第二码率对应的平均代价值,从所述请求码率和所述第二码率中选择平均代价值小的码率作为所述第一客户端对应的目标码率。
可选的,第三获取单元683具体可用于根据公式(6),分别计算所述请求码率和所述第二码率对应的公平性代价值,根据公式(7),分别计算所述请求码率或所述第二码率对应的稳定性代价值,根据公式(8),分别计算所述请求码率和所述第二码率对应的平均代价值,并从所述请求码率和所述第二码率中选择平均代价值小的码率作为所述第一客户端对应的目标码率。关于公式(6)、(7)和(8)可参见上述实施例,在此不再赘述。
在一可选实施方式中,第一获取模块62具体可用于在第一接收模块61接收到所述MPD请求消息之后,向基站发送第一获取请求消息,所述第一获取请求消息携带有所述第一客户端的身份标识信息,并接收所述基站根据所述第一获取请求消息返回的所述网络拥塞等级信息和所述第一客户端的用户标识信息,根据所述第一客户端的用户标识信息,向SPR发送第二获取请求消息,所述第二获取请求消息携带有所述第一客户端的用户标识信息,并接收所述SPR根据所述第二获取请求消息返回的所述用户签约等级信息。
本实施例提供的控制器的各功能模块可用于执行上述方法实施例的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的控制器,接收客户端发送的MPD请求消息,在接收到MPD请求消息之后,获取网络拥塞等级信息和用户签约等级信息,并将MPD请求消息转发给媒体服务器,接收媒体服务器根据所述MPD请求消息返回的MPD文件,从MPD文件中获取媒体服务器所支持的媒体分片码率,根据MPD文件携带的媒体内容的标识信息确定所述媒体内容对应的效用函数,进而在接收到客户端发送的媒体分片请求消息之后,根据媒体内容对应的效用函数、网络拥塞等级信息、用户签约等级信息和媒体服务器所支持的媒体分片码率,获得目标码率,并将媒体分片请求消息中的请求码率替换为目标码率之后发送给媒体服务器,以向媒体服务器请求所述目标码率对应的媒体分片,充分考虑了网络拥塞情况和用户签约等级等信息,调整客户端请求的媒体分片码率,有利于提供更为合适的媒体分片码率,提高了请求的媒体分片码率的准确性,有利于为客户端提供合理的,有区别的媒体质量。
图7为本发明实施例提供的另一种控制器的结构示意图。如图7所示,所述控制器包括:接收器71、存储器72、处理器73和发送器74。
接收器71,用于接收所有客户端中第一客户端发送的MPD请求消息,所述MPD请求消息携带有所述第一客户端的身份标识信息,以及在发送器74将所述MPD请求消息转发给媒体服务器之后,接收所述媒体服务器根据所述MPD消息返回的MPD文件,以及在发送器74将所述MPD文件转发给第一客户端之后,接收所述第一客户端根据所述MPD文件发送的第一媒体分片请求消息,所述第一媒体分片请求消息携带有请求码率,所述请求码率是指所述第一客户端向所述媒体服务器请求的所述媒体内容中的媒体分片对应的编码码率。
存储器72,用于存储程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器72可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器73,用于执行存储器72存储的程序,以用于:在接收器71接收到所述MPD请求消息之后,获取所述第一客户端所在网络对应的网络拥塞等级信息,根据所述第一客户端的身份标识信息,获取所述第一客户端对应的用户签约等级信息,并在接收器71接收到所述媒体服务器根据所述MPD消息返回的所述MPD文件之后,从MPD文件中获取媒体服务器所支持的媒体分片码率,根据所述MPD文件中所述第一客户端请求的媒体内容的标识信息,从预设的效用函数中确定所述媒体内容对应的效用函数,以及在接收器71接收到所述第一媒体分片请求消息之后,根据所述媒体内容对应的效用函数、所述网络拥塞等级信息、所述用户签约等级信息和媒体服务器所支持的媒体分片码率,获得所述第一客户端对应的目标码率,并将所述第一媒体分片请求消息中的所述请求码率替换为所述第一客户端对应的目标码率。
处理器73可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
发送器74,用于在接收器71接收到所述MPD请求消息之后,将所述MPD请求消息转发给媒体服务器,并在接收器71接收到所述媒体服务器根据所述MPD消息返回的MPD文件之后,将所述MPD文件转发给所述第一客户端,以及在处理器73将所述第一媒体分片请求消息中的所述请求码率替换为所述第一客户端对应的目标码率后,将替换码率后的第一媒体分片请求消息发送给所述媒体服务器,以向所述媒体服务器请求所述目标码率对应的所述媒体分片。
在一可选实施方式中,处理器73具体可用于根据所述媒体内容对应的效用函数和所有客户端中每个客户端在所述控制器接收到所述第一媒体分片请求消息时对应的目标码率,获得每个客户端对应的效用值,并对所有客户端对应的效用值进行平均,获得平均效用值,根据所述媒体内容对应的效用函数、所述平均效用值、所述用户签约等级信息和所述媒体服务器所支持的媒体分片码率,获得所述第一客户端对应的第一码率,根据所述网络拥塞等级信息和媒体服务器所支持的媒体分片码率,对所述第一码率进行调整,获得所述第一客户端对应的目标码率。
进一步,处理器73具体可用于根据公式(3),计算初始码率,然后根据所述初始码率与所述媒体服务器所支持的媒体分片码率之间的大小关系,确定所述媒体服务器所支持的媒体分片码率中与所述初始码率最接近的媒体分片码率作为所述第一码率。关于公式(3)可参见上述实施例的描述,在此不再赘述。
进一步,处理器73具体可用于按照由大到小的顺序,对所有客户端中除所述第一客户端之外的其他客户端在所述控制器接收到所述第一媒体分片请求消息时对应的目标码率以及所述第一码率进行排序,如果所述第一码率在所述排序结果中位于指定位置之前且所述网络拥塞等级信息所标识的网络拥塞等级大于预设等级门限,则根据所述媒体服务器所支持的媒体分片码率降低所述第一码率,获得第二码率,并根据所述第二码率,获得所述第一客户端对应的目标码率。
进一步,处理器73具体可用于直接将所述第二码率作为所述第一客户端对应的目标码率。或者
处理器73具体可用于根据所述请求码率和所述第二码率对应的效用值,分别计算所述请求码率和所述第二码率对应的公平性代价值,并分别计算所述请求码率和所述第二码率对应的稳定性代价值,根据所述请求码率对应的公平性代价值和稳定性代价值计算所述请求码率对应的平均代价值,根据所述第二码率对应的公平性代价值和稳定性代价值,计算所述第二码率对应的平均代价值,从所述请求码率和第二码率中选择平均代价值小的码率作为所述第一客户端对应的目标码率。
进一步,处理器73具体可用于根据公式(6),分别计算所述请求码率和所述第二码率对应的公平性代价值,根据公式(7),分别计算所述请求码率或所述第二码率对应的稳定性代价值,根据公式(8),分别计算所述请求码率和所述第二码率对应的平均代价值,然后从所述请求码率和第二码率中选择平均代价值小的码率作为所述第一客户端对应的目标码率。
在一可选实施方式中,处理器73获取网络拥塞等级信息以及用户签约等级信息的方式包括:处理器73具体可用于在接收器71接收到所述MPD请求消息之后,控制发送器74向基站发送第一获取请求消息,所述第一获取请求消息携带有所述第一客户端的身份标识信息,控制接收器71接收所述基站根据所述第一获取请求消息返回的所述网络拥塞等级信息和所述第一客户端的用户标识信息,并控制发送器74根据所述第一客户端的用户标识信息,向SPR发送第二获取请求消息,所述第二获取请求消息携带有所述第一客户端的用户标识信息,进而控制接收器71接收所述SPR根据所述第二获取请求消息返回的所述用户签约等级信息。
基于上述,接收器71还用于在处理器73的控制下,接收基站根据所述第一获取请求消息返回的所述网络拥塞等级信息和所述第一客户端的用户标识信息,以及接收SPR根据所述第二获取请求消息返回的所述用户签约等级信息。相应的,发送器74还用于在处理器73的控制下,向基站发送第一获取请求消息,并根据所述第一客户端的用户标识信息,向SPR发送第二获取请求消息。
可选的,在具体实现上,如果接收器71、存储器72、处理器73和发送器74独立实现,则接收器71、存储器72、处理器73和发送器74可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果接收器71、存储器72、处理器73和发送器74集成在一块芯片上实现,则接收器71、存储器72、处理器73和发送器74可以通过内部接口完成相同间的通信。
本实施例提供的控制器可用于执行上述方法实施例的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的控制器,接收客户端发送的MPD请求消息,在接收到MPD请求消息之后,获取网络拥塞等级信息和用户签约等级信息,并将MPD请求消息转发给媒体服务器,接收媒体服务器根据所述MPD请求消息返回的MPD文件,从MPD文件中获取媒体服务器所支持的媒体分片码率,根据MPD文件携带的媒体内容的标识信息确定所述媒体内容对应的效用函数,进而在接收到客户端发送的媒体分片请求消息之后,根据媒体内容对应的效用函数、网络拥塞等级信息、用户签约等级信息和媒体服务器所支持的媒体分片码率,获得目标码率,并将媒体分片请求消息中的请求码率替换为目标码率之后发送给媒体服务器,以向媒体服务器请求所述目标码率对应的媒体分片,充分考虑了网络拥塞情况和用户签约等级等信息,调整客户端请求的媒体分片码率,有利于提供更为合适的媒体分片码率,提高了请求的媒体分片码率的准确性,有利于为客户端提供合理的、有区别的媒体服务。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。所述程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种流媒体请求方法,其特征在于,包括:
控制器接收所有客户端中第一客户端发送的媒体呈现描述MPD请求消息,所述MPD请求消息携带有所述第一客户端的身份标识信息;
所述控制器在接收到所述MPD请求消息之后,获取所述第一客户端所在网络对应的网络拥塞等级信息,根据所述第一客户端的身份标识信息,获取所述第一客户端对应的用户签约等级信息,并将所述MPD请求消息转发给媒体服务器;
所述控制器接收所述媒体服务器根据所述MPD消息返回的MPD文件,从所述MPD文件中获取所述媒体服务器所支持的媒体分片码率,根据所述MPD文件中所述第一客户端请求的媒体内容的标识信息,从预设的效用函数中确定所述媒体内容对应的效用函数,并将所述MPD文件转发给所述第一客户端;
所述控制器接收所述第一客户端根据所述MPD文件发送的第一媒体分片请求消息,所述第一媒体分片请求消息携带有请求码率,所述请求码率是指所述第一客户端向所述媒体服务器请求的所述媒体内容中的媒体分片对应的编码码率;
所述控制器根据所述媒体内容对应的效用函数、所述网络拥塞等级信息、所述用户签约等级信息和所述媒体服务器所支持的媒体分片码率,获得所述第一客户端对应的目标码率,并将所述第一媒体分片请求消息中的所述请求码率替换为所述第一客户端对应的目标码率后发送给所述媒体服务器,以向所述媒体服务器请求所述目标码率对应的所述媒体分片;
所述控制器根据所述媒体内容对应的效用函数、所述网络拥塞等级、所述用户签约等级信息和所述媒体服务器所支持的媒体分片码率,获得所述第一客户端对应的目标码率,包括:
所述控制器根据所述媒体内容对应的效用函数和所有客户端中每个客户端在所述控制器接收到所述第一媒体分片请求消息时对应的目标码率,获得每个客户端对应的效用值,并对所有客户端对应的效用值进行平均,获得平均效用值;
所述控制器根据所述媒体内容对应的效用函数、所述平均效用值、所述用户签约等级信息和所述媒体服务器所支持的媒体分片码率,获得所述第一客户端对应的第一码率;
所述控制器根据所述网络拥塞等级信息和所述媒体服务器所支持的媒体分片码率,对所述第一码率进行调整,获得所述第一客户端对应的目标码率。
2.根据权利要求1所述的流媒体请求方法,其特征在于,所述控制器根据所述媒体内容对应的效用函数、所述平均效用值、所述用户签约等级信息和所述媒体服务器所支持的媒体分片码率,获得所述第一客户端对应的第一码率,包括:
所述控制器根据公式wU(bref1)=αUaver,计算初始码率;
根据所述初始码率与所述媒体服务器所支持的媒体分片码率之间的大小关系,确定所述媒体服务器所支持的媒体分片码率中与所述初始码率最接近的媒体分片码率作为所述第一码率;
其中,w表示所述用户签约等级信息对应的权重,且所述用户签约等级信息所标识的用户等级越高,所述用户签约等级信息对应的权重越小;bref1表示所述初始码率;U(bref1)表示以所述初始码率为变量的所述媒体内容对应的效用函数;α为预先设定的常数值;Uaver为所述平均效用值。
3.根据权利要求1所述的流媒体请求方法,其特征在于,所述控制器根据所述网络拥塞等级信息和所述媒体服务器所支持的媒体分片码率,对所述第一码率进行调整,获得所述第一客户端对应的目标码率,包括:
所述控制器按照由大到小的顺序,对所有客户端中除所述第一客户端之外的其他客户端在所述控制器接收到所述第一媒体分片请求消息时对应的目标码率以及所述第一码率进行排序,如果所述第一码率在所述排序结果中位于指定位置之前且所述网络拥塞等级信息所标识的网络拥塞等级大于预设等级门限,则根据所述媒体服务器所支持的媒体分片码率降低所述第一码率,获得第二码率,并根据所述第二码率,获得所述第一客户端对应的目标码率。
4.根据权利要求3所述的流媒体请求方法,其特征在于,所述控制器根据所述第二码率,获得所述第一客户端对应的目标码率,包括:
所述控制器直接将所述第二码率作为所述第一客户端对应的目标码率;或者
所述控制器根据所述请求码率和所述第二码率对应的效用值,分别计算所述请求码率和所述第二码率对应的公平性代价值,并分别计算所述请求码率和所述第二码率对应的稳定性代价值,根据所述请求码率对应的公平性代价值和稳定性代价值计算所述请求码率对应的平均代价值,根据所述第二码率对应的公平性代价值和稳定性代价值,计算所述第二码率对应的平均代价值,从所述请求码率和所述第二码率中选择平均代价值小的码率作为所述第一客户端对应的目标码率。
5.根据权利要求4所述的流媒体请求方法,其特征在于,所述控制器根据所述请求码率和所述第二码率对应的效用值,分别计算所述请求码率和所述第二码率对应的公平性代价值,包括:
所述控制器根据公式分别计算所述请求码率和所述第二码率对应的公平性代价值;
所述控制器分别计算所述请求码率和所述第二码率对应的稳定性代价值,包括:
所述控制器根据公式分别计算所述请求码率或所述第二码率对应的稳定性代价值;
所述控制器根据所述请求码率对应的公平性代价值和稳定性代价值计算所述请求码率对应的平均代价值,根据所述第二码率对应的公平性代价值和稳定性代价值,计算所述第二码率对应的平均代价值,包括:
所述控制器根据公式SFb=βSfairness(b)+Sstability(b),分别计算所述请求码率和所述第二码率对应的平均代价值;
其中,Sfairness(b)表示所述请求码率或所述第二码率对应的公平性代价值,Ubref2表示第二码率对应的效用值,Ub表示所述请求码率或所述第二码率对应的效用值,Sstability(b)表示所述请求码率或所述第二码率对应的稳定性代价值,n表示所述第一客户端在指定时间内的码率切换次数,M表示所述第一客户端在最近一次发生码率切换时的切换幅度;b的取值为所述请求码率或所述第二码率,bt-1表示所述第一客户端在发送所述第一媒体分片请求消息之前最近一次发送的第二媒体分片请求消息对应的目标码率;SFb表示所述请求码率或所述第二码率对应的平均代价值,β为预设的常数值。
6.根据权利要求1-5任一项所述的流媒体请求方法,其特征在于,所述控制器在接收到所述MPD请求消息之后,获取所述第一客户端所在网络对应的网络拥塞等级信息,根据所述第一客户端的身份标识信息,获取所述第一客户端对应的用户签约等级信息,包括:
所述控制器在接收到所述MPD请求消息之后,向基站发送第一获取请求消息,所述第一获取请求消息携带有所述第一客户端的身份标识信息;
所述控制器接收所述基站根据所述第一获取请求消息返回的所述网络拥塞等级信息和所述第一客户端的用户标识信息;
所述控制器根据所述第一客户端的用户标识信息,向用户属性存储SPR发送第二获取请求消息,所述第二获取请求消息携带有所述第一客户端的用户标识信息;
所述控制器接收所述SPR根据所述第二获取请求消息返回的所述用户签约等级信息。
7.一种控制器,其特征在于,包括:
第一接收模块,用于接收所有客户端中第一客户端发送的媒体呈现描述MPD请求消息,所述MPD请求消息携带有所述第一客户端的身份标识信息;
第一获取模块,用于在所述第一接收模块接收到所述MPD请求消息之后,获取所述第一客户端所在网络对应的网络拥塞等级信息,根据所述第一客户端的身份标识信息,获取所述第一客户端对应的用户签约等级信息;
第一转发模块,用于在所述第一接收模块接收到所述MPD请求消息之后,将所述MPD请求消息转发给媒体服务器;
第二接收模块,用于接收所述媒体服务器根据所述MPD消息返回的MPD文件;
第二获取模块,用于从所述MPD文件中获取所述媒体服务器所支持的媒体分片码率,并根据所述MPD文件中所述第一客户端请求的媒体内容的标识信息,从预设的效用函数中确定所述媒体内容对应的效用函数;
第二转发模块,用于将所述MPD文件转发给所述第一客户端;
第三接收模块,用于接收所述第一客户端根据所述MPD文件发送的第一媒体分片请求消息,所述第一媒体分片请求消息携带有请求码率,所述请求码率是指所述第一客户端向所述媒体服务器请求的所述媒体内容中的媒体分片对应的编码码率;
第三获取模块,用于根据所述媒体内容对应的效用函数、所述网络拥塞等级信息、所述用户签约等级信息和所述媒体服务器所支持的媒体分片码率,获得所述第一客户端对应的目标码率;
第三转发模块,用于将所述第一媒体分片请求消息中的所述请求码率替换为所述第一客户端对应的目标码率后发送给所述媒体服务器,以向所述媒体服务器请求所述目标码率对应的所述媒体分片;
所述第三获取模块包括:
第一获取单元,用于根据所述媒体内容对应的效用函数和所有客户端中每个客户端在所述控制器接收到所述第一媒体分片请求消息时对应的目标码率,获得每个客户端对应的效用值,并对所有客户端对应的效用值进行平均,获得平均效用值;
第二获取单元,用于根据所述媒体内容对应的效用函数、所述平均效用值、所述用户签约等级信息和所述媒体服务器所支持的媒体分片码率,获得所述第一客户端对应的第一码率;
第三获取单元,用于根据所述网络拥塞等级信息和所述媒体服务器所支持的媒体分片码率,对所述第一码率进行调整,获得所述第一客户端对应的目标码率。
8.根据权利要求7所述的控制器,其特征在于,所述第二获取单元具体用于根据公式wU(bref1)=αUaver,计算初始码率,根据所述初始码率与所述媒体服务器所支持的媒体分片码率之间的大小关系,确定所述媒体服务器所支持的媒体分片码率中与所述初始码率最接近的媒体分片码率作为所述第一码率;
其中,w表示所述用户签约等级信息对应的权重,且所述用户签约等级信息所标识的用户等级越高,所述用户签约等级信息对应的权重越小;bref1表示所述初始码率;U(bref1)表示以所述初始码率为变量的所述媒体内容对应的效用函数;α为预先设定的常数值;Uaver为所述平均效用值。
9.根据权利要求7所述的控制器,其特征在于,所述第三获取单元具体用于按照由大到小的顺序,对所有客户端中除所述第一客户端之外的其他客户端在所述控制器接收到所述第一媒体分片请求消息时对应的目标码率以及所述第一码率进行排序,如果所述第一码率在所述排序结果中位于指定位置之前且所述网络拥塞等级信息所标识的网络拥塞等级大于预设等级门限,则根据所述媒体服务器所支持的媒体分片码率降低所述第一码率,获得第二码率,并根据所述第二码率,获得所述第一客户端对应的目标码率。
10.根据权利要求9所述的控制器,其特征在于,所述第三获取单元用于根据所述第二码率,获得所述第一客户端对应的目标码率包括:
所述第三获取单元具体用于直接将所述第二码率作为所述第一客户端对应的目标码率;或者
所述第三获取单元具体用于根据所述请求码率和所述第二码率对应的效用值,分别计算所述请求码率和所述第二码率对应的公平性代价值,并分别计算所述请求码率和所述第二码率对应的稳定性代价值,根据所述请求码率对应的公平性代价值和稳定性代价值计算所述请求码率对应的平均代价值,根据所述第二码率对应的公平性代价值和稳定性代价值,计算所述第二码率对应的平均代价值,从所述请求码率和所述第二码率中选择平均代价值小的码率作为所述第一客户端对应的目标码率。
11.根据权利要求10所述的控制器,其特征在于,
所述第三获取单元具体用于根据公式分别计算所述请求码率和所述第二码率对应的公平性代价值,根据公式分别计算所述请求码率或所述第二码率对应的稳定性代价值,根据公式SFb=βSfairness(b)+Sstability(b),分别计算所述请求码率和所述第二码率对应的平均代价值,并选择所述请求码率和所述第二码率中平均代价值小的码率作为所述第一客户端对应的目标码率;
其中,Sfairness(b)表示公平性代价值,表示第二码率对应的效用值,Ub表示所述请求码率或所述第二码率对应的效用值,Sstability(b)表示稳定性代价值,n表示所述第一客户端在指定时间内的码率切换次数,M表示所述第一客户端在最近一次发生码率切换时的切换幅度;b的取值为所述请求码率或所述第二码率,bt-1表示所述第一客户端在发送所述第一媒体分片请求消息之前最近一次发送的第二媒体分片请求消息对应的目标码率;SFb表示所述请求码率或所述第二码率对应的平均代价值,β为预设的常数值。
12.根据权利要求7-11任一项所述的控制器,其特征在于,所述第一获取模块具体用于在所述第一接收模块接收到所述MPD请求消息之后,向基站发送第一获取请求消息,所述第一获取请求消息携带有所述第一客户端的身份标识信息,并接收所述基站根据所述第一获取请求消息返回的所述网络拥塞等级信息和所述第一客户端的用户标识信息,根据所述第一客户端的用户标识信息,向用户属性存储SPR发送第二获取请求消息,所述第二获取请求消息携带有所述第一客户端的用户标识信息,并接收所述SPR根据所述第二获取请求消息返回的所述用户签约等级信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310047145.2A CN103973662B (zh) | 2013-02-06 | 2013-02-06 | 流媒体请求方法及控制器 |
PCT/CN2014/070798 WO2014121685A1 (zh) | 2013-02-06 | 2014-01-17 | 流媒体请求方法及控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310047145.2A CN103973662B (zh) | 2013-02-06 | 2013-02-06 | 流媒体请求方法及控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103973662A CN103973662A (zh) | 2014-08-06 |
CN103973662B true CN103973662B (zh) | 2017-06-20 |
Family
ID=51242711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310047145.2A Active CN103973662B (zh) | 2013-02-06 | 2013-02-06 | 流媒体请求方法及控制器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103973662B (zh) |
WO (1) | WO2014121685A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9894130B2 (en) * | 2014-09-23 | 2018-02-13 | Intel Corporation | Video quality enhancement |
US10051031B2 (en) * | 2015-04-20 | 2018-08-14 | Qualcomm Incorporated | Further device timing adjustments and methods for supporting DASH over broadcast |
IN2015CH04763A (zh) * | 2015-09-08 | 2015-09-25 | Wipro Ltd | |
CN107241571B (zh) * | 2016-03-29 | 2019-11-22 | 杭州海康威视数字技术股份有限公司 | 一种多媒体文件封装、播放方法及装置 |
CN107306356A (zh) * | 2016-04-21 | 2017-10-31 | 中兴通讯股份有限公司 | 视频信息描述文件获取方法及内容分发服务器、机顶盒、系统 |
CN107800665B (zh) * | 2016-08-31 | 2020-08-25 | 华为技术有限公司 | 多媒体传输方法、接入网设备及终端 |
CN108495147A (zh) * | 2018-03-09 | 2018-09-04 | 网宿科技股份有限公司 | 一种提供视频资源的方法和系统 |
CN110830821A (zh) * | 2018-08-14 | 2020-02-21 | 海能达通信股份有限公司 | 基于切片的rtp流传输方法、装置、终端及服务器 |
CN115086714B (zh) * | 2022-06-13 | 2024-08-16 | 京东科技信息技术有限公司 | 数据处理方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710586A (zh) * | 2011-03-28 | 2012-10-03 | 华为技术有限公司 | 流媒体传输控制方法、媒体传输控制方法、相关设备 |
CN102801690A (zh) * | 2011-05-25 | 2012-11-28 | 华为技术有限公司 | 流媒体的处理方法、分发服务器、客户端及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8379851B2 (en) * | 2008-05-12 | 2013-02-19 | Microsoft Corporation | Optimized client side rate control and indexed file layout for streaming media |
CN102833219B (zh) * | 2011-06-16 | 2015-06-03 | 华为技术有限公司 | 向客户端传输数据文件的方法和装置 |
-
2013
- 2013-02-06 CN CN201310047145.2A patent/CN103973662B/zh active Active
-
2014
- 2014-01-17 WO PCT/CN2014/070798 patent/WO2014121685A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710586A (zh) * | 2011-03-28 | 2012-10-03 | 华为技术有限公司 | 流媒体传输控制方法、媒体传输控制方法、相关设备 |
CN102801690A (zh) * | 2011-05-25 | 2012-11-28 | 华为技术有限公司 | 流媒体的处理方法、分发服务器、客户端及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103973662A (zh) | 2014-08-06 |
WO2014121685A1 (zh) | 2014-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103973662B (zh) | 流媒体请求方法及控制器 | |
US9923771B2 (en) | Adaptive bitrate modification of a manifest file | |
Huang et al. | Buffer state is enough: Simplifying the design of QoE-aware HTTP adaptive video streaming | |
CN105052107B (zh) | 使用质量信息进行媒体内容自适应传输 | |
US20070283036A1 (en) | System And Method For Providing A Web Page | |
CN101355522B (zh) | 一种媒体服务器的控制方法和系统 | |
CN105357591A (zh) | 一种自适应码率视频直播的QoE监控和优化方法 | |
CN104780199A (zh) | 在客户端下载多媒体内容即将到来的分段的方法及终端 | |
CN106559677A (zh) | 终端、缓存服务器及获取视频分片的方法及装置 | |
CN104919757A (zh) | 用于估计有效带宽的系统和方法 | |
CN101932029A (zh) | 数据传输方法、设备及系统 | |
Zahran et al. | OSCAR: An optimized stall-cautious adaptive bitrate streaming algorithm for mobile networks | |
CN105264907B (zh) | 移动视频业务的体验质量预测方法及基站 | |
CN104702922A (zh) | 一种视频传输方法和系统 | |
CN103974057B (zh) | 一种视频质量用户体验值测评方法、设备及系统 | |
CN105981400A (zh) | 配置为接收划分成片段的多媒体内容的客户终端获得网络信息的方法 | |
EP3427440A1 (en) | Method and scoring node for estimating a user's quality of experience for a delivered service | |
EP2797319A1 (en) | Content delivery system | |
Azumi et al. | A QoE-aware quality-level switching algorithm for adaptive video streaming | |
Krishnamoorthi et al. | Slow but steady: Cap-based client-network interaction for improved streaming experience | |
Wei et al. | Evaluation of throughput prediction for adaptive bitrate control using trace-based emulation | |
CN109089174A (zh) | 一种多媒体数据流的处理方法及装置、计算机存储介质 | |
KR102304476B1 (ko) | 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법 | |
CN102291412B (zh) | 一种基于http的多媒体业务实现方法、系统及装置 | |
KR20050034811A (ko) | 이질적 환경 하에서 멀티미디어 서비스의 서비스질 지원을위한 시스템적인 형식 변환 방법 및 시스템 |
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 |