流媒体服务实现方法、系统和策略与控制服务器的制作方法

文档序号:7656339阅读:127来源:国知局
专利名称:流媒体服务实现方法、系统和策略与控制服务器的制作方法
技术领域
本发明涉及网络通讯技术领域,具体涉及流媒体服务实现方法、系统和策略与控制服务器。
技术背景流媒体即通过网络将多媒体数据按照"流"的方式发送给用户终端,用户终端可以一边 接收多媒体数据、 一边对多媒体数据进行解码及其它必要处理,并进行播放。这里的多媒体 数据包括视频、音频、静止图像、动画以及文本等等。这里的网络如IP网络等。流媒体服务的组网存在多种不同的形式,但是,各种组网形式均包括一些基本要素,下 面结合附图1所示的流媒体服务组网原理示意图和附图2所示的单播、组播示意图对流媒体服 务组网的基本要素进行说明。在图l的流媒体服务组网原理示意图中,流媒体服务组网的基本要素如下1、 流服务器及存储设备。多个存储设备可以组成存储阵列。流媒体内容数据以文件形 式存储在存储设备中。流服务器从存储设备中读取文件,并以媒体流的方式发送。请参阅图2,对于单播(Unicast)的情况,流服务器发送的每个媒体流对应一个用户终端。在单播情 况下,流服务器发送的媒体流可以称为单播流。对于组播(Multicast)的情况,流服务器发 送的每个媒体流对应多个用户终端,也就是说,当多个用户终端需要接收同样的媒体流时, 流服务器发送的媒体流到达骨干网的边缘后,由流复制节点设备如DSLAM、或者路由器、 或者BRAS设备等将媒体流复制并发送给不同的用户终端;在组播情况下,流服务器发送的 媒体流可以称为组播流,流复制节点设备发送的媒体流可以称为单播流。图l中的流服务器 可以称为中央流服务器。2、 边缘流服务器及存储设备。对于大型的流媒体系统,在骨干网的边缘会布署多个边 缘流服务器,边缘流服务器为用户终端提供就近服务。边缘流服务器从与其对应的存储设备 中读取文件,并以媒体流的方式发送。3、 门户服务器。门户服务器为用户终端提供内容査询、点播、请求等一系列服务,真 正的业务逻辑由后台的管理服务器(组)执行。门户服务器还提供对用户终端的认证、鉴权
等的接口功能,即门户服务器通过和用户终端进行交互来获得认证、鉴权所需要的数据,并 将获得的数据传输给管理服务器(组),由管理服务器(组)完成对用户终端的认证和鉴权。 门户服务器相当于流媒体服务的前台。4、 管理服务器(组)。管理服务器(组)是由多个管理服务器组成的服务器组。管理 服务器(组)提供的功能包括用户管理、认证和鉴权、网络管理、业务逻辑控制、计费管 理等等。5、 策略与控制服务器。策略与控制服务器对流服务器进行控制和策略管理。策略与控 制服务器可以同时控制多个流服务器,包括中央流服务器和边缘流服务器。通过其和流服务 器之间的通信接口协议把控制策略下发到流服务器,同时从流服务器获取策略执行的实际情 况数据。需要说明的是,上述描述的各个功能实体(Functional entity)其实是逻辑实体,并不代 表具体的物理设备。在实际应用中,完全可以将多个逻辑功能实体通过一个物理设备来实现,如在极端情况下,可以将边缘流服务器之外的所有服务器都通过一台物理服务器来实现。在目前的流媒体服务实现过程中,策略与控制服务器在为流服务器制定控制策略时,采 用粗放式控制方式。例如,当网络状况劣化时,流服务器或者策略与控制服务器根据经验值 调整媒体流数据文件的编码比特率或者帧率。目前的粗放式控制方式无法提供最优用户体验 的流媒体服务。发明内容本发明实施方式提供一种流媒体服务实现方法、系统和策略与控制服务器,提高了流 媒体服务的用户体验。本发明实施方式提供一种流媒体服务实现方法,包括a、 根据流媒体的用户体验定量模型建立数学优化问题,并进行求解以确定用户体验定量模型中的各参数;b、 根据所述确定出的各参数设置流服务器的控制策略;c、 流服务器根据所述控制策略读取流媒体数据文件、并根据读取的流媒体数据文件向用户终端发送媒体流,为用户提供流媒体服务。本发明实施方式还提供一种流媒体服务实现系统,所述系统包括 存储设备,用于存储流媒体数据文件;策略与控制服务器,用于根据流媒体的用户体验定量模型而建立的数学优化问题,对
所述数学优化问题进行求解以确定用户体验定量模型中的各参数,并根据所述各参数设置控制策略,将所述控制策略传输给流服务器;流服务器,用于根据接收的控制策略从所述存储设备中读取流媒体数据文件、并根据读取的流媒体数据文件向用户终端发送媒体流。本发明实施方式还提供一种策略与控制服务器,所述策略与控制服务器包括 存储模块用于存储根据流媒体的用户体验定量模型所建立的数学优化问题; 求解模块用于对存储模块中存储的数学优化问题进行求解,以确定用户体验定量模型中的各参数;传输模块用于根据求解模块通过求解所述数学优化问题获得的用户体验定量模型中 的各参数设置控制策略,并将控制策略传送给流服务器。通过上述技术方案的描述可知,本发明实施方式是基于用户体验定量模型来实现流媒 体服务的,因此,本发明实施方式能够为用户终端提供最优的用户体验;本发明实施方式提 供的流媒体服务实现方法与用户体验定量模型的具体表现形式无关,因此,本发明实施方式 可以适用于目前以及以后出现的各种用户体验定量模型,是一种能够广泛应用的实现流媒体 服务的技术方案。


图l是现有技术的流媒体服务组网原理示意图; 图2是现有技术的单播、组播示意图; 图3是获得丢包率的原理示意图;图4是fecc与丢包率、以及保护强度参数之间的关系示意图;图5是纠错编码工作原理示意图;图6是本发明实施方式的流服务器执行策略与控制服务器的过程示意图; 图7是本发明实施方式的媒体流和用户终端之间的对应关系示意图。
具体实施方式
在流媒体服务实现过程中,策略与控制服务器为流服务器提供的控制策略可以包括多个方面的各种策略,如A、 带宽策略管理给每个媒体流分配什么样的带宽。B、 视频流策略管理给每个视频流提供什么样的参数,这里的参数如编码协议、图像
大小、帧率等。C、 音频流策略管理给每个音频流提供什么样的参数,这里的参数如编码协议、比特 率等。D、 QoS/QoE (Quality of service/Quality of experience,服务质量/体验质量)策略管理 给出每个媒体流的QoS/QoE管理策略。从服务于用户的角度来说,流媒体服务实现过程中最重要的是为用户提供最好的用户 体验。用户体验会直接影响到用户是否愿意使用流媒体服务。因此,为流服务器提供的各种 策略中QoE策略是核心策略。如何为流服务器提供最优的QoE策略,使用户能够得到最好的 用户体验是实现流媒体服务的关键。如何优化为流服务器提供的QoE策略,是本发明实施方 式技术方案的关键。本发明实施方式中的策略与控制服务器可以为流服务器提供优化的QoE 策略。策略与控制服务器是根据用户体验定量模型来确定QoE策略的。这里的QoE策略包括 的变量如1、各个媒体流的最大允许带宽;2、各个媒体流的视频,音频编码协议;3、采 用的比特率;4、图像大小;5、帧率;6、优先级;7、纠错编码保护类型和保护强度参数等。 本发明实施方式是通过用户体验定量模型转换的数学优化问题来确定QoE策略中的各变量 的。用户体验定量模型是指将流媒体用户体验量化数值和媒体流各个属性参数关联起来的 函数关系。函数关系的自变量即媒体流的各个属性参数,函数关系的取值是流媒体用户体验 量化数值。对于视频流媒体服务来说,这里的各个属性参数包括但不限于比特率、帧率、 压縮编码协议、图像格式、关键帧间隔、纠错编码类型、保护强度参数;对于音频流媒体服 务来说,这里的各个属性参数包括但不限于比特率、压縮编码协议、纠错编码类型、保护 强度参数。本发明实施方式在用户体验定量模型的基础上,提出了一种通用的流媒体服务实现框 架,该通用的流媒体服务实现框架能够适用于目前的各种用户体验定量模型,也能够适用于 以后的用户体验定量模型。本发明实施方式通过这个通用的流媒体服务实现框架能够为用户 提供最优的用户体验。用户体验定量模型可以为视频用户体验定量模型,也可以为音频体验定量模型;当一个用户终端同时接收到视频流和音频流时,用户体验定量模型还可以为包括视频音频的用户体 验定量模型。下面以几个具体的用户体验定量模型为例,对本发明实施方式中的视频用户体验定量模 型、音频体验定量模型分别进行说明。
一、视频用户体验定量模型(QEV)。视频用户体验定量模型QEV = f (vbr, fr, vcp, pf, kfi, ecct, eccp) (1)其中,f(.)表示一个函数,视频用户体验定量模型中的各参数解释如下 vbr为视频比特率(video bit rate),如128kbps, 384kbps等,vbr的单位为比特/秒或者千 比特/秒。fr为帧率(frame rate) , fr的单位是fps (帧/秒),如15^s, 30fps,在一般应用中,最 高帧率为30fj)s。vcp为视频压縮编码协议(video compression protocol),可选择的压縮编码协议有多种, 如国际标准的H.261、 H.263/H.263+/H.263++、 H.264、 MPEG-2 、 MPEG-4 ,中国标准AVS以 及私有协议如MSVCl等等。pf为图像格式(picture format),图像格式决定图像的大小,图像格式如CIF、 QCIF、 SQCIF、 4CIF、 VGA、 XGA、 Dl、 1080i等等。kfi为关键帧间隔(key frame interval),用两个相继关键帧之间隔开的非关键帧数量表示。ecct为纟4错编石马类型(error correction code type 、或error control code type)。 Eccp为纠错编码参数,即保护强度参数(error correction/control code parameters)。视频用户体验定量模型QEV可进一步表示为QEV = f (vbr, fr, vcp, pf, kfi, ecct, eccp) = fcp(vbr, fr, vcp, pf, kfi) + fecc(ecct, eccp) (2 ) 其中,fcp(vbr,fr,vcp,pf,kfi)表示与视频压縮编码(cp, compression)相关的项,而fecc (ecct, eccp)表示和纠错编码相关的项。下面以 一 个具体的表现形式为例,对视频用户体验定量模型QEV中的 fcp(vbr, fr, vcp, pf, kfi)禾卩fecc(ecct, eccp)分另U进斗亍说明。 目前,fcp(vbr,fr,vcp,pf,kfi)可以表述为如下形式<formula>formula see original document page 9</formula> ( 3 )其中<formula>formula see original document page 9</formula> <formula>formula see original document page 10</formula> ( 7 )在上述公式(3) 、 (4) 、 (5) 、 (6) 、 (7)所示的视频用户体验定量模型中,函 数中的一组系数a,b,c,d,e,f是随着编码协议、图像格式和关键帧间隔的变化而变化的,而通过 这些系数的变化,br、 fr和fcp关联起来。上述公式(3) 、 (4) 、 (5) 、 (6) 、 (7)所示的视频用户体验定量模型仅仅是用 于描述本发明实施方式而例举的一个具体的例子。由于本发明实施方式与用户体验定量模型 的具体表现形式无关,所以,本发明实施方式可以适用于目前存在的其他各种用户体验定量 模型,也可以适用于将来可能出现的各种用户体验定量模型。在实际应用中,视频比特率vbr不是连续变化的,即使是采用所谓的FGS(Fine Granularity Scalability,精细分层编码)的压縮编码技术,vbr也不是连续变化的。Fr、 vcp、 pf、 kfi在本 质上都是非连续变化的,是离散变量。因此,fcp(br,fr,cp,pf,kfi)涉及的5个变量都可以离散 化,可以用每个变量所常用的典型值来表示该变量。如对于比特率,可以考虑如下离散值 128bkps、 256bkps、 384kbps、 512kbps、 768kbps、 1024kbps、 1536kbps、 1920kbps、 2048kbps 等等。由此可知,fcp(vbr,fr,vcp,pf,kfi)可以用一个5维的离散表格来表示。本发明实施方式对fecc(ecct, eccp)模型的分析如下对于给定的纠错编码类型,如R-S(Reed-Solomon Code)码、BCH码、喷泉(Fountain Code) 码、旋风码(Tornado Code)、速龙码(Raptor Code)等,在不考虑带宽的约束下,采用的 保护强度越高,用户的体验效果就越好。对于保护强度,可以采用一组参数来描述,如对于 很多纠错编码类型,可以采用两个参数(n,m)分别表示总的节点数和数据节点数来联合表示 保护强度性能。其中,总的节点数=数据节点数+校验节点数。本发明实施方式可以用K个参 数来描述保护强度。对于某种给定的纠错编码类型,端到端的丢包率越高,则用户体验越差。因此,在 fecc(ecct,eccp)模型中,丢包率是一个关键数据,丢包率是一个外部变量,是流服务器无法 控制的。但是,在为流服务器提供的控制策略中需要使用丢包率这个变量,因此,在本发明 实施方式中必须获取丢包率。获得丢包率的原理如附图3所示。在图3中,用户终端为媒体流的接收端,用户终端统计一段时间内的丢包数和总的包数, 从而得到该段时间内的平均丢包率,然后,用户终端通过QoS报告机制,如通过RTCP (Real-time Control Protocol)数据包将平均丢包率上报给流服务器。流服务器将用户终端上 报的平均丢包率上报给策略与控制服务器,策略与控制服务器获得用户终端的丢包率。
对于某种给定的纠错编码类型,在不同的端到端丢包率下,fecc(ecct,eccp)可以用一个多 维表格来表示。如果将丢包率、纠错编码类型也作为维度考虑,则可以采用K+2维的表格来 表示fecc(ecct,eccp),其中K为描述eccp的参数个数。图4示出了fecc与丢包率、以及保护强度 参数的两个参数之间的关系。图4示出的fecc(ecct,eccp)是一个二维表格,其中,eccpl和eccp2 是两个描述保护强度的参数。纠错编码工作原理如附图5所示。图5中,流服务器从存储设备中的视频或者音频文件中读出视频或者音频数据,视频和 音频数据可以存储在不同的文件中,也可以存储在一种通用容器文件中,如AVI( Audio Video Interleaved,音频视频交织)文件, 一个AVI文件可以同时包含多个视频和音频流。流服务 器可以根据需要通过纠错编码环节对多媒体流进行编码,然后,通过打包发送环节将视频流 和音频流打包为数据包流,最后,将数据包流发送到网络上。引入了纠错编码后,对于媒体流数据来说,虽然在丢包的情况下提高了保护能力,但是, 媒体流数据的比特率有所增加。对于某种给定的纠错编码类型以及一组给定的保护强度参 数,对应存在一个比例因子kecc(ecct,eccp),即经过纠错编码后,视频流的比特率增加为原 来的kecc(ecct,eccp)倍。严格的说,压縮的媒体流数据经过打包后,也会存在额外的开销。这个额外的开销是可以精确计算的。针对一种固定的编码协议和具体参数如比特率、打包协 议(如RTP, Real Time Protocol,实时协议)等,可以确定一个比特率倍增比例因子 kpac(br,cp,pacp),其中,变量pacp表示打包协议(packetization protocol)。由于这个额夕卜的 开销一般可以忽略不计,所以,本发明实施方式可以忽略这个比例因子,认为kpac(br,cp,pacp) 恒等于l。二、音频用户体验定量模型(QEA)。音频用户体验定量模型QEA = g(abr,acp,ecct,eccp) (8)其中,g(.)表示一个函数,音频用户体验定量模型中的各参数解释如下abr为音频比特率(Audio bit rate),如32kbps, 48kbps, 64kbps, 192kbps等,abr的单 位为比特/秒或者千比特/秒。acp为音频压縮编码协议(Audio compression protocol),目前可选择的压縮编码协议有 多种,如ITU-T的G.711、 G.722、 G.723.1、 G.728、 G.729、 G.729.1、 MPEG的AAC、 MP3以 及正TF的iLBC (Internet Low-BitRate Codec)等等。ecct为纟4错编码类型(error correction code type、或error control code type)。 eccp为纟q错编码参数,艮卩保护强度参数(error correction/control code parameters)。音频用户体验定量模型QEA可进一步表示为QEA = g(abr, acp, ecct, eccp) = gcp(abr, acp) + gecc(ecct, eccp) (9)其中,gcp(abr,acp)表示与音频压縮编码相关的项,而gecc(ecct,eccp)表示和纠错编码 相关的项。本发明实施方式采用的音频用户体验定量模型主要依赖于音频压縮编码协议acp和比特 率abr两个变量。acp的不同取值对应不同的音频压縮编码协议。当前的许多音频压縮编码协 议都支持多个比特率,如32kbps、 48kbps、 64kbps、 192kbps等等。音频流由于采用了纠错编 码而提高了用户体验,gecc(ecct,eccp)与视频fecc(ecct,eccp)类似,也可以用一个多维离散 表格来表示。gecc(ecct,eccp)也主要依赖于丢包率。同时,由于对音频流使用了纠错保护编 码,同样会引起比特率的上升,上升的比例因子也是kecc(ecct,eccp)。另外,在采用纠错编 码后,会引起流服务器对多媒体数据处理量的额外增加,导致流服务器对多媒体数据处理效 率降低。上述实施方式例举了具体的用户体验定量模型,用户体验定量模型是本发明实施方式的 目标函数,本发明实施方式还需要设置目标函数的约束条件,从而将用户体验定量模型转换 为数学优化问题。这里的约束条件可以从媒体流对应的资源限制条件来获得。由于媒体流需 要消耗流服务器的资源,因此,本发明实施方式可以从流服务器的资源来设置约束条件。 下面以流服务器的处理资源为例对媒体流需要消耗流服务器的资源情况进行说明。 流服务器是一个具有处理计算能力的网络设备,流服务器总处理资源是有限的。衡量流 服务器处理能力的一个粗略指标是并发流数(number of concurrent streams),也就是流服务 器同时发送媒体流的个数。但是,本发明实施方式可以不考虑并发流数这个指标,而从媒体 流的处理过程来分析媒体流对流服务器资源的消耗。流服务器对媒体流的处理过程可以包括 如下环节1、 从存储设备中读取流媒体数据;2、 对流媒体数据进行纠错编码;3、 将流媒体数据进行打包发送。在上述三个环节中,读取环节和打包发送环节是必须经过的,这两个环节基本上只和比 特率有关,即由单位时间内读取和打包发送的数据量决定。设定流服务器对读取和打包发送 过程的处理开销为Cp(br),即依赖的变量是比特率br,对于视频流来说比特率是vbr,对
于音频流来说比特率是abr。纠错编码环节是可选的,即流服务器可以不对媒体流进行纠错 编码处理,也可以对媒体进行纠错编码处理。纠错编码环节除了和比特率有关外,还与ecct 和eccp有关。因此,可以设定纠错编码环节的处理开销为Cecc(br,ecct,eccp),即依赖的变 量是比特率(对于视频流来说比特率是vbr,对于音频流来说比特率是abr) 、 ecct和eccp。 对于一个媒体流来说,流服务器的总处理开销为[Cp(br) + Cecc(br, ecct, eccp) 有纠错编码Ct(br, ecct, eccp)=(10)[Cp(br) 无纠错编码 从公式10可知,对于一个媒体流来说,流服务器的总处理开销可以有如表l所示的几种 情况表l流服务器对单个媒体流的总处理开销情况流类型\有无纠错编码有无视频流Cp(vbr) + Cecc(vbr, ecct, eccp)Cp(vbr)音频流Cp("br) + Cecc(abr,ecct,eccp)Cp(abr)对于视频流来说,Cp(vbr)是随着vbr的增大而增大的,Cecc(>br,ecct,eccp)也是随着vbr 的增大而增大的。对于音频流来说,Cp(abr)是随着abr的增大而增大的,Cecc(abr,ecct,eccp) 也是随着abr的增大而增大的。在实际应用中,存在一组数值(ecct,eccp)max使得对于每个给定的vbr或者abr值, Cecc(vbr,ecct,eccp)或者Cecc(abr,ecct,eccp)的取值最大。也就是说,对于每个给定的vbr或 者abr值,可以计算出视频流或者音频流所需要消耗流服务器的最大处理资源。视频流需要 消耗流服务器的最大处理资源、音频流需要消耗流服务器的最大处理资源可以表示为如下形 式mpvpr(vbr) = Cp(vbr) + Cecc(vbr, ecct腿,eccp腿)mpapr(abr) = Cp(abr) + Cecc(abr, ecctmax, eccpmax) (11) 其中,mpvpr (maximum possible video processing resource)表示视步员流可能需要消耗流 月艮务器的最大处理资源;mpapr (maximum possible audio processing resource)表示音步员、流可 能需要消耗流服务器的最大处理资源。Mpvpr是比特率vbr的递增函数,mpapr是比特率abr的递增函数。设定流服务器的总处理资源为RT (R, Resource资源;T, Total全部),RT中有一部分 资源是固定的,和媒体流没有关系,如用于系统管理、运行操作系统等等。在计算流服务器 用于流的总处理资源时,需要将这一部分固定资源从RT中减去。上述固定资源用RF表示(F 表示固定即fixed),则流服务器用于流的真正可用处理资源RA (A, Available,可用)为 RA=RT—RF。在设置目标函数的约束条件时,应考虑音频流或视频流需要消耗的最大处理 资源必须不能超过流服务器的可用处理资源RA。本发明实施方式还可以根据流服务器的带宽资源、用户终端对流媒体服务的限制条件等 来设置目标函数的约束条件。在根据用户体验定量模型设置了数学优化问题后,策略与控制服务器可以根据现有的各 种求解方法来求解数学优化问题。该求解过程可以通过采用DSP (Digital Signal Processor, 即数字信号处理器)芯片来实现。当数学优化问题采用所谓的神经网络如Hopfield网络来求 解时,可以利用目前已经存在的商用神经网络数字集成电路芯片。策略与控制服务器通过求 解结果获得了用户体验定量模型中的各参数,即确定了为流服务器提供的控制策略中的各参 数。然后,策略与控制服务器将控制策略输出给流服务器。流服务器需要在媒体流读取、纠 错编码和打包发送过程中执行这些控制策略。控制策略中包括对流服务器执行媒体流读取、 纠错编码、打包发送等各过程中各变量的控制。这里的变量如视频的压縮编码协议、图像大 小、帧率、比特率等;再如音频的压縮编码协议、比特率等。在本发明实施方式中,流服务器可以执行控制策略中的各变量,也就是说,策略与控制 服务器是可以根据控制策略来控制流服务器为用户提供的流媒体服务。在具体的实际应用 中,如果某些变量不能控制,则会使策略与控制服务器在确定各变量的过程更简单一些,从 而成为确定各变量的一个特例。在本发明实施方式中,只考虑视频、音频流已经作为压縮的媒体文件存在于存储设备中 的情况,不考虑通过实时编码设备获得视频、音频流的情况。因此,控制策略中的有些变量 不是都能控制的,至少是不能连续控制的,如视频的帧率一般不能随意控制;如果压縮文件 中对应于某个比特率,帧率应该是固定的,要改变帧率,可以采用跳帧等方法;改变帧率一 般是无法实现或者很难实现的。强制进行跳帧,会导致用户在一段时间内的用户体验严重下 降。目前,通过采用分层编码(Layered coding)技术,可以使视频数据经过一次压縮编码 同时支持多个比特率和图像格式。如基本层支持QCIF (Quarter Common Interchange Format, 四分之一公共信息交换格式)格式、比特率为128kbps;增强层支持CIF格式,比特率为768kbps 等等。 一般情况下,视频数据可以支持一个基本层和多个增强层,因此,视频数据可以提供
多种比特率的组合。即便是不采用分层编码技术,也同样可以使视频数据支持多个比特率和图像格式。对于 同一个视频内容如同一个电影,可以采用不同的编码协议和比特率进行压縮编码,形成多个 版本的视频数据,不同版本的视频数据提供给具有不同能力的用户终端。对于同一个音频内容如同一首歌,可以采用AAC压縮,也可以采用MP3压縮,从而产生 不同的比特率。对于图像格式也可以采用不同的编码协议和比特率进行压縮,以产生不同版本的图像格 式,这是非常具有实际应用意义的。比如同一部电影,采用1080i格式进行压縮,该版本的 视频数据可以提供给需要高清质量的用户终端;采用XGA格式进行压縮,该版本的视频数 据可以提供给PC用户终端;采用CIF或者QCIF格式进行压縮,该版本的视频数据可以提供给 移动终端。对于帧率,也可以采用上述类似的方法,即通过采用不同帧率进行压縮编码得到不同帧 率的多媒体数据。不过通常来说,帧率和比特率之间存在一个最优配合关系。在给定比特率 的情况下,会存在一个最优的帧率与之配合。公式(6)即可以体现出比特率和帧率的最优 配合关系。流服务器执行策略与控制服务器传输来的控制策略的过程如附图6所示。在图6中,流服务器在执行具体的控制策略时,需要按照控制策略中的各变量,来选择存储设备中存储的合适的媒体数据文件,并读取选择的媒体数据文件,并对媒体数据文件进行纠错编码、打包发送等处理。图6中流服务器执行策略与控制服务器传输来的控制策略的具体实现过程可以包括如下四种情况情况一、针对同一内容的视频媒体流,存储设备中存储的流媒体数据文件包括支持不同比特率、帧率、压縮编码协议、图像格式、关键帧间隔、纠错编码类型、保护强度参数的 多个流媒体数据文件。此时,流服务器在接收到策略与控制服务器传输来的控制策略后,根 据控制策略中的比特率、帧率、压縮编码协议、图像格式、关键帧间隔、纠错编码类型、保 护强度参数选择读取存储设备中存储的流媒体数据文件。在成功读取了流媒体数据文件后, 流服务器直接将读取的流媒体数据文件转化成媒体流,发送给用户终端。情况二、针对同一内容的视频媒体流,存储设备中存储的流媒体数据文件包括支持不 同比特率、帧率、压縮编码协议、图像格式、关键帧间隔的多个流媒体数据文件。此时,流 服务器在接收到策略与控制服务器传输来的控制策略后,根据控制策略中的比特率、帧率、
压縮编码协议、图像格式、关键帧间隔选择读取存储设备中存储的流媒体数据文件。在成功 读取了流媒体数据文件后,流服务器根据控制策略中的纠错编码类型、保护强度参数对读取 的流媒体数据文件进行纠错编码处理。然后,流服务器将纠错编码处理后的流媒体数据文件 转化成媒体流,发送给用户终端。情况三、针对同一内容的音频媒体流,存储设备中存储的流媒体数据文件包括支持不 同比特率、压縮编码协议、纠错编码类型、保护强度参数的多个流媒体数据文件。此时,流 服务器在接收到策略与控制服务器传输来的控制策略后,根据控制策略中的比特率、压縮编 码协议、纠错编码类型、保护强度参数选择读取存储设备中存储的流媒体数据文件。在成功 读取了流媒体数据文件后,流服务器直接将读取的流媒体数据文件转化成媒体流,发送给用 户终端。情况四、针对同一内容的音频媒体流,存储设备中存储的流媒体数据文件包括支持不 同比特率、压縮编码协议的多个流媒体数据文件。此时,流服务器在接收到策略与控制服务 器传输来的控制策略后,根据控制策略中的比特率、压縮编码协议读取流媒体数据文件,并 根据控制策略中的纠错编码类型、保护强度参数对读取的流媒体数据文件进行纠错编码处理。然后,流服务器将纠错编码处理后的流媒体数据文件转化成媒体流,发送给用户终端。 由于本发明实施方式中的流服务器是根据控制策略来选择媒体数据文件、纠错编码、打包发送的,而本发明实施方式中的控制策略是在用户体验定量模型的基础上获得的,因此,本发明实施方式中的流服务器为用户终端提供的流媒体服务是使用户终端体验最优的流媒体服务。下面以几种具体的实施方式为例对本发明实施方式获得控制策略的方法进行说明。 实施方式一、针对单个视频流的控制策略获得方法。首先,策略与控制服务器需要确定编码协议类型、比特率、帧率、关键帧间隔、纠错编 码码型、保护强度参数等变量的最优数值,以使得用户体验达到最优。在确定各变量的过程 中,需要结合端到端丢包率pl,丢包率为外部变量。获得丢包率的方法如上面实施方式中的 描述,本发明实施方式不限制获得丢包率的具体实现过程。策略与控制服务器设置的目标函 数为QEV = f(vbr, fr, vcp, pf, kfi, ecct, eccp) = fcp(vbr, fr, vcp, pf, kfi) + eccind x fecc(ecct, eccp) (12) 在上述目标函数中弓l入了一个新的变量,艮卩eccind ( error correction code indicator) , eccind用于指示是否采用了纠错编码。eccind的取值如下.j fl 使用纠错编码 eccind = <{ —…,屮上 (13)lo 不用纠错编码针对目标函数(12)构造约束条件的过程为在流服务器的网络连接带宽方面如果对于每个视频流设定了视频最高允许发送带宽amvtb (allowable maximum video transmission bandwidth),另卩么一个,见步页t荒在需要消耗的带宽方面需要满足如下条件((kecc(ecct,eccp)-l)eccind+l)vbr《amvtb (14) 如果没有对每个视频流设定视频最高允许发送带宽amvtb,那么一个视频流在需要消耗的带宽方面需要满足如下条件((kecc(ecct,eccp)-l)eccind+l)vbr《TAB (15)其中TAB (Total Available Bandwidth,总可用带宽)是流服务器对外发送媒体流的总可用带宽。如果流服务器还存在一些其他通讯需求,如与其他服务器进行通讯等,贝UTAB应小于流服务器与网络连接的总带宽。流服务器的处理资源方面如果对于每个视频流设定了视频最大允许使用处理资源amvpr (allowable maximum video processing resource),那么一个视步员流在需要消耗的处理资源方面需要满足如下条件Cp(vbr) + eccind x Cecc(vbr, ecct, eccp) S amvpr O 6 )如果没有对于每个视频流设定视频最大允许使用处理资源amvpr,那么一个视频流在需 要消耗的处理资源方面需要满足如下条件Cp(vbr) + eccind x Cecc(vbr, ecct, eccp)《RA (17) 其中,RA为流服务器用于流的真正可用处理资源。本发明实施方式可以仅根据上述流服务器的网络连接带宽和流服务器的处理资源来设 置目标函数(12)的约束条件,本发明实施方式也可以根据流服务器的网络连接带宽、流服 务器的处理资源、以及用户终端的资源来设置目标函数(12)的约束条件。用户终端的资源 如用户终端连接的网络带宽、用户终端对多媒体流格式的限制等等。用户终端对多媒体流格 式的限制如对多媒体流图像格式的限制等等。如果用户终端的网络带宽存在限制,且用户终端的视频最大允许接收带宽是amvrb (allowable maximum video reception bandwidth),那么约束条件(14)需要修正为((kecc(ecct,eccp)隱l)eccind+l)vbr《min(amvtb,amvrb) (18)其中,min(x,y)表示取x, y两个数中的最小值。
如果用户终端的网络带宽存在限制,且用户终端的视频最大允许接收带宽是amvrb,那 么约束条件(15)需要修正为((kecc(ecct,eccp)-l)eccind+l)vbr《min(TAB,amvrb) (19) 因此,数学优化问题可以描述为如下形式{vbr, fr, vcp, pf, kfi, ecct, eccp}0pt = argmax (fcp(vbr, fr, vcp, pf, kfi) +{vbr,fr,vcp,pf,kfi,ecct,eccp}eVVS ECCVS {0,I)eccind x fecc(ecct, eccp)) s丄(1) ((kecc(ecct, eccp) - l)eccind + l)vbr《min(amvtb,amvrb)或者 (20) ((kecc(ecct,eccp) - l)eccind + l)vbr S min(TAB,amvrb)(2)Cp(vbr) + eccind x Cecc(vbr,ecct,eccp) S amvpr或者Cp(vbr) + eccind x Cecc(vbr, eect, eccp)幺RA其中,s.t. (subject to)表示约束条件;VVS (video variable space,视频变量空间), 表示变量vbr、 fr、 vcp、 pf、 kfi所有取值的各种组合所构成的集合;ECCVS (error correction code variable space,纠错编码变量空间),表示变量ecct、 eccp所有取值的各种组合所构成 的集合;运算符"e"表示两个空间(集合)的笛卡尔积(CartesianProduct);集合{0, 1} 是变量eccind的取值集合。在上述实施方式中已经说明了vbr、 fr、 vcp、 pf、 kfi、 ecct、 eccp等变量的取值可以均为 离散值,因此,VVS、 ECCVS均为有限集合,即VVS、 ECCVS均为元素个数有限的集合。 从而,VVS、 ECCVS和{0, 1}的笛卡尔积也是有限集合。在有限集合的基础上求解一个数学优化问题,有很多种方法,如蛮力搜索法(Brutal force search)、组合优化(combinatoric optimization)方法等等。蛮力搜索法即在约束条件限制 下,搜索比较集合中的每组变量组,最后找到使得目标函数值最大的一组变量值。使目标函 数值最大的一组变量值即为使编码协议类型、比特率、帧率、关键帧间隔、纠错编码码型、 保护强度参数等变量的最优数值。这些变量的最优数值即为视频用户体验定量模型中的各参 数,视频用户体验定量模型中的各参数也就是控制策略中的各决策参数。对数学优化问题进行求解的方法属于现有的数学方法,在此不再对数学优化问题的求解 方法进行详细说明。而且,本发明实施方式不限制对数学优化问题进行求解的方法。实施方式二、针对单个音频流的控制策略获得方法。
首先,策略与控制服务器需要确定变量编码协议类型、比特率、纠错编码码型、保护强 度参数的最优数值,以使得用户体验达到最优。在确定各变量的过程中,需要结合端到端丢 包率pl,丢包率为外部变量。获得丢包率的方法如上面实施方式中的描述,本发明实施方式 不限制获得丢包率的具体实现过程。策略与控制服务器设置的目标函数为QEA = g(abr, acp, ecct, eccp) = gcp(abr, acp) + eccind x gecc(ecct, eccp) (21)针对目标函数(21)构造约束条件的过程为-流服务器的网络连接带宽方面如果对于每个音频流设定了音频最高允许发送带宽amatb (allowable maximum audio transmission bandwidth),那么一个音频流在需要消耗的带宽方面需要满足如下条件((kecc(ecct,eccp)-1 )eccind十1 )abr《amatb (22 )如果没有对每个音频流设定音频最高允许发送带宽amvtb,那么一个音频流在需要消耗的带宽方面需要满足如下条件((kecc(ecct,eccp)-l)eccind+l)abr《TAB (23)其中TAB (Total Available Bandwidth,总可用带宽)是流服务器对外发送媒体流的总可用带宽。如果流服务器还存在一些其他通讯需求,如与其他服务器进行通讯等,贝UTAB应小于流服务器与网络连接的总带宽。在流服务器的处理资源方面如果对每个音频流均设定了音频最大允许使用处理资源amapr (allowable maximum audio processing resource),另卩么一个音步页 鬼在需要消耗处理资源方面需要满足如下条件Cp(abr) + eccind x Cecc(abr, ecct, eccp) S amapr (24 )如果没有对每个音频流设定了音频最大允许使用处理资源amapr,那么一个音频流在需 要消耗处理资源方面需要满足如下条件Cp(abr) + eccind x Cecc(abr, ecct, eccp) S RA ( 25 )本发明实施方式可以仅根据上述流服务器的网络连接带宽和流服务器的处理资源来设 置目标函数(21)的约束条件,本发明实施方式也可以根据流服务器的网络连接带宽、流服 务器的处理资源、以及用户终端的资源来设置目标函数(21)的约束条件。用户终端的资源 如用户终端连接的网络带宽、用户终端对多媒体流格式的限制等等。用户终端对多媒体流格 式的限制如对音频流格式的限制等等。如果用户终端的网络带宽存在限制,且用户终端的音频最大允许接收带宽是amarb
(allowable maximum audio reception bandwidth),那么约束条件(22)需要修正为 ((kecc(ecct,eccp)-1 )eccind十1 )vbr《min(amatb,amarb) (26)其中,min(x, y)表示取x, y两个数中的最小值。如果用户终端的网络带宽存在限制,且用户终端的音频最大允许接收带宽是amarb,那 么约束条件(23)需要修正为((kecc(ecct,eccp)-1 )eccind+1 )vbr《min(T AB,amarb) (27)因此,根据流媒体的用户体验定量模型建立的数学优化问题可以描述为如下形式 { abr, acp, ecct, eccp } 。pt = arglliax(gcp(abr, acp) + eccind x gecc(ecct, eccp)){abr,acp,ecct,eccp}eAVSxECCVSx{0,l}s.t(1) ((kecc(ecct,eccp) - l)eccind + l)abr S min(amatb,amarb)或者((kecc(ecct, eccp)陽1 )eccind +1 )abr S min(TAB,amarb) (28)(2)Cp(abr) + eccind x Cecc(abr, ecct, eccp) S amapr或者Cp(abr) + eccind x Cecc(abr, ecct, eccp) S RA其中,s.t.表示约束条件;AVS (audio variable space,音频变量空间),表示变量abr,acp 所有取值的各种组合所构成的集合;ECCVS,表示变量ecct、 eccp所有取值的各种组合所构 成的集合;运算符"X"表示两个空间(集合)的笛卡尔积;集合{0, l)是变量eccind的取值集合。在上述实施方式中己经说明了abr、 acp、 ecct、 eccp等变量的取值可以均为离散值,因此, AVS、 ECCVS均为有限集合,S卩AVS、 ECCVS均为元素个数有限的集合。从而,AVS、 ECCVS 和{0, 1}的笛卡尔积也是有限集合。在有限集合的基础上求解一个数学优化问题有很多种方法,对数学优化问题进行求解的 方法属于现有的数学方法,在此不再对数学优化问题的求解方法进行详细说明。而且,本发 明实施方式不限制对数学优化问题进行求解的方法。无论采用怎样的求解方法,在确定出使 得目标函数值最大的一组变量值后,即确定出控制策略中的各决策参数。在实际应用中,流服务器往往会同时提供多个媒体流,并为多个用户终端同时提供服务。 媒体流和用户终端之间的对应关系主要有如附图7所示的四种情况。图7示出的四种情况分别 为情况a、 一对一,即一个单播流提供给一个用户终端。情况a适用于视频点播或者网络不支持组播情况下的直播(Live)。情况b、 一对多,即网络支持组播,用于直播(Live)或者模拟直播(Simucast)。从流服 务器发出的一个组播流经过流复制节点复制发送到多个用户终端。情况c、多对一,即一个用户终端同时接收多个单播媒体流,类似于电视机的画中画。情况d、多对多,上述三种情况的组合。在实际应用中,视频流和音频流不一定成对出现,如在网络电台(IntemetRadio)应用 中,只有音频流没有视频流;再如在远程监控应用中,可能只有视频流没有音频流。在IPTV 应用中,视频流和音频流往往成对出现。但是,视频流的数量和音频流的数量可以不同。因 此,策略与控制服务器在建立数学优化过程中,必须要考虑到上述不同的情况,使得数学优 化问题的描述具有一般性。在考虑到上述不同的情况,针对多个媒体流的流媒体服务的控制 策略获得方法可以为如下两种实施方式三、针对多个媒体流、且分别考虑资源需要消耗的控制策略获得方法。设定流服务器需要发送给用户终端的媒体流包括NV个视频流和NA个音频流。每个视频 流的视频最高允许发送带宽为amvtb (0 ,其中,i=0、 1、 2、 ..., NV-1。每个视频流的 视频最高允许发送带宽的具体数值不一定相同。每个音频流的音频最高允许发送带宽为-amatb (j),其中,j=0、 1、 2、 ..., NA-1。每个音频流的音频最高允许发送带宽的有各自 的最高允许发送带宽数值,不一定相同。在设置各个视频流和音频流的最高允许发送带宽时,那么所有音频流和所有视频流在需 要消耗的带宽方面需要满足如下条件<formula>formula see original document page 21</formula>即流服务器的总可用带宽能够满足各视频流和音频流的带宽需求。在设置各视频流、音频流的最大允许使用处理资源时,那么所有音频流和所有视频流在需要消耗的处理资源方面需要满足如下条件<formula>formula see original document page 21</formula>即流服务器的可用处理资源能够满足各视频流和音频流的处理资源需求。 在设定公式(29)和GO)的约束条件后,即可以将各用户体验定量模型转换为数学优 化问题,然后,对数学优化问题求解。无论采用怎样的求解方法,在确定出使得目标函数值 最大的一组变量值后,即确定出针对每个媒体流的控制策略中的各决策参数,从而为各个用
户终端均提供最优的用户体验。上述实施方式三是对各个媒体流分别进行资源需要消耗考虑的,分别考虑各个媒体流的 资源需要消耗是一种保守的方法,其缺点是不能联合考虑各个流媒体流的具体情况,各个媒 体流之间的资源不能相互调济。各个媒体流都设定了一个最高允许发送带宽,如果实际用不 到,其它流也不能使用这部分多余的带宽,并且也不能使用剩余的处理资源。实施方式四、针对多个媒体流、且联合考虑各个媒体流的资源需要消耗的控制策略获得 方法。该方法是一种综合最优的控制策略获得方法。仍然设定流服务器需要发送给用户终端的媒体流包括NV个视频流和NA个音频流,每个 媒体流服务的用户数量为NVC (i) , i=0, 1, 2, ......, NV-1; NAC (j) ,j=0, 1, 2,......,NA-1;其中NVC (Number of video customers)为视频用户数量,NAC (Number of audio customers)为音频用户数量;且对于单播流来说,用户数量为l,对于组播流来说,用户数 量可能大于l。用户终端的总体验质量QET (Quality of Experience Total)为<formula>formula see original document page 22</formula> (31)<formula>formula see original document page 22</formula>所有用户的综合用户体验是一种各个媒体流用户体验的加权和。这里可以设定每个用户 终端是平等的,也可以设定用户终端之间是存在差别的。如果用户终端之间存在差别,如存在VIP用户和普通用户的差别,则在设置加权时,还要考虑不同用户终端之间的差异。本发明实施方式引入表示用户终端等级差异的权值w,如果等级最低用户的权值为l、 等级最高用户的权值为WM,则\^1,2,3,...;^^[。共WM级。考虑到权值之后,公式(31) 需要修正为<formula>formula see original document page 22</formula> (32)<formula>formula see original document page 22</formula>其中w(i,k),k^,l,2,…,NVC(i)-l表示接收第i个视频流的NVC (i)个用户各自的等级权 值。其中化(^),1^=0,1,2,...^八(^)-1表示接收菊个音频流的忖八€ (j)个用户各自的等级权值。在公式(31)和公式(32)中,每个视频流有8个变量需要优化,每个音频流有5个变量 需要优化,因此,需要优化的变量总数是8NV+5NA。所有音频流和所有视频流在需要消耗的带宽方面需要满足如下条件
NV-1 NA-1》br,+》& STAB (33)所有音频流和所有视频流在需要消耗的处理资源方面需要满足如下条件NV-1 NA-1ZCp(vb。 + eccindiCecc(vbri,eccti,eccpi) + ZCp(abr》+ eccinc^Cecc(abri,eccti,eccpj) S RA (34)因此,根据各用户终端的用户体验定量模型转换获得的数学优化问题为{vbi^frj, vcpi,pfi,kfii,eccindi,eccti,ecx^ | i = 0,1,2"."NV -l}。pt u {abrj,acpj,eccindj,ecctj,eccpj | j = 0,1,2,…,NA-l)叩t 二NV陽largmin Z陶0^ , ^, vcp, , Pf, , kfi,)1 NV-11 u i=0(vbr;,vcpi ,pfj ,kfi; ,eccindj ,ecctj ,eccpi|i=0,l,2,.,.,NV-l} 《abri,acp,,eccindj,eccti,eccpil^:0,l,2'…,NA扁lieVVSNVxAVSNAxECCVSNVxNAx(0,l,VxNANVC(i)-1 NA-1十eccindi xfecc(eccti,eccp》]x ^]w(i,k)十ZNAC(j)x[gcp(abr」,acpj) + eccindjk=0 j=0NAC(j)-lx gecc(ecct j , eccpj)] x Z w(j, k)k=0S丄NV-1 NA-l》br, +》、STAB (35)i=0 j=0NV-l NA_1S Cp(vbi;) + eccindiCecc(vbri, ecct;, eccpj + Z Cp(abrj) + eccind jCecc(abrj, ecct,, eccp;) S RAi=0 j=0其中,vvsNV x avs亂x ECCVSNV、NA x {0,"NV、NA表示NV个VVS 、 NA个AVS 、 NV X NA个ECCVS禾口 NVXNA个(O, 1}的笛卡尔积。上述公式(35)是一个典型的离散数学优化问题,需要优化的变量个数为8NV+5NA。 本发明实施方式可以采用现有技术中的多种求解方法对上述公式(35)的数学优化问题进行 求解,在此不再详细描述。如果以CARD (VVS)表示VVS集合中元素个数、以CARD (AVS)表示AVS集合中元 素个数、以CARD (ECCVS)表示ECCVS集合中元素个数,那么vvsNV x avsna x ECCVSNV、NA x N、、NA 中元素个数为2NVxNA[CARD(VVS)]NV[CARD(AVS)]NA[CARD(ECCVS)]NVxNA 。而在上述分 别考虑各个媒体流的实施方式中,虽然需要优化的变量的数量没有变化,也是8NV+5NA, 但是需要搜索的集合中的元素个数是2(NV x NA) + NV x [CARD(VVS)] + NA x [CARD(AVS)] + (NV x NA) x [CARD(ECCVS)]。显然,在分别考虑各个媒体流的实施方式中,数学优化问题的规模随着媒体流的总数按
照算术级数增长,在综合考虑各个媒体流的实施方式中,数学优化问题的规模随着媒体流的 总数按照几何级数增长。本发明实施方式可以通过减少需要优化的变量数目,来降低问题的规模、简化求解该问 题的计算量。减少需要优化的变量数目的方法如将媒体流按照类别进行归并,如有1000个媒 体流的用户终端带宽、需要的图像大小、编码协议等变量均相同,则这1000个媒体流可以归 并为一类,这1000个媒体流的变量优化结果是相同的,只要对其中一个媒体流的变量进行优 化,得到的优化变量值即可适合其它各个同类的媒体流。这样,大大简化了数学优化问题, 从而使影响数学优化问题规模的不是媒体流的数量,而是不同类媒体流的类数量。同时,在实际应用中,有些变量如图像格式、编码协议等是需要固定下来的,这样也减 少了数学优化问题的规模。本发明实施方式还提供一种流媒体服务实现系统,该系统包括存储设备、策略与控制服 务器和流服务器。存储设备主要用于存储流媒体数据文件。这里的流媒体数据文件包括针对同一内容的 媒体流、支持不同控制策略的多个流媒体数据文件;例如,针对同一内容的视频媒体流,存 储设备中存储有支持不同比特率、帧率、压縮编码协议、图像格式、关键帧间隔、纠错编码 类型、保护强度参数的多个流媒体数据文件;或者支持不同比特率、帧率、压縮编码协议、 图像格式、关键帧间隔的多个流媒体数据文件;再例如,针对同一内容的音频媒体流,存储 设备中存储有支持不同比特率、压縮编码协议、纠错编码类型、保护强度参数的多个流媒体 数据文件;或者支持不同比特率、压縮编码协议的多个流媒体数据文件。策略与控制服务器主要用于存储根据流媒体的用户体验定量模型而建立的数学优化问 题,该数学优化问题的约束条件可以是根据流媒体服务的资源限制条件设置的。策略与控制 服务器对该数学优化问题进行求解,以确定用户体验定量模型中的各参数,然后,策略与控 制服务器根据确定的各参数设置控制策略,将设置好的控制策略传输给流服务器。策略与控 制服务器可以根据流服务器的资源来设置目标函数的约束条件,还可以根据流服务器的带宽 资源、用户终端对流媒体服务的限制条件等来设置目标函数的约束条件。策略与控制服务器 在设置约束条件时,可以根据单个媒体流需要消耗流服务器资源的限制条件设置数学优化问 题的约束条件;也可以在各媒体流需要消耗流服务器的资源互不调剂的条件下设置数学优化 问题的约束条件;还可以在各媒体流需要消耗流服务器的资源允许相互调剂的条件下设置数 学优化问题的约束条件。策略与控制服务器设置约束条件的具体实施方式
、对数学优化问题 的求解过程等如上述方法实施方式中的描述。
流服务器主要用于根据接收到的控制策略从存储设备中读取流媒体数据文件、并将读取 的流媒体数据文件转化成媒体流发送给用户终端;例如,流服务器根据控制策略中的比特率、 帧率、压縮编码协议、图像格式、关键帧间隔、纠错编码类型、保护强度参数选择读取存储 设备中存储的视频流媒体数据文件,然后,流服务器直接将读取的视频流媒体数据文件转化 成媒体流,发送给用户终端;例如,流服务器根据控制策略中的比特率、帧率、压縮编码协 议、图像格式、关键帧间隔选择读取存储设备中存储的视频流媒体数据文件,然后,流服务 器根据控制策略中的纠错编码类型、保护强度参数对读取的视频流媒体数据文件进行纠错编 码处理;再例如,流服务器根据控制策略中的比特率、压縮编码协议、纠错编码类型、保护 强度参数选择读取存储设备中存储的音频流媒体数据文件,然后,流服务器直接将读取的音 频流媒体数据文件转化成媒体流,发送给用户终端;还有,流服务器根据控制策略中的比特 率、压縮编码协议读取音频流媒体数据文件,流服务器根据控制策略中的纠错编码类型、保 护强度参数对读取的音频流媒体数据文件进行纠错编码处理,然后,流服务器将纠错编码处 理后的流媒体数据文件转化成媒体流,发送给用户终端。流服务器执行的具体操作如上述方 法实施方式中的描述。
本发明实施方式还提供一种策略与控制服务器。该策略与控制服务器中设置有存储模 块、求解模块和传输模块。
存储模块主要用于存储根据流媒体的用户体验定量模型所建立的数学优化问题;该数学 优化问题的约束条件可以是根据流媒体服务的资源限制条件设置的,如该数学优化问题的约 束条件可以根据流服务器的资源来设置,还可以根据流服务器的带宽资源、用户终端对流媒 体服务的限制条件等来设置。存储模块中存储的数学优化问题的约束条件可以是根据单个媒 体流需要消耗流服务器资源的限制条件设置的;也可以是在各媒体流需要消耗流服务器的资 源互不调剂的条件下设置的;还可以是在各媒体流需要消耗流服务器的资源允许相互调剂的 条件下设置的。存储模块中存储的数学优化问题及其约束条件如上述方法实施方式中的描 述。
求解模块主要用于对存储模块中存储的数学优化问题进行求解。求解模块可以采用现有 的各种方法和装置来实现,其具体求解过程在此不再详细描述。
传输模块主要用于将求解模块通过求解所述数学优化问题获得的用户体验定量模型中 的各参数设置为控制策略,并将控制策略传送给流服务器。对于视频流媒体服务来说,这里 的控制策略包括但不限于比特率、帧率、压縮编码协议、图像格式、关键帧间隔、纠错编 码类型、保护强度参数;对于音频流媒体服务来说,这里的控制策略包括但不限于比特率、
压縮编码协议、纠错编码类型、保护强度参数。由于本发明实施方式中的控制策略是根据用户体验定量模型精确计算出来的,而且,用户体验定量模型综合考虑了用户体验的各个方面,因此,本发明实施方式能够最大程度地为 用户提供最优的用户体验。对于视频流、音频流等对应的用户体验定量模型,会随着相关领 域研究的不断深入,而提出更多的用户体验定量模型。由于本发明实施方式的实现过程与用 户体验定量模型的具体表现形式没有关系,因此,本发明实施方式对于各种不同的用户体验 定量模型都能够适用。而且,当用户体验定量模型改进后,本发明实施方式为用户终端带来 的用户体验也会有所改进,从而为用户终端带来更好的用户体验。虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而 不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。
权利要求
1、一种流媒体服务实现方法,其特征在于,所述方法包括步骤a、根据流媒体的用户体验定量模型建立数学优化问题,并进行求解以确定用户体验定量模型中的各参数;b、根据所述确定出的各参数设置流服务器的控制策略;c、流服务器根据所述控制策略读取流媒体数据文件、并根据读取的流媒体数据文件向用户终端发送媒体流,为用户提供流媒体服务。
2、 如权利要求l所述的方法,其特征在于,对于视频流媒体服务来说,所述各参数包括: 比特率、帧率、压縮编码协议、图像格式、关键帧间隔、纠错编码类型、保护强度参数。
3、 如权利要求2所述的方法,其特征在于,对所述视频媒体流服务来说, 针对同一内容的视频媒体流,存储的流媒体数据文件包括支持不同比特率、帧率、压縮编码协议、图像格式、关键帧间隔、纠错编码类型、保护强度参数的多个流媒体数据文件; 且所述步骤C包括流服务器根据控制策略中的比特率、帧率、压縮编码协议、图像格式、 关键帧间隔、纠错编码类型、保护强度参数读取流媒体数据文件,并直接将读取的流媒体数 据文件转化成媒体流,发送给用户终端;或者针对同一内容的视频媒体流,存储的流媒体数据文件包括支持不同比特率、帧率、压 縮编码协议、图像格式、关键帧间隔的多个流媒体数据文件;且所述步骤C包括流服务器 根据控制策略中的比特率、帧率、压縮编码协议、图像格式、关键帧间隔读取流媒体数据文 件,并根据控制策略中的纠错编码类型、保护强度参数对所述读取的流媒体数据文件进行纠 错编码处理,然后,将纠错编码处理后的流媒体数据文件转化成媒体流,发送给用户终端。
4、 如权利要求l所述的方法,其特征在于,对于音频流媒体服务来说,所述各参数包括: 比特率、压缩编码协议、纠错编码类型、保护强度参数。
5、 如权利要求4所述的方法,其特征在于,对所述音频流媒体服务来说, 针对同一内容的音频媒体流,存储的流媒体数据文件包括支持不同比特率、压縮编码协议、纠错编码类型、保护强度参数的多个流媒体数据文件;且所述步骤C包括流服务器 根据控制策略中的比特率、压縮编码协议、纠错编码类型、保护强度参数读取流媒体数据文 件,并直接将读取的流媒体数据文件转化成媒体流,发送给用户终端;或者针对同一内容的音频媒体流,存储的流媒体数据文件包括支持不同比特率、压縮编码 协议的多个流媒体数据文件;且所述步骤c包括流服务器根据控制策略中的比特率、压縮 编码协议读取流媒体数据文件,并根据控制策略中的纠错编码类型、保护强度参数对所述读 取的流媒体数据文件进行纠错编码处理,然后将纠错编码处理后的流媒体数据文件转化成媒 体流,发送给用户终端。
6、 如权利要求l所述的方法,其特征在于,所述数学优化问题的约束条件是根据流媒体 服务的资源限制条件设置的。
7、 如权利要求6所述的方法,其特征在于,所述流媒体服务的资源限制条件包括下述 一个或多个媒体流需要消耗的流服务器资源的限制、用户终端带宽的限制、用户终端对媒 体格式支持能力的限制。
8、 如权利要求7所述的方法,其特征在于,所述流服务器的资源包括流服务器的带 宽资源、和/或流服务器的处理资源。
9、 如权利要求6或7或8所述的方法,其特征在于,所述数学优化问题的约束条件的设置方法包括流服务器提供单个媒体流时,根据单个媒体流需要消耗的流服务器资源的限制条件设置数学优化问题的约束条件;或者流服务器同时提供多个媒体流时,在各媒体流需要消耗流服务器的资源互不调剂的条件 下设置数学优化问题的约束条件;或者流服务器同时提供多个媒体流时,在各媒体流需要消耗流服务器的资源允许相互调剂的 条件下设置数学优化问题的约束条件。
10、 如权利要求9所述的方法,其特征在于,在各媒体流需要消耗流服务器的资源允许 相互调剂的条件下设置数学优化问题的约束条件,在对数学优化问题求解过程中,将求解获 得的一个媒体流的控制策略参数作为与该媒体流具有相同用户体验定量模型各参数的所有 属于同一类的媒体流的控制策略参数。
11、 如权利要求l所述的方法,其特征在于,针对同一内容的媒体流,存储的流媒体数 据文件包括支持不同控制策略的多个流媒体数据文件;且当存储的流媒体数据文件未经纠 错编码处理时,所述步骤c包括流服务器根据控制策略中的纠错编码类型、保护强度参数 对其发送的媒体流数据进行纠错编码处理。
12、 一种流媒体服务实现系统,其特征在于,所述系统包括 存储设备,用于存储流媒体数据文件; 策略与控制服务器,用于根据流媒体的用户体验定量模型而建立的数学优化问题,对所 述数学优化问题进行求解以确定用户体验定量模型中的各参数,并根据所述各参数设置控制 策略,将所述控制策略传输给流服务器;流服务器,用于根据接收的控制策略从所述存储设备中读取流媒体数据文件、并根据读 取的流媒体数据文件向用户终端发送媒体流。
13、 如权利要求12所述的系统,其特征在于,所述数学优化问题的约束条件包括 在流服务器只提供单个媒体流时,根据单个媒体流需要消耗流服务器资源的限制条件设置的数学优化问题的约束条件;或者在流服务器同时提供多个媒体流时,在各媒体流需要消耗流服务器的资源互不调剂的条 件下设置的数学优化问题的约束条件;或者在流服务器同时提供多个媒体流时,在各媒体流需要消耗流服务器的资源允许相互调剂 的条件下设置的数学优化问题的约束条件。
14、 如权利要求12所述的系统,其特征在于对于视频流媒体服务来说,所述各参数包括比特率、帧率、压縮编码协议、图像格式、 关键帧间隔、纠错编码类型、保护强度参数;对于音频流媒体服务来说,所述各参数包括比特率、压縮编码协议、纠错编码类型、 保护强度参数。
15、 一种策略与控制服务器,其特征在于,所述策略与控制服务器包括 存储模块用于存储根据流媒体的用户体验定量模型所建立的数学优化问题; 求解模块用于对存储模块中存储的数学优化问题进行求解,以确定用户体验定量模型中的各参数;传输模块用于根据求解模块通过求解所述数学优化问题获得的用户体验定量模型中的 各参数设置控制策略,并将控制策略传送给流服务器。
16、 如权利要求15所述策略与控制服务器,其特征在于对于视频流媒体服务来说,所述各参数包括比特率、帧率、压縮编码协议、图像格式、 关键帧间隔、纠错编码类型、保护强度参数;对于音频流媒体服务来说,所述各参数包括比特率、压縮编码协议、纠错编码类型、 保护强度参数。
全文摘要
提供有流媒体服务实现方法、系统和网络设备。属于网络通讯技术领域。所述方法包括首先,根据流媒体的用户体验定量模型建立数学优化问题,并进行求解以确定用户体验定量模型中的各参数;然后,根据所述确定出的各参数设置流服务器的控制策略;之后,流服务器根据所述控制策略读取流媒体数据文件、并根据读取的流媒体数据文件向用户终端发送媒体流,为用户提供流媒体服务。本发明实施方式与用户体验定量模型的具体表现形式无关,因此,本发明实施方式为流媒体服务提供了一种通用的实现框架。本发明实施方式能够为用户提供最优的流媒体用户体验。
文档编号H04N7/24GK101399980SQ200710122518
公开日2009年4月1日 申请日期2007年9月26日 优先权日2007年9月26日
发明者忠 罗 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1