(模式识别与智能系统专业论文)h264编码器的dsp实现与优化.pdf_第1页
(模式识别与智能系统专业论文)h264编码器的dsp实现与优化.pdf_第2页
(模式识别与智能系统专业论文)h264编码器的dsp实现与优化.pdf_第3页
(模式识别与智能系统专业论文)h264编码器的dsp实现与优化.pdf_第4页
(模式识别与智能系统专业论文)h264编码器的dsp实现与优化.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 h 2 6 4 a v c 是u t v c e g 和i s o cm p e g 联合制定的最新的视频编码国 际标准,是目前图像通信研究领域的热点问题之一。h 2 6 4 的视频编码层( v c l ) 采用了许多新技术使得编码性能大幅度提高。但这是以复杂度的成倍增加为代价 的,这就使得h 2 6 4 在实时的视频编码及传输应用中面临着巨大的挑战 利用高性能数字信号处理器( d s p ) 来实现h 2 6 4 实时编码器是一种快速有 效的方法,有助于h 2 6 4 视频标准的迅速推广和应用a d ib l a c k f i n 5 6 1 是一款高 性能的数字信号处理器,具有6 0 0 m h z 的主频。本文选择其作为硬件平台,探索 了在资源有限的d s p 平台上实现h 2 6 4 编码器的有效途径。 论文选择j m 8 5 作为参考,阐述了h 2 6 4 编码器c 算法级优化的整个过程, 随后在深入剖析算法的基础上,对影响编码速度的瓶颈部分进行研究,寻找算法 的改进途径,在运动估计方面提出了改进方法;在此基础上进行将在p c 机下改 进的代码向d s p 的移植及优化工作,根据所选择的d s p 芯片的特点,对移植后 的程序进行c 语言级和汇编语言级的优化,通过m e m o r y 配置、c a c h e 应用和d m a 等多种方法,完成了h 2 “编码的d s p 移植 关键词:h 2 6 4 标准复杂度分析 b l a c k f i nd s p 优化 a b s t r a c t a b s t r a c t h 。2 6 4 a v ci st h en e w e s tv i d e oi n t e r n a t i o n a ls t a n d a r dd e s i g n e db yb o t h u - t v c e ga n di s o i e cm p e g i tb e c o m e sa l li m p o r t a n tc o n t e n to fi m a g ec o m m u n i c a t i o n r e s e a r c hf i e l d t h en e wt e c h n o l o g yo fv c li m p m v e dc o d i n ge f f i c i e n c yg r e a t l y h o w e v e rt h ei m p r o v e m e n ti sb a s e do nt h ec o s to fr a p i di n c r e a s e dc o m p l e x i t y , w h i c h m a k e si td i f f i c u l t yo fr e a l t i m ec o d i n ga n dt r a n s m i s s i o no fh 2 6 4 b a s e do nh i d - p e r f o r m a n c ed i g i t a ls i g n a lp r o c e s s o rt oi m p l e m e n th 2 6 4v i d e o e n c o d a ri so n eo fm o s te f f i d e n tm e t h o d s ,w h i c ha l s oh e l pt op r o m o t et h ea p p l i c a t i o n o fh 2 6 4 a d ib l a c k f i n 5 6 1i sah i g h - p e r f o r m a n c ed i g i t a lm e d i ap r o c e s s o rw i t h 6 0 0 m h zc l o c kr a t e t h i sd i s s e r t a t i o nc h o o s eb f 5 6 1a st h eh a r d w a r ep l a t f o r mt o i m p l e m e n t st h er e a l t i m eh 2 6 4e n c o d e r , a n de x p l o i t e dt h ee f f i c i e n tm e a n so fh 2 6 4 e n c o d e ri m p l e m e n t a t i o nb a s e do nd s pp l a t f o r m t os u c c e s s f u l l yt r a n s p o r th 2 6 4cc o d eo n t ot h ed s pd e v i c e a f t e ri n t r o d u c e st h e p e r f o r m a n c eo fb f 5 6 1d s pa n du n i q u ef e a t u r e so fi t sa r c h i t e c t u 聘,t h i sd i s s e r t a t i o n s t a t e st h ew h o l eo p t i m i z i n gp r o c e s so ft h eo r i g i n a lcc o d e i tc h o o s ej m 8 5 v a r i o u s m e t h o d sa r ea d o p t e dt oa d j u s t i n gt h eo v e r a l lp r o g r a ms t r u c t u r ea n dd a t as t r u c t u r e t h e n e wa l g o r i t h mi sc o n s i s t e n tw i t ht h eb a s e l i n ep r o f i l e ,s i m p l e ,c l e a r , w i t h o u tt h e r e d u n d a n ta n dh a st h es a m ec o d i n gr e s u l to ft h eo r i 舀h a lj m t h r o u g hd e e p l ys t u d y i n g t h em a i nt e c h n i q u e sa n da l g o r i t h m s , f i n do u tt h eb o t t l e n e c kw h i c hi n f l u e n c e st h e c o d i n gs p e e d ,t h e na ni m p r o v e dd i a m o n d s e a r c h i n ga l g o r i t h mi sp r o p o s e dt oi m p r o v e t h ec o d ee f f i c i e n c y f i n a l l yt h ei m p r o v e de n c o d i n ga l g o r i t h m sa r eu a n s p l a n t e dt ot h e d s p c h i p ,s o m ek e yp o i n t s , s u c ha sd e c i s i o no fe n c o d e rt o o l s ,m e m o r yc o n f i g u r a t i o n , c a c h e ,d m a , ca n da s s e m b l yl a n g u a g eo p t i m i z a t i o n ,a l es u m m a r i z e d k e y w o r d :h 2 6 4 a v cc o m p l e x i t ya n a l y s i s b l a c k f i nd s po p t i m i z a t i o n 创新性声明 本人声明所呈交的论文是我个人在导师的指导下进行的研究工作及所取得的 研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文 中不包含其它人已发表或撰写过的研究成果;也不包含为获得西安电子科技大学 或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志所做的任何 贡献均已在论文中做了明确的说明并表示了谢意。 本人签名:日期: 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生 在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕业 离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。学 校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部 或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文在 解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名: 导师签名: r 期 日期坦2 :! :塑: 第一章绪论 第一章绪论 1 1 引言 自上世纪7 0 年代以来,计算机与数字信号处理技术有了突飞猛进的跨越式发 展,互联网逐步普及,网络服务水平也随之提高,这一切使得简单的文本信息无 法满足信息时代的通信要求,人类对信息的处理迅速地由模拟领域进入了数字领 域,处理的对象集中于多媒体信息。因此2 l 世纪被形象地称为数字时代或多媒体 时代。 多媒体信息主要包括文字、声音、图像和视频等内容,视频是其中最重要的 组成部分。且前,可视电话,视频会议,安全监控,远程教育和视频点播等多媒 体服务已成为人们关心的热点。这是因为:首先视频信息具有直观、形象、准确、 高效和应用广泛等特点,因此极易被人类接受。据统计人类接受的信息7 0 来自 视觉;其次,视频信息具有无与伦比的信息容量,在许多工程领域,都会遇到对 海量图像数据进行传输与存储的问题。在传输方面,包括数字电视,遥感照片, 军事侦察图像,可视电话,视频会议等;在存储方面:教育、商业、管理等领域 的图文资料,c t 机,核磁等设备的医用图像,天气云图等,几乎涉及各个行业。 但是,与文字、数据等相比,数字化后的视频信息,海量的数据量给信息的传输 核存储造成极大的困难,成为阻碍人类有效获取和使用信息的瓶颈之一。原始的 数字视频几乎没有任何实用价值。例如,对于s i f ( s o u r c ei n p u tf o r m a t ) 格式, n t s c 制式,4 :4 :4 采样的数字电视图像,每帧数据量为3 5 2 2 4 0 3 = 2 5 3 k b , 每秒数据量为2 5 3 3 0 = 7 6 0 3 m b s ,一片c d r o m 可存帧数6 5 0 0 2 5 3 = 1 2 2 6 髓 帧,一部c d r o m 节目时间仅为( 6 5 0 7 6 0 3 ) 6 0 = 1 4 2 分;对于高清晰度数字电 视( u r7 0 9 ) ,每秒数据量高达8 8 4 7 m b i 协,而地面广播系统的传输带宽仅有 6 m 到8 m 。因此数字视频必须经过压缩才能有实际意义。为了在有限的容量里存 储更多的图片,或为了在最短的时间里传递更多的信息,或在有限的带宽条件下 传输更多的活动图像,必须研究如何最大限度地压缩图像,并保证重建图像能够 被用户接受,这样视频压缩技术就成为多媒体技术的关键所在。 1 2 视频编码原理 视频编码的目的是实现对视频的压缩, 其核心内容是去相关,即通过减少视频序列间的相关性,用较少的比特数来 表示视频内容,降低冗余,从而实现对视频的压缩。视频序列中的冗余主要有以 2 h 2 6 4 编码器的d s p 实现与优化 下几个方面f ”】: 1 空间冗余:在同一帧画面中,相邻的象素间存在的相关性。特别是当这些相 邻象素位于同一个视频对象中时,相关性极强,例如图像的背景区域; 2 时间冗余:通常对视频序列而言,除非发生场景切换,否则相继帧在时间上 都是连续的。即在前后两帧中往往包含与当前帧相同的背景和对象,只是由 于镜头的转动或对象的移动使得空间位置发生变化。运动越缓慢,位置的变 换越小。因此视频序列存在极强的相关性; 3 编码冗余:对于编码符号,其平均码长高于所表示的信息熵,这个偏差就形 成了编码冗余; 4 人眼视觉冗余:由于人眼视觉的非均匀性,使得人眼视觉对某些空间频率感 觉迟钝。因此视频中不同频率成分的内容对于人眼系统而言其重要性不同, 也就是说存在频域冗余。例如人眼视觉系统对亮度信号变化的敏感性高于色 度信号变化,因此可以对色度分量进行降采样,同时保持主观视觉质量不变 y u v 4 :2 :0 色差格式就是对色度分量在水平和垂直两个方向进行2 :1 的降采 样。另一方面对信号频域的各个分量可以采取不同的量化步距,将人眼感觉 不敏感的分量去除,而不会引起主观质量的下降; 5 结构冗余和知识冗余:图像的某些区域存在非常强的纹理结构,图像象素值 有明显的分布模式,形成结构冗余。或者图像中包含的信息与某些先验知识 有关,例如人的五官位置对于人脸而言就是一种先验知识,这种冗余构成知 识冗余。 在上述冗余中,编码冗余、空间冗余和时间冗余都依赖于图像数据的统计特 性,可以统称为统计冗余。 信源编码的方法按照压缩数据能否被准确恢复分为两大类:无损编码和有损 编码。虽然无损编码可以无失真地恢复原始数据,但其压缩效率十分有限( 1 0 倍 以下) ,因此视频压缩中是将无损编码和有损编码结合使用 视频编码中主要压缩技术有以下几种: l 、预测编码 不是对一个象素直接编码,而是用同一帧( 帧内预测编码) 或相邻帧( 帧问 预测编码) 中的象素值来进行预测,然后对预测残差进行量化和编码。显然预测 编码实际是利用了图像数据中的空间和时问冗余。线性预测编码又称为差分脉冲 编码调制d p c m ( d i f f e r e n t i a lp u l s ec o d em o d u l a t i o n ) ,由于算法简单,易于硬件 实现,已被各种视频编码标准采纳 帧间预测编码的主要方法有帧重复法、帧内插法和运动补偿法等。其中运动 补偿法在视频编码中应用得最为广泛运动补偿预测通常可以采用单向预测( 一 个参考帧) ,双向预测( 两个参考帧) 和插值预测( 取两个参考帧预测值的平均) 第一章绪论 3 来实现。由于运动补偿预测可以有效地减少视频序列的时域冗余,因此成为构成 当前主要视频编码标准最基本的技术之一。 2 、变换编码 变换编码是构成当前主要视频编码标准的另一项最基本技术,用来消除图像 的频域( 变换域) 冗余【”。变换编码可分为正交变换编码,子带编码【“州和小波 编码 1 1 - 1 2 1 正交变换编码通常是将空域相关的象素点映射到另一个正交矢量空间,使得 变换后的系数之间相关性降低。常见的正交变换有k - l ( k a r h u n e n l o c v e ) 变换、离 散傅立叶变换d f t ( d i s c r e t cf o u r i e rt r a n s f o r m ) 、离散余弦变换d c t ( d i s c r e t ec o s i n e t r a n s f o r m ) 、沃尔什哈达玛j ( w a l s h - h a d a m a r d ) 变换和哈尔( h a r 0 变换。k - l 变换是 均方误差准则下的最优变换,但实现困难。在现行视频编码标准中几乎都采用了 性能最接近k - l 变换的d c t 。实际上当自相关系数为1 时,k - l 变换就退化为 d c t 变换【射。d c r 变换是1 9 7 4 年a h m e d 【6 1 提出的,它具有一组固定的基函数( 和 图像内容无关) ,以及很好的能量压缩和去相关特性。d c t 变换和d f r 变换密切 相关,n x n d c t 可以由它的偶对称扩展2 n x 2 n d f t 变换表达出来,这样利用 d f t 变换的可分级特性以及若干f f t 变换算法中的一个。可以用o ( 2 n 2 l o g ,) 操 作代替0 ( 4 ) 计算出n x nd c t t ”。除此之外,目前已经有了许多更为实用的d c t 变换快速算法1 7 4 1 。由于d c r 变换采用实数计算,加上有效的快速算法实现,使 得硬件实现成为可能,因此被广泛地采用。 通过正交变换编码,图像的能量集中在低频区域,表示图像中缓慢变化的内 容,而图像的边缘、细微的纹理等细节部分集中在变换的高频区。在压缩过程中, 通常采用同一个量化器进行量化,牺牲了图像的细节部分,造成解码图像模糊。 在高压缩比时,基于块的正交变换编码还会产生块效应( u o c ke f f e c t ) 和振铃效应 n ge f f e c t ) ,进步降低图像质量。因此出现了子带编码和小波编码等新方法。 子带编码是将图像分裂成几个不同频带的子带( s u b - b a n d ) ,对不同的予带设计不同 的编码参数,提高图像质量。小波变换编码充分地利用了小波分析在时域和频域 同时具有良好的局部化特性,与人眼视觉特性相符的多分辨率能力,分析系数分 布平稳,自然分级的金字塔式数据结构等优点,在视频压缩领域引起广泛的关注。 它利用与正交分解完全不同的小波分解,以原始图像( 而非原始图像中的块) 为 初值,不断地将上一级图像分解为4 个子带:上一级图像中的低频信息、垂直方 向、水平方向和对角线方向的边缘信息。从多分辨率分析出发,一般每次只对上 一级的低频子图图像进行分解。将整个图像而非其中的块作为整体进行传送,因 此不会产生块效应。由于小波变换的金字塔式数据结构的每一层都包含整个图像 的信息,只是其中的分辨率不同,因此可以选择传送部分或全部,非常简单,自 然的实现可分级视频编码。 4 h 2 6 4 编码器的d s p 实现与优化 3 、统计编码 根据香农信息论的观点,信源冗余度来自信源本身的相关性和信源内部事件 概率分布的不均匀性。统计编码主要有基于概率分布特性的霍夫曼编码和算术编 码,以及基于相关性的游程长度编码三类。 霍夫曼编码( h u f f m a nc o d i n g ) 是一种变长编码v l c ( v a r i a b l cl e n g t hc o o i n g ) 。 它将信源符号按概率大小重新排序。通过二叉树算法,依次将两个概率最小的结 点合并,直至根结点。完成树的构造后,给所有的树枝分配0 和l ,这样就可以 给高概率符号分配短码,而概率小的符号则分配较长的码字,去除符号间的统计 冗余。在已知信源符号概率时,可以给出极好的编码性能。但霍夫曼编码严重依 赖信源的统计特性,编码前必须有信源概率分布的先验知识。对于复杂的视频来 说,只能用对大量数据统计后获得的近似分布来代替,因此实际应用时无法达到 最佳性能。另一方面v l c 提高了编码效率,但不利于硬件实现。 算术编码1 1 1 州( a r i t h m e t i cc o d i n g ) 是2 0 世纪8 0 年代发展起来的,理论上,算 术编码和霍夫曼编码都是最佳的,但在信源概率分布未知的情况下,算术编码优 于霍夫曼编码。算术编码的基本原理是利用【0 a 之问的一个概率区间来表示数据 序列。将信源x 的一个给定状态x f 蜀,x :,z v 与【叩】问的一个由大概率p 和 小概率q 限定的概率子区间相联系,区间的长度等于序列的概率p g ) 。编码器从 n - 1 开始,逐位地处理输入的符号流。每输入一位,更新当前符号的条件概率, 并以此调整尸和q 限定的概率子区问。随着的增加,和输入符号序列相联系的 概率子区间就会变得越来越小。最后用这个表示概率子区间的小数给符号序列编 码。 游程长度编码r l c ( r u n - l e n g t hc o o i n g ) 是将符号值相同的连续符号串用一 个游程长度( 符号数) 和一个代表值( 值) 描述。这样可以用更紧密的序列代替 原有的相同值符号串。在视频压缩中,量化后的数据常常出现大量的连零系数, 利用游程长度编码可以有效地降低表示零码的比特数。 4 、分形编码和模型基编码 本文的关注焦点主要集中于基于块匹配的编码框架中,因此分形编码f 1 5 - 1 7 和 模型基编码 1 8 - 1 9 l 超出了本文的讨论范围,不再一一详述。其具体的编码原理可以 参见相关的文献。 1 3 视频编码标准 视频编码技术的标准化给不同的厂商和视频提供者奠定了一个共同工作的基 础,也为编码视频的交互和更为广泛的应用创造了必要的条件。开发一种国际标 准需要来自不同国家的许多同行的合作,并需要一个能支持标准化过程和实篪标 第一章绪论 5 准的组织。视频编码国际标准的制定主要由i t u - t 0 n t e m a t i o n a l t e l e c o m m u n i c a t i o nu n i o n - t c l e c o m m u n i c a t i o ns t a n d a r d i z a t i o n s e c t 0 0 和 i s o i e c ( i n t e m a t i o n a lo r g a n i z a t i o nf o rs t a n d a r d i z a t i o n i n t e r n a t i o n a le l e c t r o t e c h n i c a l c o m m i s s i o n ) 负责。r r u t 相继发布了h 2 6 x 系列标准,而i s o i e c 则推出了m p e g 系列标准。这些标准都是建立在基于块匹配的混合编码框架下的,若且有非常类 似的结构下面对基于块匹配混合编码框架的基本结构、必要算法和相关视频编 码标准作一个简要介绍。 1 3 1 混合编码框架下的视频编码器 到目前为止,不管是m p e g 系列标准还是u - t 的h 2 6 x 系列标准,其编码 基本原理都是一样的,那就是用时域预测去掉时域冗余,空域预测去掉空间冗余, 然后d c t 域量化,去掉高频不重要的信息,再用v l c 和游程编码使得编码可以 用最少的比特来表示码流。所不同的是,各种标准采用的码表有所差别,以面向 不同的应用;另外,新的标准在某些模块会采用一些新的算法,做出改进。现有 的视频编码标准都是d p c m t 的压缩方式,不同标准下的编解码器有所差别,但 大致的结构基本是一致的。 基于块匹配混合编码框架下的视频编码系统是将编码帧划分为n n 的块, 每一个块相对独立地进行处理。其核心思想是利用帧间预测编码消除图像序列中 的时域冗余,利用变换编码消除频域冗余。其编码器框图如图1 - 1 。这些编码器 都用到了运动估计和运动补偿、d c r 变换等技术。 图1 - 1 基于块匹配混合编码系统编码器示意图 通常编码器的主要模块为运动估计( m o t i o ne s t i m a t i o n ) 和运动补偿f m o t i o n c o m p e n s a t i o n ) 以及纹理编码。其中运动补偿用到了反量化( i n v e r s eq ) 、反变换 ( i n v e r s eo c t ) ,纹理编码用到了变换( d c t ) 量化( q ) 、变长编码( v a r i a b l el e n g t h c o d i n g ) 等技术。 6 h 2 6 4 编码器的d s p 实现与优化 1 3 1 1 运动估计和运动补偿 常用的运动估计算法有象素递归,块匹配等。考虑到规律性和软硬件实现的 简单性,块匹配技术是通常采用的更合适的方法。目前所有压缩编码标准的运动 估计都采用块匹配技术。由于运动估计运算的复杂性,它也是编码过程的最大的 运算瓶颈。全搜索算法的结果最好,但要以很大的计算复杂性为代价,所以在实 现中,必须对运动矢量的质量与运动估计过程的计算复杂性折衷考虑 参考鞭e 咄裔钕c 田攮寰譬【j 口 捌燃点 囵甄魁块焉。 刚。趣靖矢量 图1 - 2 运动估计原理 图1 - 2 就显示了块匹配运动估计原理【矗】。当一个物体通过时,它可能在每幅 画面上出现在不同的位置,但其本身的外形并没有多大的改变。通过在编码器上 测量运动可以降低画面差异。画面差异被以矢量的方式送往解码器解码器使用 该矢量将上一幅画面的一部分移至新画面中更恰当的位置上。 在下列情况下,运动估值的压缩效率较好: 一个视频对象的大部分特征,如形状和方位,在各帧之间保持不变。 只有帧内视频对象的位置改变。 运动估计过程计算每n x n 象素区域( 称为宏块) 的运动矢量,运动矢量就 是宏块从一帧到另一帧的相对位移。假设在当前帧( t 时刻) 中某一宏块左上角 的位置是o ,y ) ,如果该宏块在参考帧中的最佳匹配宏块位于o + ,y + v ) ,那么 位于0 ,y ) 处的宏块的运动矢量就是o + ,y + v ) 在相对坐标系中,运动矢量表 示为 ,y ) 。如果参考帧是t 时刻之前的( f 一厅) 时刻,则运动矢量称为前向运动矢 量。如果参考帧是t 时刻之后的( f + 押) 时刻,则运动矢量称为后向运动矢量。 考虑到通过帧间运动补偿可以有效压缩数据比特数,数据压缩标准中通常采 用三种类型的图像:帧内图( i 图像) ,预测图( p 图像) 和双向预测图( b 图像) 。 帧内图像( 1 帧) :编码时不需要其它参考帧。帧内编码宏块不需要运动 矢量。l 帧画面是指帧内编码画面,解码时不需要其它额外的信息。l 帧 主要由变换系数组成,不含矢量。它允许观众变换频道,并防止误码的传 递。 预测图像( p 帧) :p 帧数据由在前面画面中描述的每个宏块的矢量所组 第一章绪论 7 成,而不是由描述必须加到宏块上的校正或差异数据的变换系数所组成。 p 帧需要的数据大约是i 帧的一半。在同一个p 帧内,某一宏块可以编码 为p 类型( 前向预测编码) 或l 类型( 帧内编码) 宏块。如果在运动估值 过程中计算出的运动矢量不能用时,则该宏块选择i 类型编码模式 双向预测图像( b 帧) :同时用前面和后面的i 帧或p 帧作参考帧进行运 动补偿预测编码。在同一个b 帧内,某一宏块可以编码为i 类型,p 类型 或b 类型编码模式b 帧通常每个宏块需要两个运动矢量:一个前向运 动矢量和一个后向运动矢量的线性插值。由于双向预测非常有效,所以b 帧需要的数据大约是l 帧的四分之一 这些图像类型的组织结构十分灵活,可以由编码器的参数决定。 在同一个视频帧中,每个宏块也可以采用不同的编码类型。每个宏块具有的 运动矢量数目取决于宏块的编码类型。 各种块匹配算法在以下三方面有区别:块大小选择,最佳匹配标准,搜索策 略。 在h 2 6 4 标准中,可以选择从1 6 x1 6 到4 x 4 等多种变化的尺寸为块匹配尺 寸 最佳匹配可以用多种方法来判断。最常用的实现简单的方法是绝对差之和 ( s a d ) 方法,也就是说,最佳匹配宏块是使s a d ( ,) 取最小值的宏块。s a o ( f ,) 定义如下: 一1 一1 s a d q ,) 。磊荟i c ( x + 七,) ,+ 7 ) 一r ( x + + 七,) ,+ ,+ ) c 0 + t ,y + f ) 表示当前帧中位于o ,y ) 处宏块的象素,该宏块被称为估计宏 块。r o + “七,y + ,+ f ) 表示参考帧中宏块的象素,该宏块被称为参考宏块。f , ,定义在搜索区域内:一p f p ,一p s ,p 3 1 ,m 表示宏块的尺寸。 位于o ,) ,) 处的宏块的运动矢量是使函数s a o ( i ,) 取最小值的o ,) 。 当最佳匹配宏块与估计宏块几乎相同时,差值副d o ,) 非常小实际上,只 有对s a d ( i ,) 值小于某一预定阈值的宏块,才能使用运动估值算法。 运动估计的过程通常是:首先对宏块的亮度块用全搜索方法得到整象素精度 的运动向量,然后用这个运动向量作为初始估计,在它周围进行半象素精度的搜 索。将得到的亮度块的运动向量除以2 作为对应的宏块的色度块的运动向量。对 于作参考的帧,由于它需要能够独立解码,因此在解码的时候可能没有帧外部的 象素值,而在运动估计时,可能要用到这些象素值,因此需要先采用“重复填充” 技术来根据帧内部的象素值来外插帧外部的象素值。填充过程可看作是根据帧内 部的象素点对帧外部的象素点进行预测。因此作运动估计之前,要先对参考帧进 8 h 2 6 4 编码器的d s p 实现与优化 行填充,然后进行运动估计 运动补偿是指根据运动矢量在参考帧中找出参考块。如果运动矢量的工分量 和y 分量都是整象素长度,则直接在参考帧中找出参考块:如果是半象素长度, 则需要通过内插运算计算出参考块,计算出的参考块需要加上解码得出的误差块 才能得到当前块。运动补偿是减少帧序列冗余的有效方法。 1 3 1 2d c t 变换编码 d c t 变换编码方法归纳起来可分为:离散余弦变换、对d c t 变换系数进行 量化( 包括量化、z 字扫描、行程编码) 和熵编码三个阶段为得到更高压缩比, 必须对d c r 系数进行量化。为了进一步提高d c t 固有的压缩性和减小运动信息 对整个码率的影响,要使用可变长度的码字进行编码( 即变长码v l c ) 。 视频编码算法中帧内和帧闻编码的核心算法都是d c t 变换编码,视频压缩算 法中采用的8 8 二维d c t 定义如下: s ( ) ,) - 耄耄c o ) c o ) ,m , v ) c o s 垡气詈坦c o s 垦之专崆 盹v m ,砉私c o s 学c o s 竽 其中z 。是在f f ,刀位置处的象素值,“和v 分别是水平和垂直频率索引,而常 量c 0 ) 和c 由下式给出: 。岛 k _ 0 o t h e r w s e 上式的运算,对8 8 块中的每个象素有“次乘法和6 3 次加法,对整个块中 的6 4 个象素值共有4 0 9 6 次乘法和4 0 3 2 次加法。等效于先对v 分量求和,再对h 分量求和,相当于先对块中的每一列进行一维d c t 运算,然后再对其结果的每一 行进行一维d c t 运算。这就是基本的行列分离法,把二维的d c t 变换化成一维 的d c t 变换。如下所示: 盹力- 掣警酬警“石黔c o s 【譬铲v 刁 阻 c ) j1 【万 k _ o o t h e r w i s e 图1 - 3 是每一个单独d c t 系数逆向变换后的结果。 第一章绪论 9 图1 - 3 8 8 尺寸d c r 变换 在亮度信号中,左上方的系数是整块的平均亮度或d c 分量。在顶行上移动 时( 向右) ,水平空间频率会增加。在左列上移动时( 向下) ,垂直空间频率会增 加 在实际画面中,不同的垂直和水平空间频率会同时出现,块中一些点的系数 将代表所有可能的水平频率和垂直频率的组合。 对彩色画面而言,y 、c ,和c 。数据被组合成分离的8 8 排列,并各自独立 变换。 在相当真实的节目内容中,许多系数都是零值或接近零值,所以不会被传送。 这就产生了实际无损耗的压缩。如果需要更高的压缩系数,那么非零系数的字长 必须缩短,这样会导致这些系数精度下降,并将在处理中产生损耗。 1 3 2 主要视频编码标准 图1 4 视频压缩编码国际标准的发展 各种视频压缩编码标准都是根据人们在不同领域中对声像数据的要求所制定 的。并且随着人们的需求不断地发展。视频压缩编码标准按其制定的时间大概可 以用图1 - 4 进行描述。 1 、h 2 6 1 t 3 1 l 1 0 h 2 6 4 编码器的d s p 实现与优化 h 2 6 1 是第一个获得广泛应用的视频编码标准。它的全称为。v i d e oc o d e cf o r a u d i ov i s u a ls e r v i c e sa t p 6 4 k b i 帕”。目标是在i s d n ( i n t e g r a t e ds e r v i c e sd i 【g i t a l n e t w o r k ) 上以px 6 4 k b p s ,p - l 2 ,3 0 的速率开展视频会议和视频电话业务。 h 2 6 1 定义了一个完整的视频编码算法,采用了帧内图像编码、帧间误差预 测、运动补偿、d c t 、交长编码等技术,建立了取得巨大成功的基于块混合编码 框架,为后来的m p e g 1 、m p e g 2 等视频压缩标准提供了基础。 2 、m p e g 1 i 矧 1 9 9 1 年1 1 月活动图像专家组( m p e g ) 制定了m p e g 1 标准。m p e g 标准 在h 2 6 1 视频编码算法的基础上改进、发展。m p e g 1 改进的主要内容是增加了 b 图像帧( 双向预测) 和图像组( g o p ) ,这些改进具有更高的压缩比,同时定义 了编码算法中各工具层的语法,使视频的可操作性更灵活。 m p e g - 1 标准是将数字视频信号和与之相伴的音频信号在一个可以接受的质 量下,能被压缩到码率约1 s m b i t s 的一个m p e g 单一流,主要应用于存储应用。 m p e g 1 标准只规定了码流语法和解码过程,用户可以很好地利用这个语法的灵 活性来设计非常高质量的编码器和非常低成本的解码器。编码器的设计中一些重 要参数,如运动估值、自适应量化和码流速率控制等可以由用户自由确定。 速率约为1 2 m b s 的用m p e g 1 算法压缩的视频图像的质量相当于v h s ( 家 用视频系统) 记录质量。空间分辨率限制为每视频帧扫描行3 6 0 个象素,并且在 源编码器端的视频信号为3 0 帧秒,非隔行扫描。对大多数原始图像内容,可得 到无人工痕迹的图像质量。m p e g 1 标准是v c d 工业标准的核心,现在已经走入 千家万户;利用m p e g 1 音频的三层m p 3 音乐格式也倍受青睐 3 、m p e g 2 1 ”i i s o i e c 于1 9 9 1 年开始研究新的标准。新标准着力于提高视频质量,提供不 亚予b i t s c p a l 直到1 0 m b p s 左右的c c i r 6 0 1 质量。1 9 9 4 年公布了 i s o i e c l 3 8 1 8 ( m p e g 2 ) 草案,一年后成为国际标准。因此,m p e g - 2 标准能广泛 应用于卫星广播业务( b b s ) 、电缆电视( c a t v ) 、数字电视地面广播( 啪) 、 点播电视( v o d ) 、数字声音广播( d a b ) 、多媒体终端、网络数据库业务、双工 通信等众多领域。m p e g 2 是工业标准d 、l ,d 的核心标准。 m p e g - 2 是m p e o 1 的一个超集,它后向兼容m p e g 1 。m p e g 2 又对m p e g - 1 作了重要的改进和扩充,针对隔行扫描的常规电视图像专门设置了“按帧编码” 和“按场编码”两种模式,并对运动补偿作了相应的扩充,使其编码效率显著提 高。 档次和等级的划分是m p e g - 2 为适应不同应用而定义各个子集的结果。“档 次”是集成后的完整码流的一个子集,而每个“档次”的“等级”则是对编码参 数所做出的进一步限制。“档次等级”是通过确定码流中相应的标题信息及附加 第一章绪论 信息中的有关参数来给定的,这样,为较高“档次”和“等级”码流设计的解码 器能够对相同或较低档次的数据解码。 4 、h 2 6 3 1 卅 针对甚低码率( 低于6 4 k b p s ) 的视频会议和可视电话的应用,在1 9 9 5 年1 1 月,兀u - t 推荐的低码率视频编码标准h 2 6 3 建议草案出台。h 2 6 3 标准的视频 编码算法与h 2 6 1 相似( 运动补偿和d c t 算法) ,但它在性能上有了显著提高。 试验表明:在相同的主观质量下,h 2 6 3 编码码率仅为h 2 6 1 的一半。与h 2 6 1 相比,h 2 6 3 的主要区别如下: h 2 6 3 支持更多的图像格式、半象素精度运动估计、宏块( 1 6 x1 6 ) 运动估 计和块( 8 8 ) 运动估计的自适应变换、3 d ( i a s t - r u n u l ) 而不是2 d ( r u n u e l ) 游程编码、可选的无限制运动矢量、可选的算式编码、可选的 重叠运动补偿和四运动矢量宏块的高级预测模式和可选的双向预测。 在完成h 2 6 3 标准的制定工作后,为适应在现有的窄带网络环境上传输视频 信息,1 t u t 在1 9 9 8 年1 月通过了h 2 6 3 标准的第二版h 2 6 3 + ,增加了十二个 新的高级模式。2 0 0 0 年1 1 月,又推出了第三版h 2 6 3 + + ,新增3 个高级模式。 新增模式主要包括:参考帧再采样模式、高级帧内编码模式、交替帧间v i j ( 3 选择 模式、分片结构模式、参考帧选择模式、数据分割模式、可分级扩展编码等。 5 、m p e g 4 1 3 8 一a g l 在成功制定了m p e g 1 和m p e g - 2 后,国际运动图像编码专家组( m p e g ) 于1 9 9 9 年初正式推出了令人称道的m p e g 4 标准。与前两者不同,m p e g 4 不仅 仅是针对一定比特率的视频、音频编码,还更加注重多媒体系统的交互性和灵活 性。因此,m p e g 4 采用了全新的第二代视频压缩技术,引入视听对象 ( a u d i o v i s u a l0 b j e c t s ,a v o ) 的概念,使得更多的交互操作成为可能。 以上这些优点无疑使得m p e g - 4 具有广阔的应用前景,如i n t e m e t i n t r a n e t 上 的多媒体流服务、视频点播、可视游戏、低码率的移动多媒体通信如视频手机等 交互式多媒体应用、数字电视与演播电视、虚拟会议等等。 6 、h 2 6 4 1 ”1 1 9 9 8 年1 月,i t u t 的v c e g 专家组提出了h 2 6 l 建议,开始广泛征求意见; 1 9 9 9 年,v c e g 专家组给出了h 2 6 l 的第一个测试模型t m l - 1 ,公开进行测试和 改进;2 0 0 0 年6 月,v c e g 专家组给出了h 2 6 l 新的测试模型删l 广8 ;随后在 2 0 0 1 年,m p e g 专家组也认可了h 2 6 l 标准的发展潜力,并且与v c e g 合作成 立了联合视频专家组( j o i n tv i d e ot e a m ,j v t ) 共同致力于新标准的研制。2 0 0 3 年5 月,该标准正式推出,定名为h 2 6 4 m p e gp a r t1 0 ,官方叫法是先进视频编码 ( a d v a n c e dv i d e oc o d i n g ,a v c ) 。 h 2 6 4 继承了h 2 6 3 + 、h 2 6 3 + + 中一些行之有效的可选模式,如先进帧内预 1 2 h 2 6 4 编码器的d s p 实现与优化 测模式,基于上下文的算术编码模式等,同时加入了一些新的研究成果。与h 2 6 3 基本框架相比,主要的改进有:1 4 ( 1 8 ) 象素精度的运动估计、7 种不同尺寸块 的运动矢量估计、整型d c t 运算等。 作为新的视频编码标准,h 2 6 4 具有低码率、高质量、数据错误丢失的鲁棒 性、不同网络环境下操作的可变性等优点,所以在高质量实时传输领域,h 2 6 4 具有无可比拟的强大优势。正因为此,本课题选用h 2 6 4 进行d s p 上的移植与优 化。在以后的章节将对h 2 6 4 标准作详细介绍。 1 4 研究背景与选题 如前所述,现代化的社会工作方式的不断发展,传统的以单一语音为主的媒 体交流方式已经无法满足社会与人民的需要。随着通信技术和网络技术的发展, 现代多媒体技术随着编码技术、计算机技术、数字信号处理技术、大规模集成电 路技术的发展已经成为现代信息社会的一个显著特征。多媒体发展在社会上有 广阔的应用背景。 h 2 6 4 正是因为其良好的压缩性能和网络友好性等新特点而成为目前视频存 储和图像通信研究领域的一个热点问题。实现h 2 6 4 实时编码是其中一个很重要 的研究方向,尤其在移动视频、视频会议、电视电话等视频实时应用场合具有非 常重要的研究意义和实用价值。 视频压缩编码的实现主要有三种可能途径:基于p c 的纯软件实现、纯硬件 实现、软硬件相结合实现。随着视频压缩标准的不断发展与完善,算法的运算量 和复杂度也就随之而提升,h 2 6 4 视频压缩编码算法也不例外。用基于p c 的纯软 件的方法来实现h 2 6 4 实时压缩非常困难,尤其对于高分辨率的图像来说几乎是 不可能的同时,就纯硬件实现来说,虽然通过设计制作高性能的专业视频处理 芯片的方法来完成视频编解码一度在视频压缩系统中占据了主导地位,但专用的 视频处理芯片固有的灵活性差和高成本缺点却极大地限制了该方法的普及。而通 用的数字信号处理器( d s p ) ,由于其高度可编程性、超强的数据吞吐能力和运算 速度、使产品能够迅速应用新算法、快速地进行产品升级,这些优点使得以d s p 为核心处理器的软硬件相结合的方法成为了目前国际上和国内实现h 2 6 4 实时编 码的一种可行的、有效地,快速的途径 b l a c k f i n 系列d s p 是美国模拟器件公司( a d i ,a n a l o gd e v i c ei n s t r u m e n t s ) 于2 0 0 3 年推出的新一代处理器,其性能是传统d s p 和嵌入式处理器的两倍而功 耗仅为它们的一半,b f 5 6 1 更是其中

温馨提示

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

评论

0/150

提交评论