(信号与信息处理专业论文)h263视频压缩算法及其在tms320c5501上的实现.pdf_第1页
(信号与信息处理专业论文)h263视频压缩算法及其在tms320c5501上的实现.pdf_第2页
(信号与信息处理专业论文)h263视频压缩算法及其在tms320c5501上的实现.pdf_第3页
(信号与信息处理专业论文)h263视频压缩算法及其在tms320c5501上的实现.pdf_第4页
(信号与信息处理专业论文)h263视频压缩算法及其在tms320c5501上的实现.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 近年来,随着多媒体技术的不断发展,人们对可视电话、会议电话和安全 监视等视频业务也越来越感兴趣。h 2 6 x 和m p e g 系列视频标准的制定,为多 媒体通信产业的发展带来了广阔的发展空间,其相关产品因此得到了广泛的应 用。 i - 2 6 3 标准是国际电信联盟i t u t 针对低比特率视频应用制定的视频压缩 标准。t m s 3 2 0 c 5 5 0 1d s p 芯片是美国德州仪器公司( t i ) 生产的高性能的数字信 号处理芯片。利用d s p 芯片实现h 2 6 3 标准,与专用的数字图像处理芯片相比, 具有系统灵活、易升级等特点。在本论文中,主要研究了h 2 6 3 视频编解码器 在c 5 5 0 1 上的实现问题。 本文对h 2 6 3 视频编解码的基本原理、系统结构和压缩方法做了简要的分 析。对h 2 6 3 编解码器的主要模块进行了分析,找出了运算量较大的模块 d c t i d c t 模块和运动估计模块,分别对这两个模块进行了算法上的优化,并 实现了d c t i d c t 的定点化;针对c 5 5 0 1d s p 芯片的特点,通过内联函数、优 化选项和并行指令等的使用对c 代码进行了优化,使系统效率得到进一步的提 高:最后,对编解码的速度和编解码的结果进行了分析总结,并指出了进一步 研究探索的方向。 关键词:d s p ,t m s 3 2 0 c 5 5 0 1 ,h2 6 3 标准,运动估计与补偿,d c t i d c t a b s t r a c t a b s t r a c t n o w a d a y s ,w i t ht h ed e v e l o p m e n to fm u l t i m e d i at e c h n o l o g i e s ,s o m en e w t e c h n o l o g i e s ,s u c ha sv i d e op h o n e ,v i d e oc o n f e r e n c ea n ds a f e t ym o n i t o r ,a r et a k e n o nm u c hi n t e r e s t t h ee s t a b l i s h m e n to fh2 6 xa n dm p e gv i d e oc o m p r e s s i o n s t a n d a r dd i r e c t sab r o a dw a yf u r t h ed e v e l o p m e n to ft h em u l t i m e d i ac o m m u n i c a t i o n i n d u s t r y , a n di t sr e l a t e dp r o d u c t sa r ea l s ow i d e l ya p p l i e d h 2 6 3i sav i d e oc o m p r e s s i o ns t a n d a r de s t a b l i s h e db yi t u - tf o rv i d e o a p p l i c a t i o n s w i t hl o wb i tr a t e t m s 3 2 0 c 5 5 0 1i so n eo fc 5 0 0 0s e r i e s h i g h p e r f o r m a n c ed s pc h i p ,w h i c hi sp r o d u c e db yt e x a si n s t r u m e n t c o m p a r e d w i t hs p e c i a li m a g ep r o c e s s i n gc h i p s ,t h ev i d e op r o c e s s i n gs y s t e mc o n s t r u c t e dw i t h d s pi sf l e x i b l e ,a n dt h es y s t e mu p d a t e sc o n v e n i e n t l y t h eb a s i cp r i n c i p l e ,s y s t e ms t r u c t u r ea n dc o m p r e s s i o nm e t h o d so fh 2 6 3a r e b r i e f l ya n a l y z e db yt h i sp a p e r a n dt h ep r i m a r ym o d u l e so fh 2 6 3 e n c o d e ra n d d e c o d e ra r ea l s os t u d i e d t h ed c t i d c tm o d u l ea n dt h em o t i o ne s t i m a t i o nm o d u l e w h i c hn e e dm o r eo p e r a t i o na r ef o u n da n do p t i m i z e d a n dt h ed c t i d c tm o d u l ei s t r a n s f o r m e dt of i x - p o i n t a c c o r d i n gt ot h ec h a r a c t e r so fc 5 5 0 1d s p , cc o d e sa r e o p t i m i z e db yu s i n gi n l i n ef u n c t i o n s ,o p t i m i z eo p t i o n sa n dp a r a l l e li n s t r u c t i o n s t h i s o p t i m i z a t i o nc a nf u r t h e ra d v a n c et h es y s t e me f f i c i e n c y t h er a t e a n dr e s u l t so f h 2 6 3e n c o d e ra n dd e c o d e ra r ea n a l y z e da n ds u m m a r i z e d ,a n dt h ef u r t h e rr e s e a r c h d i r e c t i o ni sp o i n t e do u ti nt h ee n d k e y w o r d s :d s p , t m s 3 2 0 c 5 5 0 1 ,h 2 6 3s t a n d a r d ,m o t i o n e s t i m a t i o na n d c o m p e n s a t i o n ,d c t i d c t 图目录 图目录 图2 - 1 亮度和色度的采样位置 图2 2 视频语法结构 图2 3 图像分割示意图 图2 4 宏块结构示意图 图2 5 图像层信息格式示意图 图2 - 6 宏块组层信息格式示意图 图2 - 7 宏块层信息格式示意图 图2 - 8h 2 6 3 编码原理框图 图2 9z i g z a g 扫描路径图 图2 - 1 0 运动估计和运动补偿 图2 1 l 双线性插值法 图2 - 1 2 先进预测模式下运动矢量的预测 图3 - 1t m s 3 2 0 c 5 5 0 1c p u 结构图 图3 2 硬件平台 图3 - 3d s p 的软件开发流程 图3 4 系统实现框图 图3 5 帧内编码流程图 图3 6 帧问编码流程图 图3 7 解码流程图 图4 一ld c t i d c t 运算优化前后时钟数比较 图4 2 块匹配法的运动估计示意图 图4 - 3 三步搜索法 图4 - 4 改进的三步搜索法 图4 - 5 预先判零基本框图 图4 一m o t h e r a n d d a u g h t e r 视频序列测试结果 图4 h a l l m o n i t o r 视频序列测试结果 图4 - 8i 帧编码优化前的时钟数 图4 - 9i 帧编码优化后的时钟数 v i 巧o墙均加mn船孔拍打n弛盯弘姐铊卯盯铝媳 表目录 表目录 表2 - 1 几种标准分辨率下图像的行数和列数 表3 - 1h 2 6 3 编解码算法中各段所占的内存空间大小( b y t e ) 表3 2t t 2 6 3 算法主要模块耗时情况( ) 表4 - 1 运动估计算法优化前后时钟数比较 表4 2 几种标准序列中全零块的比例( ) 表4 3 图像编解码前后的大小比较 表4 4 优化前后i 帧和p 帧编码所需时钟数比较 v i i 6 2 8 3 2 4 l 4 2 4 8 4 8 缩略词表 缩写字 c i f c s l d a r a m d c t d m a d s p e m i f i d c t m a e m s e m v p l l q c i f s a d s d r a m t s s v l c 缩略词表 英文名称 c o m m o ni n t e r m e d i a t ef o r m a t c h i p - s u p p o r tl i b r a r y d o u b l ea c c e s sr a n d o ma c c e s sm e m o r y d i s c r e t ec o s i n et r a r t s f o r r r l d i r e c tm e m o r ya c c e s s d i g i t a ls i g n a lp r o c e s s o r e x t e r n a lm e m o r yi n t e r f a c e i n v e r s ed i s c r e t ec o s i n et r a a s f o h n m e a r la b s o u t ee r r o r m e a ns q u a r ee r r o r m o t i o nv e c t o r p h a s e l o c k e d - l o o p q u a r t e rc o m m o ni n t e r m e d i a t ef o r m a t s u mo f a b s o l u t ed i f f e r e n c e s y n c h r o n o u sd y n a m i cr a n d o ma c c e s sm e m o r y t h r e e - s t e ps e a r c h v a r i a b l el e n g t hc o d i n g v i i i 中文名称 通用中间格式 芯片支持库 双访问随机存取存储器 离散余弦变换 直接存储器访问 数字信号处理器 外部存储器接口 反离散余弦变换 平均绝对误差 均方误差 运动矢量 锁相环 四分之一通用中间格式 绝对误差和 同步动态随机存取存储器 三步搜索法 变长编码 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示谢意。 签名: e 垂:毯日期:伽占年 月m日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论 文的规定,有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名: p 抵导师签名:嗡k f 日期:1 ”6 年f 啁z 日 第一章概述 1 1 课题背景 第一章概述 近年来,随着数字通信和计算机技术的飞速发展,加上宽带数字网技术以及 多媒体技术的进一步发展,数字视频业务得到了越来越多的关注,如可视电话、 会议电话、安全监视、远程教育、高清晰度电视( h d t v ) 和视频点播等都引起 了人们极大的兴趣。因此,对数字视音频信号的研究具有极大的现实意义。由 于原始图像的数据量较大,因此,这对存储器的存储容量,通信信道的带宽以及 计算机的处理速度都带来了很大的压力。 虽然网络的发展使有效带宽变得越来越宽,但是随着网络用户数量的增长以 及应用种类的增长,单纯的增加信道的带宽显得既不经济也不现实。另外,尽管 随着计算机技术的发展,计算机的处理速度变得越来越快,但是由于互联网使用 一个可以随即结束的时空共享信道,网络通信中同一群组中的用户也可能在机器 类型、操作系统、外设性能、c p u 处理能力等方面存在着巨大的差异,连接各用 户的网络区段也会在带宽、延时、误码等方面存在差异,这些都要求对视频信号 进行压缩。因此,数字视频信号的压缩,成了这些应用的焦点。 从信息论的观点看,图像作为一个信源,是信息量与信息冗余量之和。信息 冗余量有空间冗余、时间冗余、结构冗余、知识冗余、视觉冗余等。数据压缩实 质上就是减少这些冗余量,这样,在不减少信息量的基础上减少了数据量【2 l 。从 数学角度讲,就是减少了图像的相关性。通过这些先进的视频压缩技术,将视频 信息的数据量压缩,可以节省存储空间,提高视频的传输效率,使得计算机实时 处理视频,保证播放出高质量的视频节目成为可能。因此,视频信号的有效压缩 成为多媒体通信系统的核心。 1 2 视频压缩算法的国际标准 自2 0 世纪8 0 年代末以来,由于数字存储媒体、电视传播及通信等应用中 对活动图像压缩编码方法的需求日益增长,国际电信联盟i t u 和国际化标准组 织i s o 先后颁发了一系列的有关活动图像压缩编码的国际标准建议,对图像与 电子科技大学硕士学位论文 多媒体通信的研究、发展和产业化起到了重大的推动作用【3 】。 众所周知的活动图像压缩编码的标准有i t u 推出的h 2 6 1 建议、h 2 6 3 建 议、h 2 6 4 建议以及i s o 推出的m p e g 1 、m p e g 一2 、m p e g 一4 等。下面对这些 标准做一下简单介绍,由于本文的研究内容是基于h 2 6 3 标准的,故相关内容 在以后章节做详细介绍。 m p e g 1 制定于1 9 9 2 年,主要针对的是面向数字存储的运动图像及其伴音 的编码,可适用于不同带宽的设备,目标比特率为1 5 m b p s 。m p e g 2 制定于 1 9 9 4 年,是运动图像及其伴音信息的通用编码,设计目标是高级工业标准的图 像质量以及更高的传输率,它是实现d v d 的标准技术,目标比特率为 1 5 m b p s 3 5 m b p s ,主要应用于数字电视、有线电视、地面广播等。m p e g 4 则 旨在将众多的多媒体应用集合于一个完整的框架内,为不同性质的音视频数据 制定通用的编码方案,提出了基于内容的视频对象的编码标准,目标比特率为 8 k b p s 3 5 m b p s ,主要应用于因特网通讯、交互式视频、可视化编辑等。 下面重点介绍一下h 系列建议。 1 、h 2 6 1 标准 h 2 6 1 标准是由i t u 的前身国际电话与电报顾问委员会c c i t t 于1 9 9 0 年 7 月通过的第一个视频压缩标准,被称为“p 6 4 k b i t s 视听业务的视频编解码 器”,其中p = l 3 0 ,覆盖了整个窄带i s d n 基群的信道速率 4 】。因此,h 2 6 1 也称为p 6 4 标准。该标准的应用目标是会议电话和可视电话,用于面对面的 可视电话时,p = 2 ,速率为1 2 8 k b i t s ;当用于会议电话业务时,建议p 大于等 于6 ,速率为3 8 4 k b i t s ,最高可达2 0 4 8 k b i t s 。 l 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 ( q u a r t e rc o m m o ni n t e r m e d i a t ef o r m a t ) 两种图像格式进行处 理。由于世界各国采用的电视制式不同,所规定的图像扫描格式也不同,因此, 要在这些国家之间建立可视电话或会议业务,无法直接采用电视所规定的格式, 而是要统一到一个公共的图像格式上来,这也是c i f 这个名称的由来。图像帧 速最高为2 9 9 7 帧秒,在信道速率较低时,帧速可降至1 0 帧秒。 h 2 6 1 压缩算法是由具有运动补偿的帧间预测、块变换( d c t ) 和h u f f i n a n 编码组成,只利用前一帧作为参考帧进行前向预测,具有较高的压缩比。除了 起始帧为i 帧外,后续帧一般为p 帧。为了防止信道误码产生的错误经预测编 码而累积传播,每1 3 2 帧之内,在每个宏块位置上至少要进行1 次帧内编码。 2 、h 2 6 3 标准 2 第一章概述 i t u 在h 2 6 1 建议的基础上进行了改进,于1 9 9 6 年3 月正式公布了用于低 码率的视频编码建议h 2 6 3 建议,其基本编码结构是基于h 2 6 1 标准的f 5 j 。它 对帧内压缩采用域变换编码,对帧间压缩采用预测编码,相对于h 2 6 1 的主要 改进为:以半象素精度的运动估计取代整象素和环路滤波器:用于边信息的比 特数减少,宏块层采用不同于h2 6 1 的变长编码表;增加了四种可选编码模式: 无限制运动矢量模式、基于语法的算术编码、p b 帧模式、先进预测模式。与 h 2 6 1 相比,h 2 6 3 的压缩效率提高了5 0 以上,能提供更好的图像质量、更 低的速率,十分适合于i p 视频会议、可视电话应用,是i p 视频通信采用最多 的一种编码方法。 i t u 的h 2 6 3 工作组继续研究,推出了h 2 6 3 的增强版本h 2 6 3 + 和 h 2 6 3 + + 。1 9 9 8 年推出的h 2 6 3 + 是h 2 6 3 视频编码标准的第二版【6 】,它提供了 1 2 个新的可选模式和其它特征,进一步提高了压缩编码的性能。2 0 0 0 年推出的 h 2 6 3 十+ 又做了一些新的扩展【7 】,增加了一些新的特性从而适用于各种网络环 境,并增强了差错回复的能力。 3 、h 2 6 4 标准 h 2 6 4 是i t u t 的v c e g ( 视频编码专家组) 和i s o i e c 的m p e g ( 活动 图像编码专家组) 的联合视频组( j v t :j o i n tv i d e ot e a m ) 开发的一个新的数字视 频编码标准,它既是i t u 的h 2 6 4 ,又是i s o 的m p e g 一4 的第十部分。它提出 了许多新的特性,从而使得h 2 6 4 在压缩率上具有更好的性能,编码性能也有 了显著提高。 1 3 用d s p 实现h 2 6 3 算法的优势 实现h2 6 3 视频压缩编解码器有多种方法。主要有三种方式:基于c p u 的软件 方式,专用芯片方式和通用数字信号处理器( d s p ) 方式。 首先,随着微处理器技术的不断发展,使采用纯软件在p c 机上实现视频压缩 编码成为可能。然而,p c 的体系结构对于完成大量数据吞吐要求的存储密集型任 务的视频处理并不适合,数据切换时会占用大量的系统开销,从而影响整个系统 的性能。 其次,专用芯片虽然为高质量的多媒体通信终端的实现提供了技术支持,但 是由于此类芯片是各设计厂商根据其自身对多媒体信号处理的理解进行的针对 性设计,虽然能满足对处理能力的要求,但是给希望进行二次开发的用户带来了 电子科技大学硕士学位论文 不便,不利于互通与推广,不利于系统的改进和升级,丧失了灵活性。 与前两种方法相比,d s p 芯片可以实时快速的实现各种数字信号处理算法, 它具有高性价比,可满足大众消费的需要;同时,具有极高的运算速度,能快速 的处理数据:另外,由于视频处理中具有大量的数据,d s p 芯片具有数据空间与 存储空间分离,数据运算和数据存储同时进行以及快速访问片内空间等特点,其 合理的数据管理功能是完成多媒体处理的保证;最后,d s p 芯片具有可编程性, 便于系统的改进和升级,用d s p 芯片进行视频压缩处理具有更大的优势。 因此,我们在d s p 芯片上实现h 2 6 3 算法,具有很强的现实意义和实用价值。 4 第二章h2 6 3 视频压缩标准简介 第二章h 2 6 3 视频压缩标准简介 h 2 6 3 建议说明了一个可以用来压缩包含低比特率情况下的有运动图像成 分的视听服务的编码表裂引。其基本结构是基于h2 6 1 建议的,在信源编码上 仍然采用混合编码技术,即利用帧间预测减小时间冗余,利用变换编码减小空 间冗余,传输上采用可变长编码技术,具有运动补偿,允许可选择的将这项技 术应用于编码器中,且运动补偿精度精确到半象素精度。与h 2 6 1 建议相比, h2 6 3 能提供更好的图像质量和更高的压缩比。 2 1h 2 6 3 的图像格式 h 2 6 3 建议要求的输入图像数据由一个亮度信号y 和两个色差信号u 、v 组成。亮度信号y 由8 b i t 表示,范围在1 6 和2 3 5 之间,色差信号u 、v 由l b i t 符号位以及7 b i t 数值位组成,符号位为i 表示正数。因为u 、v 信号变化相对 缓慢,所以y 、u 、v 信号的采样率为4 :1 :1 ,采样位置如图2 1 所示。 ! oioo i - - - - - - j o;o o ; ! ojoo i x 亮度采样 。色差采样 一块边界 图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 , 此外,表2 一l 列出了这些图像格式的尺寸。建议还支持通过压缩方和解压缩方协商 输入图像的分辨率。 电子科技大学硕士学位论文 表2 1 几种标准分辨率下图像的行数和列数 图像格式 亮度分量( d ) 【) 亮度分量( d y )色度分量( d x 2 )色度分量( d x 2 ) s u b - q c i f 1 2 8 9 6 6 4 4 8 q c i f 1 7 61 4 48 87 2 c i f3 5 2 2 8 81 7 61 4 4 4 c i f7 0 45 7 63 5 22 8 8 1 6 c i f1 4 0 8 1 1 5 27 0 45 7 6 从上表中可以看出实际上h 2 6 3 标准的应用范围远远超出了低比特率图像 编码的范围,1 6 c i f 已经是高清晰度电视的水平了。从最初的规划目标和应用 前景来看,h 2 6 3 主要是为低比特率声像系统中的图像压缩编码而制定的,但 随着技术的发展,h 2 6 3 也可以使用于高速率的图像编码。 2 2h 2 6 3 的数据结构 h 2 6 3 的视频数据从上到下分成四层,依次为图像层fp i c t u r el a y e r ) 、宏块 组层( g r o u po f b l o c k sl a y e r ) 、宏块层( m a c r ob l o c kl a y e r ) 和子块层( b l o c kl a y e r ) 【9 1 。其语法结构如图2 2 所示。 图2 2 视频语法结构 现对上述四层结构进行详细的说明。 2 2 1 图像层 图像数据由图像头和连续的块组数据组成。图像在垂直方向分割成若干个 6 第二章h 2 6 3 视频压缩标准简介 块组。每个块组包含整行的宏块,如图2 3 所示。 块组1 块组2 宏块宏块宏块 宏块宏块宏块 图2 3 图像分割示意图 而每个宏块又包含4 个亮度块和2 个色度块,它们的结构和块编号如图 2 - 4 所示。 亮度块+ 0l 23 色度u 块色度v 块 图2 4 宏块结构示意图 图像层的数据结构如图2 - 5 所示。 匝工 匝亚亚正瑁夏 三画但 2 251 1532l0 8 1 6变字长 图2 - 5 图像层信思格式不恿图 其中: 图像起始码( p s c ) :所有图像的起始码都为“0 0 0 00 0 0 00 0 0 0 0 0 0 01 0 0 00 0 ”。 时间参考( t r ) :其实际意义是指当前编码图像在原始图像序列中的序号。 图像类型信息( p t y p e ) :包含图像编码的各种重要信息。图像编码时可以 选择各种不同的方式,以达到最佳的编码效率,这些方式由建议提供。 量化信。息( p q u a n t ) :编码时事先用p q u a n t 作为假定的宏块量化级 ( q u a n t ) ,如果实际的量化级与假定值相同,宏块层量化级不再被编码传递, 当这两个值不一致时,宏块层中的d q u a n t 会指出当前量化级与前一宏块量 化级的变化值,此后d q u a n t 在该帧不再起作用。 b 帧时间参考( t r b ) :在采用p b 帧编码时,要对当前p b 帧中的b 帧和前 电子科技大学硕士学位论文 一p 帧之间没有被编码传送( 即跳过) 的帧数再加1 。t r b 的作用同上面提到的 t r 。 b 帧量化信,息( d b q u a n t ) :采用p b 帧编码时,通过宏块( p 宏块) 的量化 级( q u a n t ) 和这个量化信息,可算出b 块的量化级( b q u a n t ) 。 附加插入信息( p e i ) :p e i 类似循环语句的一个判断条件,当p e i = “l ”时, 可将p s p a r e 信息写入码流,直至p e i = 0 为止。 附加信息( p s a p r e ) :附加信息为码长8 的倍数。 2 2 2 宏块组层 宏块组层数据包含宏块组头和宏块数据,每个宏块组包含一整行宏块,其 数据结构如图2 - 6 所示。 1 7 525 变字长 图2 6 宏块组层信息格式示意图 宏块组起始码( g b s c ) :所有宏块组的起始码值均为“0 0 0 00 0 0 00 0 0 00 0 0 0 1 ”。 宏块组号( g n ) :给出当前宏块组在图像中的位置,宏块组号由零开始,每 隔一个宏块组,组号增1 。 宏块组帧标识符( g f i d ) :用来判别相邻两帧图像编码类型是否相同,同一 帧的g f i d 值,处处相同。 宏块组层量化信息( g q u a n t ) :编码时用该信息作为这一块组中宏块的量 化级,直到被宏块层中的d q u a n t 更新为止。 2 2 _ 3 宏块层 图像在空间划分成1 6 1 6 象素的信息处理单位,称之为宏块。每个宏块包 含4 个8 8 的象素亮度块和空间上对应的8 8 的象素色度u 块及8 8 的 象素色度v 块。宏块层的数据结构如图2 7 所示。 釜三皇坚:! 箜塑塑匡堕昼堡笪盆 1 变字长变字长6 变字长2 变字长变字长变字长 变字长 图2 7 宏块层信息格式示意图 宏块编码指示( c o d ) :在帧间编码图像中,编码器用c o d 指明宏块层中除 c o d 字段外是否还有其它字段或块层信息。 宏块类型及色度编码形式( m c b p c ) :m c b p c 标明宏块的编码类型。如是 帧间编码( i n t e r ) 还是帧内编码( i n t r a ) 等。 b 宏块形式( m o d b ) :给出了b 宏块的编码信息。 b 宏块编码形式( c b p b ) :c b p b 的字长为6 比特,最左边一位对应块号0 , 最右边一位对应块号5 ( ! z d 图2 - 4 所示) 。 亮度块编码形式( c b p y ) :给出了四个亮度块的编码形式。 量化信皂, ( d q u a n t ) :给出了当前宏块量化级和前一宏块量化级的变化量。 运动矢量( m v d ) :在宏块运动估计时,水平和垂直方向的搜索范围在( 1 5 5 1 6 1 之间,可进行运动矢量与预测运动矢量差分之后的再编码( 先水平分量 后垂直分量) 。 b 宏块运动矢量( m v d b ) :在采用p b 帧模式编码时,b 宏块在前一p 帧 作运动估计,可由m v d b 给出最佳匹配块的运动矢量。 2 2 4 子块层 子块中的参数包括帧内直流系数( i n t r a d c ) 和非帧内直流系数( t c o e f ) 。 帧内块的第一个系数称为帧内直流系数,该系数不与其它任何系数构成事件, 可单独进行8 比特二进制编码。除了帧内直流系数之外,其它系数都称为非帧 内直流系数,这些系数构成一个个独立的事件,对事件可作变字长的编码。 2 3h 2 6 3 的主要模块介绍 h 2 6 3 1 拘信源编码器,主要包括预测、块变换和量化,图2 8 是其编码器的结 构框图4 1 。 9 电子科技大学硕士学位论文 p :帧间帧内指示t :图像数据传输与否指示 q z :量化器指示 q :量化变换系数v :运动向量 图2 8h 2 6 3 编码原理框图 h 2 6 3 引进了i 帧、p 帧和p b 帧三种帧格式和i n t e r ( 帧间编码1 和 i n t r a ( 帧内编码) 两种编码模式。其中i 帧被称为“关键帧”,它只对图像进行 域变换,压缩帧内的数据,即总以i n t r a 模式进行编码。p 帧称为“预测帧”, 把当前图像看作是前一帧或多帧图像在时间上“运动”后的结果,只记录当前 图像的运动矢量,从而减少时间信息冗余。b 帧称为“双向预测帧”,它把当前 图像看作以前图像运动到以后图像过程中的一种中间状态,只纪录当前图像的 相对位置,进一步减小信息冗余。p b 帧由一帧p 帧图像和一帧b 帧图像组成。 p b 帧中的b 图像总是以i n t e r 帧模式进行编码,而p 帧和p b 帧中的p 图像 可以采用i n t r a 或i n t e r 模式进行编码,具体选用哪种模式要由运动补偿算 法决定。 具体的编码流程如图2 8 所示。通过编码控制器判断图像的类型及宏块的 类型,然后根据宏块类型进行帧内编码或帧间编码。若为帧内编码方式,则直 接对原始图像数据进行离散余弦变换( d c t ) 、量化,最后进行z i g z a g 扫描和v l c 变长编码。若为帧间编码,则采用运动补偿帧间预测的编码方法消除图像在时 1 0 形成码流 llllii_,lllj 第二章h2 6 3 视频压缩标准简介 间上的冗余信息。首先计算当前帧和前一帧图像的对应块的帧差,根据一定的 匹配法则判断是否存在运动,如果不存在运动则不传送该块,如果存在运动则 采用某种搜索算法搜索前一帧中与该块的最佳匹配块,同时也获得该子块的运 动矢量,再计算帧差,进行帧间编码,输出运动矢量,并对帧差进行d c t 变换、 量化、z i g z a g 扫描和v l c 变长编码。 解码过程和编码过程正好相反,是编码过程的逆过程。基本解码器的主要 模块有v l c 解码,反量化、i d c t 和运动补偿。v l c 解码模块对输入的比特流 进行解码,输出量化后的变换系数,然后再进行反量化得到d c t 后的变换系数。 若为帧内模式,则将i d c t 的结果作为输出图像:若为帧间模式,则要通过运 动补偿才能作为输出图像。 下面对h2 6 3 算法的一些关键模块进行重点介绍。 2 3 1 离散余弦变换( d c t ) 离散余弦变换( d i s c r e t ec o s i n et r a n s f o r m ) ,简称d c t ,是线性变换编码的 一种。变换编码的基本原理,是将原来在空间描述的图像信号,通过一种叫正 交变换的数学变换,变换到另一个正交矢量空间( 称为变换域) 中进行描述。这 时,人们发现这些变换系数之间的相关性明显下降,并且能量常常集中于某些 低频或低序的系数区域中。因为变换系数的公式部分为零,或很接近零,可以 舍去,只对少数低频分量分配一定的比特数。这样,很容易实现码率压缩。然 后对这些系数实现量化、编码和传输。在接收端对收到的线性系数进行相应的 逆变换,再恢复成图像信号。从理论上讲,线性变换编码可以压缩码率的原因 在于图像信号存在很强的空间相关性。线性变换除了离散傅立叶变换( d f t ) 之 外,还有沃尔什一哈达玛变换、斜变换、离散余弦变换( d c t ) 和卡洛( k - l ) 变换 等方法。 离散余弦变换是离散傅立叶变换的一种特殊情况。在傅立叶级数展开式中, 如果被展开的函数是实偶函数,那么其傅立叶级数中只包含余弦项。因此余弦 变换与傅立叶变换一样有明确的物理意义。 在数字图像数据压缩编码技术中,因为离散余弦变换与最佳变换k l 变换 的压缩性能和误差很接近,因此d c t 可与k l 变换相媲美,另外,与k l 变 换相比,d c t 的计算复杂度适中,又具有可分离的特性,还具有快速算法。因 此,一直以来在图像数据压缩中,采用离散余弦变换编码的方案很多。h 2 6 3 电子科技大学硕士学位论文 算压甲便便用jd c t o d c t 首先是将整体图像分成n n 象素块,然后对其逐一进行d c t 变换。 h 2 6 3 中定义的n 为8 。 一维d c t 公式与i d c t 公式为: 巾) = 扣艺c o s 紫 (2_)n=o y ( “) = 寺c ( “) c o s ! ! ! ! - :;j i ;兰兰r ( n ) ( 2 1 ) m ,= 圭砦m , 弦z , 其中: 嘶,= 联善划 协, 由于图像是二维的,所以也需要二维的域变换运算。 二维的d c t 公式为: f ( 刚) :三c ( “) c ( v ) 笋笋m ) c o s n ( 2 n + 1 ) uc o s r c ( 2 m + 1 ) v ( 2 - 4 ) f ( 刚) 2 扣) c ( v ) n = o 萎m ,m 百c 。s 五广) 1 h l = o v 二维的i d c t 公式为: 厂,m ) = 一1n - i n ) - i c m ) c ( v ) f ,v ) c o s z ( 2 u + 1 ) nc o s r c ( 2 v + 1 ) m ( 2 - 5 )m ,m ) 2 i 乙u = o 乙v = oc ( “) c ( v ) f ( “,v ) c 。s 丽一c 。s j 丙一 ) jv二v 式2 5 中的f ( n ,m ) 代表8 8 原参考图像的象素值,n 代表水平象素位置, m 代表垂直象素位置。f ( u ,v ) 代表8 8 d c t 变换后的系数,u 代表水平位置, v 代表垂直位置。编码时对8 8 大小的图像数据进行d c t ,变换后输出8 8 个变换系数。当u = 0 和v = 0 时,f ( 0 ,0 ) 是原6 4 个样值的平均,相当于直流分 量。随着u 和v 的增加,相应系数分别代表逐步增加的水平空间频率分量和垂 直空间频率分量的大小。i d c t 是d c t 的逆过程,它把6 4 个d c t 变换系数经 过逆变换运算,重建一个6 4 点的输出图像。 多数图像的统计特征表明,经离散余弦变换后,大幅值的系数往往集中在 低频率区内。这样可以给那些小幅值系数分配很少的存储空间,甚至可以不传 送,从而压缩了数据的容量。 1 2 第二章h 2 6 3 视频压缩标准简介 综上所述,d c t 具有以下特点: l 、在变换域中描述视频图像要比在空间域中简单。 2 、变换后的系数相关性明显下降,信号的能量主要集中在少数的几个变换 系数上,采用量化、游程和变长编码可有效的压缩其数据。 3 、有快速算法,有利于提高编解码的效率。 2 3 2 量化与反量化 量化器是利用主观视觉特点,挖掘压缩潜力的工具。如果对d c t 系数不进 行量化,直接精确的传送到接收端,则可以无失真的还原原始信号。但是,主 观经验表明,对于由人眼观看的视频图像,预测误差没有必要绝对精确的传送 到接收一方,可以对它进行量化,适当的降低精确度,从而获得更高的压缩率。 这样,虽然由于量化误差的引入造成了图像一定程度的客观失真,但是,如果 能够把量化误差限制到主观视觉不能察觉的程度,则不影响图像的主观质量。 因为人眼对低频分量部分比较敏感,而对高频分量不太敏感,由上一节我 们又知道,一个块经过d c t 变换后,大部分系数集中在低频区域,而高频系数 都比较小,量化后许多高频系数为零,从而达到了压缩的目的。 量化器是对8 8 的d c t 系数进行量化,量化公式如下: 帅) _ ( i n t ) 刮 沼s , 其中f ( u ,v ) 是d c t 系数,q 为量化步长,取l 3 1 。量化公式中i n t 表示取 整数,即四舍五入消除小数点。 在h 2 6 3 标准中,对同一宏块采用相同的量化步长来完成量化。另外,虽 然量化步长的取值可以是l 3 1 ,但是第一个i n t r a 块是例外的。它的第一个 系数一律按照步长为8 来进行量化。 反量化器q 。1 采用的计算公式如下: f ( u ,v ) = 2 q q ( u ,v ) ( 2 - 7 ) 其中q ( u ,v ) 是量化器所得的系数,q 是量化步长,其值与量化器所使用的 相同。 量化减少了非零d c t 系数的个数,为后面的z i g z a g 扫描创造了条件,也 1 3 电子科技大学硕士学位论文 有利于后面的熵编码。量化步长直接影响到视频压缩效果。若步长较大,则图 像压缩比较大,但图像质量可能会下降:步长较小,图像质量会相对好一些, 但此时图像压缩比会减小,直接影响传输速率。所以量化步长的大小可以根据 具体要求取折中值。 2 _ 3 3 熵编码 熵编码是一种无损编码。在h 2 6 3 标准中,采用的熵编码技术,实际上是 一种混合编码技术,即游程编码和h u f f m a n 编码相结合。先对d c t 量化系数 矩阵进行z i g z a g 扫描,然后再对其进行游程编码和h u f f m a n 编码。 块经过d c t 变换以后,低频部分的非零系数大多数集中在矩阵的左上角, 而高频部分的零系数基本上都集中在矩阵的右下角。经过量化后,大部分高频 系数变为0 。对量化后的系数做z i g z a g 扫描来重新编排,目的是为了增加连续 的0 系数的个数,就是游程长度,z i g z a g 扫描的方法是按照z 字形的式样 编排,具体编码顺序如图2 - 9 所示。 1267 1 51 62 82 9 3581 41 72 73 04 3 491 31 82 63 14 24 4 l o1 21 92 53 24 l4 55 4 1 12 02 43 34 0 4 65 35 5 2 12 33 43 94 75 25 66 1 2 23 53 84 85 l5 76 06 2 3 63 74 95 05 85 96 36 4 图2 9z i g z a g 扫描路径图 这样就把一个8 8 的矩阵扫描为lx 6 4 的一维矢量,可以用一个一维数组 表示,扫描后的数组中的第一个位置为直流系数( d c 系数) ,其他6 3 个交流系 数( a c 系数) 按低频到高频的顺序排列。由于d c t 有能量集中特性,使得大幅 值的系数往往集中在低频区内,按此顺序将数据读出,有利于提高后面的变长 1 4 第二章h 2 6 3 视频压缩标准简介 编码的效率。 经过z i g z a g 扫描之后,对l 6 4 的一维矢量进行游程编码。 游程编码是一种非常简单的编码方法,它将数据流中连续出现的数据( 称 为游程) 用该数据以及它连续出现的个数来表示。在h 2 6 3 中,由于d c t 的量 化后的系数中有大量的0 ,在这种情况下,与其传输大量的0 ,不如告诉接收端 那些不是0 的系数,并告诉接收端两个非零系数之间有多少个零系数即可。这 样可以达到较高的压缩比,节省了码字。 在h 2 6 3 中,采用的是三维游程长度码表编码,分别根据是否还有剩余的 零,连续零的个数,和下一个不为零的数值查表。可以用( l a s t ,r u n ,l e v e l ) 的三元组进行描述,符号r u n 为序列中两个非零系数之间的距离;l e v e l 则 为一列0 之后的紧跟的那个非零系数;l a s t 是最后一个非零系数的说明,l a s t 为0 表示块中还有更多的非零系数,“1 ”表示这是块中最后一个非零系数。 有时,变换系数经z i g z a g 排

温馨提示

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

评论

0/150

提交评论