(信号与信息处理专业论文)h264avc的码率控制算法的研究.pdf_第1页
(信号与信息处理专业论文)h264avc的码率控制算法的研究.pdf_第2页
(信号与信息处理专业论文)h264avc的码率控制算法的研究.pdf_第3页
(信号与信息处理专业论文)h264avc的码率控制算法的研究.pdf_第4页
(信号与信息处理专业论文)h264avc的码率控制算法的研究.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(信号与信息处理专业论文)h264avc的码率控制算法的研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 2 0 0 3 年3 月,r r u tv c e g 和i s 0 】匣cm p e g 联合发布了最新的视频压缩标 准h 2 6 4 a v c 。h 2 6 4 a v c 在编码效率、网络亲和性及应用领域等各方面都有着 相当大的优势,因此日益受到业界的关注。 码率控制作为视频编码中的重要部分,它的目的在于使编码输出比特率满足 特定目标比特率的同时,获得尽可能好的编码质量。 在分析了h 2 6 4 a v c 码率控制算法g 0 1 2 的基础上,本文主要针对以下三个 f r 锄e 层的码率控制问题进行了研究: 1 g 0 1 2 在f r 锄e 层的比特分配中始终体现了平均分配的思想,对于运动量小和 没有场景切换的信源,也就是各帧的复杂度相近的情形,会起到很好的效果。但 在运动剧烈或者场景切换时,各帧的复杂度相差较大,要获得平滑的图像质量所 需要的比特也相差很大,这时g 0 1 2 的效果有所下降。本文采用一个场景切换因子 作为场景切换和运动程度的度量,并根据该因子自适应地调整分配给各p 帧的比 特,以弥补g 0 1 2 比特平均分配的不足; 2 g 0 1 2 在处理含b 帧的g o p 时,g o p 中部和尾部比特分配不均,这不仅导致 尾部由于缺少比特而编码质量严重下降,而且使实际码率总是高出目标码率不少, 本文通过引入s u b g o p 来分析其中的原因一g o p 中后部过高的目标缓存占有率, 并进行相应的改进; 3 分级b 帧是在g 0 1 2 后提出了新的编码工具,能很好地提高编码效率,本文分 析了分级b 帧编码结构中g o p 的统计特性,对b 帧进行精细划分建模,以获得更 准确的比特分配,同时改进了b 帧量化参数的计算方法,以更大程度地利用分级 b 帧编码结构增强的时间相关性。 关键词:h 2 6 4 a v c ,码率控制,场景切换,自适应比特分配,分级b 帧 a b s t r a c t a b s t r a c t h 2 6 4 a v cw h i c hi st h en e w e s tv i d e 0c o d i n gs t a n d a r di sp u b l i s h e db yt l l e u t d e oc o d i n ge x p e r t sg 衲u p ( v c e g ) a n dm ei s o cm o 、,i n gp i c t u r ee x p e n s u p ( m p e g ) i nm a r c h ,2 0 0 3 b e c a u s eo f l ea d v a n t a g e si i lt e n i l so f b o mc o d i n ge m c i e l l c y e i l l l a n c e m e n ta i l dn e x i b i l i t yf o re 行e c t i v eu s eo v e rab r o a dv a r i e t yo fn e 呐o r kt y p e sa i l d a p p l i c a t i o nd o m a i n sa n ds oo n ,i tc a tc _ hm o r e 锄d m o r ea t t e n t i o n 舡t h em o s ti m p o r t a i l tp a r to f 、,i d e oc o d i n gs y s t e m ,m ep u 印o s eo ft h er a t ec o n 仃0 1 i st om a k et h ee i l c o d i n go u t p u tb i t r a t ef i tm ep r e - d e f i n c dt a r g e tb i t r a t ew h i l eo b t a i n i n g m eb e s te n c o d i n gq u a l i t y b a s e do ns 眦y i n gr a t ec o n 仃o la l g o r i t h mo fh 2 6 4 a v c g 0 12 ,“sa n i c l eh a s m a i n l yd o n et h r e eo p t i m i z ew o f k s : 1 t h ei d e ao fe q u a ld i s 埘b u t i o ni sp r e s e n t e di nm ef 锄el a y e r b i ta 1 1 0 c a t i o na d o p t e d b yt h eg 0 1 2 ,w 王l i c hm a l ( e sag o o de 仃e c tf o rs o u r c eo f l o w m o t i o n sa 1 1 dn os c e n ec h a i l g e ( 0 nt h eo t h e rw o r d :t h ec o m p l e x 时o f e v e 巧如m ei sn e 砌yt 1 1 es a m e ) b u tw h e nt h e d i f f 旨e n c eo fp e r 董b m ec o m p l e x i t yi sl a r g ef o rh i 曲m o t i o n sa 1 1 ds c e n ec h a n g e ,m e m l m b e ro fb i ti sl a r g e l yd i 行打e n ti no r d e rt or e a c :hm eu n i f 弭n gr e c o n s t n l c t i o nq u a l i 咄 1 1 1 e 1 1m eg 0 1 2w i l lb el i 位l ee 虢c t i v e u s i n gas c e n ec h a n g ef a c t o ra sm em e a s u r eo f t h e l c v e lo fs c e n ec h a i l g e sa n dm o t i o n s ,a n dm e i la d a p t i v e l ya d j u s tb i tb u d g e tf o rp e rp 行锄et 0c o m p e n s a t em el a c ko f e q u a lb i ta l l o c a t i o ni ng 0 1 2 2 m e ng 0 1 2p m c e s s e st l l eg o pw i mb 五r 锄e s ,t h ed i s t r i b u t i o no ft h eb i ta tt h e m i d d l ea n d “lo ft h eg o pi s n tp r o p w h i c hn o to m ym a k e st h ee n c o d i n gq u a l i t y d e c f e a s es e r i o u s l yd l l et ol a c ko fb i t ,b u ta l s om a k e st h ea c t u 2 l lb i t - r a t eh i 曲e rm a i l l e t 鹕e tb i t - r a t e t h i sp a p e rw i l la n a l y s e st l l er e a s o na n dp r o p o s e sa i li m p r o v i n gm e m o d 3 h i e r a r c m c a lbm 吼ei san e w l yp r o p o s e dc o d i n gt 0 0 la r e rg 012p u b l i s h e d ,w h i c h c a ng r e a t l yi m p r o v em ec o d ee m c i e n c y h lm i st 1 1 e s i s ,n u d u 曲s 砌y i n gt h es t a t i s t i 嘲 c h a n g e sa r e ru s i n gt h i sn e w t o o la 1 1 df i n e l yd i v i d i n gm o d e l i n gt h eb 觑吼e ,w ec a l lg e t m o r ep r e c i s e l yb i ta l l o c a t i o n a tt l l es 锄et i i l l cw ei m p r o v et h ec a l c u l a t i o no fm e q u a l l t i z a t i o np a r a m c t e ro fb 行锄e s ,w 陆c hm a l ( 髓m em o s to ft e m p o m lr e l a t i v i t ) r a b s t r a c t 础l a i l c e db yl l i e r 删c a lb 丘a m ec o d i n gs 仃u c t u r c k e yw o r d s : h 2 6 4 a v c ,r a t ec o n 缸d 1 ,s c e i l ec h a i l g e ,a d a p t i v eb i t “1 0 c a t i o n , t l i e r a r c h i c a lb 仔锄e i i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明 确的说明并表示谢意。 签名: 缸昼盘日期:2 0 毽c 7 年岁月f 3 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:盈叠旋导师签名 日期:2 6 第一章绪论 第一章绪论 视频信息因为其确切、直观、生动等特点,使其成为人类接受信息的主要来 源。随着计算机、现代通信、微电子、网络和信息等等技术的发展,视频信息的 处理、存储和传输在社会生活中的起着很大的作用。 1 1 视频压缩简介 视频信息的数据量是非常巨大的,以高清电视h d ,( h i 曲d e f i i l i 石o n 1 e l e v i s i o n ) 为例。h d t v 的最低分辨率7 2 0 p 为1 2 8 0 7 2 0 ,颜色深度为2 4 比特 像素,一帧的数据量大约为2 6 4 m b ,假设以3 0 邱s ( 帧秒) 的速度播放,则码率 高达6 3 2 8 m b p s 。如果以4 。7 g b 的d v d 作为存储介质,即便不考虑音频的情况下, 每张d v d 也仅能播放6 1 秒,远远短于一部影片的时间。视频信号大数据量的特 性大大增加了通信的成本,甚至大多数情况下会导致通信无法实现,因此压缩数 字视频信息的数据量是实现数字视频的一个关键问题。 视频信号中存在大量的冗余信息,这是视频信息能被压缩的基础。这些冗余 体现在三个方面:一是空间相关性,即在同一帧图像中,某像素和它周围像素具 有相似的亮度、色度的概率较大;二是时间相关性,即同一视频序列中,相邻帧 图像间的内容具有非常大的相似性;三是统计相关性,即在去除空间和时间相关 性的视频表示中,各种数据组合的相关性。视频压缩的过程就是去除这些冗余的 过程。 上世纪8 0 年代中期以来,出现了很多高效的压缩技术。国际电联( i t u ) 和 国际标准化组织都发布了自己的视频压缩标准。i t u 分别在1 9 9 3 年发布了h 2 6 1 标准【1 1 ,1 9 9 8 年发布了h 2 6 3 标准【2 】【3 1 ,而i s o 在1 9 9 1 发布了m p e g 1 标斛4 1 , 1 9 9 5 年发布了m p e g 2 标准【5 1 ,1 9 9 9 年发布了m p e g 4 标准6 】【7 】【8 1 ,这些标准都获 得了广泛的应用。而由i t u 和i s o 在2 0 0 3 年联合提出的h 2 6 4 标斛9 】【l o 】【1 1 】更是把 视频压缩技术推到了新的高度,有关h 2 “更多细节会在第三章中讨论。 在视频应用中,码率控制是视频通信系统中非常重要的部分,它在使编码器 产生的比特率适应于信道带宽的同时,尽可能提高编码图像的质量,也就是说, 1 电子科技大学硕士学位论文 可以把码率控制看成是信源压缩和信道之间的接口,它为视频压缩码流在信道上 更有效的传输提供了保障。 1 2 码率控制的必要性 视频编码器需要码率控制是由信源,信道和应用三个因素共同决定的。不同 的信源具有不同的复杂度,即使是同一信源,序列内各帧也拥有不同的复杂度, 经过视频编码后产生的数据率也就各不相同,再加上不同的应用场合对信源的分 辨率、画面质量存在不同的要求,就更使得编码产生的数据率千差万别,而这很 难在无干预的情况下匹配信道的承载能力。码率控制就是考虑特定的应用场合及 信源的复杂度,在不超出不浪费信道承载能力的同时,尽可能获得更好的视频质 量的一种控制策略。码率控制对于视频编码器的重要性不言而喻。 1 3 码率控制的框架 视频通信系统中码率控制的一般框架如下: 输 图1 1 码率控制的一般实现 如上图,码率控制模块综合考虑输入信源的统计特性、输出信道以及编码器 的特性等因素。信源的复杂度不断变化使得编码器会在帧级采用不同的编码模式, 再经过可变长编码后,编码器的输出比特率不可能匹配变化着的信道带宽,这种 码率的波动可以通过在编码器和信道间接一个缓存来平滑。缓存的大小决定了码 率控制的平滑能力,同时也会造成视频压缩数据的延时。码率控制模块就是根据 信源复杂度,编码器的反馈以及缓存状态来控制编码器的行为,达到输出特定比 特率的目的。 2 第一章绪论 1 4 国内外研究现状 随着视频压缩技术的发展,出现了以下几类码率控制方法: 1 基于缓存状态的简单码率控制 完全基于缓存的占有率来调整编码参数( 如q p ) 。缓存占有率超过一定门限时, 就通过减少帧率或增加量化参数来减少编码产生的比特数;当缓存占有率小于门 限时,反之。 2 具有前馈输入的码率控制 除了利用缓存的反馈信息,还考虑信源自身的特性( 如方差) ,这种方式能获得 更好的码率控制效果。如m p e g 2 的t m 5 ( t e s tm o d c lv e r s i o n5 ) 【1 2 】和h 2 6 4 的 g 0 1 2 f 1 3 】。 3 基于率失真的码率控制 建立信源的码率模型和失真模型,并把码率控制转换成一个带约束条件的优 化问题。如h 2 6 3 对n 仆t 8 【1 4 】。 4 多层编码的码率控制 多层编码后的码流包含一个基本层和多个增强层,各层有不同的帧率,不同 的空间分辨率,不同的码率。基本层的码流是重建序列所必需的,用来保证基本 的重建质量并作为增强层的参考。增强层可以作为权衡码率和质量的又一个因素。 多层编码能够适应网络带宽的变化,特别适合在多媒体网络服务器进行的码率控 制中。 : 5 精细粒度可分级码率控制 具有f g s ( f i n eg r a n u l a rs c a i a b i t y ) 特性的码流和多层编码的码流有类似的 结构,也有基本层码流和增强层码流。但f g s 对于增强层数据采用比特平面方式 送出,使得增强层的信息能够在任意位置被截断,而不影响已接受的增强层的信 息,接受的越多,重建图像的质量就越好。这和多层编码的码流有很大的区别。 第一种方法是比较粗糙的控制方法。基于率失真的方法一般在复杂度上高于 单纯具有前馈输入的方法。后两种分层的方法更能适应时变信道的特性,使得他 们很适合在网络上使用,但分层的编码方法在编码效率上是低于单层编码的【1 5 】。 t 推荐的h 2 6 4 码率控制算法是z g l i 等人于2 0 0 3 发表的g 0 1 2 ,该算法 为h 2 6 4 提出了新的码率控制框架,共有精细分层的三个部分:g o p ( 觚u po f p i c t u l 髑) 层码率控制,帧级码率控制,以及可选的a u ( a c c e s su n i t ) 码率控制。 电子科技大学硕士学位论文 并通过m a d 的线性预测模型解决了h 2 6 4 中码率控制,和率失真优化间的 蛋鸡悖论【1 3 】【1 5 】问题,具体细节在第三章讨论。 但g 0 1 2 并没有针对场景切换进行优化,这就导致存在场景切换和运动剧烈 的序列中编码质量下降。考虑场景切换的码率控制采用两种常见方法:基于检测 场景切捌1 刀和场景自适应比特分配【1 8 】。前者取阈值难,容易造成漏检和误判。 分级b 帧【1 9 】f 2 0 】是一新的编码工具,能大大提高编码效率。g 0 1 2 推出较早, 故不支持分级b 巾贞【1 3 】【1 4 】【1 6 】【2 l 】【2 2 】【2 3 】。针对分级b 帧的改进有两类:把b 帧和p 帧 做相同处理,即分配比特再用二次码率模型计算量化参数 2 4 】【2 5 】;按b 帧的级数, 分别进行统计,并通过相邻p 帧的量化参数内插得到其量化参数【2 6 1 。前者计算量 过大。 1 5 本文主要工作及内容安排 本节概要地介绍本文对g 0 1 2 的优化,并给出论文组织结构。 1 5 1 本文主要工作 本文对g 0 1 2 的三个优化都针对f r 锄e 层码率控制,具体如下: 1 g 0 1 2 在f r 锄e 层的比特分配中始终体现了平均分配的思想,对于运动量小和 没有场景切换的信源,也就是各帧的复杂度相近的情形,会起到很好的效果。但 在运动剧烈或者场景切换时,各帧的复杂度相差较大,要获得平滑的图像质量所 需要的比特也相差很大,这时g 0 1 2 的效果有所下降。本文采用一个场景切换因子 作为场景切换和运动程度的度量,并根据该因子自适应地调整分配给各p 帧的比 特,以弥补g 0 1 2 比特平均分配的不足; 2 g 0 1 2 在处理含b 帧的g o p 时,g o p 中部和尾部比特分配不均,这不仅导致 尾部由于缺少比特而编码质量严重下降,而且使实际码率总是高出目标码率不少, 本文通过引入s u b g o p 来分析其中的原因一g o p 中后部过高的目标缓存占有率, 并进行相应的改进; 3 分级b 帧是在g 0 1 2 后提出了新的编码工具,能很好地提高编码效率,本文分 析了分级b 帧编码结构中g o p 的统计特性,对b 帧进行精细划分建模,以获得更 准确的比特分配,同时改进了b 帧量化参数的计算方法,以更大程度地利用分级 4 第一章绪论 b 帧编码结构增强的时间相关性。 1 5 1 本文内容安排 首先将介绍码率模型和经典的码率控制算法,为后面的h 2 6 4 儿w c 码率控制 算法的分析做铺垫。接下来是本文的核心部分,包括面向场景切换和分级b 帧所 做的优化。最后是对全文的总结和对将来工作的展望。以下为具体的安排: 第二章介绍了常见的码率模型和经典的码率控制算法,并分析各自的优缺点。 第三章首先简单描述h 2 6 4 厂a v c 视频编解码标准的框架,然后剖析其推荐码 率控制算法g 0 1 2 的原理。 第四章针对g 0 1 2 码率控制算法在场景切换上应用的不足进行分析且优化, 最终给出在j m l 2 【2 6 】上的对比仿真结果。 第五章针对g 0 1 2 码率控制算法在分级b 帧上的支持不足进行分析、优化, 且针对其中引起g o p 尾部编码质量严重下降的不足进行改进,最终给出在j m l 2 上的对比仿真结果。 第六章是全文的总结和展望。 电子科技大学硕士学位论文 第二章码率控制简介 编码器在对视频序列的各图像进行编码时若选择不同的编码参数,会有不同 输出码率,不同的重建序列质量。h 2 6 4 a v c 中编码参数中有两类信息最重要, 一是预测模式类,由率失真确定;二是量化参数类,由码率控制确定。 为了理解码率控制,首先要了解码率模型。它实际上刻画了输出码率,图像 内容复杂度及编码参数( 通常是量化参数) 之间的一种关系,这种关系可以用来 预测编码器的行为,并用于控制编码器的行为,这是码率控制的基础。 2 1 码率模型简介 在视频编码的发展过程中,出现了各种各样的码率模型。这里介绍几种常见 且重要的码率模型。 2 1 1 对数码率模型 对数码率模型是考虑到r - q 曲线与服从高斯分布的随机变量的率失真曲线具 有一定的相似性【3 5 1 ,其码率公式如下: 1 r = 口+ l 0 9 2 云 ( 2 - 1 ) 蟛 其中,口表示与量化参数q 无直接联系的头信息比特数。该模型没有考虑到 实际视频编码中采用了z i 擎a g 扫描及可变长编码,造成实际码率比( 2 1 ) 式随q 的增加降低得更快。还有一种考虑信源服从拉普拉斯分布的对数模型,t m n 8 的 码率控制中采用该方法,我们将在2 2 1 节讨论。 2 1 2 指数码率模型 该模型认为码率与量化步长成指数关系2 7 】: 6 第二章码率控制简介 r :口+ 导,( o 厂2 ) ( 2 - 2 ) 纱u 7 7 r 口,7 为控制参数,其值依赖于具体编码图像。对控制参数的准确估计 需要对输入序列反复编码,这会带来很大的计算复杂度。 2 1 3 二次码率模型 该模型的出发点是认为信源是服从拉普拉斯分布的, 度量的话,可以得到率失真函数的一个解析表达式【冽: 巾) 乩( 去) 如果失真采用一范数来 ( 2 3 ) 此函数经泰勒级数展开后有: 即) = ( 去一h 去一) 2 州。) ) 即 r ( 。) = 手耖一刍。电+ 恐( 。) ( 2 - 5 ) 恐( d ) 是三次以上的高阶无穷小。简化失真度为量化步长的平均值,文献【2 9 】 提出新的码率模型: r = 口q - 1 + 6 q - 2( 2 6 ) a ,b 是需要估计的参数,这两个参数的估计需要对不同帧类型( i ,p ,b ) 分别进行。考虑到编码内容本身特性已经头信息开销,( 2 6 ) 式可以写成下面的码 率模型: 半:口q t + 6 q 之 ( 2 7 ) 一:n t , + n tjl ,| 、 s 一 。 其中,h 是与量化无关的信息比特数,而s 表示编码内容自身复杂度,通常 可以用m a d ( m e a i l a b s o l u t ed i f | 衙e 1 1 c e ) 、s a d ( s 啪o f a b s o l u t ed i f | 衙e i l c e ) 、m s e ( m e a ns q u a r ee 盯o r ) 等来表示。 7 电子科技大学硕士学位论文 2 1 4 线性p 码率模型 前面的码率模型都是为了寻找码率和量化参数之间的关系。因为量化后为0 的d c t 系数的百分比p 对码率的影响非常大【3 0 】,所以可以将码率模型转化成寻找 码率r 和p 之间的一个关系。这种思想考虑了通常的视频编码系统的特点:量化 后的d c t 系统经z i g z a g 扫描后形成一个个符号,再进行符号编码。而这些符号的 个数与量化的非零d c t 系数的个数密切相关:非零系数越多( 符号数越多) ,则 符号编码后的码率越大;非零d c t 系统的个数越少( 符号数越少) ,则符号编码 后的码率越小。实际上,在文献【3 0 】中认为两者之间存在一个简单的正比关系: r ( p ) = 口( 1 一p ) ( 2 - 8 ) 秒是这个模型中唯一的参量,它反映了信源本身的一些特性,需要估计获得。 由于r 和p 之间有更明确的物理关系,这种码率模型相对而言更准确。 2 2 经典码率控制算法 m p e g 2 【5 1 和h 2 6 3 【3 】是目前应用最广泛的视频编码方法,这两种编码标准都 有各自推荐的码率控制算法:一是基于m p e g 2 的t m 5 【1 2 】中的码率控制算法;二 是基于h 2 6 3 的t m n 8 中的码率控制算法。 2 2 1t m 5 的码率控制 t m 5 考虑了m p e g 2 编码中常采用的g o p 结构,从帧的层次进行比特分配, 又根据虚拟缓存的容量从从宏块级别进行了精细的码率控制,并确定宏块的基准 量化参数,最后根据每个宏块自身的空间特性进行自适应地量化参数调整。 2 2 1 1t m 5 的码率控制流程 t m 5 共有以下三个步骤: 1 目标比特分配:即是帧级码率控制,这一步需要估计出当前编码图像的可用比 特数,这个过程是在编码前进行的。 第二章码率控制简介 2 码率控制:即是宏块层面的码率控制。根据一个虚拟缓存的空满程度,给每个 编码宏块确定一个参考的量化参数( 并非最终的量化参数) 。 3 自适应的量化参数调整:根据每个宏块的空间活动特性,对上一步得到的参考 量化参数进行调整,调整后的量化参数作为最终的量化参数,被用来对编码宏块 进行量化。 2 2 1 1 1 目标比特分配 1 复杂度测量 帧编码复杂度由同编码类型的帧编码信息预测。令s 、s 。、墨分别表示前i 、 p 、b 帧的编码比特数,q f 、q ,、q 为前i 、p 、b 帧的平均量化步长,则待编码 i 、p 、b 帧的复杂度五、彳,、五计算如下: x 。= s ;q i ,xp = s 口q p ,x b = s bq - 设b i u r a t e 为编码码率,则初始复杂度五、t 、五可设置为: 置= 警,= 警,五= 4 1 1 5 。 p 1 1 5 。 。 4 2 6 打,口把 :一 1 1 5 ( 2 - 1 0 ) 2 图像目标比特设置 比特分配是在g o p 层进行,预比特分配的编码比特数取决于帧编码复杂度、 g o p 中剩余的比特数和g o p 中剩余的不同类型待编码帧数。不同类型帧的目标比 特数巧、乙、互计算如下: 枷强 赢 乙= m a x b t tr 口t e r b nr 口t e 以+ 繁8 印配砒一眦 9 ( 2 1 1 ) ( 2 1 2 ) 电子科技大学硕士学位论文 乃= m a ) 【 r 6 豇旭把 6 + 等8 p 一砒 ( 2 1 3 ) 其中r 为g o p 中剩余的可用比特数;以、6 分别为g o p 中未编码的p 、b 帧数;p i c 嘶r a t e 为视频帧率;巧、为取决于量化矩阵的常量。当使用m p e g 2 缺省量化矩阵时,巧、分别去1 o 和1 4 。 在一个g o p 编码完成后和新g o p 开始前,g o p 中剩余比特数更新如下: r :足+ 掣堂丝( 2 1 4 ) p l c t u r er a t e 、。 其中,n 为g o p 长度,单位为帧。在序列开始时,r 为o 一帧编码完成后r 按照下式更新: 尺= r 一墨穰6 ( 2 - 1 5 ) 2 2 1 1 2 码率控制 在州5 中,不同编码类型有各自的虚拟编码缓冲区,设、d p 、d 。分别表 示i 、p 、b 帧缓冲区饱和度。则在编码宏块j ,( 1 ) 时,虚拟缓冲区饱和度计算如 下: 彰讲_ ( 黜 峋 彤铂叫矬 矽讲叫黜 m 其中,b 为该帧中编码到宏块j 前所消耗的比特数;m b l t 为一帧中宏块总 数。 l o 第二章码率控制简介 下一宏块参考量化因子g 计算如下: q ,:型( 2 1 9 ) 。 , 其中反应参数f ( 1 渤甜o np 缀衄e t e r ) 由下式给出: ,:2 丝:竺丝 p t c 抛r e r a t e ( 2 - 2 0 ) 虚拟缓冲区的初始状态为: 以= 等,蚶= 硪,菇= 蚝以 ( 2 - 2 1 ) 2 2 1 1 3 自适应的量化参数调整 计算宏块的空间活动性和宏块实际量化因子。确定宏块量化步长的基本思想 是利用人眼对平滑区域的失真比较敏感的特性,空间活动平滑部分使用较小量化 因子,而具有较高活动性部分使用大量化因子。 宏块的空间活动特性计算如下: 口哆= 1 + m i n ( 泊如,仿如,v 6 魄) ( 2 - 2 2 ) 其中: 诌吃= 击善( 彳一尸一m 阳以。) 2 ( 2 - 2 3 ) p 一脱口2 去善覃 ( 2 卫4 宏块的正规化因子按下式计算: 口:三兰! 竺丝= 竺( 2 2 5 ) 口,= l 二2 _ 一( 2 2 5 ) 一 7 口c f ,+ 2 口惯 口甜 其中:a v g _ a d 为平均宏块活动性,初始值为4 0 0 。 最终的量化步长计算如下: ,拙g “口,z 0 = g 一口c 0 ( 2 - 2 6 ) 2 2 1 2t m 5 的局限 电子科技大学硕士学位论文 1 假设相邻帧的特性相似( 帧级比特分配和宏块级量化参数的自适应调整都以此 为前提) ,导致不能有效地处理场景切换; 2 对不同图像类型各采用一个单独的虚拟缓存,若这三个虚拟缓存不同步,易造 成实际的缓存溢出: 3 码率模型基于量化参数和缓存占有率的线性关系,误差很大,造成图像质量不 统一,且缓存易溢出。 2 2 2t m n 8 的码率控制 n 狲8 的码率控制方法在低码率低延时的视频应用中得到广泛应用。它同样 是通过调整量化参数来实现码率调节。这是一种基于率失真优化的码率控制方法, 因此,该方法首先确定了码率模型和失真模型,然后根据拉格朗日理论来获得一 组最优的编码量化参数( 率失真优化模型) 。在介绍t m n 8 的具体码率控制算法之 前,首先介绍它的数学模型:其中包括码率模型、失真模型、率失真优化模型。 2 2 2 1 数学模型 1 码率模型 码率模型的出发点是经运动补偿后的残差通过d c t 变换后的系数是服从不 相关的方差为仃2 的拉普拉斯分布。矿2 是变换后系数的方差,由于d c t 是正交变 换,因此也是空域残差数据的方差。码率模型近似为: 尺( q p ) =扣p 匆 ,南一2 7 , p盯2盯21 h 2 ( 2 q p ) 2( 2 q p ) 2 2 e q p 是量化参数。式中,上面的不等式在高码率( 对应较小的q p ) 时成立, 下面不等式在低码率( 对应较大的q p ) 时成立。通常t m n 8 的码率控制主要考虑 低码率的应用。 2 失真模型 宏块的失真是对宏块d c t 系数采用量化步长量化后造成的。典型的失真度量 如下式所示: 1 2 第二章码率控制简介 。= 专喜鬈鲁1 2 ( 2 2 8 ) q 是量化步长( 在h 2 6 3 标准中,量化步长是量化参数的2 倍) 。但为了适应 各种码率,删8 引入来加权失真度,即: 。= 专喜彳鬈 对劬定义为: q 2 ( 2 - 2 9 ) 2 争咖专 o 2 ( q 乞。+ 2 ) ,三o ( 2 - 3 9 ) 步骤3 确定第i 个宏块的q p 并编码 对岔2 取整,将得到的结果饱和到 1 3 l 】的范围内,得到q p 。令 d q 蝴= 鲈一,如果d q u 黼2 ,则令d q u 砧订- 2 ,如果d q u a n t 0 并且霞4 5 时,执行 否则,当前的露丢弃,不参与平均值的计算。 对e 有 ( 2 - 4 5 ) ( 2 4 6 ) e :鲥攀+ 拿 ( 2 4 7 ) lz 可以看到,对霞,e 的计算都是通过递归的方式来获得的。 步骤5 - 3 根据初始的墨,q 和平均的霞,e 获得k ,c k = 等+ 墨( ) ( 2 - 4 8 ) c :雩+ c 1 ( 一f ) n ” ( 2 - 4 9 ) 从上面两式可以看到,当只有少量宏块被编码时,k ,c 的值主要是由初始值 确定的,而当当前帧被编码宏块越来越多时,当前估计出的霞,e 就越来越占主 导地位了。这样处理的目的是为了增强估计的鲁棒性。 步骤6 循环条件 如果i n ,i = i + 1 ,转到步骤2 ;否则结束。当然如果有更多的帧需要编码, 则转到帧级跳过处理步骤。 2 2 2 3 优缺点 t m n 8 码率控制算法有如下优点: 1 跳帧处理非常适合低延迟的视频应用; 2 帧级比特分配策略使得b 趋近于常数,非常适合全p 帧编码的码率控制,这 1 7 1 ,一 + c一h、 , o 一 = - k | 筝 电子科技大学硕士学位论文 种编码方式在保证端到端延迟的视频应用中经常使用。 n o t 8 码率控制算法也存在着局限: 1 采用的失真度量( 均方差) 不符合人眼的主观视觉特性。 2 率失真优化强调的是一帧范围内的失真最小,并不保证局部内容质量不产生大 的波动。 2 3 本章小结 码率模型对预测码率大小,确定编码参数,控制编码器的行为有很重要的意 义。一个码率控制算法的好坏,在很大程度上是由码率模型是否准确决定的,因 此本章首先介绍了常见的码率模型;最后,我们讨论了目前最常见的两种码率控 制方法:t m 5 和n 似8 。 第三章h 2 6 劬w c 标准及码率控制算法分析 第三章h 2 6 4 a v c 标准及码率控制算法分析 在经过第二章对码率控制算法相关内容进行介绍后,本章开始讨论本文的核 心内容:h 2 6 4 a v c 的码率控制算法。首先简要介绍标准的编解码框架,然后着 重分析j v t 为其推荐的g 0 1 2 【1 3 】码率控制算法。 3 1h 。2 6 4 a v c 的编解码框架 2 0 0 1 年,m p e g 对h 2 6 l 【3 1 j 草案进行了评估并认识到h 2 6 l 潜在的优越性, 于是m p e g 和v c e g 组成了联合视频专家组j v t ( j o i n t d c ot e 锄) ,进一步完 善h 2 6 l 模型,共同发展新的视频编码国际标准。新标准于2 0 0 3 年3 月正式颁布, 官方名称分别为:i t u tr e c h ,2 “和i s o i e cm p e g 4p a r t1 0a v c ( 简称h 2 “) 。 与以往的视频标准相比,h 2 6 4 虽未作出重大改进,但在多编码模式、编码 参数自适应选择、上下文自适应熵编码、多参考帧的灵活选择、高精度预测、去 方块滤波以及抗误码能力等方面进行了精雕细琢,采取了一系列切合实际的技术 措施,较好地实现了预定的两个主要目标:一是相对于h 2 6 3 和m p e g - 4 ,视频压 缩比提高一倍,或解决5 0 的码率;二是对网络特别是m 和无线网络具有良好的 抗误码能力。 随着数字电视和无线通信逐渐普及,h 2 6 4 的高压缩效率和传输的高可靠性 使得它获得了十分广泛的应用。具体来说,主要支持三个不同档次的应用: 1 基本档次:主要用于“视频会话”,如会议电视、可视电话、远程医疗、远程 教学等; 2 扩展档次:主要用于网络的视频流,如视频点播; 3 主要档次:主要用于消费电子应用,如数字电视广播、数字视频存储等。 和以往的视频标准相同,h 2 6 4 也是基于块匹配的混合编码框架:通过帧内 帧间预测和运动补偿来消除视频序列中的时空冗余,经过变换编码消除统计冗余, 因此,基本的功能模块,例如预测、变换、量化、熵编码都没有发生根本的变化。 电子科技大学硕士学位论文 3 1 1 编码器 图3 1 是h 2 6 4 a v c 编码器的框架结构【3 2 】【3 3 】。编码器包含两条数据流路径, 一条前向( f o 刑a r d ) 路径,从左到右,粗实线表示,和一条重建( r e c o n s 仃u c t i o n ) 路径,自右向左,细实线表示。 图3 - lh 2 6 4 a v c 的编解码框架图 考虑到适应网络传输的需求,h 2 6 4 a v c 编码结构分为两个层次:视频编码 层v c l ( d c o d i n gl a y e r ) 和网络提取层n a l ( n 咖o r ka b s 的c t i o nl a y 盯) 。 视频编码工作主要在v c l 层进行,n a l 层主要完成为适应不同网络传输的数据打 包及头信息设置等。 1 编码器的前向路径 输入的帧或场f n 以宏块( 或宏块对) 为单位被编码器处理,每一个1 6 1 6 宏 块( 1 6 3 2 宏块对) 都被编码器分为帧内( i n t r a ) 和帧间( i n t c r ) 两种模式。无论 哪种模式预测宏块p 都是以重建帧或场f n 1 ( 若为多参考帧或双向预测还有其它 参考帧) 为参考的。当编码器选择h t r a 模式时,p 由当前帧已编码重建的值预测 编码( 图中u f n 即为重建值,未经过滤波的用于预测p ) 。当编码器选择h n e r 模式 时,p 由一个或多个参考帧运动补偿预测得到。每个宏块都可以通过一个或多个时 序上已经被重建的帧预测得到。当预测宏块p 和当前宏块对应相减得到一个残差 宏块d n ,然后d n 将经过整数变化和量化形成x ,x 是一系列量化变换系数的集合, 这些系数将被重新排序并熵编码,熵编码后的残差系数和一些边带信息( 宏块预 测模式,运动矢量,量化步长等) 就形成了h 2 6 4 a v c 的编码压缩比特流。这些 将被传递给n a l 层进行传输。 2 0 第三章h 2 6 4 a v c 标准及码率控制算法分析 2 编码器的重构路径 量化后的宏块系数x 将被解码以重建帧图像用于将来的宏块解码,x 经过反 量化( q 1 ) 和反变化( r 1 ) 形成重建残差d n 。由于量化和变换会产生一定程度 的失真,所以d n 为d n 的失真版本。预测宏块p 和d 。相加就形成重建宏块u f n 。 环路滤波用于减轻重建图像的方块效应,这是h 2 6 4 a v c 的新特性,重建帧由一 系列的宏块f 。组成。 3 1 2 解码器 如图3 - 2 ,解码器从n a l 提取压缩比特流,并进行熵解码和重排序,得到d n 和编带信息,剩下的解码过程与编码器中的重构路径一样,这里不再重复叙述。 图3 2h 2 6 4 ,_ v c 的解码器框架 3 2h 2 c 的码率控制算法介绍与分析 匿卜m 。 e n c o d 。f ” 对比以前的标准,适用于h 2 6 4 a v c 的码率控制算法更为困难,因为它的码 率控制和率失真优化都和量化参数有关,在研究码率控制算法时就会遇到蛋鸡悖 论问题,如下图: 图3 - 3h 2 6 4 ,a 、,c 蛋鸡悖论图 2 l 电子科技大学硕士学位论文 在对当前帧的宏块做率失真优化( i o r a t ed i s t o r t i o ng i p t i i l l i z a t i o n ) 前必 须先确定量化参数( q p q u a l l 矗z 撕o np a r a m e t 神,而量化参数必须得到率失真优化 后的帧或宏块的绝对值均方差( m a d m e a na b s 0 1 1 1 t ed i 自衙c e ) ,才能通过码率 控制( r c r a t ec o n 缸0 1 ) 计算得到。另一个难题是要考虑到信道可能是时变的 ( 汛v 撕a b l eb i tr a t e ) ,而之前的码率控制通常只考虑固定码率信道( c b r c o n s t a n tb i tr a t e ) 。 z g “在g 0 1 2 为h 2 6 4 俄、,c 提出了自适应基本单元层码率控制框架,这 个框架通过引入基本单元层和m a d 线性预测模型解决了上述的蛋鸡悖论问题。基 本单元可以是一帧,一个片或一个宏块。m a d 线性预测模型是通过前帧相应位 置基本单元的m a d 来预测当前帧中基本单元的的。 g 0 1 2 用一个虚拟缓存来使编码过程产生的比特适应时变的信道带宽。该模型 非常接近漏斗模型,是符合假设参考解码器( h r d h y p o t h e t i c a ir e f e r e n c e d e c o d e r ) 【3 6 】,所以缓存不会出现上溢和下溢。 3 2 1 前提知识 1 基本单兀 假设一帧包含m 捌,的宏块。一个基本单元由眠蛔打个连续的宏块组成,其中 m 加打是虬龇的约数,一帧中基本单元的数目为: 耻惫 ( 3 - 1 ) 基本单元可以为宏块,一个片,一场或一帧。以q c ( 分辨率为1 7 6 1 4 4 ) 视频序列为例,帆妣是9 9 。根据上面的定义,虬胁“可以分别是l ,3 ,9 ,1 1 , 3 3 或9 9 ,相应的埘。分别是9 9 ,3 3 ,1 1 ,9 ,3 和1 。 值得注意的是,大的基本单元会有更好的峰值信噪比( p s n r p e a ks i 印a l n o i s er a t i o ) ,同时比特波动也越大,而小的基本单元,比特波动会相应减少,但 p s n r 也会降低。 2 流量往返模型 流量往返模型用来计算分配给当前帧的目标比特。令g d p 表示g o p ( m u po f 第三章h 2 6 4 厂a v c 标准及码率控制算法分析 p i c t i 玳s ) 包含的帧数目,臻。,( 扛1 ,2 ;j f = 0 ,1 ,2 ,6 d p )

温馨提示

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

评论

0/150

提交评论