(信号与信息处理专业论文)低比特率下帧层和宏块层新型码率控制算法.pdf_第1页
(信号与信息处理专业论文)低比特率下帧层和宏块层新型码率控制算法.pdf_第2页
(信号与信息处理专业论文)低比特率下帧层和宏块层新型码率控制算法.pdf_第3页
(信号与信息处理专业论文)低比特率下帧层和宏块层新型码率控制算法.pdf_第4页
(信号与信息处理专业论文)低比特率下帧层和宏块层新型码率控制算法.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(信号与信息处理专业论文)低比特率下帧层和宏块层新型码率控制算法.pdf.pdf 免费下载

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

文档简介

西南交通大学硕士研究生学位论文第j 页 摘要 要在有限的码率下得到效果好的图像质量,有效的码率控制算法必不可 少。但是在h 2 6 4 标准码率控制算法g 0 1 2 中,仅仅在编码前对一帧进行目标 比特分配,没有对实际编码比特和目标比特的差距进行处理;m a d ( m e a n a b s o l u t ed i f f e r e n c e ) 预测算法只采用单个宏块预测,精确度不高。本文通 过增加一个帧层补偿算法,对实际编码比特和目标比特的差距进行处理;给 出一种改进的宏块层m a d 预测算法:大小三角形预测算法,利用多个宏块预 测当前宏块m a d 。通过仿真实验,证明改进后的算法有更好的性能。 绪论主要介绍了码率控制技术的国内外研究现状以及本文的主要研究内 容。 基本知识是码率控制的相关技术介绍,主要介绍了帧层的码率控制技术 和宏块层的m a d 预测技术。 帧层码率控制的改进算法:帧层比特补偿算法。此算法主要针对连续几 帧甚至更多帧出现实际编码比特总是大( 小) 于目标编码比特的情况,在帧 层增加了一个补偿算法:当连续出现的帧数较少时,采用比特补偿;当连续 出现的帧数较多时,直接改变量化参数。通过仿真实验证明,改进后的算法 p s n r 值更高,实际缓冲更加接近目标缓冲,实际编码比特也更加接近于目标 编码比特。 宏块层改进的m a d 预测算法:大小三角形预测算法。此算法主要针对利 用单个宏块预测当前宏块m a d 精确度低的情况,利用多个宏块进行预测当前 宏块:利用宏块之间的相关性,将相关性大的宏块赋予相对大的权值,相关 性小的宏块赋予相对小的权值。通过仿真实验可以得知:改进后的预测算法 有更高的p s n r 值,实际缓冲更加接近于目标缓冲,实际编码比特更加接近 于目标编码比特。 总之,通过改进,各项性能指标都有所提高,这说明改进后的算法优于对 比算法。 关键词:h 2 6 4 ;码率控制;比特分配;m a d 预测 a bs t r a c t i no r d e rt og e tab e t t e rp i c t u r eu s i n gl i m i t e db i t s ,a l le f f e c t i v er a t ec o n t r o l a l g o r i t h mi si n d i s p e n s a b l e i ng 0 12 ,o n l yat a r g e tb i ti sa l l o c a t e dt oaf r a m eb e f o r e c o d i n gi t ,b u tt h ed i f f e r e n c eb e t w e e nt a r g e ta n dr e a lb i ti s n o tp r o c e s s e d ;m a d p r e d i c i t i o ni so n l yo p e r a t e du s i n gl i n e a rp r e d i c t i o n ,s op r e c i s i o nd e g r e ei sn o th i g h t h i sp a p e ra d d e saf r a m ec o m p e n s a t i o na l g o r i t h ma n ds t u d yan e wm a c r o b l o c k m a dp r e d i c t i o na l g o r i t h m :t h eb i g s m a l lt r i a n g l ep r e d i c t i o na l g o r i t h m t h r o u g h s i m u l a t i o ne x p e r i m e n t s ,i tp r o v e st h a tt h en e wa l g o r i t h mi sb e t t e r t h ei n t r o d u c t i o nm a i n l yi n t r o d u c e sr a t ec o n t r o l sp r e s e n tr e s e a r c hs i t u a t i o ni n h o m ea n da b r o a d ,a n dt h em a j o rr e s e a r c hc o n t e n to ft h i st e x t s o m eb a s i ck n o w l e d g ei sm a i n l yt h ec o r r e l a t i o nt e c h n i q u ei n t r o d u c t i o no f r a t ec o n t r o l :i tm a i n l yi n t r o d u c e st h ef l a m er a t ec o n t r o lt e c h n i q u ea n dm a c r o b l o c k l a y e rm a d sp r e d i c t i o nt e c h n o l o g y f r a m el a y e rc o m p e s a t i o na l g o r i t h mm a i n l ya i m e sa tt h es i t u a t i o nw h e nr e a l b i t si sb i g g e r ( s m a l l e r ) t h a nt a r g e tb i t sf o rs e v e r a lf l a m e se v e nm o r ef l a m e s h l o r d e rt os e t t l et h ep r o b l e m ,b i t sc o m p e n s a t i o na l g o r i t h mi sg i v e n w h e nt l l e n u m b e ro fc o n t i n u o u sf l a m e si sn o ts om o r e ,b i tc o m p e n s a t i o ni sa d o p t e d ; o t h e r w i s e ,t h eq u a n t i f i c a t i o np a r a m e t e rw i l l b ea d j u s t e d e x p e r i m e n t sp r o v et h a t t h ei m p r o v e da l g o r i t h m sp s n ri sh i g h e r ,t h er e a lb u f f e rb u f f e r f u l l n e s si sc l o s e r t ot h et a r g e tb u f f e r f u l l n e s s ,a n dt h er e a lb i ti sc l o s e rt ot h et a r g e tb i t t h ei m p r o v e dm a c r o b l o c km a dp r e d i c i t i o na l g o r i t h m a i m sa tf o r m e r a l g o r i t h m sl o w e rp r e d i c t i o np r e c i s i o n i no r d e rt o s e t t l et h ep r o b l e m ,c u r r e n t m a l b l o c km a d sp r e d i c t i o nu s e sm o r em a l b l o c k sc o m b i n a t i n gw i t hm a l b l o c k c o r r e l a t i o n ,a n dt h em a l b l o c k sa r ed e v i d e di n t ot w ok i n d s :n e i t h b o r i n gc u r r e n t m a l b l o c ka n dn o t iu s ed e f f e r e n tw a y st o w a r d sd e f f e r e n tm a l b l o c k s e x p e r i m e n t s p r o v et h a tt h ei m p r o v e da l g o r i t h m sp s n r i sh i g h e r ,t h er e a lb u f f e r f u l l n e s si s c l o s e rt ot h et a r g e tb u f f e r f u l l n e s s ,a n dt h er e a lb i ti sc l o s e rt ot h et a r g e tb i t a n y w a y , t h ei m p r o v e da l g o r i t h mh a sab e t t e rp e r f o r m a n c ei n d i c a t o r s ,a n d i t 西南交通大学硕士研究生学位论文第1 i l 页 p r o v e st h a tt h ei m p r o v e da l g o r i t h mi sb e t t e r k e yw o r d s :h 2 6 4 ;r a t ec o n t r o l ;b i ta l l o c a t i o n ;m a dp r e d i c t i o n 西南交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向 国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权西 南交通大学可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复印手段保存和汇编本学位论文。 本学位论文属于 1 保密口,在年解密后适用本授权书; 2 不保密0 ,使用本授权书。 ( 请在以上方框内打“4 ”) 指导老师签名:弓 日期:砂d 7 6 豫别1 p z 心9 名 ;榭占 者分 储矽 刘 沙 敝 。 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作 所得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。 本学位论文的主要创新点如下: ( 1 ) 针对连续多帧出现实际编码比特大( 小) 于目标编码比特的情况,在帧层 实现了一个补偿算法,这个算法分为两个阶段:比特调整阶段和量化参数调 整阶段。 ( 2 ) 对宏块的m a d 预测进行了改进,结合宏块之间的相关性,使用多个 宏块对当前宏块进行预测,并把这多个宏块分成两种:与当前宏块相邻宏块 和与当前宏块不相邻宏块,对两种宏块采用不同的权值分配方式。 问】葫 ;( 9r 毛一 西南交通大学硕士研究生学位论文第1 页 第1 章绪论 当今世界是一个信息爆炸的世界,当今时代是一个数字信息的时代,数 字信息化已经涉及到世界的各个角落,改变了人类的生活和工作方式。在这 个过程中,多媒体技术的广泛应用已经成为了一个标志性的特征。与此同时, 数字信号处理技术和网络技术的飞速发展为多媒体技术的发展提供了足够的 技术支持。随着时代和技术的发展,视频编码技术越来越得到学术界和商业 上的重视,成为当前的研究热点。可以想象,在当前以及以后定时间内, 视频编解码技术都会得到很快的发展,同时也会为人们的生活带来更多的便 利。 与单独静止的图像和单独的声频相比较,多媒体信息是融合了运动图像 和变化声频以及其他信息的融合体,这也就决定了它的一系列优越性,比如 直观性:确切性、高效性、广泛性等等。但是事情都是两个方面的,多媒体 信息包括了文字、声音、图像、图形和视频等信息,这就直接决定了其信息 量的巨大。 而作为多媒体信息中最重要的部分,视频信息庞大的数据量与有限的带 宽和存储空间产生了巨大的矛盾。要使视频得到有效的应用,必须首先解决 视频压缩编码的问题。但是视频压缩是有限度的,因为在压缩的同时也要保 证视频压缩效果,即要解决视频压缩后视频质量保证的问题,这两者是相互 矛盾的。由此我们可以知道,选择一个高效的视频压缩技术,是解决这些矛 盾的最关键技术。 基于前面的讨论可知,高效视频压缩有很重要的意义,是缓解网络压力 和存储空间压力的有效手段。h 2 6 4 是由联合视频组( j o i n tv i d e ot e a m ,t ) 近年来致力开发研究的最新视频压缩国际标准,该标准为广播、存储设备、 对话服务以及无线网络等方面的视频技术提供了技术支持1 1 】,和以往的标准相 比,例如:h 2 6 3 ,h 2 6 3 + ,h 2 6 3 + + 和m p e g 4 ,它在视频编码效率得到了很 大的提高。相同视频质量下,h 2 6 4 不仅比h 2 6 3 和m p e g 4 节约5 0 的码 率,而且对网络传输具有更好的支持功能 2 】。随着通信和视频技术的发展, 视频信号的传输受到了越来越多的资源限制,对视频压缩和通信而言,主要 西南交通大学硕士研究生学位论文第2 页 的限制在于有限的通信带宽和存储空间,这些决定了视频信号的输出码率p 弓 。 视频的压缩导致了压缩程度和压缩质量的矛盾,要想在压缩程度尽可能 大的情况下得到尽可能好的压缩质量,也就是在有限的码率条件下得到尽可 能好的视频质量,对码率进行控制就显得非常必要。这就涉及到本文最主要 的技术:码率控制( r a t ec o n t r 0 1 ) 技术。码率控制技术是视频压缩中个非常 重要的环节:在视频受到压缩而导致其数据量减小的前提下,要通过码率控 制使得产生的比特流符合各种应用需要,产生质量尽量好的视频。码率控制 的主要方式是通过调节编码的量化参数,从而控制单位时间内产生的数据量。 不同的视频流,不同的帧( f r a m e ) ,不同的基本单元( b a s i cu n i t ) ,都需要 不同的码率,这都要根据不同的情况为其分配相应的码率,这都需要码率控 制;此外,要使实际缓冲与目标缓冲的值更加接近,保证二者的差值尽可能 地小,也需要码率控制。码率控制的有效性,将对视频压缩的性能产生非常 重要的影响。 总之,越来越大的存储压力和网络传输压力决定了视频压缩的重要性, 而又要在达到视频压缩的条件下得到一定要求的视频质量,这就决定了码率 控制又在视频压缩中占据着举足轻重的地位。 1 1 码率控制技术的国内外研究现状 随着多媒体技术的发展,并且日益迅速并逐渐深入到生活的各个方面, 高效的视频压缩算法变得越来越重要,而作为视频压缩算法中很重要的环节, 码率控制算法的研究也取得了很大的进展。 由于码率控制在视频编码中的占据着重要的地位,因此在各种视频编码 标准中,都有相应的码率控制算法,例如m p e g 2 的t m 51 6 ,h 2 6 3 的t m n 8 1 7 j , m p e g - 4 的v m 8 e8 1 ,h 2 6 4 的g 0 1 2 码率控制算法【9 】。h 2 6 4 码率控制方法的 提案主要有两个,一个是马思伟提出的基于t m 5 的改进版本【1 0 12 1 ,文中沿用 帧比特分配和二次模式判别的思想,在宏块级进行码率控制,存在着比特分 配不准确以及计算量过大等缺点;另一个是l iz h e n g g u o 提出的基于基本单元 的自适应码率控制算法【1 3 】,该算法引入了基本单元,流体流动模型等新的概 念,并采用对线性预测模型来解决“鸡与蛋”悖论,这种算法由于其对图像 间相关性的挖掘以及准确的二次模型而取得比f 0 8 6 提案更好的控制效果。 西南交通大学硕士研究生学位论文第3 页 除了上述经典的码率控制算法之外,研究者们还提出了一些新的比较好的码 率控制算法,比如崔鹏刚提出的按照各帧复杂度为各帧分配目标比特的帧层 码率控制算法【1 4 1 ,周全将平均信息像素比特( a v e r a g ep i x e li n f o r m a t i o nb i t , a p i b ) 弓i 入宏块层的码率控制算i 去【1 5 】,李晓辉提出的基于d c t 系数分布特性 的码率控制算法【l6 | ,s i m o n e 针对量化后零系数所占比率和编码码率之间的近 似线性关系提出一种低复杂度的码率控制方法 17 1 ,黄莉利用m a d r a t i o 和 b d r a t i o 来调整目标比特数和量化参数的新型码率控制算法 1 引,李蔷等使用前 后两帧图像直方图作为帧编码复杂度的测量准则,提出一种实时的无需二次 编码的比特分配和码率控制和码率控制算法【l9 1 ,李锡辉将m b r a t i o 用来修正量 化参数的码率控制算法【2 0 】;陈川等提出一种丢包网络中联合信源信道的码率 控制方澍2 1 】;。新加坡南洋科技大学的h o n g t a oy u 、z h i p i n gl i n 提出了一种旨 在提高高运动场景编码质量的码率控制算法【2 引。 j v t - g 0 1 2 作为目前主流的经典算法,也存在着一些缺点。比如比特分配 不够精确,没有考虑场景切换,模型参数更新不够精确,感兴趣区域没有得 到特殊处理,等等。为此,很多人提出了一些改进方法,例如w uy u a n 等在 j v t - 0 0 1 6 2 3 中提出一种新的更准确的r d 模型,j i a n gm i n g q i a n g 等改进了原 算法中对剩余比特平均分配的缺吲2 4 j ,y ix i a o q u a n 等采用了一种更准确的的 线性预测方法【2 5 1 ,方春提出了一种将基本单元相关性应用到模型参数更新的 新型码率控制算澍2 6 】,y u n h u is h i 等提出的关于感兴趣区域的码率控制算法 川,y a n b 等人提出a d i e ( a d a p t i v ed i s t o r t i o n b a s e di n t r a r a t ee s t i m a t i o n ) 函 数来提高码率控制性能【28 | ,也有学者提出了一些针对场景切换的码率控制方 0 士【2 9 3 2 】 1 o 很多文献改进了比特的预分配,使得比特分配更加合理,但是并没有考 虑到实际编码比特与预分配比特的差距所带来的影响;文献 2 6 改进了二次 模型中参数c l 和c 2 的更新,使得模型参数的更新更加合理和精确,但是没有 考虑到m a d 只用一个宏块预测的不精确性。因此,对于实际编码比特与预分 配比特的差距进行处理,更加精确地预测m a d ,都是需要继续研究的问题。 1 2 本文的主要研究内容 码率控制最重要的目的是在有限码率和有限缓冲情况下得到重建质量尽 西南交通大学硕士研究生学位论文第4 页 量好的视频图像。码率控制算法的效果好坏有几个最重要的评价因子,比如 重建图像的质量要由重建图像的p s n r ( p e a ks i g n a l t on o i s er a t i o ) 值来评价; 缓冲区的实际缓冲容量与目标缓冲容量的接近程度,则需要用缓冲逼近曲线 来仿真模拟评价;编码后的实际使用比特率与目标比特率的接近程度要用二 者的差值来评价。因此使得这几个最重要的评价因子变好,对于码率控制的 效果来说,有着非常重要的意义。 本文主要进行了两点改进。在帧层中,分析了一帧编码时预编码比特与 实际编码比特之间产生差距的原因,对其产生的后果进行了分析,并在编码 过后对编码误差进行了补偿;在宏块层,利用宏块之间的相关性,提出了一 种预测宏块m a d 的新型预测算法一大小三角形预测算法。 本文的主要工作有: 1 对码率控制的层次进行了研究; 2 详细研究了g 0 1 2 帧层码率控制算法以及宏块层m a d 预测算法,并分析 了其存在的缺点和不足; 3 通过分析帧层码率控制算法比特分配存在的问题,对帧层实际编码比特与 预分配比特的差距进行了处理: 4 通过对基本单元层( 宏块层) 码率控制算法的分析,结合基本单元( 宏块) 间的 相关性,提出了一种新型的基本单元m a d 预测算法:大小三角形算法; 5 通过仿真,证明了改进算法的有效性。、 西南交通大学硕士研究生学位论文第5 页 第2 章g 0 12 码率控制技术 码率控制算法就是期望在有限的码率条件下得到尽可能好的图像质量, 因此合理分配码率就是一个非常重要的问题。其中码率的输出主要根据量化 参数来进行调整,码率控制算法就是根据不同情况通过不断调整量化参数, 以达到输出符合要求码率的目的。对不用的基本单元给出合理的量化参数, 是码率控制算法中最为关键的问题。h 2 6 4 中表示量化参数与码率之间关系的 是二次模型,此外比较经典的模型还有对数模型【3 3 】,一阶线性模型【3 4 】,二阶 抛物线模型【3 5 】,p 域线性模型 3 剐,指数模型 3 7 】等等。 2 1g 0 12 码率控制技术概述 2 1 1 分层的码率控制技术 g 0 1 2 码率控制技术是一个分层的码率控制技术,可以分为g o p 层,帧 层,基本单元层,其中一个基本单元可以取为一帧,可以取为连续的一些宏 块,也可以取为单独的一个宏块。码率的分配过程也是按照这个层次的顺序 来进行,先为整个g o p 分配码率,然后为一帧分配码率,最后是为一个基本 单元分配码率。码率的分配随着层次的深入,精确度也逐渐提高。其层次图 如图2 1 所示。 g o p c o n t r o l f r a m e c o n t r 0 1 m b c o n t r 0 1 图2 - 1 码率控制的层次示意图 2 1 2 码率控制各层简介 在这里,主要介绍各层控制的目标和大致流程。 1g o p 层码率控制 这一层码率控制的目标是计算每一个g o p ( g r o u po fp i c t u r e ) 中所有未编 码帧的剩余比特数r 以及每一个g o p 初始帧的量化参数( i 帧的量化参数) 。首 先是计算所有未编码帧的剩余比特数,然后在此基础上计算当前g o p 初始帧 西南交通大学硕士研究生学位论文第6 页 量化参数。 i 计算g o p 中未编码帧剩余比特 土 i 计算当前g o p 初始帧量化参数 图2 - 2g o p 层码率控制算法示意图 2 帧层码率控制 帧层码率控制分为两个阶段:第一个阶段的目的主要是计算出每个g o p 中除了第一帧之外的所有帧的量化参数,第二个阶段的主要目的是更新模型 参数。 f 为当前帧分配目标比特 1 l i 利用线性模型计算当前帧m a d 土 利用二次模型计算量化参数 1 l l 率失真优化 上 更新模型参数 图2 3 帧层码率控制示意图 在编码一帧之前,要为其分配目标编码比特,预测当前帧的m a d ,由此 根据二次模型计算当前帧的量化参数,然后进行率失真优化,最后进行模型 参数的更新。 西南交通大学硕士研究生学位论文第7 页 2 基本单元层码率控制 基本单元码率控制的主要目的就是计算当前基本单元的量化参数。与帧 层码率控制类似,要先计算出该基本单元的纹理比特,预测当前基本单元的 m a d ,利用二次模型计算量化参数,最终是率失真优化。 i i计算当前基本单元纹理比特 上 l计算当前基本单元m a d 土 i 利用二次模型计算量化参数 土 l 率失真优化 图2 4 基本单元码率控制示意图 2 2p 帧码率控制算法和基本单元m a d 线性预测 以上主要介绍了码率控制算法的分层控制以及各层大致控制流程,下面 主要介绍p 帧码率控制算法以及基本单元m a d 线性预测。 2 2 1p 帧量化参数计算 要计算p 帧的量化参数,要分两个步骤进行:预分配目标比特,计算量 化参数且进行率失真优化。其中预分配比特又要考虑两个方面的因素:当前 帧的复杂度和缓冲满度。 p 帧的目标比特通过下面两步计算: 1 计算目标缓冲级别 对每一帧进行目标比特分配之前,都要先为其预定义一个目标缓冲级 ( t a r g e tb u f f e rl e v e l ,t b l ) ,对于不同的帧,就有不同的目标缓冲级别。在编 码完第f 个g o p 的第一个p 帧后,重新设置目标缓冲区为: t b l ( n f 2 ) = 眈( ,z 旺) ( 2 - 1 ) 西南交通大学硕士研究生学位论文第8 页 其中b c ( 刀f 2 ) 是在编码完第i 个g o p 中第一个p 帧后实际的缓冲占用。 后面的p 帧的目标缓冲级定义为: 乃文吩川,= 乃式强,一警+ ( 碍,) + 1 ) 甜( 吩。,)“( 吩,) f ( 嘭( 吩,) + 露( 豫,渤 c ( 2 2 ) 其中,吃( ,z f ) 是p 帧平均复杂度因子,唬( ,z “) 是b 帧平均复杂度因子, t b l ( n “) 是目标缓存级。嘭和唬计算如下: 蟛帆) = 掣+ 掣 嘶u ,= 掣+ 掣 沼3 ) w p ( n f ,) = s p ( ,z f ,) q p ( ,z f ,) 帅“,= 耸畿掣 其中s ,和s h 是编码相应帧产生的比特数,q p 和q 是相应帧的量化参数。 在两个p 帧间没有b 帧的情况下,公式( 2 2 ) 可以被简化为: t b l 一沪姚) 一掣 ( 2 - 4 ) 码率控制要求实际缓冲满度与目标缓冲满度尽量接近,上面目标比特分 配的思想就是基于此。但是实际缓冲与目标缓冲一般都存在着差距,同时, 编码比特也不能仅仅考虑缓冲的情况,同时要考虑到编码单元自身的复杂度 情况。 2 目标比特计算 使用线性跟踪理论,给第i 个g o p 中第j 帧分配的目标比特由下面几个 因素决定的:目标缓冲级、帧率、可用带宽、实际缓存占用,如( 2 - 5 ) 所示: 纸,) = 掣+ z ( t b l ( n i , i ) 以( ) ( 2 5 ) 其中堤常数,它的典型值是在没有b 帧的情况下为0 7 5 ,其它情况为0 2 5 。 如果产生的实际比特数在目标比特数左右,很容易得到: b 。( ,z f ,一1 ) 一t b l ( n f + 1 ) = ( 1 一力( 召。( ,z f ) 一t b l ( n f ,) ) ( 2 6 ) 同时,在计算目标比特的还应该考虑剩余的比特数: 西南交通大学硕士研究生学位论文第9 页 纸户而矗器篇 目标比特是7 ( ,z “) 和夕( ,z 。) 的加权和: 。 ( 以“) = 夕木夕( ,z “) + ( 1 一夕) 木7 ( ,z 彬) 其中是常数,没有b 帧时取0 5 ,其它情况下取0 9 。 ( 2 7 ) ( 2 8 ) 3 量化参数计算 在计算出帧的预分配比特数以后,就可以用来计算该帧的量化参数。量 化参数q 肼使用二次r d 模型来计算。 镒= 五叫+ 置酽 ( 2 9 ) 为了维护连续帧之间视频质量的平滑,量化参数q 。被调整为: q 弦= m i n q 印+ 2 ,m a x q 印一2 ,q 班) ) ( 2 1 0 ) 其中,q 刀为前一个p 帧的量化参数。 最终的量化参数q 卯还要限制界限: q 粥= m i n 5 1 ,m a x q 阳,1 ) ) ( 2 - 1 1 ) 有了量化参数,就可以对每一个m b 进行r d o 。 编码模式通过最小化下面的性能指标来选择: d ( s ,c ,m o d ei 妒) + 。r ( s ,c ,m o d eq p ) ( 2 1 2 ) e = o 8 5 2 _ i ,p 帧 ( 2 1 3 ) 。= 4 x 0 8 5 x 2 口p 门, b 帧 2 2 2 基本单元层m a d 线性预测 由于编码一个基本单元之前并不知道其实际,而得到该基本单元的 量化参数又必须用到m a d ,因此必须用一种方向来预测当前基本单元m a d : 这就是m a d 预测的线性模型。如图2 5 所示:假设预测的当前帧的当前基本 单元的m a d 和先前帧相应位置的实际的m a d 的值分别为m a d 和m a d 曲。 线性模型由式( 2 1 4 ) 给出: m a d c h = a 1x m a d 肋+ a 2 ( 2 1 4 ) 其中a l 和口2 为预测模型的两个系数。a l 和a 2 的初始值相应的设为1 和0 。 当编码每一基本单元时它相应的进行更新。公式( 2 - 1 4 ) 所示的线性模型用来解 西南交通大学硕士研究生学位论文第10 页 决“鸡与蛋”的悖论。 图2 - 5 基本单元层m a d 预测模型示意图 2 3 码率控制算法的评价指标 每种算法性能的好坏,都有其评价标准,码率控制算法也不例外。首先, 从直观上来讲,重建图像的质量是视频压缩性能好坏的一个重要指标,因此 重建图像的p s n r 值是评价码率控制算法的一个重要标准;为了平和码流,码 率控制算法中引入了缓冲区的概念,在编码帧之前都有一个目标缓冲区, 而编码一帧之后也有一个实际的缓冲区,实际缓冲区与目标缓冲区的越接近, 则表示算法效果越好,因此实际缓冲区与目标缓冲的接近程度也是码率控制 算法的重要评价指标;同时,编码一个视频流后实际所用的平均比特速率与 预先给定的比特速率的接近程度可以反应出码率控制算法的精确程度,也是 一个重要的评价指标。 在高性能的码率控制算法中,重建图像的p s n r 值越高,实际缓冲与目标 缓冲越接近,编码后实际所用平均比特与编码前预先给定比特越接近,则码 率控制算法的性能就越好。在码率控制算法中,要尽量来提高这些性能指标。 西南交通大学硕士研究生学位论文第11 页 2 4 本章小结 本章主要对g 0 1 2 码率控制进行了介绍:大致介绍了g 0 1 2 的分层控制, 并详细介绍了p 帧码率控制算法和基本单元层m a d 线性预测模型,最后讨论 了影响码率控制算法性能的一些性能指标。 西南交通大学硕士研究生学位论文第12 页 第3 章改进的帧层比特补偿算法 3 1 引言 在j v t - g 0 1 2 帧层码率控制算法中,编码一帧之前,必须要为其分配一个 比特数。如果预分配的比特数不合理,首先会造成图像重建质量不高;其次, 一帧的不合理会对整个g o p 的预算产生影响,从而影响整个g o p 的控制性 能;最后,对实际缓冲造成影响,使得编码之后实际缓冲与目标缓冲的差距 增加。因此,准确地为每一帧分配预编码比特数,具有十分重要的意义。 但是,即使再精确地为当前编码帧分配目标编码比特,实际编码比特与 目标编码比特总是存在差距,在编码一帧之后,总是不可避免地存在这种情 况:当前帧实际编码比特小于在编码前为其预分配的比特,或者当前帧实际 编码比特大于在编码前为其预分配的比特。一般情况是,实际编码比特与目 标编码比特会交替大小关系,这样符合实际情况,也不会使实际缓冲和目标 缓冲的差值一直增大。当一帧出现这种情况时,是比较正常的,因为在量化 中不可避免地会存在误差,但是当连续二帧,三帧,甚至四帧,五帧出现这 种情况时,那就是出现问题了:首先,表明预分配比特不够准确;其次,表 明二次模型的参数更新出现了问题,参数更新不够精确;最后,实际编码比 特连续几帧大( 小) 于目标编码比特,会使得实际缓冲与目标缓冲的差值一直 增大,从而影响算法性能。 对于直接改进比特分配 3 8 - 4 6 】和调整量化参数1 4 7 - 5 0 1 ,已经有很多种改进算 法。但是对于连续编码比特大( 小) 于实际编码比特,由此导致比特分配不合 理,实际缓冲与目标缓冲差距加大的情况,也是一个需要解决的问题,如何 针对这种情况提出相应的策略,是本章的主要研究内容。 3 2j v t - g 0 12 帧层码率控制算法的缺陷 在j v t - g 0 1 2 帧层码率控制算法中,为当前帧预分配的编码比特主要受当 前待编码帧的复杂度以及缓冲区比特数影响,即复杂度高的帧分配相对多的 比特,复杂度低的帧分配相对少的比特。但是,在g 0 1 2 码率控制算法中,由 西南交通大学硕士研究生学位论文第13 页 于只能在编码一帧后才能知道当前帧真正的复杂度,因此为当前帧分配的比 特不可避免地与其真正需要的比特存在差距。 由于g 0 1 2 码率控制算法的比特分配不但受到当前待编码帧复杂度的影 响,同时和当前缓冲区的比特情况也相关,由于比特分配会不可避免地存在 误差,由此也会导致缓冲区容量与理想缓冲区容量存在误差,这样实际缓冲 与目标缓冲的误差又会导致当前待编码帧的比特分配受到影响,有可能会导 致恶性循环。 由于量化的误差不可消除,因此预分配比特和实际编码比特不可能是一 样的,有时候会出现连续几帧实际编码比特大( 小) 于预分配比特,这样的话, 不但会导致有限的比特数不能有效使用,同时会导致实际缓冲与目标缓冲的 差值越来越大,从而影响到算法的性能提高。 3 3 缺陷产生的原因分析 在编码前就为一帧预分配比特,利用此比特数来计算出一个量化参数q p , 再利用此量化参数去编码一帧,从而得到实际的编码比特。量化误差的不可 消除性,是目标比特和实际编码比特不一致的根本原因。同时,在编码之后 才能得到编码帧的实际复杂度,也是实际编码比特与预分配比特产生差距的 重要原因。 此外,对于实际编码比特与目标比特所产生的差距没有进行处理,尤其 是对连续几帧实际编码比特大( 小) 于目标编码比特的情况没有应对措施,也 是缺陷产生的一个重要原因。 3 4 改进的帧层比特补偿算法 3 4 1反馈补偿帧层目标比特的思想 在g 0 1 2 的g o p 层码率控制算法中,要先为整个g o p 分配目标比特,在 整个g o p 编码完成之后,实际比特与预分配的比特会存在差距,g 0 1 2 中会 把前一个g o p 剩余的比特将直接附加到下一个g o p 。本文帧层补偿算法就是 基于这种思想,并对其加以改进:帧层码率控制算法中,编码一帧之前,会 先给该帧分配目标比特,实际编码比特与目标比特也会存在差距,本文中的 处理方法是将该帧编码剩余的比特( 即实际编码比特与目标编码比特的差距) 西南交通大学硕士研究生学位论文第14 页 根据不同情况赋以不同的权值附加到下一帧。 在帧层码率控制中,最理想的情况是实际编码比特总是与预分配的比特 相同。但是由于先预分配比特,然后才计算量化参数,最后才利用量化参数 进行编码,由于不同的比特数会对应一个量化参数参数,并且量化参数的误 差是不可消除的,因此会导致目标比特与实际编码比特存在差距。这种差距 是不可消除的,因此要想使得实际情况和理想情况尽量接近,就要对实际编 码比特与目标比特之间的误差进行处理。 本章中主要针对一种情况对实际编码比特与目标比特的误差进行处理: 就是出现连续几帧甚至更多帧实际编码比特比目标比特大( 小) 的情况。这 时,如果不合理调整,就会导致实际缓冲与目标缓冲差距越来越大,从而导致 缓冲的上( 下) 溢,这样不但会影响码率控制的精度,而且会使图像质量受到 影响。 针对连续几帧甚至更多帧实际编码比特大( 小) 于目标编码比特的情况, 同时考虑实际编码比特目标比特误差和实际缓冲容量目标缓冲区容量误差, 本文提出一种反馈补偿算法:这个调整分为两个阶段,比特调整阶段和量化 参数调整阶段。比特调整即把实际编码比特与目标编码比特的差距补偿到下 一帧的目标编码比特上,并且对这个差值加以权值,随着实际情况出现帧数 的增多,权值相应发生改变;量化参数调整就是当连续出现的帧数超过一定 值,就认为比特补偿不能改变这种情况,转而去直接改变量化参数。 该算法可以归纳为以下几个步骤: 1 设置参数n 表示连续n 帧实际编码比特大( 小) 于目标编码比特,1 1 = 0 ; 2 编码一帧之后,如果出现以下两种情况之一,n 增加1 。 1 )实际编码比特大于目标编码比特,同时实际缓冲区容量也大于目标 缓冲区容量超过2 5 0 ,这称之为第一种情况; 2 )实际编码比特小于目标编码比特,同时实际缓冲区容量减去目标缓 冲区容量小于一2 5 0 ; 3 如果下一帧编码后所出现的情况( 指的是步骤2 中两种情况之一) 与 前一帧编码之后所出现的情况相同,1 3 增加1 ,否则n 置0 ,转向2 ; 4 当n 大于5 时,将n 置0 ,转向2 ; 西南交通大学硕士研究生学位论文第15 页 5 当n 等于1 ,2 ,3 时,调整下一帧的目标比特,当n = 4 ,5 时,直接 调整下一帧的量化参数。 6 如果当前g o p 编码未结束,进行下一帧编码,否则结束。 其流程图如图3 1 所示。 3 4 2 连续出现第一种情况及第四种情况帧数分析 如果同时考虑实际编码比特与目标编码比特的误差以及实际缓冲与目标 缓冲的误差,如后面3 4 3 中所示,会有四种情况。第一种情况和第四种情 况是其中的两种。 采用与本文实验相同的设置( 1 5 0 帧) ,运行程序。在代码中将实际缓冲 与目标缓冲的差值作为一个变量,实际编码比特与目标编码比特的差值作为 一个变量,运行代码后将两个变量分别输出到一个t x t 文件中,通过对比可 以发现不同序列在不同比特率情况下连续出现的帧数。在这里针对同序列, 相同设置,然后对比文献 2 6 3 算法与本文算法连续出现的帧数。 s a l e s m a n q c i f 序列在1 6 k b p s 码率下,文献 2 6 连续出现2 帧的帧数是4 , 连续出现3 帧的帧数是5 ,连续出现4 帧的帧数是1 ,连续出现5 帧的帧数是 5 ;而本文连续出现2 帧的帧数是5 ,连续出现3 帧的帧数是o ,连续出现4 帧的帧数是0 ,连续出现5 帧的帧数是3 。除了连续出现2 帧的帧数比文献 2 6 3 多一帧之外,其余均有不同程度减少。 f o r e m a n q c i f 序列在3 2 k b p s 码率下,文献 2 6 连续出现2 帧的帧数是4 , 连续出现3 帧的帧数是2 ,连续出现4 帧的帧数是0 ,连续出现5 帧的帧数是 9 ;而本文算法在此条件下,连续出现2 帧的帧数是5 ,连续出现3 帧的帧数 是2 ,连续出现4 帧的帧数是1 ,连续出现5 帧的帧数是4 。从中可以看出: 在连续2 ,3 ,4 帧出现帧数相当的情况下,本文算法的连续出现5 帧数有4 次,而文献 2 6 连续出现的帧数有9 次。由此可见本文算法连续出现的帧数 有所减少。 从上面的叙述可以看出两点:第一:连续出现第一种或者第四种情况的 帧数不少,是一个值得注意的情况;第二,本文算法与文献 2 6 相比,连续 出现情况一和四的帧数有所减少。可见补偿算法对连续出现情况- a n 四起到 了有一定的抑制作用。 西南交通大学硕士研究生学位论文第16 页 3 4 3 反馈补偿帧层目标比特的实现 在编码一帧之后,实际编码比特t r 与目标编码比特t ,会存在差距,同时 相对应的实际缓冲区满度b r 与目标缓冲区满度b 。也会存在差距。同时考虑实 际编码比特t ,与目标编码比特t t 大小关系以及相对应的实际缓冲区满度b r 与目标缓冲区满度b 。大小关系,这样就有4 种情况: ( 1 ) t p t t ,b p b t ; ( 2 ) t p t t ,b r b t ; ( 3 ) t r b t ; ( 4 ) t r b 。表示实际缓冲区容量大于目标缓冲缓冲区容量,这是因为前面编码帧所 用比特数过多导致进入缓冲区的比特数比理想情况下多,要想使得实际缓冲 区容量与目标缓冲区容量的差距变小,下一次进入缓冲区的比特要相对减少, 这就要求下一帧的实际编码比特数要相对减少,这可以通过减少下一帧的目 标比特数来控制;而对于b , - b 。也表示需要适当减少下一帧的目标比特,因此,在这种情况下,需要适 西南交通大学硕士研究生学位论文第17 页 图3 - 1 帧层补偿算法一次调整示意图 西南交通大学硕士研究生学位论文第18 页 当减少下一帧的目标比特;而对于第四种情况而言,t 灯。表示需要适当增加 目标编码比特,b r o 5 时,a 4 = l ,否则a 4 = 0 。其余宏块类似。 2 ) 计算宏块相关性加权比率:设r 4 ,r 5 ,r 6 ,r 7 ,r 8 为对应比率,则 r 4 = a 4 x r 4 ( a 4 x r 4 + a 5x r 5 + a 6 x r 6 + a t x r 7 + a 8 x r 8 ) ( 4 - 6 ) 其余相关性加权比率的计算类似。 3 ) 计算非相临宏块加权平均绝对误差 s = a 4 x r 4 x m 4 + a 5 x r 5 x m 5 + a 6 x r 6 x m 6 + a 7 x r 7 x m 7 + a 8 x r 8 x m 8( 4 - 7 ) 4 ) 计算当前宏块m a d ,将其记为c m a d 。在这里要分与当前宏块相临宏块相 关性与门限的关系几种情况讨论: ( 1 ) r r ,r l ,r e 均大于0 5 : c m a d = 0 1 0 x m 2 + 0 1x m l + o 7 0 m 3 + 0 1 x s( 4 - 8 ) ( 2 ) r r ,r l 大于o 5 ,r e 小于0 5 : c m a d = 0 1 4 x m l + 0 7 2 x m 3 + 0 1 4 x s (

温馨提示

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

评论

0/150

提交评论