随着移动通信系统快速发展以及智能手机在软硬件上取得突破,移动视频会话业务应用越来越普遍。新一代高效率视频编码标准HEVC(high efficient video coding)[1]比H.264/AVC视频编码标准在保持相同质量的情况下提高约一倍的压缩效率,同时也增加了编码的复杂度。由于移动设备电池续航能力的瓶颈受限以及移动信道的复杂性和不可预测性,移动视频会话业务在提高压缩效率的同时,要尽量降低编码的复杂度。因此,HEVC标准下提高感兴趣区的容错性能和减少编码的复杂度是移动视频会话在智能手机上实时应用的难题。
在现有的改善方法中,一类方法是估计端到端的失真来对视频编码进行率失真优化,增强传输过程中抗差错性能,如通过计算像素一阶矩和二阶矩估计端到端失真的ROPE算法[2],通过在编码端模拟多个信道与解码器估计端到端失真的方法[3],针对H.264/AVC标准中的端到端失真估计方法[4-5]以及使用HEVC中编码单元的大小估计端到端失真的方法[6]。这类方法虽然能有效提高视频在进行有差错传输时的容错性能,但需要估计端到端失真,难以满足受限资源的移动设备上实时会话视频的要求。另一类方法是通过特定的模式或者机制增加帧内编码块,抑制传输过程中的错误扩散,如用于H.264/AVC随机帧内刷新方法[7]、帧内距离系数加权法[8]等。这类方法虽然没有增加额外编码复杂度,但过多插入帧内模式使得视频压缩效率降低,容易造成视频图像内比特分配和视频质量分布不均,与人眼视觉系统(human visual system, HVS)的特性不匹配。为改进这些不足,另一些编码方案考虑了HVS,根据视频不同区域的感兴趣程度将视频图像分割为感兴趣区(region of interest, ROI)和非感兴趣区进行自适应码率分配编码。如分别对ROI和非ROI的进行端到端率失真代价函数加权[9]的方法,需要估计端到端失真,仍难以满足实时会话视频的要求。文献[10]根据接收端反馈ROI内的差错状况进行帧内刷新,增加了系统的延时,影响会话业务的实时性。Meddeb等[11]提出一种将ROI与HEVC的新特性Tiles相结合的算法,提高了ROI的抗差错性能。然而上述基于感兴趣区域的方法都没有考虑到在不同程度的传输错误发生时人眼对于画面中感兴趣的程度也是不同的。为解决这个不足,本文针对移动会话视频提出一种基于感兴趣区的HEVC容错编码方案。该方案联合信道的实时状态和感兴趣区的兴趣度量构造错误扩散因子,影响感兴趣的编码器的帧内帧间模式决策。由于本文方案采用ROI的编码方法,HEVC标准参考软件HM[12]中采用的基于R-λ模型的码率控制算法[13]已经不适用于本方案,所以本文同时给出相应的联合信源信道目标比特分配算法。实验结果表明该方案有效提高了会话视频中感兴趣区的错误抵抗能力,并且降低了编码时间复杂度,可用于移动通信网络中的实时会话视频业务。
1 感兴趣区的快速检测与分割最常见的移动会话视频场景即用户使用移动终端(如移动蜂窝电话、平板电脑等)进行视频聊天,对于此类设备拍摄的视频图像呈现出这样的特点:背景静止基本保持不变或者有快速轻微晃动,人脸位于视频中部区域,脸部有复杂的运动,含有丰富的细节(眼神、口型、神态等)。所以在移动会话视频中,人脸区域是会话者视觉关注的感兴趣区,人脸的检测成为首要的任务。尽管当前人脸识别技术已经取得突破,在准确度和检测速度上都取得了进展,但是仍然不能保证实时编码与传输。并且人脸检测的精确度不是重点,而是需要尽可能快速地检测人脸并用于后面资源消耗更大的编码过程中。针对这个特点本文提出一种简单快速的基于肤色检测和纹理复杂度的方法快速分割出感兴趣区,并给出以像素块为单位的兴趣度量,方便用于后续HEVC视频编码和传输。
给定大小为N×N的像素块,使用肤色检测算法[14]定义肤色因子s
$ s = \frac{1}{{{N^2}}}\sum\limits_{i = 0}^N {\sum\limits_{j = 0}^N {p\left( {i,j} \right)} } , $ | (1) |
式中:p(i, j)表示像素(i, j)的肤色检测结果,若该像素被检测为肤色时p(i, j)=1,否则p(i, j)=0。定义像素块的纹理运动复杂因子t
$ \begin{array}{*{20}{c}} {t = \frac{1}{{a{N^2}}}\sum\limits_{i = 0}^N {\sum\limits_{j = 0}^N {\left( {\left| {{G_x}\left( {i,j} \right)} \right| + } \right.} } }\\ {\left. {\left| {{G_y}\left( {i,j} \right)} \right| + \left| {{G_t}\left( {i,j} \right)} \right|} \right),} \end{array} $ | (2) |
式中:a为归一化系数,像素的空间梯度Gx(i, j), Gy(i, j)和时间梯度Gt(i, j)计算如下:
$ \begin{array}{l} {G_x}\left( {i,j} \right) = {f_t}\left( {i,j} \right) - {f_t}\left( {i - 1,j} \right),\\ {G_y}\left( {i,j} \right) = {f_t}\left( {i,j} \right) - {f_t}\left( {i,j - 1} \right),\\ {G_t}\left( {i,j} \right) = {f_t}\left( {i,j} \right) - {f_{t - 1}}\left( {i,j} \right), \end{array} $ | (3) |
式中:ft-1(i, j)表示该像素在前一帧对应的像素点。定义该像素块的兴趣度量iblock
$ {i_{{\rm{block}}}} = \alpha s + \beta t, $ | (4) |
式中α和β为给定系数。为了将感兴趣区与后续HEVC编码过程相匹配,给定2个阈值θ1和θ2,整幅图像依照式(4)计算的兴趣度量进行阈值化,经过阈值化后对应的兴趣度量Iblock为
$ {I_{{\rm{block}}}} = \left\{ \begin{array}{l} {\theta _1},\;\;\;\;{i_{{\rm{block}}}} \ge {\theta _1}\\ {\theta _2},\;\;\;\;{\theta _2} \le {i_{{\rm{block}}}} < {\theta _1}\\ 1,\;\;\;\;\;\;\;{i_{{\rm{block}}}} < {\theta _2} \end{array} \right.. $ | (5) |
通过式(5),整幅图像被分割成为3个不同的区域,分别记作感兴趣区ROI1、感兴趣区ROI2和非感兴趣区NROI。图 1展示使用上述方法对foreman序列第138帧和KristenAndSara序列第343帧分割感兴趣区的例子。其中兴趣度量值灰度图中最亮的块为感兴趣区域ROI1,灰色块为感兴趣区ROI2以及黑色块为非感兴趣区NROI。
Download:
|
|
经过HEVC编码的会话视频在容易发生差错的移动网络中传输,会产生错误扩散,严重降低视频传输的质量。为保证接收端视频的主观质量,需要在保证视频编码实时性的同时提高感兴趣区的抗差错性能,本节提出基于感兴趣区的容错编码方案。首先使用信道状况修正感兴趣区的兴趣度量值,然后为不同感兴趣区域内的树形编码单元划分模式进行限定以降低复杂度,接着阐述联合信道的帧内帧间模式选择方法,最后针对方案的特点讨论新的目标比特分配方法以满足本方案的码率控制要求。
2.1 联合信道的感兴趣区兴趣度量当信道状况变差时,人眼对于感兴趣区内的视频质量会比传输条件正常时更加敏感,因此本文针对不同的感兴趣区的兴趣度量自适应修正,将信道变化状态自适应与兴趣度量的变化匹配:
$ {{I'}_{{\rm{block}}}} = \left\{ \begin{array}{l} b{\theta _1}p,\;\;\;\;{\rm{block}} \in {\rm{RO}}{{\rm{I}}_1}\\ {\theta _2},\;\;\;\;\;\;\;\;{\rm{block}} \in {\rm{RO}}{{\rm{I}}_2}\\ 1,\;\;\;\;\;\;\;\;\;\;{\rm{block}} \in {\rm{NROI}} \end{array} \right.. $ | (6) |
式中:p为当前信道的丢包率,p≠0;b为给定的错误敏感系数,用于表征丢包对于感兴趣区度量的影响程度。当传输过程中丢包率增加时,人眼对ROI区的感兴趣度提升;当信道状态转好时,对ROI区的感兴趣度下降。修正后的兴趣度与信道变化状态自适应匹配,用于后续自动调控视频质量与抗差错能力。
2.2 基于感兴趣区的CTU划分模式为提升编码效率,HEVC引入树形编码单元(coding tree unit, CTU)作为最基本的编码单元。一幅图像被划分为若干个L×L大小的CTU,每个CTU可以当作一个编码单元(coding unit, CU), 同时也可以继续分割成4个子CU,此时划分深度为1,子CU可以接着再继续分割,直至到达所允许的最小CU尺寸,此时该CU具有最大划分深度,形成基于四叉树的循环分层结构。在各个CU的编码过程中,又可以进一步将CU分割成预测单元(prediction unit, PU)和变换单元(transform unit, TU)以进行帧内帧间模式预测、变换和量化等后续过程。若要获得最优的CTU划分方式,则需要遍历所有可能的模式,并取使拉格朗日代价函数最小的模式为最优模式。尽管能获得最优模式,但是可观的计算量使得该方法不可能用于移动视频实时会话业务中,所以CTU的划分与模式选择方法需要在计算复杂度与编码性能之间做出权衡。
考虑到在视频编码中,较大的编码块可以降低编码复杂度,但是较小的编码块又能使得图像的细节预测更加准确。所以为上节分割得出的不同区域设定CTU所允许的最大划分深度depthmax:
$ {\rm{dept}}{{\rm{h}}_{\max }} = \left\{ \begin{array}{l} 3,\;\;\;\;{\rm{CTU}} \in {\rm{RO}}{{\rm{I}}_1}\\ 2,\;\;\;\;{\rm{CTU}} \in {\rm{RO}}{{\rm{I}}_2}\\ 1,\;\;\;\;\;{\rm{CTU}} \in {\rm{NROI}} \end{array} \right.. $ | (7) |
根据不同的感兴趣区域设定CTU的最大划分深度使得编码过程中减少了很多模式的遍历,降低了计算复杂度,使得编码所需资源耗费减少。
2.3 联合信源信道帧内帧间模式选择方法HEVC编码过程中,为得到最优的帧内帧间模式,使用基于拉格朗日的率失真优化方法。通过最小化代价函数(8)得到最优的帧内或帧间预测模式
$ J = {D_{{\rm{mode}}}} + {\lambda _{{\rm{mode}}}}{R_{{\rm{mode}}}}, $ | (8) |
式中:Dmode为不同模式编码产生的失真,Rmode为不同模式编码所需的比特数,λmode为拉格朗日因子。由于视频编码经信道传输后,式(8)中失真Dmode并没有考虑传输过程中发生差错的影响,为此对失真D引入错误因子ω,得到新的率失真代价函数
$ J' = \omega {D_{{\rm{mode}}}} + \lambda {R_{{\rm{mode}}}}, $ | (9) |
考虑视频中发生差错的错误敏感程度不同,并且帧内模式会阻止错误扩散,故式(9)中ω由当前预测单元的兴趣度度量决定:
$ \omega = \left\{ \begin{array}{l} 1,\;\;\;\;\;\;\;\;\;\;\;{\rm{intramode}}\\ n{{I'}_{{\rm{block}}}},\;\;\;\;{\rm{intermode}} \end{array} \right., $ | (10) |
式中, I′block在式(6)给出,n为当前CU内所有PU的平均帧内距离系数。帧内距离系数的计算方法为:若PU最终被决策为帧内模式,则PU的帧内距离系数置为0;若决策为帧间模式,则在对应参考图像的预测块的帧内距离系数进行加1作为该PU的帧内距离系数。在计算帧内距离系数时,如果参考图像预测块与多个具有不同帧内距离系数的预测块重叠,则根据所占重叠区域比例计算参考图像预测块的平均距离系数[8]。以4×4大小的块为例,如图 2所示,阴影部分为参考图像预测块,它的距离系数为n=(n1×3+n2×1+n3×3+n4×9)/16,则当前编码块的帧内距离系数为n+1。
Download:
|
|
HEVC标准参考软件HM16.7[12]中采用的基于R-λ模型的码率控制算法[13],分为两个步骤,首先根据目标码率分配目标比特数,接着确定不同编码单元的量化参数。为了将更多的编码比特分配与上文中分割的感兴趣区域相匹配,并且考虑信道状态对兴趣度量的影响,本文提出基于感兴趣区的图像级目标比特分配和CTU级目标比特分配方法代替原先码率控制算法中对应级别的比特分配方法。
2.4.1 图像级的目标比特分配方法给定图像组(Group of Pictures, GOP)的目标比特TGOP,且当前GOP内有NGOP幅图像,则当前图像i分配的比特数Tf(i)为
$ {T_{\rm{f}}}\left( i \right) = \frac{{{\omega _{\rm{f}}}\left( i \right)}}{{\sum\limits_{j = i}^{{N_{{\rm{GOP}}}}} {{\omega _{\rm{f}}}\left( j \right)} }} \cdot \left( {{T_{{\rm{GOP}}}} - {R_{{\rm{used}}}}} \right), $ | (11) |
式中:Rused为当前GOP中已经编码的图像生成的比特数,ωf(i)为当前图像i在该GOP内的所占权重。在比特分配的时候,为了把更多的比特分配给感兴趣区占比例更大的图像,根据式(1)中图像感兴趣度的度量,给出图像i的权重ωf(i)的计算方法
$ {\omega _{\rm{f}}}\left( i \right) = \frac{{\beta {N_{{\rm{RO}}{{\rm{I}}_1}}} + {N_{{\rm{RO}}{{\rm{I}}_2}}}}}{{{N_{{\rm{CTU}}}}}}, $ | (12) |
式中:NROI1、NROI2和NNROI分别为图像i中ROI1, ROI2和NROI内含CTU的数目; NCTU为图像所含的总CTU数; β可由式(2)算得:β=aθ1p/θ2。由式(12)可以看到,若图像中感兴趣区所占比例更大的话,那该图像在此GOP内会被分配到更多的比特。
2.4.2 CTU级目标比特分配方法在计算出当前图像i给定的目标比特数Tf后,接着对该图像内每个CTU确定目标比特数。设当前图像包含有NCTU个CTU,第m个待编码的CTU的目标比特数TCTU(m)为
$ {T_{{\rm{CTU}}}}\left( m \right) = \frac{{{\omega _{\rm{c}}}\left( m \right)}}{{\sum\nolimits_{k = m}^{{N_{{\rm{CTU}}}}} {{\omega _{\rm{c}}}\left( k \right)} }} \cdot \left( {{T_{\rm{f}}} - {R_{\rm{H}}} - {R_{{\rm{used}}}}} \right), $ | (13) |
式中:RH为当前图像的头信息所消耗的比特数;Rused为当前图像中已经编码的CTU生成的比特数;ωc(m)为第m个CTU在该图像内的所占权重,该值可根据式(2)中图像感兴趣度的度量计算出:
$ \begin{array}{l} {\omega _{\rm{c}}}\left( m \right) = \frac{{{{I'}_{{\rm{CTU}}\left( m \right)}}}}{{\left( {\begin{array}{*{20}{c}} {\sum\nolimits_{{\rm{block}} \in {\rm{RO}}{{\rm{I}}_1}} {{{I'}_{{\rm{block}}}}} + \sum\nolimits_{{\rm{block}} \in {\rm{RO}}{{\rm{I}}_2}} {{{I'}_{{\rm{block}}}}} + }\\ {\sum\nolimits_{{\rm{block}} \in {\rm{NROI}}} {{{I'}_{{\rm{block}}}}} } \end{array}} \right)}}\\ \;\;\;\;\;\;\;\;\;\; = \frac{{{{I'}_{{\rm{CTU}}\left( m \right)}}}}{{{N_{{\rm{RO}}{{\rm{I}}_1}}}a{\theta _1}p + {N_{{\rm{RO}}{{\rm{I}}_2}}}{\theta _2} + {N_{{\rm{NROI}}}}}}, \end{array} $ | (14) |
式中:I′CTU(m)由式(6)给出。从式(14)可以看出,位于感兴趣区内的CTU权重更大,分配了更多的比特,并且随着信道丢包的增加,更多的比特会被分配到感兴趣区,非感兴趣区内的CTU的比特分配就会减少。
3 实验仿真与结果分析为验证本文提出的方案的性能,实验参考HEVC标准参考软件HM16.7[12]。使用Foreman和KristenAndSara测试序列,分辨率分别为352×288和1 280×720,帧率分别为30和60 fps,用于测试不同分辨率和码率下的算法性能。仿真实验的步骤为:序列使用不同方案编码150帧,编码后将输出的比特流按照MTU=1 500字节进行RTP/UDP/IP打包,进行传输实验丢包仿真。接收端进行拆包后得到损坏的比特流,解码器使用时域错误掩盖方法进行解码后得到重建视频,同一实验重复100次。编码器的参数设定基于HM16.7提供的标准encoder_lowdelay_P_main.cfg配置[12],使用6个CTU作为一个slice。
为比较本文算法和现有算法的性能,本文算法同随机帧内编码算法(RIR)[7]和使用帧内距离系数加权法(IDW)[8]进行仿真比较实验。采用RIR算法时,帧内刷新率通常设置为当前信道的丢包率p;而使用IDW算法时,设置加权系数K=5。为公平起见,使用IDW方法时采用和本方案相同的感兴趣区分割和CTU模式的划分方法。
图 3为Foreman和KristenAndSara序列编码经丢包率为15%的信道传输后感兴趣区的端到端率失真曲线。从实验结果中看出,在感兴趣区内对于低分辨率的Foreman序列来说,本文算法较IDW算法提升至少0.8 dB的率失真性能,较RIR至少提升1.7 dB的率失真性能。而对于高分辨率的KristenAndSara序列来说本文算法较IDW算法至少提升1.45 dB的率失真性能,较RIR则至少提升2.4 dB的率失真性能。实验结果表明在15%的丢包率的信道中传输时,本文算法对于不同分辨率的视频来说在感兴趣区内比另外2种算法具有更好的抗差错性能,更加符合HVS特性。
Download:
|
|
图 4为将2个序列分别以固定比特率进行编码,考察相同比特率在不同丢包率传输时的抗差错性能。图 4(a)为将Foreman序列使用不同算法以比特率150 Kb/s编码后,通过不同丢包率信道传输后感兴趣区重建质量的对照图。从图中可以看到采用本文算法的感兴趣区视频重建质量比RIR方法提高1.4~2.49 dB,比IDW方法提高0.74~0.85 dB。图 4(b)为将KristenAndSara序列使用不同算法以比特率1.5 Mb/s编码后,通过不同丢包率信道传输后感兴趣区和非感兴趣区重建质量的对照图。从图中可以看到采用本文算法的感兴趣区视频重建质量比RIR方法提高0.8~1.59 dB,比IDW方法提高1.35~1.75 dB。仿真结果说明本文方法在相同比特率的情况下,在不同丢包率的信道传输中均更好地保护了会话视频中的感兴趣区,具有更好的抵抗差错性能。
Download:
|
|
为了进一步验证本算法与RIR和IDW的编码计算复杂度,表 1给出不同算法的编码时间相对于HM16.7标准编码时间减少的百分比。从表中可以看到,本文方案采用的CTU划分模式方法使得Foreman序列编码时间减少20%左右,而KristenAndSara序列编码时间减少40%左右。
表 2给出本文方案中目标比特分配方法性能比较。由于RIR和IDW算法不涉及码率控制算法,所以本文中目标比特分配方法的性能使用编码实际比特率差错率Re和感兴趣区ROI在编码器端重建视频相对于标准HM16.7编码增加的PSNR来衡量,其中Re计算方法如下:
$ {R_{\rm{e}}} = \frac{{\left| {{R_{{\rm{target}}}} - {R_{{\rm{actual}}}}} \right|}}{{{R_{{\rm{target}}}}}} \times 100\% . $ |
从表 2可看出,本文方案中的目标比特分配方法取得预期性能。在实际比特率与目标比特率保持基本一致的情况下,将更多比特分配给了感兴趣区域,使得Foreman序列的感兴趣区的重建质量提升1.5~2.86 dB,而KristenAndSara序列则提升1.17~2.78 dB。实验结果说明随着信道丢包率的增加,更多的比特被分配到感兴趣区域,感兴趣区的视频质量随之提高。
4 结论针对会话视频和HVS特点,本文提出基于感兴趣区的HEVC会话视频容错编码方案。在文中结合人眼特性对会话视频中的人脸区域进行快速分割,并且考虑到信道状况对人眼敏感度的影响修正了人眼兴趣度量,接着根据感兴趣区域简化编码中CTU的划分模式,结合信道状况给出基于感兴趣区的帧内帧间模式选择方法和目标比特分配方法。仿真结果表明,该方案在保持比特率基本不变的同时,能够提升感兴趣区内抗差错性能并且比标准编码节省20%~40%的编码时间。下一步的工作,将着重于搭建和实现基于此方案的移动会话视频系统,测试其在实际应用中的性能并加以改善。
[1] |
Sullivan G J, Ohm J, Han W, et al. Overview of the high efficiency video coding (HEVC) standard[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2012, 22(12):1649–1668.
DOI:10.1109/TCSVT.2012.2221191 |
[2] |
Zhang R, Regunathan S L, Rose K. Video coding with optimal inter/intra-mode switching for packet loss resilience[J]. IEEE Journal on Selected Areas in Communications, 2000, 18(6):966–976.
DOI:10.1109/49.848250 |
[3] |
Stockhammer T, Hannuksela M M, Wiegand T. H.. 264/AVC in wireless environments[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2003, 13(7):657–673.
DOI:10.1109/TCSVT.2003.815167 |
[4] |
Yuan Z, Wen G, Yan L, et al. Joint source-channel rate-distortion optimization for H.264 video coding over error-prone networks[J]. IEEE Transactions on Multimedia, 2007, 9(3):445–454.
DOI:10.1109/TMM.2006.887989 |
[5] |
Zhifeng C, Dapeng W. Prediction of transmission distortion for wireless video communication:analysis[J]. IEEE Transactions on Image Processing, 2012, 21(3):1123–1137.
DOI:10.1109/TIP.2011.2168411 |
[6] |
Kulupana G, Talagala D S, Arachchi H K, et al. Error resilience aware motion estimation and mode selection for HEVC video transmission[C]//2016 IEEE International Conference on Consumer Electronics (ICCE): IEEE, 2016: 85-86.
|
[7] |
Joint Video Team(JVT) of ISO/IEC MPEG & ITU-T VCEG. H. 264 reference software JM[CP/OL]. (2016-07-15)[2017-04-20]. http://iphome.hhi.de/suehring/tml/.
|
[8] |
Nyamweno S, Satyan R, Labeau F. Intra-distance derived weighted distortion for error resilience[C]//200916th IEEE International Conference on Image Processing (ICIP): IEEE, 2009: 1057-1060.
|
[9] |
Chen Q, Chen Z, Gu X, et al. Attention-based adaptive intra refresh for error-prone video transmission[J]. IEEE Communications Magazine, 2007, 45(1):52–60.
DOI:10.1109/MCOM.2007.284538 |
[10] |
Maung H M, Aramvith S, Miyanaga Y. Region-of-interest based error resilient method for HEVC video transmission[C]//201515th International Symposium on Communications and Information Technologies (ISCIT): IEEE, 2015: 241-244.
|
[11] |
Meddeb M, Cagnazzo M, Pesquet-Popescu B. ROI-based rate control using tiles for an HEVC encoded video stream over a lossy network[C]//2015 IEEE International Conference on Image Processing (ICIP): IEEE, 2015: 1389-1393.
|
[12] |
Joint Collaborative Team on Video Coding (JCT-VC). HEVC reference software HM(HEVC test model)[CP/OL]. (2013-04-01)[2016-07-15]. https://hevc.hhi.fraunhofer.de/.
|
[13] |
Li B, Li H, Li L, et al. λ domain rate control algorithm for high efficiency video coding[J]. IEEE Transactions on Image Processing, 2014, 23(9):3841–3854.
DOI:10.1109/TIP.2014.2336550 |
[14] |
Hsu R L, Abdel-Mottaleb M, Jain A K. Face detection in color images[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(5):696–706.
DOI:10.1109/34.1000242 |