欢迎登录中国视觉网!
学术论文频道
ACADEMIC PAPERS
位置导航:首页 >> 学术论文 >> 技术前沿 >> 基于自动镜头分割的H.264视频压缩编码

基于自动镜头分割的H.264视频压缩编码

发布时间:2013-12-19     来源:中国视觉网       访问次数:23802


那幼超    刘冀伟    汪飞星        

(北京科技大学信息工程学院,北京,100083,nayouchao@yahoo.com.cn)


摘 要: 新一代视频压缩标准H.264/AVC压缩率高,图像质量损失小,成为研究和应用的新热点。目前实现的H.264编码器,大部分以固定比率方式分配I,P,B帧,其选择方式和比率并不能有效针对不同视频及镜头内部的内容特性灵活分配,影响了压缩编码的码率和质量。本文基于互信息量和信息熵原理度量帧特征差异,提出结合统计模型的动态阈值方法将视频序列预分为多个镜头,再进行编码,镜头边界指定为I帧,镜头内部分配为P帧或B帧,并对闪光灯和视频亮度突变情况下的分镜头算法做出探讨。实践证明,此镜头检测方法分割准确,对镜头或物体运动干扰有很强的鲁棒性,达到较高的查全率和查准率,结合x264版本编码器验证可有效降低码率,提高压缩比,改善重建图像质量。在编码器端编码之前分割视频镜头边界,并体现在压缩码流中,对压缩域视频分割和以智能检索关键帧为基础的视频服务器建设也将产生重大意义。

关键词: 镜头分割;H.264;信息熵;动态阈值; I P B帧分配


Shot Segmentation Idea and Algorithm Using In H.264/AVC Video Coding  


   NA You-chao,Liu Ji-wei,Wang Fei-xing

   (University of Science and technology in Beijing, Beijing 100083)


Abstract: The new generation video coding standard H.264 is famous for its high encoding efficiency and picture quality, and has became hot spot for both research and application. Encoders using H.264 at present can’t reach excellent coding rate and quality some how, as I, P or B frame is assigned fixed mostly ,but can’t in flexible way for variety videos and different shot features in the stream effectively. In this paper, mutual information and entropy theory is used to measure information difference of frame’s feature and a statistic-based automatic threshold is used to estimate the edge of shot. Then the head of a new shot is assigned to be I frame to make sure least compressing rate using in the most needed place, and frames between two edges were assigned to be P or B frame, which have higher compressing rate. We discuss the way to avoid flashlight interrupt further as an addition. The algorithm was tested to be exact for detecting video shot, and robust to avoiding the noise of photoflash, moving of either camera or staffs in the pictures. The join of shot cut method with H.264 coder algorithm can reduce coding time, while raise the encoding rate and improve the quality of re-build pictures. Shot cutting before the encoding process and marking in the syntax is a good instead of intelligent shot cut detection of compressed video and good news for video sever.

Keywords: shot segmentation H.264 distribution of I,P,B frame type automatic entropy threshold


1引 言

  多媒体及数字视频日益进入人们生活,但其文件存储的大数据量和传输的高带宽性成为现有网络环境下应用的瓶颈[1]。ITU-T和ISO/IEC共同推出的新一代视频压缩标准H.264/AVC,在编解码系统结构、帧内预测﹑运动估计运动补偿、整数变换与量化及熵编码等方面均比以前标准明显改进,压缩率高,图像质量损失小,非常适合视频流在窄带上传输,成为研究应用的新热点[2]。有关H.264的算法优化及实践创新层出不穷,但多集中于其框架内部。I,P,B帧分配策略和比率,关键帧频率等编码器参数直接影响压缩比,压缩速率和重建质量;此标准的编码器实现中,大多采用简单定比率策略分配I,P,B帧和固定的相关编码器参数,而视频流中不同镜头各有特色,采用固定的帧类型分配策略,势必降低编码效率,不利于压缩比和重建图像质量的提高。本文将视频内容检索领域的镜头分割方法引入压缩编码,提出基于镜头分割的视频压缩编码概念,将镜头分割算法优化到H.264编码器中,在实时压缩编码过程中,检测镜头边界并指定为最占码率的I帧,镜头内部帧运用高压缩率的P或B帧类型编码[3],为每个镜头确定合适的编解码器参数,以改进编码效果。

   另一方面,视频镜头的准确分割是视频结构分析,关键帧提取等工作的基础,只有通过镜头分割,视频序列才可在镜头中选取关键帧表示,并进一步做特征提取、运动分析以及检索等工作,从而达到提高系统处理速度,降低存储空间,提高视频信号可处理性等目的。可见镜头分割在基于内容的视频检索中是首要解决的问题。编码器压缩编码同时检测镜头分割,并用码流原有的语义元素标注,如slice_type ,mb_type等,提高了镜头分割准确率,无需另外完成计算繁杂耗时的压缩域分镜头工作,也不必在解码端或视频服务器端解码后使用传统方法分割镜头,无须更多逻辑结构表达镜头分类和关键帧位置,对以视频数据库实时分段存储和高级语意用户检索将大有裨益,也为智能多媒体服务器的建设开辟了新途径。

  本文首先简要介绍H.264中的I, P, B帧类型特性及分配,第二部分详细介绍信息熵度量的动态阈值镜头分割算法及其在编码器的实现,并补充预防闪光灯扰动算法,第三部分给出验证平台及实验结果,第四部分说明待改进环节和展望。

2 H.264压缩标准IPB帧分配

  H.264规定,每幅时域采样图像为一编码帧,一帧可分为一或多个片(slice),每片包含整数个宏块,参与预测、变换、量化,编码。片的设立为限制误码的扩散和传输,本文采用的x264编码器每帧只含1个片,以下采用“帧”说明算法,不再重复说明。采用帧内-帧间预测模式,特别是B帧和P帧模式的大量使用,使压缩效果大大提高,但由于传输误码甚至丢包所导致的影响范围会迅速扩展[3]。在实际编解码系统中,I,P,B帧比率和分配是影响码率和编解码效果的重要因素之一。

  如以H.264的定比率方式分配I,P,B帧,无视实际码流中每帧图像的具体情况,很可能将镜头内帧指定为I帧,而将镜头边界帧指定为P或B帧。当镜头变换发生在某一P 帧时,由于该帧与前向参考帧间的图像差别很大,编码器无法较多利用前面参考帧的宏块进行运动补偿,因此大多数宏块将采用无运动补偿的帧内编码模式进行压缩,而镜头内与前数帧内容类似的帧内宏块因指定为I帧,无法以P宏块方式编码,也只能帧内编码[4],浪费了码率。当镜头变换发生在B帧时,由于与前面参考帧之间的图像差别很大,编码器在编码时绝大多数的运动矢量来自其后向参考帧,比起作为I帧编码,牺牲编码速率,增加了计算量。

  实际上一个典型图像组(GOP)至少为25或30帧,时长约为1s,(帧速率为25 f/s),而大多数的镜头突变并不会在短时间内连续发生,因此在大多数情况下,一个图像组最多只可能有一次镜头变换,并不会增加额外的帧内编码比率[5]。

3  基于图像熵阈值的视频镜头分割算法

3.1  熵阈值法的建立

  不考虑复杂影像处理技术,镜头的变化一般可分为:切变和渐变[6]。考虑到H.264本身的P,B帧类型对渐变即有良好的处理效果,可满足编码要求,出于实时性编码和计算复杂度要求,本文并不检测渐变镜头和进行过多处理,只结合IDR帧统一进行I帧的上下限管理。

   早期镜头突变检测主要集中于比较相邻帧间像素或以块为单位的差异,用固定阈值判断是否存在镜头切变点,由于其对物体和相机运动敏感,更多研究转向全局信息的监测,如亮度或色度直方图,但其存在许多缺点:(1)完全丢失了图像颜色的空间分布信息(2)存在特征维数过高的问题(3)对图像颜色的量化处理,可能将视觉不同的颜色量化到同一区间,也可能将视觉相同的颜色量化到不同的区间,尤其对大型图像数据库的检索,存在误检,漏检现象,加大检索时间,且不能较好区分剧烈的镜头,物体,拍摄环境参数变化和光照差异,额外信息如物体边缘检测,运动向量补偿在一定程度上改进,却带来较大计算复杂度。

  如果把一帧作为一信源,视频序列可看作一系列信源,其中每个信源提供一定信息量。作为信源总体信息测度的确定量,信息熵(Entropy)提供了信息量的计算方法,同属一镜头的帧,内容上具有很强相似性,考虑视频内容时序特点,这些信源的信源空间变化不大,信息量也差别较小,镜头切换处却相反。可根据帧序列图像熵变化判断是否发生镜头切换。理论上可用各种图像特征计算图像帧信息熵,如象素灰度,直方图,运动矢量等[7]。熵值的引入从平均意义上度量特征值出现的不确定性,信息量的变化反映了帧间图像相互联系和变化的本质。另一方面,相邻帧内容的较大差距体现了帧间联系衰弱,导致互信息量减少,联合熵正好反映此点。联合熵和互信息量的引入,可提供比帧间直接特征差值更紧凑的度量方式,排除帧间多余信息,得到较好结果[8]。

   本文基于互信息量和信息熵原理度量图像特征差异,提出一种以非压缩流域视频的相邻帧间互信息量和图像熵为基础,结合统计模型的动态阈值方法将视频序列预分为多个镜头,镜头边界指定为I帧,再进行编码,镜头内部分配为P帧或B帧,并对闪光灯干扰下的分镜头算法做出探讨。

   信息熵最初由香农给出,它表示为随机变量的

概率分布函数。计算一个离散随机变量X的熵[9]:         

计算离散随机变量X,Y的联合熵,其中Pxy(x,y)为的联合概率密度        

机变量X和Y的互信息量定义为:  

分别计算Y,U,V分量图像的互信息量和联合熵,如假设图像序列的灰度等级从0~N-1,帧Ft和帧Ft+1间的灰度变化可由N*N的3个矩阵,,表示[10],如Y分量,(i,j) (,) 表示帧Ft中灰度为i的像素在帧Ft+1变为j的可能性(变化个数/帧中总像素数).Ft,Ft+1帧间Y分量的互信息量定义为:

总互信息量定义为:

同理,帧间Y分量联合熵定义为:

总联合熵定义为:        

考虑色度直方图范围较窄在本文中为简化计算,用帧间直方图灰度Y分量等级变化代替像素计算。

3.2   动态阈值统计模型

  场景变换是两个场景变换之间的区域,互信息量及其统计特性反应了各帧信息的相关程度,是区分镜头变换的重要量度。互信息量越大表明帧间相关性越强,镜头变换发生的可能性越小,其倒数则反之,如果我们希望将镜头分割方法运用于视频服务器等实时应用,又希望保留算法利用视频序列的实时数据计算动态阈值的特性,我们将动态窗口设为当前帧的前N帧,不必浪费计算时间和计算量等待“未来”帧。假设Ii为表示当前帧Fi和前一帧的互信息量

定义阈值T(n),其中n表示当前帧,a, b, c为常量。    

也可将T(n)定义为:

有助于我们理解如下关于最优常量值的理解:常量a, b, c是非常重要的,它们影响门限值得特性。如b值取得较大,门限值将变得比较陡峭,可能比Xi序列值要大很多,这样可避免类似物体或摄像机剧烈运动情况下的误判,但增强了漏判可能。如b值取得较小,可为诸如码率控制,语义分析,错误消隐等方面的应用敏感检测镜头,并提供有用信息。鉴于σn为标准差,高c值将防止大运动帧的误判。但考虑到Xi的性质并不总对镜头边界检测起到正面作用,a值不能选取太大。考虑相临较短几帧内一般不会出现连续的突变切换,不将连续20帧内第二次出现的判别为突变切换帧标注为I帧。

  经检测,对于大多数视频片断,尽管视频内容相异,分辨率也不尽相同,我们采用n为20的窗口长度,当设定为a=-1, b=2, c=2时,上述分割方法取得接近最优效果。经检测,熵阈值法对镜头运动和物体运动都有较好的防止误判效果[10]。

3.3   闪光灯干扰的预防

  同一镜头内,连续图像间象素差值通常很小,差值统计直方图大多分布在低值区中。如发生镜头转换,像素差异值分布比较均匀,统计直方图会均匀分布在各个值区间中。图1(a)和(b)表示了这两种情况下象素差异直方图的分布,从图中可见, 如果两帧图像十分相似,则它们的差异直方图的方差将会变得很大,反则反之;如两相似帧之间只是光照条件发生变化(如闪光灯),它们相应象素变化值都会增大,导致象素差异直方图整体平移,但总体分布集中,方差依然很大,这类似于同等光照条件相似帧的比较情况。图1(c)表示了这种情况[11]。

  与此类似,联合熵值反映连续两帧间图像像素点差值分布状况。如出现闪光灯情况,联合熵值较

小,但灰度级差异中,只有某几个等级差异明显大于其它等级。定义当j-i=k时,像素变换总数:

灰度级变换方差

我们可以通过统计 a在灰度级j-i=0~64下的分布情况,如果j-i=k灰度级下a值方差Dk较高则可以判断,此时有闪光灯存在。

   如以熵值或直方图等数值的排序情况(如移动次数)综合为有关乘法系数,计算加权帧间信息熵距离,可消除直方图,熵值等方法本身固有的对称性(如:对于完全不同的颜色直方图,如果它们具有相同的概率分布,则具有相同信息熵)对镜头切换的影响。其它情况下,根据熵的唯一性原则,熵不同则直方图的概率分布一定不同,此时采用两幅图像信息熵的差即可进行有效的鉴别。

4  实验结果及分析

  我们以x264版H.264编码器验证本文视频分割算法的编码效果。采用不同类型视频片断的YUV格式视频流作为输入,每隔20 I帧插入一IDR 帧或连续60帧无I帧类型时赋为IDR帧,除I帧类型动态选取外,帧类型为I B B P B B P 。主观观测法获得镜头边界用于比较本算法测量值。

  分辨率为640 x480的MTV视频序列“fool again”,镜头变换为较理想的突变(共25处),人物动作适中,两处较为明显的闪光灯变化及3处直方图性质几乎相同而场景不同帧,运用本文算法,突变判断准确,上述情况均检出,几乎无漏判,在忽显广告性字符出现时存在少数误判,应继续改进。视频序列 “zib sport”为一段足球联赛后的奖杯授予仪式,观众席欢庆,人物特写等场景,镜头变换复杂,分辨率320x240(cif), 共4,000帧,真实突变36帧。第三段视频序列 “euro sport”为典型足球比赛画面,运动强烈,分辨率为172x144 (qcif), 共20,000 帧,真实突变64帧。实验硬件:Pentium3-1.0G,128M 内存。

  我们采用镜头分割算法常用的结果比较测量值对比本文算法和其它算法在分镜头真实性和准确性方面的差异。引入“recall” 和 “precision” 比率:                   

其中 Nc为正确分割镜头分界帧数量, Nf 为错判数量, Nm 为漏判数量[11]。表1为三段序列运用目前广泛应用效果较好的直方图方法(双阈值法,基于块法,χ2法等)中最好结果与本文动态阈值镜头分割法的准确性比较。表2 对比x.264编码器和本文结合的镜头分割编码器的编码效果。

5  有待改进环节及展望

  本文提出的基于镜头分割的H.264视频编码方案,只用到前面出现的帧,适用于低比特率实时编码。此种方法也同样适用于其他类型编码器。鉴于现有的硬件性能和编码器版本。为实现实时应用的实际要求,本文在算法上作了简化,计算帧间联合熵和信息量只用了视频序列中的Y亮度分量,如对直方图分布较窄的U,V色度分量如公式7或9进行处理,分割效果会更加理想。

  典型的视频镜头分割算法,在镜头切变的检测方面算法比较成熟,而在渐变检测方面,视频内容检索领域内部,也还没有成熟有效的算法,现存的算法也十分庞大;而视频片断,尤其是影视作品中不仅存在切变,更有大量渐变艺术处理,本文用IDR帧作为最外层管理,未对渐变镜头进行检测,为提高在此类视频中应用算法的准确和实时性,使用更简洁有效的渐变算法而不造成误判导致编码效率下降,也会有大量工作。

  镜头检测后除指定I,P,B帧序和比例,还可以对其与编码器参数的联系深入研究(如将参考帧序列的排序与镜头窗口帧的选择),算法也可以结合264进一步优化。还可在解码端运用适当算法提取本文相关编码参数,进行进一步探索,服务于存储,检索等视频服务器及多媒体终端应用。


 参 考 文 献


[1] 毕厚杰. 新一代视频压缩编码标准.人民邮电出版社, 2005年5月

[2] Thomas Wiegand, Gary J. Sulliva, et al, “Overview of the H.264/AVC Video Coding Standard,” IEEE Trans.On CircuitsSyst. Video Tech, Vol. 13, July, 2003, pp. 560- 576

[3] Draft ITU-T Recommendation and Final Draft International Standard of Joint Video Specification(ITU-T Rec. H.264/ISO/IEC 14 496-10AVC) Joint Video Team (JVT), Mar. 2003,Doc. JVT-G050.

[4] 朱曦,林行刚. 视频镜头时域分割方法的研究.计算机学报,Vol.27 No.8 2004年8月,1027-1035

[5] 季白杨,陈纯,钱英. 视频分割技术的发展. 计算机研究与发展. 第38卷第1期, 2000年1月

[6]  LiuZhengkai, TangXiaoou  A survey of methods for partitioning video into shots in video indexing[J] Computer Engineering and Applications,2002,38(23):84~87

[7] 成文刚,须德.视频内容结构化摘要的算法研究. 北京交通大学.博士毕业论文,2005年

[8] Zuzana Cˇ ernekova´, Ioannis Pitas, Information theory-based shot cut/fade detection and video summarization IEEE Transactions on circuits  and systems for video technology

[9] Z. Cˇernekova´ C. Nikou I. Pitas. shot detection in video sequences using entropy-based metrics. University of  Thessaloniki. International Conference on Image Processing 2002 (ICIP2002), Vol. 3, pp. 421-424

[10] John ZM. An information theoretic approach to content based image retrieval [D]. Louisiana State University and Agricultural and Mechanical College, Phd. Thesis, 2000, 45—62

[11] 成勇,须德 一种自动选取阈值的视频镜头边界检测算法 电子学报2004年3月第3期.