已阅读5页,还剩59页未读, 继续免费阅读
(信号与信息处理专业论文)h264基本流分析仪的软件设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要中文 两姜 与传统的广播电视压缩标准相比较,下一代的视频压缩标准具有明显的带宽 优势,具有减少成本和增加业务项目的良好前景,并且不会损害视频质量。因而 对于未来的高容量消费产品如d v b - h 移动电话、宽带d s l 机顶盒和高清晰度d v d 来说,下一代的视频压缩标准( 如h 2 6 4 a v c ) 显得愈来愈重要。在这些电子产 品中所使用的“基本流 就是压缩视频的原始码流。对于半导体制造商、消费电 子和专业视频设备制造商、视频网络运营商以及移动电话设备制造商和运营商中 的工程技术人员而言,他们需要一种专业的分析检测工具能帮助他们迅速开发出 新的器件、新的产品或新的业务,使他们在经济上受益,并且能随着标准的发展 而更新。为了使采用上述技术的开发商、制造商有能力有信心地设计和测试使用 下一代的压缩标准的设备和器件,开发一个功能完善的基本流分析仪便成为一件 追在眉睫的事情。 本文介绍了我们开发的h 2 6 4 基本流分析仪的功能特点,并详细阐述了本 人负责的功能模块的实现过程。 h 2 6 4 基本流分析仪是基于w i n d o w s 平台的高性能软件,可用来比较和评估 各种不同的压缩算法和压缩工具,分析某种视频编解码器( 压缩解压缩算法) , 以及详细比较各种视频编解码器或某种编解码器各个版本的互操作性。该软件可 对h 2 6 4 基本流提供详尽的分析和实时的错误检测和报告,对解码视频图像进行 实时显示,并可以在屏幕上对其实现快进、单进、单退、暂停、播放。在该项目 中,本人主要负责基本流视频解码回放功能模块、信息提取和错误检测功能模块、 将宏块信息叠加在解码视频图像以及软件优化的研究。考虑到用户使用的方便性 和二次开发的便利性,本基本流分析软件提供了分析记录、错误记录文件和动态 链接库。本文对开发的各个功能模块的理论基础和实现方法都做了详细的描述, 这些功能模块的研发任务现已基本完成。 关键词:h 2 6 4 ,基本流分析仪,视频解码,分析检测,动态链接库 a b s t r a c t n e x tg e n e r a t i o nc o m p r e s s i o ns t a n d a r d ss u c h 嬲h 2 6 4 a v cp r o v i d es i g n i f i c a n t b a n d w i d t ha d v a n t a g e so v e rt r a d i t i o n a lb r o a d c a s tc o m p r e s s i o ns t a n d a r d sa n do f f e rt h e p r o s p e c to fr e d u c e dc o s ta n da d d i t i o n a ls e r v i c e sw i t hn oc o m p r o m i s ei nv i d e oq u a l i t y t h e ya r eb e c o m i n gc r i t i c a lf o rf u t u r eh i g hv o l u m ec o n s b n l e rp r o d u c t s ,s u c ha s d v b hm o b i l ep h o n e s ,b r o a d b a n dd s ls e tt o pb o x e sa n dh i g hd e f i n i t i o nd v d t h e ”e l e m e n t a r ys t r e a m ”u s e db yt h e s ed e v i c e si st h ef u n d a m e n t a ls t r e a mo fc o m p r e s s e d v i d e o i ti sn e c e s s a r yf o rs e m i c o n d u c t o r , c o n s u m e re l e c t r o n i c s ,p r o f e s s i o n a lv i d e o e q u i p m e n tm a n u f a c t u r e r s ,v i d e on e t w o r ko p e r a t o r s 硒w e l la s m o b i l ep h o n e e q u i p m e n tm a n u f a c t u r e r sa n do p e r a t o r st oi n v e s t i g a t ea n da n a l y z ec o m p r e s s e dv i d e o d a t at h a th a sb e e ne n c o d e du s i n gt h e s ev i d e os t a n d a r d s t h e s eu s e r sn e e dt o o l st o d a y t oh e l pt h e mq u i c k l yl a u n c ht h e i rn e wd e v i c e ,p r o d u c to rs e r v i c ea n dr e a l i z et h e r e v e n u es t r e a m ah i g h - l e v e le sa n a l y z e ri si ng r e a tn e e dt oe n a b l ed e v e l o p e r sa n d m a n u f a c t u r e r so ft h e s et e c h n o l o g i e st oc o m p e t e n t l ya n dc o n f i d e n t l yd e s i g na n dt e s t d e v i c e su s i n gt h e s en e x tg e n e r a t i o nc o m p r e s s i o ns t a n d a r d s t h ef u n c t i o n so fh 2 6 4e l e m e n t a r ys t r e a ma n a l y z e ra r ei n t r o d u c e di nt h i sp a p e r t h es o f t w a r ed e s i g na n di m p l e m e n t a t i o no fh 2 6 4e sa n a l y z e ri sp r e s e n t e di nd e t a i l h 2 6 4e l e m e n t a r ys t r e a ma n a l y z e ri sah i g h - p e r f o r m a n c es o f t w a r eb a s e do n w i n d o w sp l a t f o r m , a n dc a nb eu s e dt ov e r i f ys t a n d a r d sc o m p l i a n c e ,a n a l y z et h e p e r f o r m a n c eo fav i d e oc o d e c ( c o m p r e s s i o n d e c o m p r e s s i o na l g o r i t h m ) ,a n dc o m p a r e i nd e t a i lt h ei n t e r o p e r a b i l i t yo fd i f f e r e n tv i d e oc o d e co rd i f f e r e n tv e r s i o n so fac o d e c i tp r o v i d e sd e t a i l e da n a l y s i sa n dm o n i t o rf o rh 2 6 4e l e m e n t a r ys t r e a m i nt h i sp r o j e c t , ia mi nc h a r g eo fi n f o r m a t i o ne x t r a c t i n g ,r e a l - t i m ee r r o rc h e c k i n g ,o v e r l a y i n g m a c r o b l o c ka t t r i b u t e so n t ot h ep l a yo ft h eb i ts t r e a ma n dd e c o d e ro p t i m i z a t i o n t a k e n i n t oc o n s i d e r a t i o no ft h ec o n v e n i e n c e ,t r a c er e p o r ti sp r o v i d e dt oe n a b l ed e t a i l e d l o g g i n go fe n c o d e rp e r f o r m a n c e m o r e o v e r , d l lt e c h n o l o g yi sa l s ou s e di no r d e rt o m a k et h ea n a l y z e rr e a d yt ob eu p g r a d e d t h et h e o r ya n di m p l e m e n t a t i o nm e t h o d so f t h e s em o d u l e sa r ei n t r o d u c e di nd e t a i l i n t h i sp a p e ra n dt h e s em o d u l e sh a v eb e e n i m p l e m e n t e ds u c c e s s f u l l y k e y w o r d s :h 2 6 4 ,e l e m e n t a r ys t r e a ma n a l y z e r ,v i d e od e c o d e ,a n a l y s i sa n d m o n i t o r ,d l l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得苤鲞态堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名: 俊全 签字日期:矗卯占年。月多日 学位论文版权使用授权书 本学位论文作者完全了解苤鲞盘堂有关保留、使用学位论文的规定。 特授权:叁鲞盘堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 俊给 签字日期:o 时多年应月日 导师签名: 签字日期: 第一章绪论 第一章绪论 1 1 视频压缩标准的发展概述 i t u - t 与i s o i e c 是制定视频编码标准的两大组织,分别制定了m p e g x 和 h 2 6 x 两大系列标准【1 】。i t u t 的标准包括h 2 6 1 、h 2 6 3 、h 2 6 4 ,主要应用于实 时视频通信领域,如会议电视;m p e g 系列标准是由i s o i e c $ | j 定的,主要应用于 视频存储( d v d ) 、广播电视、因特网或无线网上的流媒体等。两个组织也共同制 定了一些标准,h 2 6 2 标准等同于m p e g - 2 的视频编码标准,而h 2 6 4 标准则被纳 入m p e g - 4 的第1 0 部分。本文按照i t u - t 视频编码标准的发展过程,介绍h 2 6 1 、 h 2 6 3 及h 2 6 4 。 l 、h 2 6 1 视频编码标准 h 2 6 1 是i t u t 为在综合业务数字网( i s d n ) 上开展双向声像业务( 可视电话、 视频会议) 而制定的,速率为6 4 k b s 的整数倍。h 2 6 1 只对c i f 和q c i f 两种图 像格式进行处理,每帧图像分成图像层、宏块组( g o b ) 层、宏块( m b ) 层、块( b l o c k ) 层来处理。 h 2 6 1 是最早的运动图像压缩标准,它详细制定了视频编码的各个部分,包 括运动补偿的帧间预测、d c t 变换、量化、熵编码,以及与固定速率的信道相适 配的速率控制等部分。 2 、h 2 6 3 视频压缩标准 h 2 6 3 是i t u - t 为低于6 4 k b s 的窄带通信信道制定的视频编码标准。它是 在h 2 6 1 基础上发展起来的,其标准输入图像格式可以是s q c i f 、q c i f 、c i f 、 4 c l f 或者1 6 c i f 的彩色4 :2 :o 亚取样图像。h 2 6 3 与h 2 6 1 相比采用了半象素 的运动补偿,并增加了4 种有效的压缩编码模式。 无限制的运动矢量模式允许运动矢量指向图像以外的区域。当某一运动矢量 所指的参考宏块位于编码图像之外时,就用其边缘的图像象素值来代替。当存在 跨边界的运动时,这种模式能取得很大的编码增益,特别是对小图像而言。另外, 这种模式包括了运动矢量范围的扩展,允许使用更大的运动矢量,这对摄像机运 动特别有利。 基于句法的算术编码模式使用算术编码代替霍夫曼编码,可在信噪比和重建 图像质量相同的情况下降低码率。 先进的预测模式允许一个宏块中4 个8 8 亮度块各对应一个运动矢量,从 而提高了预测精度;两个色度块的运动矢量则取这4 个亮度块运动矢量的平均 第一章绪论 值。补偿时使用重叠的块运动补偿,8 x 8 亮度块的每个象素的补偿值由3 个预 测值加权平均得到。使用该模式可以产生显著的编码增益,特别是采用重叠的块 运动补偿,会减少块效应,提高主观质量。 3 、h 2 6 3 视频压缩标准版本2 i t u - t 在h 2 6 3 发布后又修订发布了h 2 6 3 标准的版本2 ,非正式地命名为 h 2 6 3 + 标准。它在保证原h 2 6 3 标准核心句法和语义不变的基础上,增加了若干 选项以提高压缩效率或改善某方面的功能。原h 2 6 3 标准限制了其应用的图像输 入格式,仅允许5 种视频源格式。h 2 6 3 + 标准允许更大范围的图像输入格式,自 定义图像的尺寸,从而拓宽了标准使用的范围,使之可以处理基于视窗的计算机 图像、更高帧频的图像序列及宽屏图像。 为提高压缩效率,h 2 6 3 + 采用先进的帧内编码模式;增强的p b - 帧模式改进 了h 2 6 3 的不足,增强了帧间预测的效果;去块效应滤波器不仅提高了压缩效率, 而且提供重建图像的主观质量。p b 一帧模式规定一个p b _ 帧包含作为一个单元进 行编码的两帧图像。p b - 帧模式可在码率增加不多的情况下,使帧率加倍。 为适应网络传输,h 2 6 3 + 增加了时间分级、信噪比和空间分级,对在噪声信 道和存在大量包丢失的网络中传送视频信号很有意义;另外,片结构模式、参考 帧选择模式增强了视频传输的抗误码能力。 4 、h 2 6 3 + + 视频压缩标准 h 2 6 3 + + 在h 2 6 3 + 基础上增加了3 个选项,主要是为了增强码流在恶劣信道上 的抗误码性能,同时为了提高增强编码效率。这3 个选项为: 选项i 卜一一称为增强型参考帧选择,它能够提供增强的编码效率和信道错误 再生能力( 特别是在包丢失的情形下) ,需要设计多缓冲区用于存贮多参考帧图 像。 选项v 一称为数据分片,它能够提供增强型的抗误码能力( 特别是在传输过 程中本地数据被破坏的情况下) ,通过分离视频码流中d c t 的系数头和运动矢量 数据,采用可逆编码方式保护运动矢量。 选项卜在h 2 6 3 + 的码流中增加补充信息,保证增强型的反向兼容性,附 加信息包括:指示采用的定点i d c t 、图像信息和信息类型、任意的二进制数据、 文本、重复的图像头、交替的场指示、稀疏的参考帧识别。 5 、h 2 6 4 视频编码标准 h 2 6 4 是由i s o i e c 与i t u - t 组成的联合视频组( j v t ) 制定的新一代视频压缩 编码标准。事实上,h 2 6 4 标准的开展可以追溯到8 年前。1 9 9 6 年制定h 2 6 3 标 准后,i t u t 的视频编码专家组( v c e g ) 开始了两个方面的研究:一个是短期研究 计划,在h 2 6 3 基础上增加选项( 之后产生了h 2 6 3 + 与h 2 6 3 + + ) ;另一个是长期 第一章绪论 研究计划,制定一种新标准以支持低码率的视频通信。长期研究计划产生了h 2 6 l 标准草案,在压缩效率方面与先期的i t o t 视频压缩标准相比,具有明显的优越 性。2 0 0 1 年,i s o 的m p e g 组织认识到h 2 6 l 潜在的优势,随后i s o 与i t u 开始 组建包括来自i s o i e cm p e g 与i t u tv c e g 的联合视频组( j v t ) ,j v t 的主要任 务就是将h 2 6 l 草案发展为一个国际性标准。于是,在i s o i e c 中该标准命名为 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 个选项;在i t u - t 中正 式命名为h 2 6 4 标准。h 2 6 4 的主要优点如下: 1 ) 在相同的重建图像质量下,h 2 6 4 比h 2 6 3 + 和m p e g - 4 ( s p ) 减小5 0 码率。 2 ) 对信道时延的适应性较强,既可工作于低时延模式以满足实时业务,如会 议电视等;又可工作于无时延限制的场合,如视频存储等。 3 ) 提高网络适应性,采用“网络友好”的结构和语法,加强对误码和丢包的 处理,提高解码器的差错恢复能力。 4 ) 在编解码器中采用复杂度可分级设计,在图像质量和编码处理之间可分 级,以适应不同复杂度的应用。 5 ) 相对于先期的视频压缩标准,h 2 6 4 引入了很多先进的技术,包括4 4 整 数变换、空域内的帧内预测、1 4 象素精度的运动估计、多参考帧与多种大小块 的帧问预测技术等,大大提高了压缩比。虽然这些新技术较大程度地提高了算法 的复杂度,但是随着集成电路技术的快速发展,h 2 6 4 的应用将成为现实。 1 2 课题的研究意义 : 与传统的广播电视压缩标准相比较,下一代的压缩标准( 如h 2 6 4 a v c ) 具 有明显的带宽优势,它具有减少成本和增加业务项目的良好前景,并且不会损害 视频质量。因而对于未来的高容量消费产品如d v b h 移动电话、宽带d s l 机顶盒和 高清晰度d v d 来说,下一代的视频压缩标准显得愈来愈重要。在这些电子产品中 所使用的“基本流”就是压缩视频的原始码流。对于半导体制造商、消费电子和 专业视频设备制造商、视频网络运营商以及移动电话设备制造商和运营商中的工 程技术人员而言,他们需要一种专业的分析工具去比较和评估各种不同的压缩算 法和压缩工具,以检验标准的顺应性,分析某种视频编解码器( 压缩解压缩算 法) ,以及详细比较各种视频编解码器或某种编解码器各个版本的互操作性。并 且这个工具能帮助他们迅速开发出新的器件、新的产品或新的业务,使他们在经 济上受益,并且能随着标准的发展而更新“j 。为了满足上述开发商和制造商的需 要,开发一个功能完善的基本流( e s ) 分析仪便成为一件迫在眉睫的事情。 国际上,泰克( t e k t r o n i x ) 公司于2 0 0 4 年9 月8 日推出了m t s 4 e a 视频基 软 件 功 能 第一章绪论 本流分析仪,同期e l e c a r d 公司也推出了e s e y e 视频基本流分析软件。国内尚未 有适用于h 2 6 4 的基本流分析仪面市。由于国外的分析设备价格昂贵,难以满足 国内需求量日益增长的需要。因此研制出适合我国国情、价格相对较低、使用方 便的适用于h 2 6 4 的e s 流分析仪器,是十分必要的。 1 3h 2 6 4 基本流分析仪的功能简介 h 2 6 4 基本流分析仪是我们自行开发的基于w i n d o w s 平台的高性能软件。 对于半导体制造商、消费电子和专业视频设备制造商、视频网络运营商以及移动 电话设备制造商和运营商中的工程技术人员而言,该软件能够使他们比较和评估 各种不同的压缩算法和压缩工具能帮助他们迅速开发出新的器件、新的产品或新 的业务。该基本流分析仪的功能模块如图1 1 所示,其中带禽的功能项由本人 负责开发,具体实现在后续章节中详述。 系统配置:c p u :赛扬2 4 g ;内存:2 5 6 m :硬盘:8 0 g ;操作系统:w i n d o w s 2 0 0 0 语法结构信息分析,包括序列参数集、图像参数集、条带参数集信息l 宏块级信息分析 统计信息对提取的信息进行统计,得出用户需要的非语法结构信息l 实时错误报告 显示解码视频解码图像,实现暂停、快进、单退、单进、播放的功能l 将宏块信息叠加在解码视频图像上 在分析仪主界面上以树型结构显示各类语法信息和宏块信息 主界面上实现错误实时报告窗口,将检测到的错误实时地显示到窗口中 记录功能将码流分析结果以及错误检测结果记录成硬盘文件,并可直 接打印 图1 1h 2 6 4 基本流分析仪功能概述 第一章绪论 1 4 本论文的安排 第一章:介绍了编解码标准的发展历史,以及研制适用于h 2 6 4 的基本流分 析仪的必要性,并简要说明了h 2 6 4 基本流分析仪的功能。 第二章:简要介绍了h 2 6 4 标准和分析仪软件的总体设计方案,以及在设计 中使用的动态链接库技术和多线程技术。 第三章:介绍了h 2 6 4 基本流分析仪中解码视频显示模块的设计与实现。 第四章:介绍了h 2 6 4 基本流分析仪中信息提取和错误检测功能的实现,并 对其中使用的图形化设计进行了简要介绍和说明。 第五章:介绍了对h 2 6 4 基本流分析仪中的解码模块部分所作的优化。 第六章:总结和展望。 第二章h 2 6 4 标准及软件总体设计方案 第二章h 2 6 4 标准及软件总体设计方案 2 1h 2 6 4 标准介绍 h 2 6 4 和以前的标准一样,也是d p c m 2 d 变换编码的混合编码模式【3 1 ,但它采 用“回归基本”的简洁设计,不需要采用众多的选项,就可以获得比h 2 6 3 + + 好 得多的压缩性能;加强了对各种信道的适应能力,采用“网络友好的结构和语 法,有利于对误码和丢包的处理;应用目标范围较宽,以满足不同速率、不同解 析度以及不同传输( 存储) 场合的需求【4 1 。 技术上,它集中了以往标准的优点,并吸收了标准制定中积累的经验。与 h 2 6 3v 2 ( h 2 6 3 + ) 或m p e g 一4 简单类( s i m p l ep r o f i l e ) 相比,h 2 6 4 在使用与上述 编码方法类似的最佳编码器时,最多可节省5 0 的码率。h 2 6 4 在所有码率下都 能持续提供较高的视频质量。h 2 6 4 能工作在低延时模式以适应实时通信的应用 ( 如视频会议) ,同时又能很好地工作在没有延时限制的应用,如视频存储和以服 务器为基础的视频流式应用。 在系统层面上,h 2 6 4 提出了一个新的概念,在视频编码层( v i d e oc o d i n g l a y e r ,v c l ) 和网络提取层( n e t w o r ka b s t r a c t i o nl a y e r ,n a l ) 之间进行概念性 分割,前者是视频内容的核心压缩内容之表述,后者是通过特定类型网络进行传 递的表述,这样的结构便于信息的封装和对信息进行更好的优先级控制【5 】【6 】。 h 2 6 4 的系统编码框图如图2 - 1 所示。 图2 1h 2 6 4 a v c 标准编码框图 第二章h 2 6 4 标准及软件总体设计方案 2 1 1 帧内预测编码 帧内编码用来缩减图像的空间冗余。为了提高h 2 6 4 帧内编码的效率,在给 定帧中充分利用相邻宏块的空间相关性,相邻的宏块通常含有相似的属性。因此, 在对一给定宏块编码时,首先可以根据周围的宏块预测( 典型的是根据左上角的 宏块,因为此宏块已经被编码处理) ,然后对预测值与实际值的差值进行编码, 这样,相对于直接对该帧编码而言,可以大大减小码率。 当采用i n t r a 一4 x4 模式时,亮度分量的每个4 x4 块可使用9 种预测模式即 8 种方向预测和一种d c 模式中的一种,图2 2 是9 种模式的示意图。像素a 、b 、 c 、h 以及i 、j 、k 、l 、m 是周围已经解码后的像素,它们都可用来计算当 前4 4 块中各个像素的预测值。例如,如果使用垂直方向的预测,像素a 用来 预测第1 列像素,像素b 用来预测第2 列像素。同样地,在水平方向预测时, 像素i 、j 、k 、l 分别预测一行像素。在d c 预测的情况下,a 、b 、c 、d 、i 、j 、 k 、l8 个像素的平均值用来预测4 4 块的1 6 个像素中的每一个。依据指定的 预测方向,方向性预测使用了a h 、i m 像素的一个线性加权平均。 匣巫圈亚圃匦l u l a 巫ib 固i q 卫i ) te卿lf ig ih ! 匿国鏊耋日叶醪摭: 9 似嘲珍r 一蛳嘲i 硒叼口n 鲥蛳哟h t s ,i i i 嘲螂蚋 眵 bf 啪心o 埔砌u p j 旷旷 图2 - 2 9 种i n t r a 一4 4 预测模式 i n t r a _ 1 6 x1 6 模式支持四种预测模式,其中水平、垂直、d c 这三种模式与 i n t r a _ 4 x4 模式类似,还有一种平面( p l a n e ) 预测模式,使用了水平和垂直方 第二章h 2 6 4 标准及软件总体设计方案 向的邻近像素加权组合来进行预测。 2 1 2 帧间预测编码 帧间预测编码利用连续帧中的时间冗余来进行运动估计和补偿。h 2 6 4 的运 动补偿支持以往的视频编码标准中的大部分关键特性,而且灵活地添加了更多的 功能,除了支持p 帧、b 帧外,h 2 6 4 还支持一种新的流间传送帧s p 帧【7 1 。码 流中包含s p 帧后,能在有类似内容但有不同码率的码流之间快速切换,同时支持 随机接入和快速回放模式。 h 2 6 4 的运动估计有以下4 个特性: ( 1 ) 不同大小和形状的宏块分割 在h 2 6 4 a v c 标准的运动预测中,一个宏块又可分成不同的子块,形成不同 模式的块尺寸,如图2 3 所示。也就是说,每个宏块的1 6 x1 6 亮度分量可被分 为1 6 x1 6 、1 6 x 8 、8 x1 6 以及8 8 的分量;而每个8 8 的亮度分量还可被细 分为8 8 、8 4 、4 x 8 和4 4 的分量。4 4 的亚宏块被称为块( b l o c k ) 。 0 l o 1 ( a ) ( b ) 0 1 0l 图2 - 3 宏块和亚宏块的划分模式 ( a ) 宏块的划分;( b ) 亚宏块划分 0 l 23 o l 23 ( 2 ) 高精度的亚像素运动补偿 在h 2 6 3 中采用的是半像素精度的运动估计,而在h 2 6 4 中可以采用1 4 或者1 s 像素精度的运动估值。在要求相同精度的情况下,h 2 6 4 使用1 4 或者 第二章n 2 6 4 标准及软件总体设计方案 i 8 像素精度的运动估计后的残差要比h 2 6 3 采用半像素精度运动估计后的残差 来得小。这样在相同精度下,h 2 6 4 在帧间编码中所需的码率更小。 ( 3 ) 多帧预测 h 2 6 4 提供可选的多帧预测功能,在帧间编码时,可选5 个不同的参考帧, 提供了更好的纠错性能,这样更可以改善视频图像质量。这一特性主要应用于以 下场合:周期性的运动、平移运动、在两个不同的场景之间来回变换摄像机的镜 头。 ( 4 ) 去块滤波器 h 2 6 4 定义了自适应去除块效应的滤波器,这可以处理预测环路中的水平和 垂直块边缘,大大减少了方块效应。 2 i 3 整数变换 同以前的视频编码标准类似,h 2 6 4 a v c 标准也采用预测残差的变换编码。 不同的是变换不再是对8 x 8 块进行而是对4 x 4 块进行,采用与4 x 4d c t 性质 类似的整数变换。因为整数变换的反变换也是精确的整数操作,所以避免了反变 换不匹配的问题。基本的变换编码处理过程与以前标准很相似,编码器的处理包 括前向变换、z i g z a g 扫描、缩放、量化取整和熵编码,解码器的处理与编码过 程相反,除了取整。 2 1 4 量化 i h 2 6 4 中可选5 2 种不同的量化步长,这与h 2 6 3 中有3 1 个量化步长很相似, 但是在h 2 6 4 中,步长是以1 2 5 的复合率递进的,而不是一个固定常数。在h 2 6 4 中,变换系数的读出方式也有两种:之字形( z i g z a g ) 扫描和双扫描。大多数情况 下使用简单的之字形扫描;双扫描仅用于使用较小量化级的块内,有助于提高编 码效率。 2 1 。5 熵编码 视频编码处理的最后步就是熵编码,在h 2 6 4 中采用了两种不同的熵编码 方法:基于上下文的可变长编码( c a v l c ) 和基于文本的自适应二进制算术编码 ( c a b a c ) 。 算术编码使编码和解码两边都能使用所有句法元素( 变换系数、运动矢量) 的 概率模型。为了提高算术编码的效率,通过内容建模的过程,使基本概率模型能 适应随视频帧而改变的统计特性。内容建模提供了编码符号的条件概率估计,利 第二章h 2 6 4 标准及软件总体设计方案 用合适的内容模型,存在于符号间的相关性可以通过选择目前要编码符号邻近的 已编码符号的相应概率模型来去除,不同的句法元素通常保持不同的模型。 2 2 分析仪软件的总体设计方案 2 2 1 软件的框架设计 随着h 2 6 4 的编解码设备的研制及芯片制作技术的发展,迫切需要研发一种 基本流测试设备来检测码流是否符合h 2 6 4 标准。我们以国际上新一代码流分析 设备为参考,开发了基于p c 机的码流分析软件,该软件可应用于视频c o d e c 软 硬件研发、机顶盒开发、移动视频软硬件开发及流媒体应用开发等。 该分析软件分为主程序和动态链接库( d l l ) 两部分,软件的总体框架如图 2 4 所示。主程序主要负责用户图形界面管理、消息响应处理及数据动态显示; 动态链接库封装了解码器和其他功能模块。 叠 。斜 。褡蟛 日 弋。j 熹 箩 图2 - 4 软件框架图 动态链接库 ( d l l ) 解码,提取数据 解码视频图像显示, 播放控制 将宏块信息以图形的 形式加在解码视频图像 上 实时错误检测 将分析报告和错误报 告保存成硬盘文件并可 以直接打e 口 本人主要负责d l l 内部功能模块的实现,包括信息提取模块、错误检测模 块、解码模块、视频显示模块、以及使用多线程技术使得解码与视频显示同步进 行、将宏块信息叠加在解码视频上,以及最后的d l l 封装。为了方便软件的升 级和二次开发,本码流分析软件采用了d l l 技术。为了提高软件的实时性,采用 多线程技术使解码模块和视频显示模块同步进行,并且在视频显示模块采用了 第二章h 2 6 4 标准及软件总体设计方案 d i r e c t d r a w 技术充分利用硬件加速功能提高显示速度。下面将对软件总体设计 中使用到的动态链接库( d l l ) 技术进行介绍。 2 2 2 动态链接库的应用 由于不同的用户对码流分析仪的功能和界面的要求不尽相同,为了能够灵活 地满足不同用户的要求,同时减少代码的重复编写,并尽量简化软件开发,本码 流分析仪软件采用了动态链接库的形式,把分析仪的各项功能封装起来,从而轻 松实现给不同用户提供不同的图形用户界面和分析功能。 动态链接库d l l i s 】( d y n a m i cl i n kl i b r a r y ) 是一种基于w i n d o w s 的程序模块, 它可以在运行时刻被装入和链接。动态链接库也包含函数的目标代码,程序在连 接动态链接库的时候,连接程序并不将库中函数的目标代码拷贝至运行文件,而 只是简单地记录了函数的位置信息。有了这些信息后,程序在执行时,即可找到 该函数的目标代码,因为只是在执行时才得到真正的链接,所以称之为动态链接。 许多应用程序都被分成一系列的主程序和d l l ,这是一个很好的做法。首 先,它可以使得多个应用程序共享一段代码,从而大幅度降低应用程序的资源开 销,同时缩小了应用程序的最终执行代码的大小。此外,通过使用动态链接库, 我们可以把一些常规的程序独立出来,有效的避免了不必要的重复开发,并且, 由于应用程序使用了动态链接库的方式,还可以在不需要重新改写甚至编译应用 程序的基础上更新应用程序的某些组件。 使用动态链接库的优点 l 、系统中同时运行的多个应用程序可以同时使用同一个动态链接库,他们 在内存中只是共享d l l 文件的一个拷贝,这样作不但节省了内存,而且减少了 文件的动态交换。 2 、 只要编写的应用程序的变量和返回值的类型和数量不发生变化,动态链 接库中的函数可以不用重新编译链接而直接使用,这一点明显优于静态链接。 3 、 只要遵循一定的规则,不同语言编写的应用程序可以调用同一个动态链 接库,而不管这个函数执行什么操作。 4 、 在设计应用程序时,将其拆分成各个功能相互独立的部件,为以后对这 些功能部件各自升级提供较方便的途径。 5 、 使资源数据独立于可执行程序之外,但又能较方便快速地访问它。 动态链接库非常有利于软件的编写和更新,在编写程序时,可以把一个大型 的软件项目分割为多个单独的模块,在这些模块中定义好它们的调用关系,然后 分别由多个程序员进行编写。在各个模块内,程序员可以充分发挥他们的创造性, 优化程序代码。而且,利用动态链接库对于软件的更新也是非常有好处的,在更 第二章h 2 6 4 标准及软件总体设计方案 新或者升级这个软件时,可以只更新这个软件的动态链接库。 d l l 文件和e x e 文件都属于可执行文件,不同的是d l l 文件包括了一个导 出表,导出表中给出了可以从d l l 中导出的所有函数的名字。外部可执行程序 只能访问包括在d l l 的导出表中的函数,d l l 中的其他函数是私有的,不能为 外部可执行程序所访问。h 2 6 4 基本流分析软件中的动态链接库采用关键字 定义函数,以实现从 中导出函数。 d e c l 创s p 建e c ( d l l e x p 程o r 序t ) 过程如下:d l l d l l 1 、 建立带有输出原型结构符号的头文件,即包含导出表的头文件。 2 、建立实现输出函数度量的c c + + 源文件。 3 、 编译器为每个c c + + 源文件生成o b i 模块。 4 、链接程序将生成d l l 的o b j 模块链接起来。 5 、如果至少输出一个函数变量,那么连接程序也生成1 i b 文件。 一旦创建了d l l 模块,就可以创建使用该d l l 的应用程序。其创建步骤如 下: 1 、将d l l 和1 i b 文件拷贝到当前工程所在的目录下面,也可以拷贝到w i n d o w s 的s y s t e m 目录下。 2 、 在创建应用程序的项目中包含1 i b 文件和包含导出表的头文件。 3 、 在引用d l l 输出的函数、变量的源代码模块中,必须用i n c l u d e 语句包 含d l l 头文件。 在h 2 6 4 基本流分析软件中,将解码模块、视频显示模块、信息提取模块、 错误分析模块和宏块信息图形化显示模块等以d l l 的形式封装起来,应用程序 中只是软件的主界面框架。采用这种主界面与内部功能模块相分离的软件结构, 可以通过只改动应用程序部分的代码来实现不同的软件主界面,并且可以方便软 件的二次升级。 第三章视频显示模块的设计与实现 第三章视频显示模块的设计与实现 为了使用户直观地看到码流的图像质量,h 2 6 4 基本流分析仪对解码视频进 行了显示。由于压缩视频解码后首先得到的是y u v 图像,将y u v 图像转化为r g b 图像后再显示将会造成大量的运算和位块传输,消耗大量的c p u 资源。为了避免 这种情况,n 2 6 4 基本流分析仪采用了d i r e c t d r a w 技术进行显示。 3 1 d i r e c t d r a w 架构概览 d i r e c t d r a w 是d i r e c t xs d k 的主要部分之一,它允许直接对显示内存操作, 支持硬件位块传输、硬件覆盖、表面翻转,并且保持同目前的基于w i n d o w s 的应 用程序和驱动程序兼容p j 。d i r e c t d r a w 是一种软件接口,它除了能直接对显示设 备存取外,还保持同w i n d o w s 图形设备接1 3 g d i ( g r a p h i c sd e v i c e i n t e r f a c e ) 兼 容。对于图形来说,它并不是一种高级应用程序接口。d i r e c td = r a w 提供了一种设 备无关性的方法,使得基于w i n d o w s 的应用软件和游戏( 例如三维图形软件包和数 字视频游戏) 能直接获取显示设备的特性。 3 1 1d i r e c t d r a w 的基本概念【l o 】 d i r e c t d r a w 提供了一组不同于g d i 的图形术语,因此,要用好d i r e c t d r a w , 首先应该了解其中的有关概念。下面就对d i r e c t d r a w 中的重要概念作一介绍。 1 、设备无关性位图( d i b ) ( d e v i c e - - i n d e p e n d e n tb i t m a p ) d i r e c t x 使用设备无关性位图d i b 作为主要的图形文件格式。一个d i b 文件主 要保护了如下信息:图像的维数、使用的颜色数、描述颜色的值及描述每一个 像素的数据。d i b 文件还保护了较少用到的参数,如有关文件压缩的信息和图像 的物理维数。d i b 文件的扩展名一般是“b m p ”,有时也可能是“d i b ” 2 、绘图表面( d r a w i n gs u r f a c e ) 绘图表面接受视频数据并将其作为图像显示出来。在大多数的w i n d o w s 应用 程序中,你可以使用w i n 3 2 的函数如g e t d c 来访问绘图表面。g e t d c 获取设备上下 文d c ( d e v i c ec o n t e x t ) ,获得了设备上下文后,就可以重画表面了。另外, d i r e c t d r a w 能提供表征真实视频内存的绘图表面,这就意味着当你使用 d i r e c t d r a w 时,你能够直接向视频内存写数据,使得图象的显示速度足够快。这 些表面表征为连续的内存块,使得寻址时更加容易。 3 、位块传输( b 1 t ) 第三章视频显示模块的设计与实现 b l t 是“b i tb l o c kt r a n s f e r 的简写,表示位块传输。它是将内存中一个 地址的一块数据传送到另一个地址的一种方法。位块传输经常用于精灵动画中。 你可以使用i d i r e c t d r a w s u r f a c e 3 :b l t 方法和i d i r e c t d r a w s u r f a c e 3 :b l t f a s t 方法来执行位块传输。 4 、页翻转和后台缓冲( p a g ef 1 i p p i n g ) ( b a c kb u f f e r i n g ) 页翻转是多媒体、动画、游戏软件中的关键。软件页翻转是对卡通画家使图 像运动的过程的模拟。例如,画家在一张纸上画了一个人物,然后将其置于下一 帧的工作状态,对于每一帧,只很少地改变人物图像。当你快速翻转纸片时,连 续的人物图像看起来就成了动画。软件中的页翻转类似于上述的过程。首先,你 建立了一系列d i r e c t d r a w 表面,这些设计好的表面准备“翻转到屏幕。第一个 表面被看作是主表面( p r i m a r ys u r f a c e ) ,在主表面后的所有表面都称为后台缓 冲区。应用程序将数据写向后台缓冲区,然后翻转主表面,于是后台缓冲区就显 示在片面上了。当系统正在显示图象时,程序就可以向后台缓冲区写数据,这个 过程一直持续到动画的结束,它使你快速地将离散的图像变成动画。d i r e c t d r a w 可以利用相对简单一些的双缓冲区( 一个主表面和一个后台缓冲区) ,也可以使用 较复杂的技术,加入其它的后台缓冲区。使得你能够容易地建立页翻转的程序。 5 、矩形( r e c t a n g l e ) 贯穿d i r e c t d r a w 和w i n d o w s 编程的一个最重要的概念是表面上的对象一一 有界矩形。一个有界矩形由两个点来确定,即左上角和右下角。当以位块传输的 方式向屏幕写数据时,大多数的应用程序都使用r e c t 结构来传送有关有界矩形的 信息。 r e c t 结构的定义如下: t y p e d e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 食品从员人员卫生知识考试题带答案
- 2026年搜救犬应用训练
- 2026年社区疫情防控常态化
- 2026 年应对人口老龄化科普宣讲课件
- 2026 年教师节教师先进事迹学习弘扬榜样力量课件
- 2026 年安全生产常识规避安全风险课件
- 2026年医院感染相关知识培训考核试题及答案
- 国际科学试题及答案
- 紫胶热滤工岗前复试考核试卷含答案
- 温差电器件制造工安全教育评优考核试卷含答案
- 统编版2026新教材道德与法治五年级上册第一单元第一课开天辟地的大事变教学设计
- 福建省福州市2027届高三上学期开学适应性练习英语试卷(含答案)
- GB/T 31880-2026检验检测机构诚信基本要求
- 用药错误应急预案及处理流程
- 2025边缘计算与人工智能应用开发技术
- 《中国古代宗教》课件
- 2024年秋季学期新人教版八年级上册物理课件第一章 机械运动 1.4 速度的测量
- 新陕旅版五年级英语上教学计划
- 教科版科学三年级下册第一单元《 物体的运动》测试卷附答案(黄金题型)
- 长护险信息管理制度
- 译林版小学英语二年级上册全册课件
评论
0/150
提交评论