(微电子学与固体电子学专业论文)h264帧间编码算法的研究与vlsi实现.pdf_第1页
(微电子学与固体电子学专业论文)h264帧间编码算法的研究与vlsi实现.pdf_第2页
(微电子学与固体电子学专业论文)h264帧间编码算法的研究与vlsi实现.pdf_第3页
(微电子学与固体电子学专业论文)h264帧间编码算法的研究与vlsi实现.pdf_第4页
(微电子学与固体电子学专业论文)h264帧间编码算法的研究与vlsi实现.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(微电子学与固体电子学专业论文)h264帧间编码算法的研究与vlsi实现.pdf.pdf 免费下载

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

文档简介

中文摘要 摘要:h 2 6 4 a v c 是由i t u tv c e g ( v i d e oc o d i n ge x p e r t sg r o u p ) 和i s o i e c m p e g ( m o v i n gp i c t u r ee x p e r t sg r o u p ) 两个组织联合制定的最新的视频编码标准。 h 2 6 4 a v c 视频编码标准较以前的视频编码提出了很多新的编码算法,比如,可变 块尺寸、1 4 分数像素差值和多参考帧运动估计等新技术,从而有效地提高了视频 图像质量和压缩编码的效率。然而这些新技术的应用大大增加了h 2 6 4 a v c 编码 算法的计算复杂度。其中,在帧间编码算法中,运动估计分为两步进行:整数运 动估计和分数运动估计,并占用了h 2 6 4 a v c 视频编码器的大部分的计算量。实 验结果表明运动估计占编码器总的编码时间的5 0 以上,因此,人们研究了很多基 于软件的快速运动估计算法,比如,三步搜索法、四步搜索法、大棱形和小棱形 搜索法等,但是,所有这些算法由于数据流的不规整性,硬件实现起来比较困难。 因此,为了满足实时性的要求,必须开发高度并行的v l s i ( v e r yl a r g es c a l e i n t e g r a t i o n ) 结构。 h 2 6 4 a v c 中的帧间编码主要包括整数运动估计( i m e ) 、分数运动估计( f m e ) 和运动补偿( m c ) 。其中,整数运动估计模块主要完成多参考帧、整数像素点处、 粗精度的帧间匹配搜索,可以采用高度并行的v l s i 结构实现快速的实时运算编码; 分数运动估计模块主要是在整数运动估计的基础上,再对4 1 个分割块进行更高精 度的分数点处的匹配运动估计,并完成最终宏块分割模式的选择;运动补偿模块 是在运动估计的基础上,根据运动矢量指定的最佳匹配块的像素和当前块的像素 计算像素差值的过程。 论文中提出了一些有效地v l s i 结构,用来提高运动估计的编码效率、节约数 据吞吐量和更有效的利用硬件资源。比如,在整数运动估计部分,论文中采用了 二维脉动阵列v l s i 结构,并采用片上分布式存储器可以有效地提高数据的重用率, 降低数据的吞吐量;在分数运动估计部分,为了节约数据的存储带宽,本设计采 用将1 2 像素插值和l 4 像素插值同时进行的方法,避免了对1 2 像素插值后的 像素的存储问题,同时,为了提高数据流的规整性,以更有利于硬件设计,实现 i p 重用技术,本设计将7 种块分割模式中的所有分割块全部分割成4 x 4 块,然后, 重用4 x 4 块模式的分数运动估计模块对大的分割块进行分数运动估计:由于运动 补偿模块需要经过分数像素插值后才能进行残差计算,因此,运动补偿模块采用 和分数运动估计模块中4 x 4 运动估计模式类似的v l s i 结构。最后,论文给出了每 个模块的v l s 工的验证。 关键词:h 2 6 4 a v c ;帧间编码;运动估计;运动补偿;v l s i 结构 分类号:t n 4 7 a bs t r a c t a b s t r a c t :h 2 6 4 | a v ci s t l l ei l e 、 r e s tv i d e oc o d i l 培s t a i l d a r do fi t u - tv c e g ( d e oc o d i n ge x p e r t sg r o u p ) a n di s 0 i e cm e g ( m o v i n gp i c t u r ee x p e n s 咖u p ) ,n l e r ea r es e v e r a la d v a u l c e dc o d i n ga l g o r 岫娜i nh 2 6 4 a v c ,s u c h 嬲v a r i a b l eb l o c k s i z e sm o 石o ne s t i m a t i o n b s m e ) ,q u 疵e r s 锄p l e a c c 眦y f t i o 砌m o t i o n e s t i i i l a t i o na n dm u l t i p l er e f e r e n c e 血l m e sm o t i o ne s t i m a t i o na n ds oo 玛s 0i t 蛔【p r o v e s n l eq u a l i 够o fv i d e oa i l de 伍c i e n c yo f 廿l ec o d i i 培b u tm ec o m p u t a t i o n a lc o m p l e ) 【i 妙o f h 2 6 4 a v ci sv e 巧l a 玛eb e c a u s eo ft h ei n n o d u 嘶o no f 也e s en e wc 0 d i n g 出g o r i t l l l m d 1 l r i j l gm t e r - 丘锄ec o d i i l g ,m o t i o ne s t i i i l a t i o nc o l l s i s t so f 缸e g r a lm o t i o ne s t i m a t i o n ( i m e ) a i l df h c t i o i l a lm o t i o ne s t i m a t i o n ( f m e ) ,m e ya l lh a v eh u g ec o m p u t a t i o n a l c o m p l e x t 哆i 1 1h 2 6 4 a v c a r l de x p e r i m e n t a lr e s u l t sh a v es h o w n t l l a tm o t i o ne s t i m a 石o n c a i lc o n s u i n eo v e r5 0 o fm et o t a le n c o d i n gt i m eo fh 2 6 4 几w cc o d e c m a n yp e o p l e r e s e a r c h e dm 锄yf a s tm o t i o ne s t i m a t i o i l s ,s u c h 嬲m r e e - s t e ps e a r c h ,f o u r s t e ps e a r c l l , l a 唱ea i l ds m a l lp r i s ms e a r c ha i l ds oo 玛b u tm ed a t as 缸e 砒i l sw 1 1 i c ha r eg e n e r a t e db y 也e s ec o d i n ga l g o r i t h 皿a r ed i s o r d e r 锄dd i s a d v a n t a g e o u st ov e 巧l a 唱es c a j ei m e 舯t i o n l s i ) d e s i g n i no r d e rt om e e t 也er e q u m e n to fr e a l - t i l n e ,w em u s td e v e l o pl l i g m y p a r a l l e lv l s i s 打i l c t u 】呛f o rm o t i o ne s t i i i m t i o n i i lh 2 6 4 a v c ,t l l ei 力t e r 矗锄ec o d i n gc o n s i s t so fh l t e g r a lm o t i o ne s t i m a t i o n ( i m e ) , 妇t i o n a lm o t i o ne s t i r n a t i o n ( f m e ) a n dm o t i o nc o m 【p e n s a l t i o n ( m c ) a j :l d ,t h ei i l t e 星9 谢 m o t i o ne s t i m a t i o n ( i m 匣) m o d l l l ei sr e s p o n s i b l ef o rm o t i o ne s t i m a t i o no fm l l l t i p l e r e f e r e n c e 觑吼e sa n db i gs e a r c h 删唱e t h ei n t e 黟a lm o t i o ne s t 妇a t i o nc 趾b el l i g l l l y p a r a l l e lv l s ic o m p u t i i 培s 仃i l c n i r e sf o rf a s tr e s t - t i i l l ee n c o d i n g b a s e do n 也ei 1 1 _ t e g r a l m o t i o ne s t i m a 廿o n ,t l l e 丘- a c t i o i l a lm o t i o ne s t i i i l a t i o n ( f m e ) m o d u l ei sr e s p o n s i b l ef o rt l l e 1 2 舶c t i o n a lp i x e lm o t i o ne s t i m a t i o na n d1 4 丘a c t i o n a lp i x e l1 1 1 0 t i o ne s t i i l l a t i o no fm e 4ls i i b i n a c r ob l o c l 【s ,锄dt h cs e l e c t i o no ft h es p l i t t i i 培m o d e b a s e do nt l l em o t i o n e s t 洒a t i o n ,t 1 1 em o t i o nc o m p e n s a t i o n ( m c ) m o d u l ei sr e s p o n s i b l ef 0 rm ec o m p u t a t i o n o fp i x e ld i 舵r e n c eb e 铆e e n 廿l ep i x e lo ft :h ec u r r e n tm a c r 0a n d 口l ep i x e lo f 廿1 eb e s t m a _ c c hm a c r 0w k c hi ss p e c i f i e db ym o t i o nv e c t o r s t h e r e f 0 r e ,i nt h ep a p e r ,s o m ee 硒c i e mv l s is 缸- u c t u r e s1 1 2 r 佗b e e np r o p o s e dt o i m p r o v et h ec o d i n ge 伍c i e n c yo fm o t i o ne s t i m a t i o n ,s a v e dm e 拟a 也r o u g h p u ta n d i i i l p r o v e dm ee m c i e n c yo ft l l el l a :r d w a r er e s o u r c e s s u c h 嬲,i i lt h ep a no fi n t e g r a l m o t i o ne s t i m a t i o n ( i m e ) ,m ev l s is 缸1 l c t u 】陀o fm yd e s i g ni sa 铆。一d i m e n s i o n a js y s t o l i c j 塞交逗太堂童些亟堂僮途塞垒墨! b ! a r r a y ,i tc a ni i l l p r 0 v en l er e u s eo f 也ep _ i ) 【e ld a t 毛勰dr e d u c et 1 1 ep i ) 【e l t l l r o u 曲p u t w i mm em e m o r i e s 、 ,! 1 1 i c ha r ed i s t r i b u t e do nt :h ew h o l ec m p ;i i lm ep a r to fm ef b c t i o i l a l m o t i o ne s t i m a t i o n ( f m e ) ,t 1 1 eh a l f p i x e lm o t i o ne s t i i i 斌i o na i l dq u a r t e r _ p i x e li i l o t i o n e s t i m a t i o nw e r ef i m i s h e d s i i i l l l l t a l l e o u s l y i nm yd e s i g nt 0a v o i dn l es t o r a g eo ft 1 1 e h a l f _ p i x e l ,锄ds a v et l l es t o r a g ec a p a c i 劬锄d a tm es 卸舱血n e ,i i lo r d e rt om 1 1 ) f o v em e r e g l l l 撕t ) ,o ft l l e 纰s 臼陀锄,m a k em yd e s i g ni sm o r ec o n d u c i v et 0l l a r d w a r ed e s i g i l , 趾dr e l l s e dt l l ei po ft l l e4 x 4 五渤c t i o n a lm o t i o ne s t i m a t i o 玛is p l i ta l lo fm es u b m a c m b l o c l ( sw k c h 谳淝g e n e r a t e db ym es e v e ns p l i t t i n gm o d e s ,n l e n ,if 疏s h e dm ef h :t i o n a l m o t i o ne s t i m a t i o no ft l l e l a r g e r s u b m a c r ob l o c k sw i mn l e4 x 4 丘a 砹i o n a lm o t i o n e s 右加a t i o n ;i i ln l ep a r to f t l l em o t i o nc o m p e n s a t i o n ( m c ) ,m ep i x e ld i f i e r e n c eo f 虹l eb e s t m a :t c hm a c r 0a n dt l l ec 硼r e n tm a c r 0 、a sc o m p u t e dm e r l eh a l f p i x e l 硫e 印0 1 a t i o na i l d 删e r - p i x e l 豳印o l a t i o n ,s o 也em o t i o nc o m p e n s a t i o n ( m c ) h a d 也es a l l l ev l s i s 协l c t i l r ea st l l e4 x 4 丘a c t i o r l a lm o t i o ne s t i m a t i o n l a s t ,l i sp a p e rg a v et 1 1 ev l s i v e r i f i c a t i o no fs o m em o d u l e s k e y w o r d s :h 2 6 4 a v c ;衙蠡r a i 】c o d i n g ;m o t i o ne s t i m a t i o n ( m e ) ;m o t i o n c o m p e n s a t i 彻( m c ) ;v l s is 劬c n 聪 c l a s s n o :t n 4 7 v 致谢 本论文的工作是在我的导师李哲英教授的悉心指导下完成的,李哲英教授严 谨的治学态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢三年来 李哲英老师对我的关心和指导。 李哲英教授悉心指导我们完成了实验室的科研工作,在学习上和生活上都给 予了我很大的关心和帮助,在此向李哲英老师表示衷心的谢意。 李哲英教授对于我的科研工作和论文都提出了许多的宝贵意见,在此表示衷 心的感谢。 在实验室工作及撰写论文期间,续海涛、刘彦鑫、王成成、郭仙菊、阮孝利 等同学对我论文中的运动估计算法的研究工作给予了热情帮助,在此向他们表达 我的感激之情。 另外也感谢家人,他们的理解和支持使我能够在学校专心完成我的学业。 引言 1 1论文研究的背景及意义 1 1 1视频压缩技术的必要性 根据研究发现,人们每天通过视觉获取的信息占外界信息总量的7 0 左右1 1 1 , 即人们每天获得的大部分信息是视觉信息。然而,由于视频信息量大,传输视屏 信息需要很大的带宽,因此,研究和开发有效的多媒体数据压缩编码,以压缩的 方式存储和传输这些数据将是最好的选择。为了在最短的时间传输尽可能多的图 片,或者利用有限的存储资源存储尽可能多的图像信息,或者是在有限的带宽条 件下传输尽可能多的视频信息,就要研究更好的压缩图像数据的有效途径并且保 证解压缩后的图像能够被用户接受,这正是图像压缩编解码要解决的问题。 1 1 2h 2 6 4 a v c 的优越性 同以往的视频编码标准相比,h 2 6 4 a v c 引入了很多新的压缩技术,主要体现 在一下几个方面【2 1 : l 、 分层设计 h 2 6 4 a v c 视频压缩编码算法主要分为两层:视频编码层( v c l :d e oc o d i n g l a y e r ) 和网络提取层( n a l :n e 铆o r k a b s t r a c t i o nl a y e r ) 。打包和相应的信令属于 n a l 的一部分,高编码效率和网络友好性的任务分别由v c l 和n a l 来完成。 2 、 高精度、多模式运动估计 h 2 6 4 支持l 2 和1 8 像素精度的运动估计。在l 2 像素精度时可使用6 抽头 滤波器来减少高频噪声,对于1 8 像素精度的运动估计,可使用更为复杂的8 抽头 的滤波器来完成任务。 3 、4 4 块的整数变换 h 2 6 4 与以往的视频编码标准相似,对像素残差采用了基于块的变换编码,但 是变换编码采用的是整数余弦变换。这种方法的优点在于:在编码器和解码器中 允许精度相同的变换和反变换,因此,可以使用定点运算方式。 4 、熵编码 h 2 6 4 a 、,c 中提出了两种熵编码方法,一种是基于上下文自适应的可变长编 码( c a v l c :c o m e ) ( t - b a s e da d a p t i v e l r i a b l el e n g t hc o d i r 培) ,另一种是基于上下 文的自适应二进制算术编码( c a b a c :c o n t e ) ( t a d a 砸v eb i r l a r y 崩t h m e t i cc o d i n g ) 。 5 、帧内预测 在h 2 6 x 系列和m p e g x 系列标准中,采用的都是帧间预测的方式。在 h 2 6 4 a v c 中,当编码i n t r a 一触图像时可以采用帧内预测。 h 2 6 4 a v c 的提出是视频编码领域的一个里程碑,其优越的压缩性能将在数 字广播电视,实时视频通信,视频流媒体传输等领域发挥重要作用。目前对 h 2 6 4 儿w c 的研究与改进成为视频压缩学术领域广泛研究的课题之一。 1 2h 2 6 4 a v c 视频编码标准 h 2 6 4 斛c 作为新一代视频编解码标准【1 】【3 】【4 1 ,在客观上和主观上都表现出极 其优异的编解码性能。 1 2 1h 2 6 4 a v c 编码器的结构 h 2 6 4 a v c 是基于帧内编码、帧间编码、变换编码和熵编码的混合视频编码 标准,其基本结构如图1 1 所示。从图中可以看出,h 2 6 4 a v c 的编码过程主要 包括帧内编码( 帧内预测选择、帧内预测) 、帧间编码( m e 、m c ) 、整数d c t 变 换编码、量化、重排序和熵编码。h 2 6 4 a v c 编码器的熵编码部分不仅要对像素 插值进行编码,还要对运动矢量差( m v d ) 以及一些必要的控制信息进行编码。 图卜1h 2 6 4 a v c 编码器结构 f i g 1 - l c o d e rs t r u c t u r e0 fh 2 6 4 膳c 2 j 匕立銮适太堂童些亟堂焦 诠塞曼l直 1 2 2h 2 6 4 a v c 编码的关键技术介绍 ( 1 ) 帧内编码 帧内编码是h 2 6 4 a v c 编码标准新增的一种编码模式,在帧内编码模式中, 预测块p 是基于己编码重建块和当前块形成的。对亮度像素而言,p 块用于4 x 4 子块或者1 6 x 1 6 宏块的相关操作,4 x 4 亮度子块有9 中预测模式;1 6 x 1 6 亮度块有 4 种预测模式;色度块也有4 种预测模式,类似于1 6 x 1 6 亮度块的预测模式。 ( 2 ) 可变块运动估计 h 2 6 4 料c 帧间编码是利用已编码视频帧场和基于块的运动补偿的预测模 式。与以往视频编码标准的帧间编码的区别在于块尺寸范围更广,h 2 6 4 a v c 支 持7 中不同的块尺寸,如图1 2 【5 】所示,并且亮度像素采用1 4 像素精度的运动估 计及运动补偿技术,色度像素采用1 8 像素精度的运动估计和运动补偿技术, h 2 6 4 a v c 还采用了多参考帧的运动估计技术。 1 6 x 1 6 1 6 x 8 8 x 1 6 8 x 8 m t y p e s 8 x 8 t y p e 8 口田田田 亩白面由 图卜2 宏块及子宏块分割模式 f 嘻l 一2 伽em r 0b 1 0 c k 卸ds u b m a c mb l o c k 1 3 运动估计v l si 的研究现状 运动估计技术无论是在对系统性能的影响上,还是在设计复杂度上,都是整 个编码器设计过程中的主要部分,因此,运动估计技术受到了研究人员的极大关 注,从而,也就产生了各种针对运动估计的算法结构。下面将对整数运动估计和 分数运动估计的v l s i 结构分别作一下综述。 1 3 1h 2 6 4 a v c 中整数运动估计的v l si 结构研究 目前,对整数运动估计v l s i 结构的研究已经有了较大的成就。其中,基于一 维( 1 d ) 脉动阵列的v l s i 结构的研究【7 - 8 】,其数据重用率已经达到了a 级。基 3 于二维( 2 d ) 脉动阵列的v l s i 结构的研究【9 1 ,其数据重用率能够达到b 级。论 文【1 0 】也提出了两种有效地v l s i 结构,使得数据重用率达到b 级。但是,根据上 述方法设计的v l s i 结构,如果使数据重用率达到b 级,就必须增大片上存储器的 容量,否则将会增大数据访问带宽。论文【1 1 并没有提出更新的v l s i 结构,而是 利用现有结构,针对h 2 6 4 a v c 的可变块运动估计做了一个扩展方案,但是,由 于这种方法是串行的完成1 6 个4 x 4 块的s a d 计算,因此,比较适合低端视频设 备的应用。 1 3 2h 2 6 4 a v c 中分数运动估计的v l s i 结构研究 在刑参考软件中,关于快速分数运动估计算法也有所介绍,比如,亚采样法、 棱形法等,但是,由于分数运动估计的搜索点比较少,快速搜索法的优越性并不 明显,并且造成数据流不规整,因此,大多数分数运动估计的v l s i 结构还是针对 全搜索算法。论文 1 2 】将1 6 x 1 6 宏块作为一个整体,采用一个整数运动矢量在9 2 x 9 2 搜索范围内进行整个宏块的分数精度的运动估计。由于整数运动估计后的4 1 个运 动矢量可能指向不同的方向,因此,这种方法限制了搜索范围,降低了率失真性 能,尤其是对于变化比较剧烈的视频序列。论文【1 3 】首先对搜索区域进行半像素插 值,然后,根据4 1 个整数运动矢量搜索4 1 个最佳的半像素精度的运动矢量,最 后再对搜索区域进行l 4 像素插值,并搜索4 1 个最佳的1 4 像素精度的运动矢量。 这种方法的问题是在半像素插值完成后还要将插值像素进行保存,用于l 4 像素插 值,从而浪费了存储空间。 1 4 论文中的任务和目标 本文需要完成的工作是,通过对h 2 6 乱a v c 标准的研究,设计一个整数运动 估计算法及其初步的i p 软核。 本文主要完成以下几个方面的研究工作: ( 1 )通过分析h 2 6 4 a v c 标准中整数运动估计( i m e ) 、分数运动估计 ( f ) 和运动补偿( m c ) 的实现算法和编码器的系统级设计要求,以及根据硬 件设计的特点,设计出了一种参考像素复用、高速并行的i 算法,并且设计出 了一种半像素和1 4 像素同时插值的高速并行f 算法。 ( 2 )完成了整数运动估计( i m e ) 中,基于1 6 x 1 6 宏块的整数像素运动估 计、基于4 x 4 块的1 6 个s a d 的计算、4 1 个s a d 中最小的分割模式的计算单元、 4 1 个运动矢量( m v ) 的计算单元等关键模块的v l s i 的结构设计和硬件代码编写 4 ( v e r i l o g 加) l ) ,并完成整数运动估计( i m e ) 部分模块的v l s i 的验证。 ( 3 )完成了分数运动估计( f 地) 中,半像素插值、1 4 像素插值、s a t d 计算单元、基于4 x 4 块的h a d 锄a r d 变换、分数像素运动矢量代价发生器、分数像 素搜索匹配比较器、宏块分割模式判决器等关键功能模块的v l s i 结构设计和硬件 代码编写( v e r i l o gh d l ) ,并完成了分数运动估计( f ) 部分模块的v l s i 验证。 ( 4 ) 完成了运动补偿( m c ) 的硬件设计以及代码编写( v e r i l o g 阳) l ) ,并 输出像素残差值,并完成了运动补偿( m c ) 的v l s i 验证。 ( 5 )使用m o d e l s i i i l 开发软件,编写了整个系统设计的测试激励,实现了 对一帧图像的运动估计编码,并进行了功能验证及时序仿真,使用d e s i g l lc o m p i l e r 对部分关键模块进行了逻辑综合,并用e n c o u i l t e r 软件对部分关键模块进行了物理 设计。 5 2h 2 6 4 a v c 帧间编码算法及v l s i 结构研究 通过分析h 2 6 “a v c 标准中整数运动估计( i ) 、分数运动估计( f ) 和 运动补偿( m c ) 的实现算法和编码器的系统级设计要求,以及根据硬件设计的特 点,设计出了一种参考像素复用、高速并行的i m e 算法,并且设计出了一种半像 素和1 4 像素同时插值的高速并行f 汜算法。 图2 1h 2 6 4 厂a v c 中帧间编码模块结构图 f i g 2 - lm ei n t e r - 疗锄es t r l l c t u r eo f h 2 6 4 a v c 6 在h 2 c 编码器的系统芯片( s o c ) 设计与开发中,帧间编码算法是整 个编码器的主要部分,帧间编码过程主要包括整数运动估计( i m e ) 、分数运动估 计( f ) 和运动补偿( m c ) 三部分,如图2 1 所示。其中,整数像素运动估计 模块主要完成在多参考帧内、大范围的粗精度的匹配搜索。分数像素运动估计模 块主要是在整数运动估计的基础之上,再对1 6 x 1 6 宏块的4 1 个分割子块进行小范 围、更高精度的1 2 像素和1 4 像素精度的匹配搜索过程,并且要在宏块的多种分 割模式中,完成宏块分割模式的选取。运动补偿是在运动估计的基础上,根据运 动矢量以及当前宏块数据,对参考块进行内插,并得出像素残差的过程。本章将 对这三部分做简单的介绍。 2 1 基于块匹配的运动估计技术 2 1 1 运动估计的基本原理 在同一个视频序列中,后一帧图像的内容与前一帧图像的内容的重复部分很 多,连续的两帧图像之间存在很强的时间相关性,如图2 2 所示。 前一帧图像后一帧图像 图2 2 视频序列中相邻帧之间的关系 f i g 2 2n 圮a d j a c e n t 觑咖e si nv i d e os e q u e n c e s 对于同一视频序列,发送端没有必要把每帧图像上所有的像素值都传给接收 端,而只需将物体的运动信息( 运动矢量,) 告知接收端,接收端就可以根据 运动矢量和前一帧图像的内容来更新当前帧图像,这比全部传送每帧图像的具体 细节所需的数据量要小的多【4 】。 在基于块的运动估计过程中,视频序列中的每一帧图像都被分割成互不重叠 的宏块,如图2 3 所示,假设f n 是t 时刻的当前帧图像,f n - 1 是f 一f 时刻的参考 帧图像,当前帧中的宏块或分割块在参考帧的搜索区内搜索与当前块最匹配的参 考块,当根据一定的匹配准则搜索到最佳匹配块后,当前块与最佳匹配快之间的 位移就是运动矢量m v ( m o t i o nv e c t o r ) 。在运动补偿阶段,将当前块数据与m v 所 7 指的最佳匹配块数据相减所得到的数据就是残差数据,然后,将像素的残差数据、 运动矢量、块分割模式、图像编码模式经过d c t 变换、量化、重排序、熵编码等 过程,以比特流的形式发送。 视频序列当前帧被分为非重叠的n n 块,在每个块中所有的像素假定有相 同的运动位移。对于每个块的运动向量是通过在前一帧图像中的水平和垂直最大 位移为p 的搜索窗口中搜索最好的匹配块。匹配算法在于计算误差代价函数,通 常是对应块像素差值的绝对值和( s a d ) ,如果a ( i j ) 和b ( i j ) 是当前块和匹配块的相 应像素,m 和n 是运动向量m v 的坐标,即在搜索窗中的匹配块的位置,如图2 3 所示,则最佳匹配块的搜索过程可以定义为: = ( i ? 渺,) = ( 肌,刀) i 脚d 曲 ( 2 1 ) j 5 z d 。h = m i i l 【副d ( 卅,训 对于搜索区域为( 2 p + 一1 ) 2 内的( 2 p ) 2 个匹配块,对应最佳匹配块的最小s a d 的计算过程是: ,一1 一l 册d ( 聊,甩) = ,歹) 一6 ( f + 历,+ 胛) i r ,) ,、 f 皇oj = o 、。7 一p 所,刀p 一1 参考帧f n 一1 当前m 贞f “ 当前块口搜索区圈最佳观陵 图2 3 基于块匹配运动估计示意图 f i g 2 3d i a g 均mb a s e d b l o c km a t c h i n gm o t i o ne s t i m a t i o n 2 1 2 基于全搜索算法的整数运动估计 随着v l s i 技术的发展,以及人们对算法计算与专用芯片体系结构之间的关系 的深入研究,已经可以应用硬件电路完成一些比较复杂的设计,人们将算法任务 按通信和处理比重的不同分为受计算限制( c o m 舢l t a t i o n - b o u i l d ) 和受输入输出限 制( i o 。b o u i l d ) 两大类。硬件电路中的脉动阵列结构是用来处理受计算限制算法 的有效结构,脉动阵列由一组简单重复的处理单元( p e ) 构成,只有相邻的p e 之 蛋 一一一一 间存在一定的连接关系。 计算量大和数据访问量大是视频编码中运动估计的两个主要问题,其中,计 算量问题可以通过运用多个p e 解决,而数据重用技术可以解决数据访问量大的问 题。论文 1 6 】讨论了关于f s b m 的数据重用问题,并定义了冗余访问因子( 月。) 用于评价存储带宽的访问效率: r 口= 堂髻器, 因此f s b m 的带宽由( 2 - 3 ) 是决定: b w = f 牛w 宰h 枣( r 丑c u 鹏n l 缸n e + r a p r e v i o u s 缸哪e ) ( 2 - 3 ) 其中,f 表示帧频,w ,h 分别表示图像的宽度和高度,r a c u r r e n t 觚表示 当前帧的数据重用因子,r a p r e v i o u s 妇表示前一帧的数据重用因子。 对于参考帧,图2 5 【l6 】表示了4 种数据重用算法,从最低级a 级到最高级d 级。a 级表示一个当前块的搜索区内不同的参考块的像素数据水平方向重用( 也 可以是垂直方向重用) ,b 级表示一个当前块的搜索区内不同的参考块的像素数据 水平和垂直两个方向都重用,c 级表示水平相邻两个当前块的搜索区内的像素数据 水平方向重用( 也可以是垂直方向重用) ,d 级表示水平和垂直两个方向相邻的当 前块的搜索区内 豳霍 c 圈搜索区域数据重脏 图2 5 搜索区数据重用示意图 f i g 2 - 5d i a g r a mo f t l l es e a r c ha r e ad a t ar e u s e a :a 级数据重用;b :b 级数据重用;c :c 级数据重用;d :d 级数据重用 因此,对于参考帧,根据图2 5 ,从a 级到d 级的四级数据重用算法的冗余 占 因子分别如f 式所不: a 级:搜索区域内单方向的像素数据重用 肚型型坐雩等幽螋。艘,( 1 + 挚) “4 日 u 儿”。 7 b 级:搜索区内水平和垂直方向的像素数据重用 r 。:竖竺型竺型擎竺坐墼型二( 1 + 迅) ( 1 + 盟) “4 形 ” 7 ”7 c 级:单方向相邻搜索区的像素数据重用 尺。= + 皿 n ( 2 4 ) ( 2 - 5 ) ( 2 6 ) d 级:水平和垂直方向相邻搜索区的像素数据重用 肛筹= l ( 2 - 7 ) 上述4 个公式的计算假定形 欢, 胀,。表2 1 表示了各种视频格式在不 同的数据重用等级下的数据访问带宽需求。从表中可以看到,当采用低级数据重 用算法时,对于高质量视频,存储带宽很容易就达到g b s e c ,但是,如果采用高 级数据重用算法,可以显著的降低数据访问带宽。因此,有必要考虑用高级数据 重用结构来降低存储带宽,或者采用宽数据总线的存储器。而宽的数据总线不仅 增加了芯片的封装成本,而且增加了数据总线信号间的偏差( s k e w ) 。并且,从整 个编码系统考虑,由于其他部分,如变换编码、熵编码引起的存储瓶颈也需要考 虑。另外,除了运动估计部分以外,编码器的其他部分还会用到色度像素,因此, 采用高级数据重用算法结构进行运动估计的必要性很大。 表2 1 各种视频格式在不同数据重用等级下的带宽需求 玑l b 2 - 1t h eb a i l d w i d t hr e q u i r e m e n t so f v i d e of o m l a t sa td i 您o r e n tl e v e l so f d a _ t ar e u s e 1 0 为了采用数据重用技术,需要一定容量的片上存储器存储读入的参考帧数据, 以便于运动估计时使用。每一种数据重用技术所需要的片上存储器容量等于搜索 区重叠数据区的大小,表2 - 2 表示了每种数据重用技术所需的片上存储空间大小。 表2 2 各种数据重用技术所需存储空间 1 a b 2 2av 撕e 够o fd a t as t o r a g es p a c er e q u i r e df o rr e u s e 数据重用类型所需片上存储空间 a n 幸( n 一1 ) b ( s r n + n 一1 ) 木( n 一1 ) c ( s r n 一1 ) 幸( s r v + n - 1 ) d ( s r v - 1 ) ( w + s r n 1 ) 2 1 3 分数运动估计算法 由于物体的运动具有连续性,相邻两帧之间的块的运动位移不是以整像素为 基本单位的,可能是以1 4 像素或1 8 像素等亚像素作为单位的。因此,在视频编 码算法中引入了分数运动估计,h 2 6 4 a v c 视频编码标准也引入了分数运动估计, 其精度达到了l 8 像素,通过将整数运动估计得到的最佳匹配块进行分数像素内 插,得到分数像素,然后进一步搜索最佳匹配块,可以找到更加精确地匹配位置, 同时,运动矢量精度的提高使经过补偿后的帧间误差减小,从而降低码率。 图2 6 描述了h 2 6 4 几w c 视频编码中亮度像素进行分数运动估计的方法。假 设大写字母a ,b ,c i 代表整数像素,小写字母如b ,c h 代表l 2 插值像素,数字 l ,2 ,3 8 代表1 4 查值像素。并且假设h 点是整数运动估计得到的最佳匹配点,然 后,在以h 为中心的1 2 位置处进行1 2 像素查值,得到如b ,c h 八个1 2 像素 点和h 共9 个点,再在这9 个点处进行1 2 像素运动估计,寻找基于1 2 像素精度 的最佳匹配点,假设g 是1 2 像素精度的最佳匹配点,然后,在以g 为中心的1 4 像素位置进行l 4 像素插值,得到1 ,2 ,3 ,8 八个1 4 像素点和g 共9 个点,再在这 9 个点处进行l 4 像素运动估计,寻找基于l 4 像素精度的最佳匹配点,此时所找 到的最佳匹配点即为最终的最佳匹配点,此时得到1 4 精度的运动矢量是最终的运 动矢量。 由于分数像素并不存在,因此,在进行分数运动估计之前,需要将像素进行 内插,得到1 2 位置点处和1 4 位置点处的像素。在h 2 6 4 a v c 视频编码标准中, l 2 像素的插值采用6 卸f i r 进行插值,l 4 像素采用线性插值计算。图2 7 【l 5 】描 述了分数像素的插值计算方法,其中, 分数点像素。 a 大写字母代表整数点像素,小写字母代表 b c d e f a bc gd h 12 f 4g 67 e i 3 5 h 8 图2 6h 2 6 4 ,a v c 中1 2 像素和l 4 像素运动估计示意图 f i g 2 6 廿1 e 仔a c t i o n a lm o t i o ne s t i m a t i o no fh 2 6 4 a v c ( 1 ) 1 2 像素插值 为了计算标记为b 的半像素点位置上的样点值,首先应该通过对临近的整数位 置样点进行水平方向的6 却滤波,计算得到中间值b 1 : b l = ( e 5 幸f + 2 0 木g + 2 0 宰h 5 幸i + j )一 ( 2 9 ) b 的最终预测值应该通过下式得到: 6 = a 勿1 ,晒。+ 1 6 ) 5 ) ( 2 - 1 0 ) ( 刀勿1 ,( x ) = c 坳3 ( o ,2 5 5 ,x ) 其中,kz j , lz ;其他情况 半像素位置上的样值点,如l l ,驰s ,地b b ,c c ,d d ,e e ,仃 g g ,1 1 h 采用与b 一样的 方法的得到。 为了计算半样点位置上的样点值i ,首先应该通过对临近的半整数位置样点进 行水平或垂直方向的6 t a p 滤波,计算得到中间值j l : j1 = c c - 5 宰d d + 2 0 木h 1 + 2 0 搴m 1 5 木e e + 置或 j1 2 a a - 5 b + 2 0 1 + 2 0 宰s l - 5 幸g g + l l l l j 的最终预测值应该通过下式得到: = a 勿1 ,“,+ 5 1 2 ) l o ) ( 2 - 1 2 ) ( 2 ) 1 4 像素插值 1 4 样点位置毛c ,d ,玛i ,k 和q 上的值应该通过计算两个最接近的整数和半 整数位置的平均值得到,比如: 1 2 叫g + b + 1 ) 1 ( 2 1 3 ) c = 佴+ b + 1 ) 1 ( 2 1 4 ) 1 4 样点位置e ,g ,p 和r 上的值应该通过计算对角线方向上两个最接近的半整数位 置的平均值得到,比如: e = ( b 曲【+ 1 ) l( 2 1 5 ) g = ( b + m + 1 ) 1( 2 一1 6 ) aa ab 曩 c c 溢 f d d 王。 cb b囊d 彤a de hi np 疆。 c弱 g km r 辩 th hu 图2 7h 2 6 4 ,a v c 中1 2 像素和1 4 像素插值算法示意图 f i g 2 - 7t l l ef i a c t i o n a lp i x e li n t e 叩o l a t i o no fh 2 6 4 a v c 2 2 运动补偿技术 j f f 强 在分数运动估计过程中,经过运动估计以及宏块分割模式判别后,将得到了 最终的1 4 像素精度的运动矢量和1 6 x 1 6 宏块的分割模式。这些数据将作为视频编 码的控制信息经过熵编码后发送。帧间编码模块除了要为下一级提供上述控制信 息外,还需要提供像素差值,以便在解码端恢复出像素数据,其中,像素差值的 计算通过运动补偿来完成。 在运动补偿模块中,也用到了1 2 像素插值和1 4 像素插值,但是,这里的插 值运算量比

温馨提示

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

评论

0/150

提交评论