(通信与信息系统专业论文)h263视频编解码系统优化及实现.pdf_第1页
(通信与信息系统专业论文)h263视频编解码系统优化及实现.pdf_第2页
(通信与信息系统专业论文)h263视频编解码系统优化及实现.pdf_第3页
(通信与信息系统专业论文)h263视频编解码系统优化及实现.pdf_第4页
(通信与信息系统专业论文)h263视频编解码系统优化及实现.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

(通信与信息系统专业论文)h263视频编解码系统优化及实现.pdf.pdf 免费下载

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

文档简介

西北工业大学硕士学位论文 摘要 本文深入讨论和研究了低比特率通信系统中视音频信号的实时处理及优化技 术,并进行了软件实现。其中视频编解码遵循i t u th 2 6 3 协议,音频编解码基于 i t u t6 7 2 3 协议。视音频数据使用r t p 协议进行实时传输,并采用了误码掩盖技 术。 文中首先对视音频信号的编解码方法进行了讨论,在对视音频压缩协议h 2 6 3 和g 7 2 3 进行分析和软件实现的基础上,根据编解码的特点对运动估计和d c t 模 块,利用m m x 技术提出并实现了优化算法。并且针对块匹配运动估计给出了一种改 进的钻石搜索算法代替原有的三步搜索法。实验结果证明,经算法改进和删x 技术 优化的新钻石搜索法远胜于三步搜索法,大大提高了程序运行的效率,使系统达到 了软件实时编解码的需要。然后研究了如何用软件的方法实现视音频数据的采集与 播放,并讨论了视音频数据的同步问题接着讨论了纠错编码,采用r s 编码作为前 向纠错码,提出了一种基于运动特征的自适应误码掩盖方法,并采用r t p 协议进行 视音频数据的实时传输及带宽控制, 本文的研究成果可以直接用于远程教育、视频会议、可视电话、视频监控等各 种通信系统,具有较大的研究价值及广泛的实用价值。 关键字:w x 视频压缩钻石搜索法误码掩盖h 2 6 3 g 7 2 3r t p v f w 西北工业大学硕士学位论文 a b s t r a c t t h i s p a p e rd e e p l y d i s c u s st h ev i d e oa n da u d i or e a l t i m ep r o c e s s i n g t e c h n o l o g ya n di t s o p t i m i z et e c h n o l o g y o fl o wb i t sr a t ec o m m u n i c a t i o ns y s t e m s t h es y s t e mh a sb e e n r e a l i z e dw i t hs o f t w a r e v i d e oc o m p r e s s i o na r cb a s e do nt h eh 2 6 3a l g o r i t h m a u d i o c o m p r e s s i o na r e b a s e do nt h eh 7 2 3 a l g o r i t h m ,d a t at r a n s m i tb yr sc o d ea n dr t p p r o t o c 0 1 a tf i r s tt h i sp a p e rd i s c u s st h em e t h o do fa u d i oa n dv i d e o s i g n a le n c o d e r ,o p t i m i z et h e m o t i o ne s t i m a t ea n dd c tm o d u l e sw i t hm m x t e c h n o l o g y 。an e wd i a m o n ds e a r c h a l g o r i t h m f o rf a s t - m a t c h i n gm o t i o ne s t i m a t i o ni sp r o p o s e dt or e p l a c et h et r a d i t i o n a lt h r e e s t e ps e a r c ha l g o r i t h mi nt h em o t i o ne s t i m a t i o nl e g i o n e x p e r i m e n t sr e s u l t sd e m o n s t r a t e t h a tt h ea p p l i c a t i o no nt h en c wd i a m o n ds e a r c ha l g o r i t h m o p t i m i z e db ym m x h a s m a g n i f i c e n t l yi m p r o v e d t h ee f f i c i e n c yo f c o m p r e s s i o n r a t i oa n dc o m p u t i n g s p e e d t h e ni t i sd i e u s s e dt h a th o wt oc a p t u r ea n d p l a ya n ds y n c h r o n i z et h ev i d e oa n da u d i od a t aw i t h s o f t w a r e e r r o rc o r r e c t i n gc o d ea r ea l s o d i s c u s s e d ,t h er sc o d eh a sb e e nu s e d t o c o r r e c t i n gc o d e nh a sp u tf o r w a r da l d n do fm e t h o do f s e l f - a d a p t a t i o nb a s e do nm o t i o n c h a r a c t e r i s t i ct oc o r r e c t i n ge l t o rc o d e f i n a l l y , b a s e do nt h er t pp r o t o c o l ,r e a l - l i m e t r a n s m i s s i o no fv i d e oa n da u d i od a t ai sr e a l i z e dw i t hs o f t w a r e ,a n dab a n d w i d t hc o n t r o l a l g o r i t h mb a s e d o nl u ti si n t r o d u c e d t h er e s e a r c hr e s u l t so ft l l i sp a p e rc a nb eu s e di nt h el o n g d i s t a n c ee d u c a t i o n v i d e o c o n f e r e n c e ,v i d e o p h o n e ,v i d e or e a l - t i m eco n t r o l ,a n dv a r i o u sk i n d so fc o m m u n i c a t i o n s y s t e m s i th a sg r e a t e rr e s e a r c hv a l u ea n d e x t e n s i v ep r a c t i c a lv a l u e k e y w o r d s :m m xd i a m o n ds e a r c hv i d e o c o m p r e s s h 2 6 3g 7 2 3r 1 1 pr s 2 龋北一业大学硕士学位论文 1 _ _ _ r ”科害 第一章概述 随着数字通信与计算机技术飞速发展,加上网络的普及使得基于英特网的多 媒体业务得到进一步发展。人们对数字视频业务如可视电话、会议电视、安全监 视、远程医疗、远程教育、高清晰度电视( h d t v ) 、视频点播( v o d ) 和网上购物 等产生了越来越浓厚的兴趣。而这些业务的关键技术就是视音频信号的实时编解码 和传输,因而对数字视音频的研究具有极大的现实意义。 长期以来,人们重点研究语音压缩,其算法比较先进,且易于软件实现。目 前,采用线性预测编码可将声音( 以8 k t i z 采样) 压缩到2 4 k b i t s 。而图像部分 由于采样数字化后数据量很大,以q c i f ( 1 7 6 1 4 4 ) 格式计算,活动2 5 帧秒的 真彩活动图像数量达1 5 m b i t ,按目前电话线能保证带宽3 3 6 k b i t s ,除去声音、 控制信息,约有3 0 k b i t s 用于传输图像,压缩比需达5 0 0 :即使每秒只传送5 1 0 帧图像,压缩比为1 0 0 2 0 0 ,实现起来也很困难。这种情况下,图像部分的处理 成为我们面临的主要问题,如果采用先进的视频压缩技术将视频信息的数据量压 缩,可以节省存储空间,提高视频的传输效率,使得视频通信业务成为可能并得到 普及。因此,视频信号的有效压缩成为视频传输系统研究的核心。 过去为了实现视音频信号的实时编解码,多采用硬件的方式,用高性能的专 用数字信号处理( d s p ) 芯片实现。现在随着计算机性能的提高,完全可以用纯软 件的方式来代替,这样做能大大降低系统的成本。而且,随着网络传输速度的提 高,完全可以通过网络来实现视音频信号的实时传输。 目前,图像编码领域的一个热点是通过p s t n 实现可视电话功能,解决问题的 关键是如何在低比特率下进行可靠的视频通讯。i t u _ t 的h 2 6 3 标准是用于低比特 率多媒体通信的,其基本传输率为3 0 k b p s 左右,能够在普通电话线上传输质量可 以接收的视频信号。h 2 6 3 标准作为个成熟的标准,以其高压缩效率和较强的信 道容错能力,已经在低码率图像编码领域获得了广泛丽成功的应用,本系统采用的 视频编解码标准就是改进后的h 2 6 3 + 标准,而音频信号采用的是同样为i t u t 提 出的g 7 2 3 标准。 多年来,c c i t t 、i $ 0 、i t i j 等国际组织积极致力于图像处理的标准化工作并且 成功地制定了一系列的国际标准。例如,在静态图像压缩方面,i s o 推出了j p e g 标准以及后来的j p e g 2 0 0 0 ;在运动图像方面,i s o 推出了用于v c d 的b l p e 6 1 标 准,用于广播电视和d v d 的m p e g 一2 标准,以及用于存储播放场合的低码率运动图 像编码标准m p e g 一4 ,m p e g - 7 ,i s o 推出的用于i s d n 的电视电话会议标准h 2 6 1 , i t u 的用于会议场合的低码率运动图像压缩标准h 2 6 3 以及后来修订的h 2 6 3 + 和 h 2 6 3 + + 标准。这些标准的制定,极大地推动了图像压缩编码技术的发展与应用。 西北工业太学硕士学位论文 垂i :舔,黔l l 睚i 蕊系列鞲瓣牡缩标准 1 m p e g 1 m p e g 一1 制定于1 9 9 2 年,可适用于不同带宽的设备,如c d r o m 、v i d e oc d , 它的目的是把2 2 i m b p s 的n t s c 图像压缩到1 2 m b p s ,压缩比为2 0 0 :1 。传输速率为 1 5 m b p s ,编码速率最高可达4 - 5 m b p s ,其解码后的图像质量有所下降。m p e g i 主 要是针对数字存储媒体,但它也可被用于数字电话网络上的视频传输,如非对称数 字用户线路( a d s l ) ,视频点播和教育网络等。 2 m p e g 一2 m p e g 一2 制定于1 9 9 4 年,是继m p e g 一1 之后,m p e g 推出的又一个视频压缩标 准。其设计的出发点是保持通用性,适用于广泛的应用领域、比特率、分辨率、质 量和服务。它所提供的传输速率在3 m t o m b p s ,是实现d v d 的标准技术,现在d v d 播放器已经在家庭中普及起来了。除了用于d v d 外,还可以为广播、有线电视网、 电缆网络以及卫星直播提供广播级的数字视频。 3 m p e g 一4 m p e g - 4 是1 9 9 8 年公布的标准,旨在将众多的多媒体应用集于一个完整的框架 内,为不同性质的视频、音频数据制定通用的编码方案,提出基于内容的视频对象 的编码标准。它不仅针对一定比特率下( 4 8 0 0 - 6 4 0 0 b p s ) 的视频、音频编码,更加 注重于多媒体系统的交互性和灵活性。为了达到这个目标,m p e g 一4 引入了对象基 表达的概念,用来表达视听对象;m p e g 4 扩充了编码的数据类型。由自然数据对 象扩展到计算机生成的合成数据对象,采用合成对象自然对象混合编码算法;基 于内容的压缩编码是m p e c 研究的热点。肝e g - 4 的编码系统是开放的,为各种多媒 体应用提供一个灵活的框架和一套开放的编码工具,不同的应用可选取不同的算 法。 4 m p e g - 7 m p e g 一7 的正式名称叫做多媒体内容描述接口( m u l t i m e d i ac o n t e n t d e s c r i p t i o ni n t e r f a c e ) ,目的是制定一套描述符标准,用来描述各种类型的多 媒体信息及它们之间的关系,以便更快更有效地检索信息。这些媒体材料可包括静 态图像、图形、3 d 模型、声音、话音、电视以及在多媒体演示中它们之间的组合 关系。m p e g 一7 的应用领域包括:数字图书馆,例如图像目录、音乐词典等;广播 媒体的选择,例如无线电频道,t v 频道等;多媒体编辑,例如个人电子新闻服 务,多媒体刨作等等。 1 n 2 6 1 标准 h 2 6 1 是由i t u t 第1 5 研究小组为在窄带综合业务数字网( n i s d n ) 上开展 p 6 4 k b s 的双向声像业务( 可视电话,会议电视) 而制定的,其中,p = 1 3 0 。 因此,h 2 6 1 也称为p x 6 4 标准。用于可视电话对,p = 2 ,速率只有1 2 8 k b p s ,当 用于会议电视时,建议p 6 ,速率3 8 4 k b p s ,最高可达2 0 4 8 k b p s 。h 2 6 1 只对c i f ( c o m m o ni n t e r m e d i a t ef o r m a t ) 和q c i f 两种图像格式进行处理。在信道速率较 低时,帧率可以降至1 0 帧秒左右。 西北工业大学硕士学位论文 2 h 2 6 3 ( h 2 6 3 + ,h 2 6 3 + + ) 标准 h 2 6 3 标准是在h 2 6 1 的基础上加以改进而形成的,其基本编码结构基于 h 2 6 1 标准。h 2 6 3 相对于h 2 6 1 的主要区别为:以半象素精度的运动估计取代整 象素运动估计:对变换系数使用v l c 熵编码( r u n ,l e v e l ,l a s t ) :用于边信息的 比特数减少,宏块层采用不同于h 2 6 1 的v l c 表:增加了四个可选编码模式:无限 制运动矢量模式、基于语法的算术编码、p b 帧模式、先进预测模式。h 2 6 3 + 及 h 2 6 3 + + 贝i j 在h 2 6 3 的基础上的总结和提高,支持更多的帧类型和图像分辨率,包 含了更多的可选模式来提高压缩效率和增强差错健壮性,已成为一个成熟而完善的 低码率运动图像编解码方案。有关h 2 6 3 系列标准的详细内容将在第二章介绍。 3 h 2 6 l h 2 6 l 是一个长远解决方案,在1 9 9 8 年提出,目标是提供更好的图像质量和 更多的性能;能够以更低的比特率,更小的端到端延迟实现实时通信;能够以较低 的复杂度完成软件实现,且具有自适应的帧率控制机制。标准将面向更广的应用, 主要包括:实时会话业务、网络视频应用、符号语言和视话通信、视频存储和恢复 业务( 如视频点播) 、视频存储和前向业务( 如视频电子邮件) 、基于异种网络的 多点通信等。 本论文的相关课题是与山东某电子公司的合作项目“低比特率视音频传输系 统”,该项目正在持续跟进中系统分为服务器端程序及客户端程序两部分,工作 在w i n d o w s 环境下,视频压缩标准采用1 1 2 6 3 协议、音频压缩标准采用6 7 2 3 协 议、纠错编码采用r s 编码,视音频数据的网络传输遵循r t p 协议,并对传输帧率 有严格要求。 在该系统中,对视音频数据的所有处理,包括压缩、解压和播放都是用纯软件 的方式来实现的。所需的硬件设备包括摄像头、视频采集卡和声卡,用它们来完成 视音频数据的采集,当然对视音频数据的采集也要使用相应的软件程序。其中基于 h 2 6 3 协议的视频编解码,基于g 7 2 3 协议的音频编解码分别作为独立的模块开 发,主要部分采用标准c 语言编写,为了和系统中其它模块结合。在v c + + 6 0 下进 行编译,以动态链接库( d l l ) 形式提供给采集和播放模块几个接口函数,从而实现 整个系统的无缝结合。 本项目完成后已应用于中小学的远程教学中。另外,对编码程序稍加改动,即 可用于图像监控场合的视频报警,也可用于可视电话中。 西北工业大学硕士学位论文 论文中我所做的工作主要有: 深入研究了视频压缩协议h 2 6 3 ,在w i n d o w s 环境下实现软件实时编解码: 深入研究了m m x 技术,根据视频编解码的特点利用m m x 技术提出了优化视频 编解码算法的方法,并于v c 下编译实现; 对h 2 6 3 算法中关键的运动估计部分,提出并实现了改进的钻石搜索算法。 提出了预先判断零运动矢量和全零d c t 块的算法优化方法。编解码后的图像 质量和程序运行速度均有很大提高,达到了实际要求: 讨论了音频压缩协议g 7 2 3 并在w i n d o w s 环境下实现软件实时编解码; 深入研究了视音频信号的实时采集和播放技术并用软件实现; 深入研究了视音频数据的实时传输技术和同步问题,并用软件实现了视音频 数据的同步实时传输和系统对传输带宽的控制; 深入研究了纠错编码,对现有的几种误码掩盖方法进行了比较,提出了一种 基于运动特征的自适应误码掩盖方法,并具体实现; 对整个系统的功能加以完善,加入了部分辅助功能模块。 全文的内容安排如下: 第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章 序论部分,概括了视频压缩编码的目的和必要性,简要介绍了目 前广泛采用的几种视频压缩编码标准,说明了论文主要工作及内 容安排。 视频压缩协议h 2 6 3 ,首先介绍了h 2 6 3 视频编解码器的整体框 架和信源编码的主要部分。然后对软件编解码模块的实现流程和 函数做了较为详细的说明,并对其中关键技术和编码模式的实现 给予了解释说明。 m m x 技术及几种编码优化方法的实现,采用m m x 技术对运动估计 中的s a d 值计算、d c t i d c t 等进行了编程优化。接着提出了进 一步减少运算量的方法:零运动矢置和零系数的提前判断。 钻石搜索算法的实现,先介绍了占编码器主要运算时间的运动估 计,接着重点讨论了改进的新钻石搜索法,通过实验对比分析了 新钻石搜索法的综合性能。 视音频信号的软件实时采集播放的实现,及视音频信号的同步处 理。 纠错编码及传输协议的实现。讨论了r s 编码与误码掩盖方法。 提出了一种基于运动特征的自适应误码掩盖方法。对r t p 协议及 其具体实现进行了详述,并提出了基于r i p 的带宽控制算法。 系统整体结构及各功能模块的介绍。 全文的总结和展望。 西北工业大学硕士学位论文 第二章低比特率视频压缩编码标准h 2 6 3 h 2 6 3 标准的基本结构是基于h 2 6 l 标准,主要针对会议电视,可视电话等低 码率业务。它在信源编码上采用混合编码技术,即利用帧间预测减小时间冗余度, 利用变换编码减小空间冗余度;在传输上采用可变长编码技术,解码恢复中应用半 象素精度运动补偿。 h 2 6 3 标准在图像层选择编码模式,采用帧内编码模式的图像称为i 帧采用 帧间编码模式的图像称为p 帧。p 帧图像中还可以在宏块层选择编码模式,即允许 宏块采用帧间编码或帧内编码。在p b 帧模式下,b 帧图像中的所有宏块都采用帧 间编码模式。而且部分宏块可以采用双向预测技术。采用双向预测技术的宏块称为 b 宏块。 除了基本的视频信源编码外,为了改进性能,h 2 6 3 标准还采用4 个可选的编 码模式:无限制运动矢量模式,先进预测模式,p b 帧模式,基于语法的算术编 码。这些可选模式均可以结合使用或单独使用。 h 2 6 3 采用y c c ,对图像进行描述,即一个亮度分量y 和两个色度分量g 和c ,具体采样方式见图2 1 。r _ g - b 图像须转化为y g c ,图像再进行处理, 图像宽高比4 :3 ,产生频率为3 0 帧秒。 h 2 6 3 定义的5 种标准化的图像格式如下: s u b - q c i f :亚四分之一的公共中间格式 q c i f :四分之一的公共中间格式 c i f ;公共中间格式 4 c i f :四倍公共中问格式 1 6 c i f :十六倍公共中间格式 图2 - 1 亮度和色度的采样位置 x 亮度采样 。色度采样 - 一块边界 x x x x x x o o o x x x x x x x x x x x x o o o x x x x x x _ :-:l x x x x x o 一 0 o x x x x x x 1 1 | i 北一【业人学硕士学位论文 图像各分量的采样分辨率如下:如果亮度分量按照每行d x 个像素点,每帧d y 行采样,则每个色度分量按照每行d x 2 个像素点,每帧d y 2 行采样,如表2 - 1 所 示。 图象格式亮度分量亮度分量色度分量色度分量 ( d x ) ( d y ) ( d x 2 ) ( d y 2 ) s u b - q c i f1 2 89 66 44 8 q c i f1 7 61 4 48 8 7 2 c i f3 5 22 8 81 7 6 1 4 4 4 c i f7 0 45 7 63 5 22 8 8 1 6 c i f1 4 0 81 1 5 27 0 45 7 6 表2 - 1 几种标准分辨率下图像的行数和列数 h 2 6 3 要求所有的解码器必须能够处理s u b q c i f 和q c i f 两种格式的图像,但 不要求一定支持c i f 、4 c i f 、1 6 c i f 三种格式。编码器必须支持s u b q c i f 和q c i f 中的一个,是否支持其他格式由用户自己决定。 h 2 6 3 视频比特流的构成采用分层语法结构。从大到小依次是图像层、宏块组 层、宏块层和块层。每一帧图像被戈 f 分成若干个宏块组( g o b ) 。每个宏块组包含 1 6 行象素,即一个宏块行。f o b 中的数据包括f o b 头信息和宏块数据,f o b 头中可 插入再同步信息,是可再同步的最小单元。宏块组按从上到下的扫描顺序进行编 号,并按编号顺序进行编码和传输。宏块( 惦) 是进行运动估计和补偿的基本单 元,大小为1 6 1 6 。每个宏块包含六个8 8 的块,四个亮度块( y ) 和两个色度 块( c 。、c 。) ,y 、c 。和c 。描述同一个1 6 1 6 的象素块。宏块按从左到右,从上到 下的扫描顺序进行编号,其数据按宏块序号递增的顺序传送。块是进行d c t 的基本 单元,块数据先经过d c t 和量化,然后对结果系数进行变长编码。对于c i f 格式 ( 3 5 2 2 8 8 ) ,每帧图像被划分为1 8 个c o b ,从上到下进行编号,依次是0 , 1 ,1 7 。每个f o b 包含2 2 个1 6 x 1 6 的m b 。 h 2 6 3 信源编码器主要包括预测、块变换和量化,下面给出其编码器结构框 图,并介绍编解码过程。 西北【业大学硕士学位论文 输 入 至 视 频 复 用 墨 图2 2h 2 6 3 信源编码器 t :传输标志,q :码流,q z :量化器信息,v :运动矢量,p :帧内帧间标志 如图2 - 2 所示,源数据进入编码器,当采用帧内编码方式时,直接进行d c t 变 换,量化后形成码流q ,一路q 经反量化、i d c t 变换后形成恢复图像,直接进入帧 存储器;当采用帧间编码方式时,原始图像先与经运动估计后的预测图像相减,产 生差分图像,接着进行d c t 变换和量化,形成码流q 。与帧内编码方式相对应,一 路q 也经反量化、i d c t 变换后与预测图像相加形成恢复图像,送入帧存储器,用 于下一步的运动估计。码流q 、运动矢量v 、帧内帧间标志p 和量化器信息q z 送 入视频复用器,加入头信息后形成视频码流。传输标志t 根据缓冲存储器状态和其 它信息发送,用以控制视频复用器是否接入编码信息,起到调节码流速度的作用。 经o c t 变换后的系数中,直流系数采用固定的量化步长,交流系数采用可变 长的量化器,其量化非常灵活。当缓冲存储器中数据过多时,便增长量化步长,提 高压缩比;反之则减小景化步长,缩小压缩比,以期达到调节码流速度的作用。 在视频复用器中,为方便解码端正确识别起始码字,因而适当地加入填充比 特,以保证起始码的第一个比特是一个字节的首位, 解码过程是编码过程的逆过程。接收码流经复用器分流得到q 、p 、q z 和v , q z 控制量化器步长的选取,p 控制帧内帧间方式的选择,v 送入帧存储器对恢复 图像进行运动补偿,形成重建图像;q 经反量化、i d c t 变换,若为帧内方式编码则 直接输出,若为帧间方式,则与重建图像相加后输出。 采用帧间预测编码可以减小时间域上的冗余度,提高压缩比。如果将上一帧 相同空间位置处象索值作为待编码的当前帧的预测值,这种预测对图像中的静止背 景部分将是很有效的。但是对于运动部分,这种不考虑物体运动的简单的帧间预测 效果并不好。如果有办法在当前帧某象素( 或象素块) 进行预测时知道这个象素 ( 或象素块) 是上一帧的某个位置移动过来的,在做预测时以那个位置上的象素值 西北工业大学硕士学位论文 作为预测值,则预测的准确性将大为提高。我们把这个位置称为运动矢量,求运动 矢量的过程称为运动估值,利用运动估计进行预测编码的技术称为运动补偿。采用 运动补偿帧间预测可使预测的方差大大减小,从而降低码率,提高压缩比。 运动估值技术主要分为两大类:象素递归法和块匹配法。考虑到计算复杂度和 实时实现的要求块匹配法已成为目前最常用的方法,在h 2 6 1 、m p e g 、h 2 6 3 等 有关运动图像编码的国际标准中,均采用了该方法。由于运动估计在整个帧间预测 编码中占用很大一部分时间,所以研究其快速算法具有重要的意义。在第四章中, 将研究几种常用的快速搜索算法,并提出和实现了改进后的钻石搜索算法。 半象素搜索:是先用整象素的精度搜索得到整象素的运动矢量,根据整象素搜 索的结果选择宏块的编码模式( i n t r a 或i n t e r ) ,如果宏块为i n t e r 模式,在整 象素位移矢量的上下左右4 点进行双线性插值,再做运动估计。双线性插值的具体 过程如图2 - 3 所示。通过实验可知,半象素精度运动估计比整象素精度运动估计大 约提高0 5 d b 信噪比。 :0b 0b + 十 整象素精度位置 。od o o 半象素精度位置 c上d十 图2 - 3h 。2 6 3 中的双线性插值 其中a = a ,b = ( a + b + 1 ) 2 , c = ( a + c 十1 ) 2 。d = ( a + b + c + d + 2 ) 4 运动估计后要进行运动补偿,即用运动矢:景指向的参考图像中的宏块作为待编 码宏块的预锲l 值。h 2 6 3 中运动矢量的水平分量和垂直分置都是整数值或者半整数 值。在缺省模式下,这些分量限制在 一1 6 ,一1 5 5 ;在非限制运动矢量模式下,这 一限制扩大为 - 3 1 5 ,3 1 5 。运动矢量的水平分量( 垂直分量) 为正意味着参考 图像中的图像块在被预测图像块的右侧( 下侧) 。在缺省模式下,运动矢量只能指 向图像内部的像素点,不能超出图像边界。对运动矢量的编码采用差分预测和可变 长编码( v l c ) 相结合的方法,即对运动矢量的预测值与真实运动矢量的差值进行 v l c 。在基本模式下,每个宏块只有一个运动矢量( 在先进预测模式下每宏块可有 4 个运动矢量) 。宏块运动矢量( m v ) 的预测值取自左侧宏块矢量( m v l ) ,上方 宏块矢量( m y 2 ) 和右上方宏块矢量( m v 3 ) 三个候选运动矢量的中间值,如图2 4 a 所示。如果相应候选矢量落在图像或块组外,则按以下顺序确定相应候选矢 量: ( 1 ) 若相应宏块为帧内编码或未编码,相应候选运动矢量设为o ; 明北l ,业人学硕士学位论文 ( 2 ) 若与矢量m v l 相对应的宏块在图像外,则m v i = o ,如图2 4 b 所示( 图 中虚线表示图像或块组的边界,下同) ; ( 3 ) 若矢量m v 2 和m v 3 的相对应的宏块在图像或块组边界外,则m v 2 = m v 3 = m v i ,如图2 4 c ; ( 4 ) 若矢量m v 3 相对应的宏块在图像外,则m v 3 = o ,如图2 4 d 。 a m y :当前宏块豹运动矢量 m v l :左边宏块的运动矢量 m v 2 :上方宏块的运动矢量 m v 3 :右上方宏块的运动矢量 酽爵爵 b c - :帕形戚珀n 进界 图2 4 运动矢量预测 d 图像信号在空间域一般具有较强的相关性,因此,先将空间域图像经过某种 正交变换,在变换过程中,使图像变换系数能量相对集中,再对其变换系数进行区 域量化,按其所含能量大小,分配以不同的比特数去描述,这样就可以提高压缩 比。 h 2 6 3 中定义的i ) c t 和i d c t 变换是以大小为8 8 的块为单位进行的, d c t 变换公式定义如下: f ( u - i 1c ) c o ) 圭主,o , y ) c o s 警c o s ( 2 y 矿+ 1 ) v a ( 2 1 ) 相应的i d c t 变换公式为: ( x , y ) 一_ 1 7z 7 c。)c,v)cos譬菩c081(2y+f1)wr4u - o v - o ( 2 _ 2 ) 上0l o 其中,v ,x ,y 一0 1 , ,7 ,z ,y 为象素域的空间坐标,“,v 为变换域的坐标, c 似) ;j 1 2 , h o , c o ) j 1 2 , v = o ( 2 3 ) 、l 】, “= 1 , 2 ,7 、 1 1 , v 一1 , 2 ,7 另外,由于二维d c t 的变换核是可分离的,即二维d c t 可以分解成行方向的 一维d c t 和列方向的一维d c t ,可用两个一维d c t 来实现二维d c t 的功能。通常的 西北工业大学硕士学位论文 做法是:先对输入矩阵做行方向的一维d c t 运算,然后再对中间结果矩阵做列方向 的一维o c t 运算并得到最终的结果。 d c t 系数的v l c 编码,先将8 x 8 块的6 4 个量化d c t 系数按照z i g z a g 扫描 顺序展开成一维系数序列。对此系数序列再进行v l c 编码。由于量化以后出现了 大量的零系数且经过z i g z a g 扫描后增加了连续的零的长度,因此采用这种游程 编码方法能够大大节约编码比特数,提高图像的压缩比。 在h 2 6 3 缺省框架下,帧内编码块的第一个系数( 即直流系数) 使用统一的 量化器,量化步长为8 。量化参数q p 取值在l 3 0 之间,量化阶数为2 q p ,一个 宏块内的量化器必须统一。 视频编码器的输出比特率受很多因素的影响,如视频信号的预处理,量化器 的选择,图像块重要性的判别依据等。以下加以简要介绍。 为了把反变换引入的累计误差控制在一定的范围之内,一个宏块每被传送1 3 2 次,其中必须至少要使用一次帧内编码模式。 为了使起始码的第一位正好是一个字节的最高位,必须在起始码前面插入填 充码字,填充码字一般由少于8 个的零比特组成。这样,每个起始码的最高位距离 h 2 6 3 码流的第一位的长度总为8 的整数倍,这就是字节对齐,所有帧的起始码必 须是字节对齐的。 在h 2 6 3 缺省模式的基础上,为了进一步提高编码效率,h 2 6 3 提供了四个高 级模式,供系统设计者选用。下面逐一介绍这些模式。 西北工业大学硕士学位论文 f0 x 1 7 5 ; y = 1 4 3 y 1 4 3 r 一3 1 5 m v c 0- 3 1 5 s p c - 1 6 j 一1 6 + p c m v c 1 5 5 + p c- 1 5 5 p c 墨1 6 1 0 m v c s 3 1 51 6 5 s p c 3 1 5 该模式用基于语法的算术编码方法代替缺省模式下的可变长编码方法来实现熵 编码,两种方法都是无损编码方法,因此编码图像的质量相同,但是基于语法的算 术编码方法可以把输出比特率降低5 ,6 左右。 在可变长编码的过程中,码元通过码表映射为一个固定长度的二进制码字这 意味着一个码元总是被映射为固定长度的二进制码字。基于语法的算术编码 ( s a c ;s y n t a x b a s e da r i t h m e t i cc o d i n g ) 方法将能克服这一缺点,从而降低编 码输出的比特率。在该模式下,算术编码方法将替代所有可变长编解码过程。 在该模式下,一个宏块可以使用4 个运动矢量代替原来的一个运动矢量,而运 动矢量也可以指向图像区域以外。这种模式能提高帧间预测的准确性,因而在比特 率不变的情况下可以降低方块效应,提高图像的主观质量。 两北工业大学硕士学位论文 在该模式下,p 帧指普通预测帧,b 帧指双向预测帧。p b 帧是由一帧p 帧图像 和一帧b 帧图像组成的一个统一的单元,它的每个宏块包含1 2 个块,前六块图像 数据来自p 帧,后六块图像数据来自b 帧。b 帧的前向运动矢量和后向运动矢量可 根据下式计算: f 圪一( t r b m v ) t r d + m v d m v b - 【( t r b t r d ) m v t r d 当 f 为o m y b m k m v当m 不为0 式中m v 为当前p 帧的运动矢量,t r 。、t r d 分别代表b 帧和当前p 帧与过去p 帧的时间间隔,m v 。为运动矢量估计值与预测值之间的差值。该模式在不明显增加 比特率的同时,把图像的帧速率提高了一倍。 改进的p b 帧模式同p b 帧模式的主要区别是:b 帧允许作前向、后向或双向预 测。并且在改进的p b 帧模式中,不传输运动矢量的增量。 视频编解码程序作为一个单独的模块,编写成一个动态链接库的形式,它运行 在w i n d o w s 环境下,提供八个编解码函数供应用程序调用。 下图2 - 5 是h 2 6 3 编解码器的框图。 图2 - 5h 2 6 3 编解码器框图 1 7 叫北i :业大学硕士学位论文 l t 初始化编码器 2 调用编码函数 有两个编码函数,分别为帧内编码函数和帧间编码函数。帧内编码函数进行编 码时不考虑帧间预测,只进行帧内编码。帧间编码函数除了要进行帧内编码以外, 还要考虑帧间预测。编码器在进行编码时,每隔一定的帧数就要进行一次帧内编 码,这是为了保证误差不会发散。本程序系统选择每l o 帧进行一次帧内编码。 图2 - 6h 2 6 3 编码流程圈 1 初始化模块: 函数名称:i n ti n i t e n c o d e r ( u n s i g n e dc h a r * * e n c o d e r i n p u t ,u n s i g n e d c h a r * * e n c o d e r o u t p u t ,i n tp i c t u r e w ,i n t p i c t u r e h ) : 函数功能:初始化编码器分配内存空间, 参数:e n c o d e r i n p u t :编码器输入缓冲区指针。 e n c o d e r o u t p u t :编码器输出缓冲区指针。 p i c t u r e w :视频帧宽度,必须为1 6p i x e l s 的整数倍。 p i c t u r e h :视频帧高度必须为1 6p i x e l s 的整数倍。 函数名称:i n ti n i t b i t s0 :i n ti n i t i d c t ( ) : 函数功能:设置编码参数,初始化i d c t 及v l c 参数: 2 编码模块: 函数名称:i n te n c o d e o n e i n t r a ( ) : 西北工业大学硕士学位论文 函数功能:帧内编码一帧视频数据 返值:无 函数名称:i n te n c o d e o n e i n t e r0 函数功能:帧间编码一帧视频数据 返值:无 3 帧间编码循环模块: 函数名称:i n tc o d e o n e o r t w o ( ) :i n tf r a m e u p d a t e q p ( ) 函数功能:帧间编码,缓冲区控制 返值:无 4 关闭编码器 函数名称:v o i df r e e e n c o d e r0 : 函数功能:结束编码器,释放编码器缓冲区等。 2 ;甏溱藩“;蛾内女懒 帧内编码流程如下: 图2 7 帧内编码流程图 西北工业大学硕士学位论文 所涉及的主要函数原型及说明: 函数名称:v o i dm b e n c o d e0 函数功能:宏块的d c t 变换 返值:变换后的d c t 系数 函数名称:q u a n t j ) i k 0 函数功能:宏块d c t 系数的量化 返值:无 函数名称:d e q u a n t0 函数功能:宏块系数的反量化 返值:无 函数名称:m b _ d e c o d e 0 函数功能:反量化后系数的i d c t 变换 返值:无 函数名称:i n ts c a n 0 函数功能:对量化系数的z i g z a g 扫描和垂直、水平交替扫描 返值:无 帧间编码涉及函数及实现功能如下 l a k e e d g e l m a g e i n t e r p o l a t e l m a g e 1 l n o t t o n e s t t m a t e p t c t u r e 中 蘑船一 od|l|ereconimagel对珏圈进行i 边缘映射和圈姗l1 l 对整田徽半蠢景 精度的运动估计l 根据运动估计的结果 r出备宏块的运铷页测僵 对预测误差避行蝙解码重建参考帧 函数原型功能描述 帧间预测中最重要的一部分就是运动估计,它是通过调用函数 2 0 西北: 业大学硕士学位论文 m o t i o n e s t i m a t e p i c t u r e ( ) 实现的,在该函数中,完成一帧图像整象素及半象素精 度的运动估计,并决定帧间编码图象中各个宏块的编码模式。以下对该部分的实现 过程做以说明。 函数名:v o i dm o t i o n e s t i m a t e p i c t u r e ( u n s i g n e dc h a r * c u r r _ m b ,u n s i g n e dc h a r * p r e y ,i n ts e e k d i s t ,m o t i o n v e c t o r 州 5 m b r + i m b c + 2 ) : 功能:帧间运动估计,求整象素和半象素精度的运动矢量,为各个宏块选择编码模 式,决定帧间编码宏块采用一个或四个运动矢量。 输入:当前图像,前一帧重建图像,运动搜索范围,运动矢量结构数组 帧间编码流程图如下 图2 :8 帧间编码流程图 下面对解码器的各个步骤加以说明。 1 初始化解码器 銎置。 西北工业大学硕士学位论文 函数名称:i n ti n i t d e c o d e r ( u n s i g n e dc h a r 书 d e c o d e r i n p u t ,u n s i g n e d c h a r * * d e c o d e r o u t p u t ,i n tp i c t u r e w ,i n t p i c t u r e h ) : 函数功能:初始化解码器。 参数:d e c o d e r i n p u t :解码器输入缓冲区指针。 d e c o d e r o u t p u t :解码器输出缓冲区指针。 p i c t u r e w :视频帧宽度,必须为1 6p i x e l s 的整数倍。 p i c t u r e r :视频帧高度,必须为1 6p i x e l s 的整数倍。 2 调用解码函数 函数名称:i n td e c o d e o n e f r a m e ( i n tb i t c o u n t ) 函数功能:解码一帧视频数据。 参数:b i t c o u n t 视频帧的大小。 3 结束解码器 函数名称:v o i df r e e d e c o d e r ( v o i d ) ; 函数功能:结束解码器,释放解码器缓冲区等。 具体解码的过程如图2 9 所示: 图2 - 9h 2 6 3 解码流程图 在编解码过程当中,采用定时器以控制编解码的速率下面以编码过程为例, 说明定时器的工作过程。假设我们要求每秒编码1 5 帧,定时器每隔6 6 7 m s 发出一 个消息,通知编码器开始当前帧编码,若没有收到消息,编码器就处于等待状态, 西北:】:业人学硕十学位论文 通过这种方法来严格控制编码速率,使采集,编码,发送速率相协调。解码过程当 中,定时器的工作方式与此类似。 2 3 本章小结 本章对h 2 6 3 标准进行了简要介绍,对软件编解

温馨提示

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

评论

0/150

提交评论