在自适应流送中用缓冲器和范围约束来进行质量优化的制作方法_4

文档序号:9635405阅读:来源:国知局
两个目标函数来将质量最大化。第一个目标是将平均 质量评分最大化,如下式所定义的:
阳化5] 其中,N是段的数目(例如,范围内段的数目)。
[0056] 第二个目标是将针对段N的数目的最差情况下的质量评分最大化,如下:
[0057] m化mmyO?) (公式 2)
[0058] 对公式1和公式2的扩展将通过W下方式来精确地考虑质量变化:在每一步骤n 包含乘法器a(n-l,n)W使得公式1和公式2中的Q(n)被替换为:
[0059] Q' (n)=a(n-l,n)Q(n),(公式2b) 阳060] 其中,Q(n)对应于初始的Q(n)。当质量已经从一个等级转移到另一等级时,该乘 法器a(n-l,n)将整体评分打折扣。例如,如果在步骤n-1和步骤n的视频比特率是从相同 质量等级选出的,则设置a(n-l,n)=1,并且如果在步骤n-1和步骤n的视频比特率是从 不同质量等级选出的,则设置a(n-l,n)=0.8。运种方式下,目标函数考虑平均质量和质 量变化。
[0061] 对W上目标(公式1、公式2和公式化)的第二个扩展将根据幕函数,采取任意的 质量评分并将其提高到某一幕次b,也就是,由下式来替换运些公式中的Q(n):
[00创 Q"(n)=Q(n)b(公式 2c) W63] 其中,Q(n)对应于初始的Q(n),并且b> 1。
[0064] 注意到,先前所描述的算法中的任意一个或多个可W被应用于本文中所描述的目 标中的任意一个。视频质量的优化还基于介质存储缓冲器313的约束W及在速率步骤期间 进行分析的当前段的范围大小H(n)。缓冲器包括视频段的队列。缓冲器的大小随着在每步 新的视频段队列到缓冲器中和旧的视频段W具体的视频播放速率出列随着时间演化。如本 文中所描述的,B(O)表示最初的缓冲器大小,并且B(n)是步骤n结束时的客户端缓冲器大 小。在视频播放开始之前(即,在缓冲器的任意损耗之前),缓冲器大小被定义为: 阳0化]B(n)=B(n-1)+1(公式3)
[0066] 在视频播放开始之后,缓冲器大小被定义为:
[0067] B(n)=B(n-1)+I-R(n)/W(n) (公式4) W側其中,W(n)是步骤n的链路带宽,并且R(n)/W(n)是段下载的持续时间。因此,缓 冲器的补充或入队是每步一段,而缓冲器的消耗或出队在步骤n结束时的R(n)/W(n)。 W例缓冲器的下限值度J和缓冲器的上限值度H)由引擎309定义。除了初始状态 (其中B(n) <B,)之外,当处理当前段时,引擎309所使用的算法维护缓冲器大小,W使得 BL《B(n)《Bh。引擎309还尝试收敛到值B(n) =Bref,其中BL《Bref《BH。
[0070] 时间范围大小被QO引擎309定义为H(n),其中H(n)可W在H(n) > 1的条件下改 变。例如,时间范围大小对于内容流中的某一数目的段可W是恒定的,但是随着段接近流的 终点,H(n)的值被减少W便不延伸到内容流之外的范围。根据本文中所描述的技术,从当 前段到当前段之前的H(n)-1步骤,只有段的视频比特率和质量信息被分析W确定对应于 当前段的优化的质量的比特率。换言之,只有信息1?(111,1)、〇(111,1)(其中,111 = 11、11+1..... n+H(n)-l,并且1 = 1、2.....L)对由引擎309用来确定当前段的R(n)的算法是可用的。
[0071] 为了应用算法来确定当前段的R(n),QO引擎309使用优化质量在线 的ptimize如ality化line)算法来通过多个步骤进一步确定比特率。优化质量在线算 法如本文中所描述的那样在每一步骤应用进一步的算法,并且被称为范围内最优质量 的ptimize如alityWithi址Iorizon)。W下输入被提供给优化质量在线算法: 阳0巧全局输入: 阳〇7引 一Bl=缓冲器下限
[0074] -Bh=缓冲器上限
[0075] -Bref=缓冲器参考等级
[0076]--KB=缓冲器收敛于Bref的速度 阳077] 在步骤n可用的输入: 阳〇7引 一W(n)=链路带宽(例如,在步骤n估计的带宽)
[00巧]-B(n-1)=在之前步骤结束时的缓冲器大小
[0080] -H(n)=范围大小,H(n) > 1
[0081] -R(m,1)、Q(m,1),其中m=n、n+1、. . .、n+H(n) -1,并且 1 = 1、2、. . .、L,
[0082] (针对从当前段到当前段之前的H(n)-1步骤处的段、或者到有限范围端点处的段 的段的(从清单可得的)比特率和质量信息)
[0083] 算法使用输入信息来确定当前视频段n的比特率R(n)。
[0084] 在每一速率选择步骤n处,给定之前提到的输入,引擎309使用在本文中被称为范 围内优化质量的一个或多个算法来反复地解决优化问题W在范围内的段间最优地分配比 特率。(一个或多个)范围内优化质量算法使用W下输入: W财输入:
[0086]-Bmit=最初的缓冲器大小
[0087] -Bfinal=最终的缓冲器大小
[00蝴 一Bl=缓冲器下限
[0089] -Bh=缓冲器上限
[0090] -W=当前估计的带宽
[0091] -H=当前范围大小
[0092] -R(m,l)、Q(m,1),其中m= 1、2.....H,并且 1 = 1、2.....L
[0093] (针对从步骤1到步骤H的段的比特率和质量信息)
[0094] 使用范围内优化质量,从当前段到当前段之前的H-I步骤处的段的段的比特率输 出被确定(即,R(m)的值,其中m=I.....H)。(一个或多个)范围内优化质量算法可W产 生情境中可接受的结果,在运些情境中某些条件(例如,链路带宽和视频源特性)不改变。
[0095] 然而,实际上,带宽和视频源特性将很可能针对内容流进行改变。因此,根据本文 中所描述的技术,引擎309只采用当前段的比特率,在当前段中算法被采用,并且在每一之 后的步骤处重复相同的算法,W使得每次一个步骤确定段比特率。使用该方法,优化质量在 线算法可W如下被应用:
[0096] --Binit=B(n_l) 阳097] -Bfinai= B(n-1) +KB地(n)*度ref-B(n-1))
[0098] -min(BL,B(n_l))
[0099] --Rlwal(m)(其中m= 1、2.....H)=范围内优化质量化n…B。nal、BLl°。al、BH、W(n)、 H(n)、R(m,1)、Q(m,1),其中,m=n、n+1、. . .、H(n) -1,并且 1 = 1、2、. . .、L)。
[0100] 为当前段选择的比特率R(n)然后被输出为Ri…ai(I)(也就是,被选择用于H个段 的群组内的第一段的比特率)。针对下一段(段n+1),相同的优化质量在线算法被再次应 用W获得该段的比特率、之后段的比特率等等。 阳W] 注意到,缓冲器值B户ai是B 勺上限,并且因此可W不同于Bt,并且范围内最优 质量函数要求町《BBH。每一步骤缓冲器向Bw的收敛速度由参数KB来控制。 阳102] 已经定义了针对范围内优化质量函数的输入,在每一步骤n为段找到合适的比特 率的质量优化是由引擎309使用动态编程算法来确定的,W便通过将其分解成可W被反复 地解决的更小的子问题来解决问题。如先前所指出的,在步骤n,段的每一比特率R(n)具有 如W下所定义的相应的质量评分: 阳 10引Q(D)=QOUn))(公式W
[0104] 公式5可W基于缓冲器而被改写为如下: 阳 10引 Q((n-1,B(n-l)) -(n,B(n))) =QGUn))
[0106] 换言么通过将缓冲器从步骤n-1处的B(n-l)移动到步骤n处的B(n),所得到的 质量是Q巧(n))。Q巧(n))的值然后可W使用公式3至公式5进行估计。 阳107] 相似的质量评分Q((m,B(m)) -(n,B(n)))可W被定义,其中n-m> 1。然而,针 对该情况,可W存在从(m,B(m))到(n,B(n))的多个可能的路径,其产生不同的质量值。最 优的质量评分可W通过所有的质量值而被获得(如Q*((m,B(m)) -(n,B(n)))),其中优化 可WW任意合适的方式被定义,比如在平均意义上(例如,将平均质量评分最大化,如在公 式1中)或者在最差情况意义上(例如,将最差情况的质量评分最大化,如在公式2中)。
[0108] 在多项式时间动态编程算法中,问题可W被拆分成更小的子问题W实现更有效的 解决方案。在平均意义上使用最优的多项式时间动态编程公式,如下:
[0110] 其中所有的m<s<n。 阳11U针对该公式,从(m,B(m))进行到(n,B(n))需要步骤S进行处理。最大的质量一 定是子问题的质量的总和,其中所有可能的町《B(S)《BH。为解决质量优化,更小的子问 题可W被解决,然后解决甚至更小的子问题,等等。最后,公式减少到Q((n-l,B(n-l) -(n, B(n)))〇
[0112] 相似地,针对最差情况意义下的优化,情形如下:
[0114] 其中,所有的m<s<n。
[0115] 比特率解决方案可WW前向或后向递归的方式被实现。现在描述用于在每一步骤 n使用动态编程算法确定段的比特率的W下两个示例算法:范围内最优质量平均质量的Pt imize如alityWithinHorizonAverage如ality)和范围内最优质量最差情况质量(Optimiz eQu曰lityWithinHorizonWorstC曰SeQu曰Iity)O 。11引 淑兩内最优质量平挽质量
[0117] 在每一步骤n,针对所有的R(l,1),设置B(O) =Bmit,W及计算并存储,其中1 = 1、...、L;
[011引Q*((0,B(0)) -(1,B(1))) =Q((0,B(0)) -(1,B(1))) 阳119] 针对m=2、3、…、H,计算并存储:
阳121] 针对所有的町《B(m)《BH,其中B(m)的值被量化成离散本化in)。
[0122] 优化比特率R*(m)(m= 1、…、H)基于Q*((0,B(0)) -(m,B(m)))的所计算的值 而被确定。例如,清单124可W被查询W确定哪些比特率符合所计算的质量评分值。当前 段的比特率是R*(l)。 引 淑兩内最优质量最差信胤质量
[0124] 在每一步骤n处,针对所有的R(l,1),设置B(O) =BiMt,W及计算并存储,其中1 二1、. . .、L : 阳12引Q*((0,B(O)) -(1,B(I))) =Q((〇,B(O)) -(1,B(I))) 阳126] 针对m=2、3、…、H,计算并存储:
阳12引针对所有的町《B
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1