(光学工程专业论文)h264帧内预测和去块滤波的研究和实现.pdf_第1页
(光学工程专业论文)h264帧内预测和去块滤波的研究和实现.pdf_第2页
(光学工程专业论文)h264帧内预测和去块滤波的研究和实现.pdf_第3页
(光学工程专业论文)h264帧内预测和去块滤波的研究和实现.pdf_第4页
(光学工程专业论文)h264帧内预测和去块滤波的研究和实现.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(光学工程专业论文)h264帧内预测和去块滤波的研究和实现.pdf.pdf 免费下载

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

文档简介

舀j 0 :ll 一 独创性声明 i 燃y 1 714 2 6 3 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 签名: j 坚虹日期:沪产年箩月日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:蝉 导师签名: 日期:w f 。年,月必目 。l - 摘要 摘要 h 2 6 4 视频压缩标准由于具有比以往标准更出色的性能,被人们称为新一代的 视频编码标准。与h 2 6 3 或者m p e g - 4 相比,在同样的图像重建质量下,其数码率 就能降低一半左右:或者说在同样的码率下,其性噪比明显提高。由于其具有良 好的数据压缩性和网络亲和性,大大推动了视频通信和数字电视广播这两大领域 的发展。 本文着重对h 2 6 4 视频解码的帧内预测解码,去方块滤波模块的算法和逻辑硬 件进行了研究。由于帧内预测的各种预测模式中存在着大量的加法和乘法运算, 并且各种预测模式之间也包含一些相同的运算结果,本文通过缩减算法可大大降 低冗余度,并具有较高的并行度。只要当前像素的预测值是前面已经得到的预测 值就可以直接输出,而不用单独重新计算。对外部存储器的读写是和去块滤波的 滤波过程交叉进行的。同时为了减少数据的输出延迟改变了滤波顺序,使其在具 有较小的电路面积和数据吞吐量时依然具有较高的滤波运算能力。整个论文的具 体工作如下: 首先利用j v t 组织提供的h 2 6 4 公开的编解码源码采用m a t l a b 完成对h 2 6 4 解 码模块、去块滤波和帧内预测行为算法的性能仿真和测试激励数据的产生,接着 采用v e r i l o g 完成了对帧内预测和去块滤波2 个目标模块的f p g a 硬件设计,并用 开始m a t l a b 产生的激励数据在m o d e l s i m 下完成了目标电路的功能仿真,与m a t l a b 的仿真数据进行比较来验证电路r t l 级的正确性。最后在x i n l i n x 公司的i s e 开 发软件和v i r t e x i ix c 2 v 6 0 0 0 开发板平台上完成了综合后性能的仿真和验证,并 和m a t l a b 的运行结果进行对比。由于m a t l a b 对数据的精度有要求,因此在做算 法性能分析时采用了2 4 位数据的定点处理。 最终通过验证目标模块能够满足h 2 6 4 基本档次7 2 0x4 8 0 标清视频格式进行 3 0 帧s 的帧内预测解码和去方块滤波的要求。 关键词:帧内预测解码,去方块滤波,缩减算法,电路结构重用。 l a b s t r a ( 了r a b s t r a c t h 2 6 4v i d e oc o m p r e s s i o ns t a n d a r di san e wg e n e r a t i o nv i d e oc o d i n gs t a n d a r dd u e t ot h ee x c e l l e n tp e r f o r m a n c e h 2 6 4d i g i t a lr a t ei sh a l fl o w e rt h a nt h eh 2 6 3a n dm p e g 一4 i nt h es a m eq u a l i t yo fi m a g er e c o n s t r u c t i o n ,i nt h eo t h e rh a n d ,t h es n rs i g n i f i c a n t l y i n c r e a s e dw h e nt h ed i g i t a lr a t ei st h es a m ea st h a to fh 2 6 3o rm p e g 一4 t h ev i d e o c o m m u n i c a t i o n sa n dd i 【g i t a lt e l e v i s i o nb r o a d c a s t i n gw i l lb ep r o m o t e dg r e a t l yb e c a u s eo f e x c e l l e n td a t ac o m p r e s s i o na n dn e t w o r kc o m p a t i b i l i t yo fh 2 6 4 t h ea l g o r i t h m sa n dl o g i ch a r d w a r ei m p l e m e n t a t i o no fi n t r a - p r e d i c t i o na n d d e b l o c kf i l t e rm o d u l e so fh 2 6 4w e r es t u d i e si nd e t a i l i nt h i sd i s s e r t a t i o n b e c a u s et h e r e a r em a n ya d d i t i o n sa n dm u l t i p l i c a t i o n se x i s t e di ni n t r ap r e d i c t i o nm o d u l e sv a r i o u s f o r e c a s tm o d e l s ,a n ds o m eo ft h es a m eo p e r a t i o nr e s u l t sa r ei n c l u d e da m o n gt h e s e v a r i o u sf o r e c a s tm o d e l s ,ar e d u c i n ga l g o r i t h mw a sd e v e l o p e dt or e d u c et h er e d u n d a n c y s i g n i f i c a n t l ya n dg o tah i g hd e g r e eo fp a r a l l e l i s mi n t h i sd i s s e r t a t i o n t h e c u r r e n t p r e d i c t e dp i x e lv a l u ec a nb eo b t a i n e dd i r e c t l yw i t h o u ta a d d i t i o n a lc a l c u l a t i o ni ft h i s p i x e li sp r e d i c t e dp r e v i o u s l y r e a d - w r i t eo p e r a t i o nw a sd e s i g n e db e t w e e n t h ef l i t p r o c e s sa n dt h ef i l t e rc h a n g e ds e q u e n c ei no r d e r t or e d u c et h ed e l a yo fo u t p u td a t a ,i n w h i c has m a l l e rc i r c u i ta r e aa n dah i l g hf i l t e rc o m p u t i n gp o w e rw a sa c h i e v e d t h em a i n w o r ko ft h ee n t i r ep a p e ri sd e s c r i b e da sf o l l o w s : f i r s t l y ,t h ep e r f o r m a n c eo ft h eh 2 6 4d e c o d i n ga n dd e b l o c k i n ga l g o r i t h mw a s s i m u l a t e db ym a t l a bu s i n gc o d e cp r o v i d e db yj v t t h es i m u l a t e dd a t af o rt h eh a r d w a r e t e s tw a sg e n e r a t e da l s oi nt h em e a nt i m e s e c o n d l yt h ev e r i l o gp r o g a mo ft h ec o m p l e t e d i n t r ap r e d i c t i o na n dd e b l c o k i n gf i l t e rm o d u l e sw a sd e v e l o p e d ,t h ec i r c u i tf u n c t i o n a l s i m u l a t i o nw a sp a s s e ds u c c e s s f u l l yi nm o d e l s i mu s i n gs i m u l a t e dd a t ag e n e r a t e di n m a t l a b t h es i m u l a t i o nr e s u l t sp r o v e dt h ec o r r e c t n e s so fr t l - l e v e lc i r c u i t f i n a l l y ,t h e s y n t h e s i z es i m u l a t i o na n dt h ep e r f o m a n s ev e r i f i c a t i o n 、w e r ef i n i s h e du s i n g x i n l i n x si s e s o f t w a r ea n dt h ev i r t e x l ix c v 6 0 0 0b o a r dp l a t f o r m ,t h et e s tr e s u l t sw e r ec o n s i s t e n tw i t h t h em a t l a bs i m u l a t i o nr e s u l t s a l lt h ep e r f o r m a n c ea n a l y s i sa l g o r i t h m sa r eu s e di n2 4 b i t f i x e d - p o i n td a t at om e e tt h en e e do f t h ea c c u r a t eo fd a t a a tl a s t ,t h eu l t i m a t eg o a lo ft h em o d u l e sc a nm e e tt h en e e do ft h ei n t r ap r e d i c t i o n u a n dd e b l o c kf i l t e ra t7 2 0 x 4 8 0s t a n d a r dv i d e of o r m a tw i t h3 0f r a m e s sf i x e d - p o i n td a t a k e y w o r d s :i n t r ap r e d i t i o n ,d e b l o c kf i l t e r , r e d u c t i o na l g o r i t h m ,c i r c u i tr e u s i n g i n t 目录 目录 第一章绪论1 1 1 视频编解码的发展1 1 2 视频压缩编解码原理3 1 3 论文研究内容3 第二章h 2 6 4 视频压缩解码的原理和实现5 2 1 解码器原理5 2 2n a l 单元结构6 2 2 1n a l 单元解码过程:7 2 2 2 图像序列号的计算8 2 2 3 宏块片组映射图的解码8 2 2 4 片数据分割的解码9 2 2 5 参考图像的初始化及其标记过程j 1 0 2 2 6 基于上下文自适应的可变长解码1 1 第三章帧内预测1 4 3 1 电路功能研究1 4 3 1 14 4 大小亮度块的预测模式1 4 3 1 21 6 1 6 大小亮度块的预测模式1 7 3 1 38 8 大小色度块的预测模式1 9 3 2电路结构设计2 0 3 2 1电路结构框图和说明2 0 3 2 2 i n t r a 4 4 _ p r e m o d e _ d e c o d i n g 的设计2 1 3 2 3 i n t r a _ p r e d _ p i p e l i n e 的设计2 3 3 2 4i n t r ap r e d r e g c t r l 的设计2 6 3 2 5 i n t r a _ p r e d _ p e 的设计j 2 7 3 3 实现结果3 1 第四章去块效应滤波3 3 4 1 电路功能研究3 3 4 1 1 数据缓存和重建3 4 i v 目录 4 1 2 边界滤波强度的确定3 5 4 1 3 边界门限判断3 6 4 1 4 滤波过程计算3 8 4 2 电路结构设计4 0 4 2 1 设计思想4 0 4 2 2 滤波电路结构和说明4 l 4 2 3 滤波步骤设计4 5 4 3 实现结果4 8 第五章验证和结论4 9 5 1 验证方案4 9 5 1 1 行为验证5 0 5 1 2r t l 综合验证5 4 5 1 3 整体验证5 7 5 2 结论5 8 第一章绪论 1 1 视频编解码的发展 第一章绪论 网络视频服务器的视频编码技术基本是由i s 0 i e c 制定的m p e g - x 和i t u t 制 定的h 2 6 x 两大系列视频编码国际标准的推出。从h 2 6 1 视频编码建议,到h 2 6 2 3 、m p e g - 1 2 4 等都有一个共同的不断追求的目标,即在尽可能低的码率( 或存 储容量) 下获得尽可能好的图像质量。而且,随着市场对图像传输需求的增加, 如何适应不同信道传输特性的问题也日益显现出来。于是i e o i e c 和i t u t 两大 国际标准化组织联手制定了视频新标准h 2 6 4 来解决这些问题。 j v t ( j o i n tv i d e ot e a m ,视频联合工作组) 于2 0 0 1 年1 2 月在泰国p a t t a y a 成立。它由i t u - t 和i s o 两个国际标准化组织的有关视频编码的专家联合组成。 j v t 的工作目标是制定一个新的视频编码标准,以实现视频的高压缩比高图像质 量、良好的网络适应性等目标。目前j v t 的工作已被i t u - t 接纳,新的视频编码 标准称为h 2 6 4 标准,该标准也被i s o 接纳,称为a v c ( a d v a n c e dv i d e oc o d i n g ) 标准,是m p e g - 4 的第1 0 部分。 h 2 6 4 标准可分为三档:基本档次,主要档次,扩展档次,其中 1 基本档次:利用i 片和p 片支持帧内和帧间预测,支持基于上下文的自适 应长度编码( c a v l c ) ,主要用于可视电话,无线通信等实时视频通信。( 其简单 版本,应用面广) ; 2 主要档次:支持隔行视频,采用b 片的帧间预测和采用加权预测的帧内预 测,支持基于上下文的自适应算术编码( c a b a c ) ( 采用了多项提高图像质量和增 加压缩比的技术措施,可用于s d t v 、h d t v 和d v d 等) ; 3 扩展档次:支持码流之间有效的切换( s p 和s i 片) ,改进误码性能( 数 据分割) 但是不支持隔行视频和c a b a c 。( 可用于各种网络的视频流传输) 。 h 2 6 4 不仅比h 2 6 3 和m p e g - 4 节约了5 0 的码率,而且对网络传输具有更好 的支持功能。它引入了面向i p 包的编码机制,有利于网络中的分组传输,支持网 络中视频的流媒体传输。这都将成为视频编码器新的研发目标。h 2 6 4 具有较强的 抗误码特性,可适应丢包率高、干扰严重的无线信道中的视频传输。h 2 6 4 支持不 同网络资源下的分级编码传输,从而获得平稳的图像质量。 电子科技大学硕士学位论文 h 2 6 4 的特点:h 2 6 4 和h 2 6 1 、h 2 6 3 一样,也是采用i ) c l 变换编码加d p c m 的差分编码,即混合编码结构。同时,h 2 6 4 在混合编码的框架下引入了新的编码 方式,提高了编码效率,更贴近实际应用。h 2 6 4 没有繁琐的选项,而是力求简 洁的“回归基本”,它具有比h 2 6 3 + + 更好的压缩性能,又具有适应多种信道的能 力。h 2 6 4 的应用目标广泛,可满足各种不同速率、不同场合的视频应用,具有 较好的抗误码和抗丢包的处理能力。h 2 6 4 的基本系统无需使用版权,具有开放 的性质,能很好地适应i p 和无线网络监控的使用,这对目前因特网传输多媒体信 息、移动网中传输宽带信息等都具有重要意义。尽管h 2 6 4 编码基本结构与h 2 6 1 、 h 2 6 3 是类似的,但它在很多环节做了改进。 性能优势:h 2 6 4 与m p e g - 4 、h 2 6 3 + + 编码性能对比采用了以下6 个测试速 率:3 2 k b i t s 、l o f s 和q c i f :6 4 k b i t s 、1 5 f s 和q c i f ;1 2 8 k b i t s 、1 5 f s 和 c i f :2 5 6 k b i t s 、1 5 f s 和q c i f ;5 1 2 k b i t s 、3 0 f s 和c i f ;1 0 2 4 k b i t s 、3 0 f s 和c i f 。测试结果标明,h 2 6 4 具有比m p e g 和h 2 6 3 + + 更优秀的p s n r 性能。h 2 6 4 的p s n r 比m p e g - 4 平均要高2 d b ,比h 2 6 3 + + 平均要高3 d b 。 国内外对h 2 6 4 研究主要在两个方面:算法研究和硬件实现。算法研究包括有 模式选择的快速算法,及码率控制的新算法,视频内容的加密等。硬件实现方面 即硬件架构的研究,包括f f g a d s p ,a r m 等。对不同行业再实现方面又不全相同, 有用于医疗,通信等。对不同需要也分实时和非实时的编解码,以及网络媒体的 研究。传输通信中的容错恢复,快速帧间模式选择。由于h 2 6 4 暂时还没有替代 m p e g 2 ,所以转码研究也较多。至于成熟芯片离满足市场需求还有一段距离。f p g a 与传统逻辑电路和门阵列具有不同的结构,f p g a 利用小型查找表来实现组合逻辑。 f p g a 的这种结构允许无限次的重新编程。由于f p g a 的性能和灵活性,以及新的简 明的设计和实施方法,在很多新兴d s p 应用领域,如数字通信和视频处理,f p g a 都 成为优选的解决方案。随着f p g a 库中的d s p 核不断增加,设计人员可以在比采用 a s i c 方案或多处理器解决方案所需要的时间短得多的时间内就完成一项d s p 设计。 由于h 2 6 4 视频编码过程中不涉及到任何浮点数运算,特别适合采用f p g a 硬件电路 来实现,这样具有较高的运算速度和并行度;随着f p g a 库中可以利用的i p 软核的 增加,可以大大节约开发过程所需要的时间,特别是d s p 内核的出现可以把整个系 统集中到一块芯片上,大大降低了功耗,因此研究h 2 6 4 编码器的f p g a 实现。 2 第一章绪论 1 2 视频压缩编解码原理 数字视频压缩的目标是在尽可能保证视觉效果的前提下减少视频数据量。视 频压缩比是压缩后的数据量与压缩前的数据量之比。视频压缩按照算法原理可以 分为预测编码,变换编码,统计编码,子带编码,基于模型编码和其他。本课题主要 涉及了预测和统计编码。 预测法是最简单和实用的视频压缩编解码方法,经过压缩后传输的并不是像 素本身的取样值,而是该取样的预测值和实际值之差。同一副图像的临近像素之 间有着相关性,或者说这些像素值相似,临近像素之间发生突变的概率很小,而 且同帧图像中临近行之间对应位置的像素之间也有较强的相关性,利用这些性质 进行视频压缩的编解码。预测解码包括帧内预测解码和帧间预测解码,帧间预测 编码的编码效率比帧内预测更高。 利用信源的统计特征进行码率压缩的编码方式称为熵编码,也叫统计编码。 视频编码常用两种:变长编码( 哈夫曼编码) 和算术编码。其中变长编码是指对 出现概率大的符号分配短字节的二进制码,对出现概率小的符号分配长字长的二 进制码,得到符号平均码长最短的码。变长编码也称为最佳编码。算术编码和哈 夫曼编码不同,不采用一个码字代表一个信息符号的方法,而采用一个浮点数来 代替一串输入符号,经算术编码后输出一个小于l ,大于或等于0 的浮点数,在解 码短在进行正确,唯一地解码,恢复原符号序列。在h 2 6 4 中对残差数据一般采用 背景自适应可变长度编码( c a v l c ) ,而对其他数据采用哥伦布编码( e x p - g o l o m b c o d e ) ,本文的残差数据解码也就是c a v l c 解码。 1 3 论文研究内容 在整个h 2 6 4 解码系统中,由于帧内预测解码存在着各种预测模式,因此具有 较高的算法复杂度,使得它的解码速率很慢,很多时候不能满足实际解码需要。 因此对于研究如何快速实现帧内预测解码具有实际的意义。同时去块滤波约占整 个h 2 6 4 解码三分之上的运算,如何在满足条件的情况下尽可能的减少电路面积, 并且使它具有较好的可移植性具有实际的理论和应用意义。为了克服上述问题, 本文开展了下面两部分的研究:h 2 6 4 视频解码中帧内预测和去块滤波算法的研究 和f p g a 硬件实现。 电子科技大学硕士学位论文 本文的具体内容安排如下: 第一章介绍了视频编解码的发展历程和当前常用的一些编解码原理,同时通过 比较说明了h 2 6 4 视频编解码技术的优越性和研究意义。 第二章研究了整个h 2 6 4 视频解码技术,对解码器原理和解码流程做了详细的 介绍。 第三章研究了h 2 6 4 视频解码中帧内预测算法,对各种f p g a 的硬件实现进行 了比较,选择了一种改进的硬件实现方法,讨论了硬件实现过程中存在的问题。 第四章研究了h 2 6 4 视频解码中去块滤波算法,对各种算法的优越性能进行了 比较,选择了一种改进的算法并用f p g a 进行硬件实现,讨论了硬件实现过程中存 在的问题。 第五章对前两章中的帧内预测和去块滤波进行了f p g a 的时序仿真,并且利用 m a t l a b 编解码模型作为验证模型进行了验证。 第六章对工作进行了总结并且对未来的进一步研究和改进h 2 6 4 视频解码的 f p g a 硬件实现提出了方向。 4 第二章h 2 6 4 视频压缩解码的原理和实现 第二章h 2 6 4 视频压缩解码的原理和实现 2 1 解码器原理 h 2 6 4 包含视频编码层( v c l ) 和网络提取层( n a l ) 。v c l 包括核心压缩引擎和 块,宏块及片的语法级别的定义,它的设计目标是尽可能的独立于网络的情况下 进行高效的编解码,而n a l 则负责将v c l 产生的比特字符串适配到各种各样的网 络和多元环境中,它覆盖了所有的片级以上的语法级别,同时支持以下功能:独 立片解码,起始码唯一保证,s e i 以及流格式编码数据传送。 总体来说,v c l 解码器负责将符合h 2 6 4 码流规范的压缩视频流解码,并进行 图像重建。根据如图2 - 1 所示的解码器框图,h 2 6 4 基本的解码流程如下:解码器从 n a l 中接收压缩的比特流,经过对码流进行熵解码和重排序获得一系列二维的量化 系数x ;这些系数经过反量化和反变换得到残差数据d ;解码器使用从码流中解码 得到的头信息创建一个预测块( p r e d ) ,预测块( p r e d ) 与残差数据块( d ) 求和 得到图像块数据( u f ) ;最后每个u f 通过去方块滤波得到重建图像的解码块( f ) 。 由于本文的主要研究对象是h 2 6 4 基本档次的帧内预测和去块滤波的宏块解码,所 以熵解码只考虑了亮度和色度残差系数的解码,即c a v l c 解码。 图2 1 解码器功能框图 为了更加清晰的说明解码器的工作流程,采用如图2 2 所示的解码流程图来 说明一帧酎像的的完整解码过程。a 框中的n a l 单元边界检测和单元解码将在2 2 1 节中介绍;在2 2 2 节中将介绍解码过程中所使用到的一个重要参数和参考图像 序列号的计算方法;2 2 。3 节中将对b 框中宏块片组映射图的产生过程;2 2 4 节 对片数据分割的解码过程做阐述;d 框的参考图像列表初始化和e 框的参考图像存 电子科大学硕士学位论文 储和列表后处理将在2 2 5 节做介绍。本课题主要研究的是解码流程图中宏块的 解码。 2 2n a l 单元结构 图2 - 2 解码流程图 早期的视频压缩标准总是集中于比特流的概念,高层语法元素被编码分割, 以允许比特流发生误码时进行重同步。而在h 2 6 4 a v c 标准中,n a l 则是以n a l u ( n a lu n i t ) 为单位来支持编码数据在基于分组交换技术网络中的传输的。它定义了 符合传输层或者存储介质要求的数据格式,同时给出头信息,从而提供了视频编 码与外部世界的接口。网络层和传输层的r t p 封装只针对基于n a l 单元和本地n a l 接口,且每个n a l 单元只包含整数个字节。由于本文是针对基本档次的h 2 6 4 解 码,所以主要阐述i 帧和p 帧的解码。即图2 3 中模式1 ,2 ,3 ,5 的解码。其中片 分割a 包含片头和片中每个宏块头的数据,分割b 包含帧内和s i 片宏块的编码残 差数据,分割c 包含帧间宏块的编码残差数据。如果分割a 片数据丢失,它对整 个解码的影响是最大的,可能导致不能重建片数据。 6 电子科大学硕士学位论文 须产生数值相同的结果,且必须符合规范定义的解码过程的标准。 2 2 2 图像序列号的计算 在h 2 6 4 中图像序列号( p o c ) 主要用于标识图像的播放顺序,同时还可用于 在对帧间预测片解码时,标记参考图像的初始图像序号,表明下列情况下帧或场 之间的图像序号的差别:使用时间直接预测模式的运动矢量推算;b 片中使用固有 模式加权预测时;解码器一致性检测时。 其中对于每个编码帧有2 个图像序列号,分别为顶场序列号( t f _ c n t ) 和底 场序列号( b f 一c n t ) ,对于每个编码场有一个图像序列号,分别指明了相应的帧图 像的顶场底场相对前一个i d r 图像( 或解码顺序中前一个普通片解码的参考图像) 第一个输出场的位置。由于h 2 6 4 使用b 帧预测,使得图像的解码顺序不一定等于 播放顺序,但是他们之间存在一定的映射关系,h 2 6 4 一共定义了3 中p o c 的计算 方法。具体的计算方法见( 参考文献3 ) ,通过句法元素图片序列号类型p i c _ o r d e r _ c n t t y p e 来通知解码器如何计算p o c 。对于一个编码i d r 帧的2 个场,t f _ c n t 和b fc n t 中至少有一个等于0 。由于本文呢主要是针对帧内预测和去块滤波进行 研究,所以只需要考虑i d r 帧。 2 2 3 宏块片组映射图的解码 片组是一个编码图像中若干个m b 的一个子集,他包含一个或若干个片,在一 个片组中,每片的m b 按光栅扫描次序进行编解码,如果每副图像仅取一个片组, 则该图像中所有的m b 均按光栅扫描次序编码,还有一种片组,叫灵活宏块次序( f m o ) ,把编码m b 序列映射到解码图像中。m b 的分配用m b 到片组之间的映射来确定, 它表示每一个她属于哪个片组。m b 到片组的映射有7 种类型:交错,散乱,前景 和背景,b o x - o u t ,光栅扫描,手绢,显示。具体情况见图2 4 ( a _ f ) 。解码器在对 每个片解码之前,首先需要基于当前有效图像参数集和需解码片头( 片a ) ,产生 宏块片组映射图变量( m b t o s l i c e g r o u p m a p ) ,即把片组图单元转换成宏块片组图, 它是通过计算片组单元变量( m a p u n i t t o s l i c e g r o u p m a p ) 来得到的。且此变量对 于一个接入单元中所有的片均有效。对于片组映射d - f ,还要结合片组变化方向标 记( s l i c e g r o u pd i r e c t i o n f l a g ) 来确定映射模式。以映射模式d 为例,当s 1 i c e g r o u p _ d i r e c t i o n f l a g = o 表示顺时针盒装展开,反之为逆时针。 8 第二章h 2 6 4 视频压缩解码的原理和实现 2 2 1n a l 单元解码过程 图2 - 3n a l 单元解码 一个n a l 单元结构上是一个包含一定语法元素的可变长字节的字符串,例如 n a l 单元可以携带一个编码片:a ,b ,c 型数据分割,一个序列或图像参数集。每个n a l 单元有一个字节的头( n a l u ) 和一个包含可变长编码符号的字符串组成的原始 字节序列负荷( r b s p ) 。头部含有三个定长8 比特区,包括n a l u 的类型( t ) ,n a l u 单元的重要性( r ) 和隐藏比特位( f ) 。t 用5 b i t 来表示n a l u 的3 2 种类型特征, 其中类型1 - 1 2 是h 2 6 4 定义的,其余用于r t p 负荷规范使用其中的一些值来定义 包聚合和分裂。r 比特用于在重构过程中标记一个n a l 单元的重要性,当r = 2 7 b o 0 ,表示这个单元没有用于预测,因此可被解码器抛弃而不会有错误扩散,其值高 于o 时,表示此n a l 单元要用于无漂移重构,其值越高对此n a l 单元丢失的影响 越大。f 位主要用于适应不同种类的网络环境( 比如有线无线相结合的环境) ,默 认设置为0 ,当单元中存在比特错误时,可将其设置成l 。 在进行n a l 单元解码前,首先通过r t p 协议解析( 采用r t p 封装) ,或者通过 起始码检测( 采用比特流方式) ,从传输码流中获取n a l 单元数据。n a l 单元的解 码的总体流程是:首先从n a l 单元中提取出r b s p 语法结构,然后按照如图2 3 所 示的流程处理r b s p ,对于n a l 解码输入为n a l 单元,输出为当前图像的样点值。 类型为7 ,8 的n a l 单元中分别包含了序列参数集和图像参数集,它们在其他n a l 单元的解码过程中作为参数使用。在h 2 6 4 规范中:对于同一码流所有的解码器必 7 第二章h 2 6 4 视频压缩解码的原理和实现 ( a ) 交错( b ) 散乱( c ) 前景和背景 ( d ) b o x o u t( e ) 光栅扫描( f ) 手绢 图2 4 片组映射 ( a ) 交错:m b 被依次分配给每一个块组 ( b ) 散乱:每一片组中的m b 被分散在整个图像中 ( c ) 前景和背景:例如图2 - 5 的c 所示 ( d ) b o x - o u t :从帧的中心开始,产生一个箱子,其按照方向的m b 属于片组0 , 其他的宏块m b 属于片组l 。 ( e ) 光栅扫描:片组0 包含按光栅扫描次序从顶左的所有m b ,其余的m b 属于片 组1 。 ( f ) 手绢:片组0 包含从顶左垂直少苗次序的m b ,其余的m b 属片组l 。 ( g )显示:每一m b s l i c e g r o u p _ i d 用于指明它的片组。( 即m b 映射完全是由用 户定义的) 。 2 2 4 片数据分割的解码 解码器根据一个片的a 型数据分割r b s p ,还有一个属于同一片的b 型数据分 割r b s p 或c 型数据分割r b s p ,来产生一个完整的编码片。当不使用片数据分割时, 编码片只有一个片层,没有数据分割r b s p 。分割r b s p 包含一个片头,后跟包含了 片中宏块数据的分类2 - 4 语法元素( 图2 - 3 ) 的一个片数据语法结构;当使用片数 据分割时,片中的宏块数据分割成卜3 个分割并位于单独的n a l 单元中,分割a 包含一个片数据分割a 头部和所有的第2 类语法元素。分割b 包括一个片数据分 割b 头部和所有的第3 类语法元素。分割c 包括一个片数据分割c 头部和所有的 第4 类语法元素。其中,第3 类语法元素与i 和s i 宏块类型的残差数据的解码有 关。第4 类语法元素与p 和b 宏块类型的残差数据的解码有关。第2 类包含了所 9 电子科大学硕士学位论文 有其他的宏块解码相关的语法元素,这些信息通常称为头信息。片数据分割a 的 头部包含了片头的所有语法元素,还有用来关联相应的分割b 和分割c 的元素s 1 i c e i d ,分割b 和c 的头只包含s li c e - i d ,用于建立与相应的分割a 的联系。 一个视频图像可以编码成一个或更多的片,每片包含整数个宏块( m b ) ,即每 片至少一个她,最多时每片包含整个图像的宏块。编解码片共有5 种不同的类型: i 型,p 型,b 型,s p 型,s i 型。后两种出现在扩展档次编解码中。片数据的结构 如图2 - 5 。 图2 - 5 片的句法结构 2 2 5 参考图像的初始化及其标记过程 根据图2 - 2 的解码整体流程可知,解码器在完成一副图像的解码后,需要对 已经解码图像进行存储处理,如果此图像用于其他图像的参考,同时还要进行已 解码图像的标记工作。当参考图像标记r e f - i d c = o 时,不需要进行这个操作,当r e f i d c 不等于0 的已解码图像,如果要做一个参考图像,将被标记为“用于短期 参考 或“用于长期参考”。 标记为“用于短期参考 或“用于长期参考”的帧或者参考场对可在帧解码 时用于帧问预测的参考,标记为“用于短期参考 或“用于长期参考 的帧或者 参考场可以在场解码时用于帧间预测的参考,当一个帧或它的某个场标记为“不 用于参考”,它们将从参考列表中删除。解码器使用图像序号p i c n u m 标记一个短 期参考图像,用图像序号l o n g t e r m p i c n u m 标记长期参考图像。参考图像通过参考 索引来进行标记,一个参考参考索引就是一个变量p i c n u m 和l o n g t e r m p i c n u m 的 数组下标,此数组成为参考图像列表。它们的具体计算方法见图2 - 6 ,解码器在对 p s p 或b 片的片头解码时要进行参考图像列表的初始化,生成已初始化的参考图 像列表r e f p i c l i s t o 和b 片解码时所需要的r e f p i c l i s t l 。它们的各分量使用p i e 1 0 第二章h 2 6 4 视频压缩解码的原理和实现 n u m 和l o n g t e r m p i c n u m 进行初始化。如果r e f p i c l i s t x i 使用l o n g t e r m p i c n u m , 将l o n g t e r m e n t r y i 设置为1 ,否则为0 。对于每个短期参考图像,其中图2 - 6 中 变量f r a m e n u m 和f r a m n u m w r a p 的计算过程如下: 首先,f r a m e n u m 设置成相应的短期参考图像的片头中解码所得到的语法元素 f r a m e n u m ,即当前帧序号,然后变量f r a m e n u m w r a p 这样计算,如果f r a m e n u m 大 于当前图像片头的f r a m e n u m ,则f r a m e n u m w r a p 等于f r a m e n u m 减去m a x f r a m e n u m , 否则f r a m e n u m w r a p 等于f r a m e n u m 。对于每个长期参考图像,分配一个l o n g t e r m p i c n u m 变量,对于每个短期参考图像,分配一个p i c n u m 变量。 一个图像在参考图像滑窗标记过程( 采用先进先出) 或者参考图像自适应内 存控制标记过程( 采用客户自适应标记机制) 时,进行“不用于参考”的标记。 由于参考图像这一块主要用于帧间预测,本文不涉及帧间预测,所以不做过多阐 述。 图2 - 6 图像序号的计算 2 2 6 基于上下文自适应的可变长解码 i 在h 2 6 4 的c a v l c ( 基于上下文自适应的可变长编码) 中,通过已解码句法元素 的情况动态调整编码中使用的码表,取得极高的压缩比。c a v l c 主要用于亮度和色 度残差数据的编码。残差数据经过变换量化以后的数据表现出如下的性质:4 4 电子科大学硕士学位论文 残差块数据经过预测,变换,量化后,非o 系数主要集中在低频部分,而高频部 分大部分为0 ,即在4 x 4 残差系数矩阵块里面左上角的数据为非0 ,其余绝大部 分为o 。这些数据经过锯齿( z i g - - - z a g ) 扫描后为数据压缩做准备。d c 系数附近 的非0 系数较大,而高频位置上的非o 系数大部分为+ l 和一l :相邻的4 x 4 块的非 0 系数的数目是相关的,利用相邻已编码符号所提供的相关性,为所有编码的符号 选择合适的上下文模型,在c a v l c 中,上下文模式的选择主要体现在2 个方面: 非零系数解码所需表格的选择和拖尾系数后缀长度的更新。c a v l c 解码可以充分利 用这些特性还原数据中的冗余度。c a v l c 的解码流程图如图2 - 7 :在解码程序流程 图中,第一步根据输入的参数求得输入数据的块类型,输入数据的个数等参数, 这是初始化工作。随后求变量n c ,并根据n c 的值来选择所需要的表格,其中变量 n a 表示与当前块相邻的左边块中非零系数的个数,n b 表示与当前块相邻的上面块 图2 - 7c a v l c 解码流程 中非零系数的个数。系数标志符c o e f f - t o k e n 是一个句法元素,它作为输入参数 可以通过查表求的非o 系数总个数( t o t a l c o e f f ) ,拖尾系数的个数 1 2 第二章h 2 6 4 视频压缩解码的原理和实现 ( t r a i l i n g o n e s ) ,然后再用接收到的码流解码拖尾系数符号,l 表示- i ,0 表示 + l :最后通过t o t a l c o e f f 求的零的总数( t o t a l z e r o s ) 。 在图2 - 8 是拖尾系数之外的其它非零系数的求解流程。首先根据条件初始化 变量s u f f i x l e n g t h 的值,随后进入非零系数循环求解的过程中。由于拖尾系数在 前面已经求解好了,所以这里求解的循环次数是t o t a l c o e f f - t r a i l i n g o n e s ,在 循环过程中的中间变量l e v e l c o d e ,通过它选择不同的公式求解非零系数,最后是 变量s u f f i x l e n g t h 的更新,如果已经解码好的非零系数的大于预先设定好的阂值, 变量s u f f i x l e n g t h 加1 ,否则保持不变。至于每个非零系数前0 的个数

温馨提示

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

评论

0/150

提交评论