发明名称 基于QoE控制的计算量可感知的运动估计算法
摘要 发明涉及基于QoE控制的计算量可感知的运动估计算法,对移动设备上的实时视频编码,设计了一个带有两个体验维度的QoE计算模型,让用户可以在视频的质量和时长之间进行选择和调节,并应用在了所提出来的一种新型的计算量可感知的运动估计算法里面。该算法采用的是单遍扫描处理流程,利用块的初始匹配误差信息和对应的失真增益信息将块分为四类,将一帧的计算量分成了基本层和增益层两个部分,分别对四类块进行分配,同时采用了提前终止检测和计算量分配调整策略。实验结果表明,该算法能够更加精确地对计算量进行分配,以及所构造的QoE计算模型具有实用性。
申请公布号 CN103634602A 申请公布日期 2014.03.12
申请号 CN201310562939.2 申请日期 2013.11.09
申请人 郑州大学 发明人 周兵;周艳杰;吴飞;吴亚平
分类号 H04N19/149(2014.01)I;H04N19/30(2014.01)I;H04N19/557(2014.01)I 主分类号 H04N19/149(2014.01)I
代理机构 代理人
主权项 基于QoE控制的计算量可感知的运动估计算法,包括两个部分:帧级别计算量分配和块级别计算量分配,其特征在于帧级别计算量分配有两个限制,一个是视频质量的平滑性,另一个是计算资源的节省性,视频质量的平滑性限制用来保证不同视频帧之间的补偿质量的变化尽可能要小,计算资源的节省性限制则是用来在搜索候选匹配块时,终止那些不必要的计算量使用。由于采用的块级别计算量分配算法会严格控制计算量不会被超额使用,为了方便与其他方法进行比较,采用的是为每一帧分配固定的计算量。其中块级别计算量分配,首先是把块分成四类,把一帧可使用的计算量划分成基本层和增益层两个部分,然后根据块的类别分别进行基本层和增益层计算量的分配;对块进行分类的方法:利用到前一帧的失真增益,当前帧的每个块都有一个预测运动矢量指向前一帧的某个块,而被指向的每个块都对应着一个失真增益,该失真增益是它的初始匹配误差与最终匹配误差之间的差值,如果当前块的预测运动矢量所指向的块覆盖了前一帧中多个块,则该块对应的失真增益是所覆盖块的失真增益的加权和,用Beblock表示当前块所对应的失真增益: <mrow> <msub> <mi>Be</mi> <mi>block</mi> </msub> <mo>=</mo> <munder> <mi>&Sigma;</mi> <mi>i</mi> </munder> <msub> <mi>&omega;</mi> <mi>i</mi> </msub> <mo>&CenterDot;</mo> <msub> <mi>Be</mi> <mrow> <mi>b</mi> <mo>_</mo> <mi>pre</mi> <mo>_</mo> <mi>i</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>></mo> <mn>0</mn> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>其中,Beb_pre_i表示所覆盖块i的失真增益,权重因子ωi则对应所覆盖块i的面积占的比例,用Difb_initial表示块的初始匹配误差,则四类块是按如下方式进行定义的: <mrow> <msub> <mi>Class</mi> <mi>block</mi> </msub> <mo>=</mo> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mi>if</mi> <msub> <mi>Dif</mi> <mrow> <mi>b</mi> <mo>_</mo> <mi>initial</mi> </mrow> </msub> <mo>&le;</mo> <mi>dths</mi> </mtd> </mtr> <mtr> <mtd> <mn>2</mn> </mtd> <mtd> <mi>ifdths</mi> <mo>&lt;</mo> <msub> <mi>Dif</mi> <mrow> <mi>b</mi> <mo>_</mo> <mi>initial</mi> </mrow> </msub> <mo>&le;</mo> <mi>dthl</mi> </mtd> </mtr> <mtr> <mtd> <mn>3</mn> </mtd> <mtd> <mi>if</mi> <msub> <mi>Dif</mi> <mrow> <mi>b</mi> <mo>_</mo> <mi>initial</mi> </mrow> </msub> <mo>></mo> <mi>dthland</mi> <msub> <mi>Be</mi> <mi>block</mi> </msub> <mo>&le;</mo> <mi>bth</mi> </mtd> </mtr> <mtr> <mtd> <mn>4</mn> </mtd> <mtd> <mi>if</mi> <msub> <mi>Dif</mi> <mrow> <mi>b</mi> <mo>_</mo> <mi>initial</mi> </mrow> </msub> <mo>></mo> <mi>dthland</mi> <msub> <mi>Be</mi> <mi>block</mi> </msub> <mo>></mo> <mi>dth</mi> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>其中,Classblock表示当前块的所属分类,dths表示一个块的初始匹配误差过小的阈值,dthl表示一个块的初始匹配误差过大的阈值,bth表示一个块的失真增益是大还是小的分隔点;块级别计算量分配算法:块级别计算量分配 首先是将一帧可使用的计算量分成基本层和增益层两个部分,基本层计算量所占的比例是α(0<α<1),基本层计算量被分配给所有的四类块,而每块所分得的基本层计算量是根据其初始匹配误差进行分配的,用Cb_base表示一个块所分得的基本层计算量: <mrow> <msub> <mi>C</mi> <mrow> <mi>b</mi> <mo>_</mo> <mi>base</mi> </mrow> </msub> <mo>=</mo> <mfrac> <msub> <mi>C</mi> <mrow> <mi>base</mi> <mo>_</mo> <mi>available</mi> </mrow> </msub> <msub> <mi>Num</mi> <mrow> <mi>b</mi> <mo>_</mo> <mi>nopro</mi> </mrow> </msub> </mfrac> <mo>&CenterDot;</mo> <mfrac> <msub> <mi>Dif</mi> <mrow> <mi>b</mi> <mo>_</mo> <mi>initial</mi> </mrow> </msub> <mi>AvgDif</mi> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>其中,Cbase_available表示一帧中基本层可用的计算量,Numb_nopro表示一帧中未被处理的块的数量,AvgDif表示一帧中已经被处理过的块的平均初始匹配误差,增益层计算量也被分配给所有的四类块,而每块所分得的增益层计算量是根据其失真增益进行分配的,用Cb_benefit表示一个块所分得的增益层计算量: <mrow> <msub> <mi>C</mi> <mrow> <mi>b</mi> <mo>_</mo> <mi>benefit</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>C</mi> <mrow> <mi>benefit</mi> <mo>_</mo> <mi>total</mi> </mrow> </msub> <mo>&CenterDot;</mo> <mfrac> <msub> <mi>Be</mi> <mi>block</mi> </msub> <msub> <mi>Be</mi> <mrow> <mi>total</mi> <mo>_</mo> <mi>pre</mi> </mrow> </msub> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>其中,Cbenefit_total表示一帧中增益层总的计算量,Betotal_pre表示一帧中总的失真增益,另外,为了减少所采用的失真增益信息的非有效性所带来的影响,当第1类块和第2类块的某一步搜索得到的最佳运动矢量是预测运动矢量,该块很有可能已经达到了全局最优,为了减少计算量的不必要使用,便停止对该块的搜索,当第2类块和第3类块的最后一步搜索的失真增益比大于β(0<β<1),该步的失真增益比表示失真减少量所占的比例,则增加计算量以进行更多一步的搜索,当第4类块的连续两步搜索的失真增益比都小于γ(0<γ<1),则立即停止对该块的搜索,为了使搜索策略更具一般性,实验中采用的运动估计算法是菱形搜索算法,并将预测运动矢量作为初始搜索点,为了加快搜索速度,也采用了其他一些传统的加速策略,比如说当一个块的部分匹配误差大于最小匹配误差的时候,便停止对该块匹配误差的计算。
地址 450000 河南省郑州市高新技术开发区科学大道100号
您可能感兴趣的专利