(计算机应用技术专业论文)结合差错跟踪的多参考帧选择技术.pdf_第1页
(计算机应用技术专业论文)结合差错跟踪的多参考帧选择技术.pdf_第2页
(计算机应用技术专业论文)结合差错跟踪的多参考帧选择技术.pdf_第3页
(计算机应用技术专业论文)结合差错跟踪的多参考帧选择技术.pdf_第4页
(计算机应用技术专业论文)结合差错跟踪的多参考帧选择技术.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机应用技术专业论文)结合差错跟踪的多参考帧选择技术.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西南交通大学硕士研究生学位论文 第1 页 摘要 目前,由于多媒体技术在通信中的广泛应用,可视电话、视频会议、 视频邮件以及无线视频通信等业务的发展已成为必然。然而,视频数据的 庞大愈加成为要求低码率传输的窄带网络和无线网络通信的障碍,因此, 视频编码和数据压缩已成为学术界和相关应用领域研究的热点。 压缩编码后的视频数据在窄带网络或易错环境下传输时,容易丢失数 据包或发生误码。由于可变长编码( v l c ) 和基于运动补偿( m c ) 的预测编 码技术的应用,错误数据会在时间和空间上扩散,导致视频质量下降。本 文研究分析了基于反馈的差错控制技术中的差错跟踪和参考帧选择技术, 提出一种新算法将两者结合起来,在新一代视频标准h 2 6 l 实现并进行了 模拟实验。实验数据表明,新算法相对于传统的参考帧选择技术不但提高 了视频质量,而且较大的提高了数据压缩率。 本文内容安排如下: 第一章绪论,介绍本研究课题的学术背景及理论与实际意义,本研究 课题的来源及主要研究内容。 第二章视频技术基础,简介了视频压缩编码的必要性和可行性:视频 压缩编码的基本技术。重点介绍了运动预测编码技术和算法。 第三章h 2 6 l 及源代码分析,介绍了新一代视频标准h 2 6 l 特点,采 用的新技术;对源代码的关键部分帧的编码流程、宏块的编码以及运动搜 索进行了分析,为新算法的嵌入做准备。 第四章差错控制技术,重点研究了差错掩盖、差错跟踪以及参考帧选 择技术,并将后两种技术在h 2 6 l 上实现,进行模拟实验。分析了这些技 术所遗留的问题。 第五章结合差错跟踪的多参考帧选择技术,针对上述第四章所产生的 问题,提出了一种新算法。分析和阐述了新算法的思想和相应的算法。给 出了新算法的程序实现。并进行模拟实验,对多个标准视频序列进行了测 试,从数据压缩效率、信噪比、抗差错性能( 鲁棒性) 、系统耗时等对比分 析了新算法与传统的参考帧选择技术的优劣。 关键词:视频编码h 2 6 l差错跟踪 参考帧选择 西南交通大学硕士研究生学位论文 第1 i 页 a b s t r a c t n o w ,b e c a u s em u l t i m e d i at e c h n i q u ei sw i d e l ya p p l i e di nc o m m u n i c a t i o n s , d e v e l o p m e n t o fb u s i n e s ss u c ha s v i d e o t e l e p h o n e a n dl i n e l e s sv i d e o c o m m u n i c a t i o nh a sb e c o m en e c e s s a r y b u t ,t h eg r e a t n e s s o fv i d e od a t a g r a d u a l l yp u t s o f ft h ea p p l i c a t i o no fm u l t i m e d i at e c h n i q u ei nt h en a r r o wo r l i n e l e s sn e t w o r k s s o ,v i d e oc o d i n ga n dc o m p r e s s i o nt e c h n i q u eb e c a m em o r e a n dm o r ei m p o r t a n ti nt h ec o r r e s p o n d i n ga r e a s t h ec o m p r e s s e dv i d e os t r e a mi sv e r ys e n s i t i v et on e t w o r kt r a n s m i s s i o n e r r o r s al i t t l et r a n s m i s s i o ne r r o rm a y b e p r o m o t e se r r o rp r o p a g a t i o ni nb o t ht h e s p a t i a la n dt e m p o r a ld o m a i n sa n dm a k et h ei m a g eq u a l i t yi n t o l e r a b l ef i n a l l y b e c a u s eo ft h em o t i o nc o m p e n s a t e dp r e d i c t i o na n dt h ev a r i a b l e l e n g t hc o d i n g u s e d s o ,as e r i e so fv i d e os t a n d a r d sg r a d u a l l yr e i n f o r e e dt h er e s e a r c ho fe r r o r c o n t r 0 1 h 2 6 li san e wl o wb i tr a t ev i d e os t a n d a r da n di m p r o v e dt h et e c h n i q u e o fe r r o rc o n t r 0 1 t h i sp a p e rd i s s e c t sf e e d b a c kb a s e de r r o rc o n t r o la n de x p o u n d s an e wt e c h n i q u et or e s o l v et h er e s i d u a l p r o b l e m s r e s u l t e d b y t r a d i t i o n a l t e c h n i q u e f r o me x p e r i m e n t a ld a t a ,t h en e wt e c h n i q u en o to n l ye l e v a t e sp s n r b u ta l s ob r i n g sd o w nt h ec o m p r e s s i o nr a t ei nc o m p a r ew i t ho t h e ro n e s i nc h a p t e rlab r i e fi n t r o d u c t i o nt ot h eb a c k g r o u n da n dr e l e v a n tt e c h n i q u e i s g i v e n i nc h a p t e r2 ,i ti n t r o d u c e st h eb a s i ck n o w l e d g eo fv i d e ot e c h n i q u e c h a p t e r 3d i s c u s s e san e wv i d e os t a n d a r dh 2 6 la n d a n a l y s i s t h e k e y p r o g r a m m e r i nc h a p t e r4 ,i t d i s c u s s e sv a r i o u sv i d e oe r r o r r e c o v e r y a n d c o n c e a l m e n tt e c h n i q u e s ,i n c l u d i n ge r r o rr e s i l i e n te n c o d i n gs c h e m e s ,r e f e r e n c e p i c t u r es e l e c t ( r p s ) a n d e r r o rt r a c k i n g ( e t ) s e v e r a ld i s c u s s e d p r o b l e m sl e a dt o t h e g e n e r a t i o n o fn e wt e c h n i q u e c h a p t e r5 g i v e s an e wm e t h o dn a m e d m u l t i r p sc o n n e c t e dw i t he ta n di t st e c h n i c a lt h i n k i n g t h ep r i n c i p a li st h a t i d e n t i f y i n gt h ep o s i t i o no f e r r o rb l o c ki ne r r o rf r a m eo ri nt h ee r r o rp r o p a g a t i o n f r a m eb ye r r o rt r a c k i n gf i r s t l y , t h e nr e c o v e r i n gt h ee r r o rb ym u l t i r p s i nt h i s c h a p t e r ,i ta n a l y s i s s e v e r a l p r o b l e m s o ft h en e wm e t h o da n d g i v e s t h e 西南交通大学硕士研究生学位论文第1 i i 页 c o r r e s p o n d i n g r e s o l v e sa n da c h i e v e st h en e wm e t h o di nt m 9 0 a t l a s t , s i m u l a t i o ne x p e r i m e n t so ft h en e wm e t h o d g i v e sm u c h d a t aa n di ta n a l y s i st h e s e d a t a ac o n c l u s i o ni s g i v e nt h a tn e w m e t h o dn o to n l ye l e v a t e sp s n rb u ta l s o b r i n g sd o w n t h ec o m p r e s s i o nr a t ei nc o m p a r e dw i t ho t h e ro n e s k e yw o r d s :v i d e o c o d i n g ;h 2 6 l ; r e f e r e n c ep i c t u r e s e l e c t i o n ; e r r o r t r a c k i n g 一 西南交通大学硕士研究生学位论文 第1 页 1 1 问题的产生 第1 章绪论 在流行的低码率视频编码标准中( 如h 2 6 1 、h 2 6 3 ) 均使用可变长编码 ( v l c ) 和运动预测补偿编码技术( m c ) 来获得高效的压缩比。一方面,v l c 编码对错误敏感,可能会因为一位出错的数据,解码器就不得不丢弃直到 下一个同步点的所有数据,这样差错会在空间扩散;另一方面,预测编码 技术由于利用帧间数据的瞬时相关性,通过编码当前帧与在前一帧中经运 动搜索找到的最佳预测块的s a d 值降低数据比特量,但若数据传输错误, 解码器可能因为没有正确的预测块数据而无法正确解码,这样差错又会在 时问上扩散。 因此,如何解决差错扩散对视频通信的影响,差错恢复技术显得尤为 重要,也是目前多媒体通信领域中研究的关键技术和热点。本文研究了差 错掩盖技术和基于反馈的差错跟踪和参考帧选择技术,通过基于h 2 6 l 标 准的模拟实验和数据分析,发现差错掩盖技术不能彻底恢复差错,而差错 跟踪和参考帧选择技术在彻底恢复差错时会大幅降低当前帧的编码效率。 1 2 差错控制技术现状分析 根据视频系统有无反馈信道可将差错控制技术分成两类,一类是无反 馈信道差错控制技术,另一类是基于反馈信道的差错控制技术。 无反馈信道差错控制技术常用的有前向差错纠正( f e c ) 和差错掩盖 ( e c ) 技术。f e c 技术 1 - 3 是指通过在每个数据的包头中加入一些控制信息 ( 如前向纠错码h j 等) ,用于检测和纠正部分错误数据。该技术增强了视频数 据的抗误码能力,缺点是由于控制信息增加了额外的比特开销,从而降低 压缩效率。差错掩盖包括时域掩盖、空域掩盖和频域掩盖三类技术1 5 q 2 】。 西南交通大学硕士研究生学位论文 第2 页 实际应用中,掩盖技术可考虑下面两种情况:若视频内容运动缓慢,可根 据相邻块的运动向量估算出丢失数据块的运动向量,采用时域掩盖技术即 用估算的运动向量在前一帧中找到的数据块直接代替丢失的数据进行差错 恢复:若视频内容运动剧烈,则采用空域掩盖技术即通过丢失数据块的相 邻块进行空域线形插值,尽可能恢复出丢失的数据。掩盖技术的优点是算 法简单,差错恢复的时问开销较小;缺点是一方面视频运动的剧烈程度不 易判断,另一方面是,由于主观估算丢失的运动向量,所以掩盖技术不能 彻底恢复差错,错误数据仍会在后续解码帧中扩散。 基于反馈信道的差错控制技术包括自动重传( a r q ) 技术、差错跟踪( e t l 和参考帧选择( r p s ) 技术。 自动重传技术 1 3 - 1 6 是指当有传输错误时,解码器通过反馈信道向编码 器发送包括错误数据的帧号、宏块位置等的报错信息,然后由编码器重传 受损数据,直至解码器正确解码。该技术可彻底恢复差错,其缺点是若系 统往返延时较大,则差错将在多帧内存在。因此不适宜实时通信。 差错跟踪技术 1 7 - 2 5 1 是指编码器收到来自解码器的报错信息后,对当前 帧的每一个宏块的预测块通过运动向量进行跟踪,当找到其在出错帧中的 对应预测块时,则判断该块是否有错误数据,若有,则对当前编码块采用 帧内编码;若没有,则采用帧间编码。该方法可迅速彻底恢复差错,缺点 是算法复杂度较大,且由于采用帧内编码,当前帧数据量会较大,压缩效 率不高。 参考帧选择技术【2 6 3 4 1 是指解码器通过反馈信道向编码器报错( 当有传 输错误时) ,编码器则选择最近一个已经被正确解码的图像帧作为参考帧, 来进行当前帧的编码,该帧的数据传回解码器时,解码器可正确解码,恢 复图像质量。该方法由于不需要引入帧内编码,因而生成的比特流较少, 缺点是不适宜延时较大的网络通信。 西南交通大学硕士研究生学位论文 第3 页 1 3 问题的解决 本文分析了基于反馈的差错跟踪和参考帧选择技术的特点,发现传统 的参考帧选择技术没有将差错扩散帧( 可能有多帧) 作为当前帧的参考帧, 其原因是:一旦某帧有错误扩散影响的数据,则认为整帧内的数据错误, 不可作为编当前帧的参考帧。所以它采用出错帧的前一帧作为当前帧的参 考帧。这导致的问题是当前帧和参考帧之间因为相隔系统往返的时延,数 据的瞬时相关性减小,从而降低了运动预测编码的效率。 本文认为差错扩散帧中的数据并非都有错误,其正确的数据仍可作为 当前帧的参考信息。关键在于标识出受到差错扩散影响的像素的位置,将 其和正确数据分开,从而在作为参考帧时,避免用错误像素作为预测。若 当前帧的参考块是正确的,即便它在错误扩散帧内。仍可使用它作为参考。 这样,差错在系统往返延时内扩散的多个帧都可作为当前帧的参考帧。 由此,本文提出一种新算法,将差错跟踪和参考帧选择技术结合起来, 利用差错跟踪技术标识错误数据,再用多参考帧选择技术恢复差错。 1 4 论文研究的内容 论文研究内容如下: 1 对新一代视频压缩标准h 2 6 l 的编解码器进行了分析和理解。以 便为新算法的嵌入准备条件。这部分的内容主要包括对h 2 6 l 编码标准的 理解和对h 2 6 l 源代码的分析: 2 研究了差错掩盖、差错跟踪和参考帧选择三种差错控制技术,并 在h 2 6 l 标准上实现。通过模拟实验和数据分析,发现技术的不足之处。 这部分内容是论文问题的来源。 3 提出一种新算法,解决第2 条中产生的问题。阐述了新算法的思 想和程序实现,并作了模拟实验和数据分析。 西南交通大学硕士研究生学位论文 第4 页 第2 章视频技术基础 2 1 视频编码的必要性和可行性 声音、图像和视频等媒体信息给人直观生动的印象,人们易于感知和 接受。加之社会的发展客观上要求能够通过网络通信信道对数字化了的媒 体信息进行操作、传输和控制,正是在这一趋势下,逐渐形成了多媒体通 信技术口卯。 数字视频【36 】是数字图像的一个时间序列。它是多媒体信息的重要组成 部分。视频的编码和传输也是多媒体通信技术研究的关键技术之一。数字 视频的特点是数据量巨大,以一幅c i f 格式( 2 8 8 x3 6 0 个像素) 的数字图 像( 即一帧) 为例:若用2 4 个比特存放亮度和色度分量,则其数据量将近 2 5 m b 。如此巨大的数据量使得无法在有限带宽的网络条件下进行视频的 传输。因此,对视频数据的压缩和编码成为多媒体通信技术必须解决的问 题。 研究发现:一方面,视频数据中存在大量的冗余信息,包括空间冗余、 时间冗余、视觉冗余以及相同性冗余等。通过去除冗余信息就可以极大的 减少原始视频图像的数据量,因此对原始视频数据进行压缩和编码是非常 必要。另一方面,去除冗余信息也是可行的。以空间冗余为例说明:视频 数据的空间冗余主要由图像色彩的连贯性产生,即图像的某个区域内的所 有的像素点的亮度和色彩以及饱和度都是相同或极其近似的。这样,就可 以只用一个像素值通过一定的手段来有效的表示区域内的所有像素值【3 7 1 , 从而达到消除冗余信息,减少视频数据量的目的。 因此,只要在编码过程中采用适当的方式来去掉其视频图像的冗余信 息,而用保存的数据尽可能的还原原始图像信息那么视频的数据量就可 以大大地减少而不影响图像质量。 西南交通大学硕士研究生学位论文 第5 页 2 2 视频编码原理 视频编码原理是指采用一系列的数据压缩技术减少视频中的冗余信 息,编码生成的视频数据在相关技术的处理下,又可尽量恢复出最佳质量 的视频图像。视频压缩技术3 8 。4 0 1 包括预测编码、量化、d c t 变换以及熵编 码等。下面对预测编码原理和算法作一个介绍。 2 2 1预测编码 预测编码( p r e d i c t i v ec o d i n g ) 是指利用图像数据的空间和时问冗余特 性,用相邻的已知像素或图像块来预测当前编码的像素或图像块,即将两 者的值相减所得到的差值( s a d ) 进行量化和编码。这些相邻的像素或图 像块可以是同一帧的,也可以是前几帧的。若预测编码在同一帧内进行, 被称为帧内预测编码:若在多个帧之间进行,则称为帧问预测编码。 由于帧间预测编码主要利用视频序列相邻帧的数据瞬时相关性,即图 像数据的时间冗余来达到压缩的目的,可以获得比帧内编码更高的数据压 缩比。该方法一般是对图像块进行预测编码的,主要技术包括帧重复法、 帧内插法、运动补偿法和自适应交替帧内帧间编码方法。其中运动补偿预 测编码( m c ) 效果最好,已为各种视频编码标准所采用。 2 2 2 运动补偿预测编码算法 运动补偿预测编码是指在对当前帧的数据块编码时,通过在相邻帧( 通 常是前一帧,称为当前帧的参考帧( r e f e r e n c ef r a m e ) ) 中进行运动搜索, 用找到的最佳匹配块( 即两块的s a d 值最小) 作为当前编码块的预测块。 编码单位定义为1 6 x 1 6 像素大小的数据块,称为宏块( m b ) 。当前编码宏块 与预测宏块在位置上的偏移量即是编码宏块的运动向量( m v ) 。解码器正是 根据运动向量在重建帧中找到预测块,然后将其数据与对于的s a d 值相 西南交通大学硕士研究生学位论文 第6 页 加,这样,压缩的视频数据被还原成原始的图像数据。图2 l 是运动补偿 预测编码原理示意图。 图2 1 运动补偿预测编码原理示意图 图2 1 中,当前帧中的块a 即为当前编码块,在参考帧中搜索到最佳 匹配块a l ,运动向量即为块a 相对于匹配块a l 的位置偏移量。下面给出 基于运动补偿的预测编码算法: 若设s ( x 。,y 。,h ) 为视频输入端输入的当前帧中某个宏块( 如图2 一l 所示 的当前宏块a ) 数据, 编码器选择重建帧r ( x ,y ,聆一1 ) 作为参考帧,经运动 搜索后找到重建帧中与s ( ,咒, ) 最佳匹配的宏块r ( x ,y ,门一1 ) ,之后编码 器进行如下计算,从而求得当前编码块的运动向量和预测系数: 运动向量: v n ,= k x ,儿一y , 预钡0 系数: p ( ,h ,以) = s ( x e , ,聍) 一r ( x j ,y ,九一1 ) 编码器将运动向量和预测系数再经过如量化、d c t 变换等压缩技术的 处理,最后得到压缩的比特流输出,至此一帧的编码结束。 2 2 3 多参考帧预测编码 由预测编码算法可知,对当前帧宏块的编码是以在前面的重建帧中运 动搜索最佳匹配块来完成的。以往的视频压缩标准( 如h 2 6 1 和h 2 6 3 等) 仅支持在一帧内搜索最佳匹配块,即对当前帧的编码选用个参考帧。新 西南交通大学硕士研究生学位论文 第7 页 一代视频标准h 2 6 l 可选用多达5 个帧作为当前帧的参考帧3 。图2 - 2 是 多参考帧示意,图中各箭头表示预测关系。其中,p l o 是当前帧,可选用 p 5 到p 9 这5 帧作为参考帧。 国2 2 多帧预铡编码不惹 由图2 - 2 所示,对当前帧宏块的编码过程是:首先在前面多个参考帧 内分别运动搜索到最佳匹配块,显然,这多个匹配块中包括了以往单帧预 测搜索到的最佳匹配块。然后对每一个匹配块计算s a d 值( 这一过程与单 帧预测相同) ,再比较多个s a d 值,将最小的s a d 值所对应的匹配块选择 为编码的参考块,最后进行编码。由于,这个最佳匹配块不一定在前帧 中,所以,多帧预测的编码效率高于单帧预测编码。 西南交通大学硕士研究生学位论文 第8 页 第3 章h 2 6 l 标准及源代码分析 3 1h 2 6 1 _ 视频编码标准 h 2 6 l 是i t u - t 和i s 0 i e c 于2 0 0 2 年联合制定的视频压缩编码标准, 它集中了以往标准的优点,吸收了标准制定中积累的经验,并在此基础上 采用了很多的新技术和新算法。在与别的视频编码标准相比的基础上, h 2 6 l 具有以下的一些特点1 :高效的压缩比,在相同的编码质量条件下, 相对h 2 6 3 或m p e g 一4 压缩标准,可减少5 0 的数据量;高质量的视频,在 图3 1h 2 6 l 的编码器原理图 相同编码效率的条件下,h 2 6 l 可提高图像信噪比1 3 d b ;网络适用性和抗 误码能力也较以往标准有很大提高。图3 1 是h 2 6 l 的编码器原理图,下 面就结合该图,介绍h 2 6 l 的编码技术。 西南交通大学硕士研究生学位论文第9 页 3 1 1帧的类型 h 2 6 l 将编码图像分为三种类型:i 帧、p 帧和b 帧,它们对应不同的 编码方式。i 帧是独立编码的视频图像,其编码不依赖于前面已经编码的 图像数据,采用帧内编码技术编码。p 帧和b 帧的编码需要前面已经编码 好的图像数据来进行预测,也称为帧间编码帧。其中,b 帧为双向预测帧, 它的编码可以选用前面和后面已经编码的帧作为参考帧。另外,在h 2 6 l 中,只有i 帧和p 帧可以用来作为参考帧对后面编码的图像进行预测。 三种类型的图像在编码过程中的参考关系可以用图3 2 表示,图中的 箭头表示参考关系,它由参考帧指向编码帧。 图3 - 2h 2 6 l 编码帧的参考关系 3 1 2 预测模式 h 2 6 l 的预测方式分为两种:帧内预测和帧问预测。相对于h 2 6 3 标 准,h 2 6 l 对两种方式都作了较大改进,引入了多个新技术m l 。 对于帧内预测,一个宏块可以划分为两种尺寸的预测方式,分为1 6 个4 4 或者1 个1 6 x 1 6 的方形块进行像素的帧内预测。通过对不同的像 素按照不同的方向进行预测,对每一个不同大小的预测区域又可以划分为 不同的帧内预测模式。比如对于4 4 的方形块区域,就有6 种不同的预测 方式:对于1 6 1 6 的区域,又有4 种预测方式。不同的预测模式,针对不 同图像特征的视频图像在预测效果上具有各自的优点。 对于帧间预测,标准增加了帧问预测的模式,对预测像素的精度也进 西南交通大学硕士研究生学位论文 第10 页 一步进行了提高,做到了1 8 像素精度的预测。对于预测模式,按照编码 块的形状大小的分为7 种,用图3 - 3 是7 种模式的示意: 田日田 2 个8 1 6 块2 个1 6 8 块4 个8 8 块 圆圈圈 8 个4 8 块8 个8 x 4 块1 6 个4 4 块 图3 - 37 种模式的编码块划分 1 6 1 6 像素的宏块是编码的基本单位,h 2 6 l 对每个宏块编码时,都 可选择这7 种预测模式对宏块划分,然后对每种模式进行( 编码数据并不 作为码流输出) ,然后从中选出编码效率最高的模式进行正式编码。从而保 证最高的编码效率。但这7 种模式的预编码计算量巨大,实际应用中,按 系统设定选择满足要求的某几种模式就可以了。 3 1 3 多参考帧预测模式 h 2 6 l 标准的帧间预测还有一个较大的改进就是采用了多参考帧预测 模式,其基本原理和方法已在第2 章作了介绍。由于多参考帧模式的应用, 对系统帧存提出了较高的要求。h 2 6 l 对于帧存的管理通常是按视频序列 的编码顺序进行存储,最多可保留5 帧。但系统为帧存内的每一帧都定义 了一个值,用于判定该帧是否应淘汰或保留在帧存。这样,可通过修改该值, 而将一些重要的重建帧保存在帧存内。从而,h 2 6 l 的多帧预测技术为差 错控制技术的引入提供了方便。 另外,多帧预测技术提高了系统的抗差错能力。原因是:如图2 - 2 所 西南交通大学硕士研究生学位论文 第1 1 页 示,若第9 帧出错,对第1 0 帧编码时,可采用第5 帧到第9 帧进行参考。 显然,若第1 0 帧的编码块的参考块不在第9 帧,则该块的编码不会受到差 错扩散的影响。从而减缓差错扩散的速度。 综上所述,h 2 6 l 是一种高效的视频压缩标准,表3 - 1 给出了h 2 6 l 所 采用的新技术与以往技术在编码效率上的对比【4 3 】: 表3 - 1 编码效率对比 对比技术节省码率 7 种模式 编码模式2 0 1 6 1 6 模式 1 8 象素空间精度 预测精度 1 2 1 2 象素空间精度 5 个参考帧 参考帧1 5 1 个参考帧 西南交通大学硕士研究生学位论文第12 页 3 3 h 2 6 l 的程序过程研究 图3 - 4h 2 6 l 编码程序流程 图3 - 4 是h 2 6 l 的编码过程程序流程,下面就结合该流程图对关键的 源代码进行分析,这为论文新算法的嵌入作程序上的准备。 西南交通大学硕士研究生学位论文第1 3 页 3 3 1 程序主过程 m a i n ( ) f o r ( i m g - n u m b e r = 0 ;i m g 一 n u m b e r n o _ f r a m e s ;i m g - n u m b e r + + ) 对要编码的每一帧先判断帧类型,即为i 帧还是p 帧 i f ( i n p u t - i n t r a _ p e r i o d = = 0 ) 如果没有设置强制的i 帧更新周期,则: i f ( i m g - n u m b e r = = 0 ) ,只对第一帧使用帧内模式 i m g - t y p e = i n t r a i m g ; e l s e ,除第一帧之后的所有帧都为p 帧 i m g - t y p e = i n t e r _ i m g ; e l s e ,如果设置了强制的i 帧更新周期。则 i f ( ( i m g 一 n u m b e r i n p u t - i n t r a _ p e r i o d ) = = 0 、 ,如果周期到来,则当前帧用i 帧更新 i m g - t y p e = i n t r a i m g ; ) e l s e ,否则,使用p 帧 i m g - t y p e = i n t e r _ i m g ; 一 西南交通大学硕士研究生学位论文第1 4 页 e n c o d e o n e _ f r a m e ( ) ;帧类型确定之后编码当前帧 ,主过程完成 3 3 2 编码一帧过程 n t e n c o d e o n e f r a m e ( ) b o o l e a ne n d o f f r a m e = f a l s e ;初始化帧结束标志为f a l s e i m g t o t a l n u m b e r _ m b = ( i m g w i d t h + i m g 一 h e i g h t ) 初始化帧的宏块个数 对q c i f 格式序列,此值为9 9 r e a d o n e n e 、v _ f r a m e ( ) ;,从原始序列文件中读入一帧 w h i l e ( e n d o f f l a m e = = f a l s e ) e n c o d e o n e s l i c e ( & s y m ) ;对帧中的每一片分别进行编码 i m g - c u r r e n t _ s l i c e n r + + ;片计数器递加 ,如果编码完帧中最后一个宏块,则此帧结束,置标志为t r u e i f ( i m g 。 c u r r e n t m b n r i m g t o t a ln u m b e r _ r o b ) e n d _ o f _ l a m e = t r u e ; 3 3 3 编码一片过程 v o i de n c o d eo n e s l i c e ( s y n t a x e l e m e n t * s y m ) 初始化片结束标志为f a l s e b o o l e a n e n d o f _ s l i c e = f a l s e ; w h i l e ( e n d o f _ s l i c e f a l s e ) 西南交通大学硕士研究生学位论文第15 页 f ,对此片中包含的每一个宏块 先初始化此宏块 s t a r t _ m a c r o b l o c k o ; 编码此宏块 e n c o d eo n e m a c r o b l o c k o ; 将编码的结果写入码流 w r i t eo n em a c r o b l o c k ( ) ; 结束当前宏块,并判断当前片是否编码完成 t e r m i n a t e m a c r o b l o c k ( & e n d o f s l i c e ,& r e c o d e _ m a c r o b l o c k ) ; ) 结束当前片的编码过程 t e r m i n a t e s l i c e ( ) ; 3 3 4 编码一个宏块过程 v o i de n c o d e o n e m a c r o b l o c k ( ) ,先按t m l 9 中定义的6 种帧内预测编码模式进行帧内预测,计算出帧内编码的 最小s a d 值 t o t i n t r a s a d2m a k e i n t r a p r e d i c t i o n ( & i n t r a _ p r e dm o d e _ 2 ) ; i f ( ( i m g 。m b _ y “i m g m by u p d & i m g - m b _ y _ u p di _ i m g m b _ y i n t r a ) | | i m g t y p e = = i n t r a i m g ) ,如果设置了定期对某些行进行帧内更新,或当前帧类型为i 帧设置 当前宏块的编码模式为上面帧内预测时选择的最佳帧内预测编码模式 i m g 一 m b _ m o d e 2 8 + i m g t y p e + i m g i m o d ; e l s e 西南交通大学硕士研究生学位论文第1 6 页 ,否则,当前宏块使用帧间编码模式,对其进行运动搜索,找到最佳参考帧和最佳 运动向量,以及对应的s a d 值 c u r r m b - f e fl a m e 2 m o t i o n _ s e a r c h ( t o t _ i n t r a _ s a d ) ; ) i f ( c u r r m b i n t r a o r i n t e r = = i n t e r _ m b ) ,如果使用帧间编码模式,则对预测残差信息进行编码 l u m a r e s i d u a l c o d i n g _ p o ; , c h r o m a c o d i n gp ( & e r _ e b p ) ;对亮度信息进行编码 ) 3 3 5 运动搜索过程 i n tm o t i o n s e a r c h ( i n tt o ti n t r a s a d ) ,进行运动搜索,找到摄佳参考帧和最佳运动向量,以及对应的s a d 值 p r e d f r a m e _ n o 2 u n i f i e d m o t i o n s e a r e h ( t o t _ i n t r a _ s a d ,r e f f r a r r , t m pm y , l i n g - m v & i m g m bm o d e ,& i m g - b l c _ s i z e _ h ,& i m g 一 b l c s i z e _ v , & i m g m u l t f r a m e _ n o ,p f r a m e ,& m i ni n t e rs a d , i m g a l l m v ) ; i f ( t o ti n t r a _ s a d i m o d + 8 + i m g - t y p e ;s e ti n t r am o d ei ni n t e rf r a m e e l s e 否则,使用帧间编码模式 i m g - m b d a t a i m g 一 c u r r e n tm b _ n r i n t r a o r i n t e r = i n t e rm b : 一 西南交通大学硕士研究生学位论文 第17 页 i m g i m o d = i n t r a m b i n t e r ; ) r e t u r np r e d f r a m e _ n o ;,返回参考帧序号 ) 3 3 6 多帧的运动搜索过程 i n t u n i f i e d m o t i o n s e a r c h ( ) ( m i n i n t e r s a d = m a x v a l u e ;初始化最小s a d 值为一个设定的最大值 f o r ( r e f _ f r a m e = o r e f f r a m e n b _ r e f e r e n c e s ;r c f _ f r a m e + + ) 对每一个参考 帧分别进行搜索 b l o c k t y p e = 1 ; f o r ( ;b l o c k t y p e q p 】m i n ( r e f _ f r a m e ,1 ) + 2 ; s a d 值再加上运动搜索后的运动向量和预测残差的s a d 值 t o t i n t e r s a d + 2s i n g l e u n i f i e d m o t i o n s e a r c h ( r e f _ _ f r a m e ,b l o c k t y p e , r e f f 。r a r r , t m p m v ,i m g _ m v , b f r a m e ,a l l m y , o o ) ; i f ( t o t i n t e r _ s a d b l c _ s i z e b l o c k t y p e 0 ; + i m g _ b l c s i z e v 2 i n p u t 一 b l e s i z e 【b l o c k t y p e 】【1 】; p r e d f r a m e _ n o = r e ff r a m e ; 西南交通大学硕士研究生学位论文第18 页 + m i n i n t e r s a d = t o t i n t e r s a d ; 分块类型递加 w h i l e ( i n p u t _ b l c _ s i z e + + b l o c k t y p e 0 = = 0 & & b l o e k t y p e = 7 、 r e t u r np r e d f r a m en o ;返回得到的最优参考帧序号 3 3 7 搜索最佳预测块 此段代码太长,算法复杂度很大,编码器对一帧的编码耗时主要用在 在搜索最佳预测块,这里给出它的步骤: 步骤l :取出分块的原始像素点信息 步骤2 :设置搜索窗口中心坐标 步骤3 :进行整像素运动搜索 步骤4 :将搜索中心调整为1 4 像素坐标后,先进行1 2 像素搜索, 再进行1 4 像素搜索 步骤5 :如果设置了要使用1 8 像素精度,则将坐标调整为1 8 像素后 进行l 8 精度的运动搜索 步骤6 :对每种精度搜索的最佳匹配块比较其s a d 值,最小的s a d 值对应的块即是预测块 步骤7 :将宏块中每个分块的s a d 值相加后( 可能有多种分块模式) 得到当前宏块的s a d 值。 一 西南交通大学硕士研究生学位论文 第19 页 第4 章差错控制技术研究 差错控制技术根据视频传输过程分成三类【4 4 j :一是增强视频码流对抗 差错扩散的能力( e r r o rc o n t r 0 1 ) ,即增强视频数据的鲁棒性 4 5 4 8 :二是差 错检测技术( e r r o rd e t e c t i o n ) 1 4 9 - 5 0 1 ;三是差错恢复技术( e r r o rr e s i l i e n t ) 。 本章研究了差错掩盖( e c ) 、差错跟踪( e t ) 和参考帧选择( r p s ) 三项 差错恢复技术,并在h 2 6 l 标准上实现后面两项技术。通过模拟实验和数 据,分析了这些技术所遗留的问题。 4 1 差错掩盖 本质上讲,差错掩盖技术就是用已有的视频数据来近似丢失的数据。 依据近似过程和实现方法,将其分为空域掩盖、时域掩盖和频域掩盖三类 技术。常用的时域掩盖的基本原理是依据一定的方法在前面重建帧中找到 数据块来直接填充受损数据块。 当传输差错发生时,一般情况是视频数据包丢失。以h 2 6 l 为例,若 图4 1 t r 技术示意 编码时将一帧分成9 个片,每片打成一个r t p 包,那么如果在视频传输中 丢失一个片,则该片内所有宏块的运动向量也丢失了。所以用时域掩盖技 西南交通大学硕士研究生学位论文第2 0 页 术进行差错恢复包括两个过程:运动向量的估算和受损数据的补偿替代。 在视频内容运动平缓的情况下,认为受损图像块基本没什么变化,本文考 虑一种最简单的掩盖方法:不进行运动向量的估算,直接将前一帧相同位 置处的图像块复制过来( t e m p o r a lr e p l a c e m e n t ,t r ) 即t r 掩盖技术。图 4 - 1 是t r 技术的示意图。 4 1 1 差错掩盖实验 实验测试s u z i e 序列,编码模式只选择1 6 x1 6 的宏块模式,将一帧分 成9 个片,每片括1 1 个宏块,量化步长设为1 6 。模拟实验从第4 0 帧开始 编码,第4 3 帧丢掉第5 片和第6 片,在解码器端第4 3 帧进行差错掩盖。 图4 2 是使用t r 掩盖算法进行差错掩盖后的第4 3 帧与无错的第4 3 帧及 第4 2 帧 无错 第4 3 帧 丢片 第4 3 帧 掩盖 第4 3 帧 无错 圈4 2 差错掩盖效果对比 第4 2 帧和丢片帧的效果对比图。 通过效果图对比掩盖后的4 3 帧和无错的4 3 帧,由于第4 2 帧和第4 3 帧在内容上变化很小,再经过t r 掩盖之后,两者在视觉上的差异不大,而 且视频是连续播放的,每1 秒的解码帧为2 5 3 0 帧,视觉直观上则不会注 意到这些一闪而过的微小差异。所以,几乎所有的视频编码标准都在解码 器上采用了某种特定的差错掩盖技术作为可选的差错控制技术。为了进一 步消除斑块效应,h 2 6 l 标准还对经过掩盖恢复后的图像进行了边界滤波 处理,尽可能消除了传统标准掩盖后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论