梁传君,徐 亮
(新疆工程学院 计算机工程系,乌鲁木齐 830011)
利用反向投影的flash场景自适应视频编码算法
梁传君,徐 亮
(新疆工程学院 计算机工程系,乌鲁木齐 830011)
针对闪光造成的光照变化会导致视频帧之间巨大的强度差异问题,提出利用反向投影的flash场景自适应视频编码算法;根据直方图差异提取闪光和非闪光帧,相应地为每个帧分配适当的编码类型,并在加权预测(WP)参数集确定中采用运动向量导数,通过反向投影保证flash场景的全局一致性;实验结果显示,提出的算法在Lena、Peppers、Building、Baboon、Nestling 5个视频上的峰值信噪比(PSNR)值分别可高达32.31 dB、34.14 dB、34.76 dB、34.94 dB、35.05 dB,非常接近原始图像的PSNR;相比其他几种加权预测算法,提出的算法在PSNR及计算复杂度方面均获得了更加优越的编码性能。
Flash场景;自适应编码;加权预测;峰值信噪比;反向投影;计算复杂度
在新闻发布会、体育比赛、新闻采访等场合上闪光造成的光照变化会导致视频帧之间巨大的强度差异[1],这在运动估计和视频编码补偿中很容易被认错[2]。
基于帧的加权预测(Weighted Prediction Based on Frame, WPBF)是一种加权预测(Weighted prediction, WP)方法[3],它仅能对具有全局亮度变化的场景进行编码,例如有效地淡入和淡出,但不能编码具有flash场景局部亮度变化的场景[4]。基于宏块(Macroblock, MB)的方法用于解决局部亮度变化问题[5],但是在执行运动估计(Motion Estimation, ME)中增加了计算复杂度[6]。有文献基于宏块概念扩展到多视点的视频以解决视图中光照和焦点的不匹配[7]。还有文献采用二次搜索算法,第一次搜索中,使用平均删除搜索计算窗口中的视差向量,第二次平均删除搜索通过过滤参考量找出每个MB的最佳匹配,该算法也需要很高的计算复杂度,且仅适合多视点视频编码[8]。自适应稀疏域选择算法(Adaptive sparse domain selection algorithm, ASDS)通过差值和修复非闪光帧来解决flash场景编码的问题,然而闪光帧的客观质量下降较严重[9]。
基于上述分析,为了解决闪光造成的光照变化会导致视频帧之间巨大的强度差异问题,提出一种利用反向投影的flash场景自适应视频编码算法,根据直方图[10]差异提取闪光和非闪光帧,相应地为每个帧分配适当的编码类型,并在WP参数集确定中采用运动向量导数[11]。实验结果表明,提出的算法在编码flash场景中相比传统算法具有更好的性能。
闪光灯的显著特点是在很短的时间内同一场景帧之间的亮度突变。采用提出的基于MB的加权预测对闪光帧进行编码工作,根据输入场景中的闪光自适应改变编码顺序,以提高编码的效率[12]。非闪光帧ft+2可以通过其他非闪光帧ft进行预测,因此ft+2不会产生大量的比特。算法流程图如图1所示。
图1 提出的算法的流程图
1.1 基于flash的自适应编码顺序
要达到这一效果,需要进行闪光场景检测,因此可以改变预测结构中的编码顺序,从而更易于得到具有闪光灯效果的视频序列的编码增益。闪光灯检测方法在视频自动索引、浏览和检索方面已被广泛研究,研究表明[13],可通过计算平均强度或直方图与相邻图像之间比值,以完成对一个flash帧的定位。提出的算法通过改进文献[13]提出的基于直方图差异化(Histogram differentiation, HD)的方法,使其更加适用于视频编码。
对于编码一个m帧的flash场景,两个非闪光帧和m-2闪光帧应该考虑在内。令fFLS和fFLE分别代表一个flash场景的开始和结束帧,fFLS和fFLE之间的关系可以写为:
Luma(fFLE)≈Luma(fFLS)
(1)
式中,Luma(f)表示所有像素p(x,y)的平均亮度值,帧f的大小为w和h时,可以表示为:
(2)
闪光时亮度水平开始从fFLS-1到fFLS有一个较大的增加,即Luma(fFLS-1)≪Luma(fFLS)。随后是一段恒定从fFLS到fFLS+m-3的高亮度水平,并结束于亮度水平从fFLS+m-3到fFLS+m-2一个较大的下降,即fFLS+m-3≪fFLS+m-2。然后根据帧之间的直方图差异,flash场景检测的问题可以转换为确定fFLS-1和fFLE+1。帧fa和帧fb之间的直方图差异可以表示为:
(3)
其中,Hist(fa)x和Hist(fb)x分别表示fa和fb的第x位的归一化亮度,每个直方图划为64位用于噪声抑制和快速计算。因此,fFLS-1的直方图Hist(fFLS-1),fFLS的直方图Hist(fFLS-1)从左偏移到右。fFLS+m-2的亮度水平Luma(fFLS+m-2)保持与闪光灯效果后fFLS-1的亮度水平Luma(fFLS-1)相似的水平,即Luma(fFLS+m-2)≈Luma(fFLS-1)。因此,fFLS-1和fFLS+m-2之间的直方图差异HD(fFLS-1,fFLS+m-2)是非常小的,得到以下的关系:
HD(fFLS-1,fFLS+i-3)>k·HD(fFLS-1,fFLS+m-2),3≤i≤5
(4)
k是一个控制flash场景检测器敏感度的整数。
为了检测flash场景,采用一个n帧的滑动窗口,其第一帧是被编码的当前帧fc。计算fc和滑动窗口中其他帧之间的直方图差异HD(fc,fc+j),1≤j≤n。如果存在满足关系式(4)的fFLS+m-2(m 1.2 基于MB的运动向量加权预测 (5) 1.3 使用反向投影保证全局一致性 利用反向投影[15]保证全局一致性。设Xi为加权后的视频帧,为了最小化Xi与当前B帧之间的距离,通过梯度下降法求解以下最小化问题: (6) 式中,c>0为权衡参数。修正后的梯度下降方法为: Xi+1=Xi-v[(Xi-Xi-1)+c(Xt-B)] (7) 式中,v>0为步长参数,将优化后的X作为具有全局一致性的flash场景。 在两个具有flash场景的720p视频序列上进行实验来评估各种加权预测算法的性能,测试序列均为25帧每秒。每个实验分别执行100次,每次实验使用不同的观察序列,这些序列在每个实验中通过特定过程生成。仿真实验在配置为Win7操作系统、intel酷睿II处理器、1.86 GHz主频、2.95 GB RAM的PC机上进行,使用MATLAB 7.1编程。除此之外,还在3个标准序列的每帧中间应用了合成的闪光灯,进行实验来表明运动活动、flash持续时间和闪光灯强度在不同算法上的影响。将提出的算法与3种算法进行比较,分别为WPBF、二次搜索算法和ASDS。 为了比较算法的性能,使用峰值信噪比(Peak Signal to Noise Ratio, PSNR)[16]指标,PSNR定义如下: (6) 式中,MSE为原视频序列与估计视频序列的均方误差,且PSNR越高表明性能越佳。 在Lena、Peppers、Building、Baboon、Nestling 5个视频上进行编码实验,计算几种算法的PSNR值,测量结果如表1所示,分辨率增强因子设为2,PSNR值越高表示图像的高频成分越多。 表1 几种算法的PSNR值 (dB) 从表1可以看出,提出的算法在Lena、Peppers、Building、Baboon、Nestling 5个视频上的PSNR值分别可高达32.31 dB、34.14 dB、34.76 dB、34.94 dB、35.05 dB,非常接近原始图像的PSNR,相比其他几种算法,提出的算法在大多数情况下均能获得最高的PSNR值,表明该算法的编码效果更好。 表2所示为各个算法在实验平台保持一致情况下的平均运行时间。 表2 各个算法的平均运行时间比较 从表2可以看出,WPBF算法的运行时间最少,因为WPBF算法最简单。通过对MATLAB中常见的视频序列分别进行上述4种算法运算处理,提出的算法运行时间仅略高于WPBF,而少于其他几种比较的算法。 综合表1和表2中的数据可知,提出的算法在保证较高的编码效率情况下,仍能保持较低的计算复杂度,可见其优越性。 针对闪光造成的光照变化会导致视频帧之间巨大的强度差异问题,提出一种利用反向投影的flash场景自适应视频编码算法。该算法根据直方图差异提取闪光和非闪光帧,相应地为每个帧分配适当的编码类型,并在加权预测参数集确定中采用运动向量导数,通过反向投影保证了全局一致性。在两个具有flash场景的720p视频序列上进行实验来评估几种加权预测算法的性能,在PSNR和平均运行时间方面对几种算法进行比较,验证了提出的算法的有效性。实验结果表明,与传统的加权预测算法相比,提出的算法在PSNR及运行时间方面获得了更优越的编码性能。 未来会将提出的算法应用于其他的flash场景,同时引入其他的编码技术,从而更好地改善PSNR和降低算法执行时间。 [1] 孙中廷, 华 钢, 徐永刚. 基于双边信息的分布式视频压缩感知模型研究[J]. 计算机测量与控制, 2015, 23(10): 3545-3548. [2] Zhang Z, Hou J, Ma Q, et al. Efficient video frame insertion and deletion detection based on inconsistency of correlations between local binary pattern coded frames [J]. Security & Communication Networks, 2015, 8(2): 311-320. [3] 李 鹏, 彭宗举, 李持航,等. 基于纹理特性与空域相关的高效视频编码帧内分级快速算法[J]. 计算机应用, 2016, 36(4): 1085-1091. [4] Lim S W, Moon J H. Weighted Prediction considering Global Brightness Variation and Local Brightness Variation in HEVC[J]. 2015, 20(4): 489-496. [5] 王凤随, 王冠凌, 瞿成明,等. 基于宏块多相关性的多视点视频编码方法[J]. 计算机工程, 2015, 41(2): 258-262. [6] Strelow D W. Motion Estimation from Image and Inertial Measurements[J]. International Journal of Robotics Research, 2015, 24(5): 463-482. [7] 王凤随, 沈庆宏, 都思丹. 多视点视频编码快速帧间模式选择算法[J]. 计算机应用, 2014, 34(1): 167-170. [8] 孙新领, 马绍惠, 徐平平. 基于SIR粒子滤波和局部搜索算法的运动目标跟踪方案[J]. 湘潭大学自科学报, 2016, 38(2): 84-88. [9] 卢 迪, 林 雪. 一种改进自适应权重稀疏区域立体匹配算法[J]. 哈尔滨理工大学学报, 2016, 21(1): 83-88. [10] 童学锋, 李书萌, 沈广策,等. 基于直方图对无损数据隐藏的立体图像编码[J]. 同济大学学报(自然科学版), 2015, 43(8): 1226-1233. [11] 张雨浓, 劳稳超, 丁玮翔,等. 基于ARIMA与WASDN加权组合的时间序列预测[J]. 计算机应用研究, 2015, 32(9): 2630-2633. [12] Wang Z, Dong S, Wang R, et al. Dynamic macroblock wavefront parallelism for parallel video coding [J]. Journal of Visual Communication & Image Representation, 2015, 28(3): 36-43. [13] Wu C J, Wang Q, Li H, et al. DWI-associated entire-tumor histogram analysis for the differentiation of low-grade prostate cancer from intermediate-high-grade prostate cancer [J]. Abdominal Radiology, 2015, 40(8): 3214-3221. [14] Li S, Fu J, Liu P, et al. An Information Hiding Approach Based on Integer Transform Coefficient and Virtual Space Encoding for H.264/AVC [J]. Circuits, Systems, and Signal Processing, 2015, 34(11): 3573-3594. [15] 骆岩红, 李公平, 文 茜,等. 基于投影缺失正弦图的CT图像重建研究[J]. 计算机应用研究, 2015, 32(2): 609-612. [16] 黄 璇, 杨晓梅. 基于低秩及全变分的视频超分辨率重建[J]. 计算机应用研究, 2015, 32(3): 938-941. Adaptive Video Coding Algorithm for Flash Scene Using Back Projection Liang Chuanjun, Xu Liang (Department of Computer Engineering, Xinjiang Institute of Engineering, Urumqi 830011, China) Aiming at the huge intensity difference between video frames caused by the illumination change of flash, adaptive video coding algorithm based on flash scene is proposed in this paper. The flash and non flash frames are extracted according to the histogram difference, corresponding coding types are allocated for each frame correspondingly, and the motion vector derivative is used in the weighted prediction (WP) parameter set determination. And the back projection is used to keep the global consistency of flash scene. The experimental results show that the peak signal to noise ratio (PSNR) achieved by the proposed algorithm on the five videos Lena, Peppers, Building, Baboon and Nestling can arrive at 32.31 dB, 34.14 dB, 34.76 dB, 34.94 dB and 35.05 dB, respectively, which is nearly to PSNR of the primary images. And compared with the traditional weighted prediction algorithm, the proposed algorithm achieves better coding performance in terms of PSNR and computational complexity. flash scene; adaptive coding; weighted prediction; peak signal to noise ratio; back projection; computational complexity 2017-01-13; 2017-02-21。 新疆维吾尔自治区高校科研计划青年教师科研启动基金项目(XJEDU2014S074);新疆工程学院科研基金项目(2015xgy101712)。 梁传君(1980-),女,硕士,讲师,主要从事算法设计、图像处理等方向的研究。 1671-4598(2017)07-0243-03 10.16526/j.cnki.11-4762/tp.2017.07.060 TP391 A2 实验结果
3 结论