(电路与系统专业论文)mpeg2解码器运动补偿和io接口器的实现与验证.pdf_第1页
(电路与系统专业论文)mpeg2解码器运动补偿和io接口器的实现与验证.pdf_第2页
(电路与系统专业论文)mpeg2解码器运动补偿和io接口器的实现与验证.pdf_第3页
(电路与系统专业论文)mpeg2解码器运动补偿和io接口器的实现与验证.pdf_第4页
(电路与系统专业论文)mpeg2解码器运动补偿和io接口器的实现与验证.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(电路与系统专业论文)mpeg2解码器运动补偿和io接口器的实现与验证.pdf.pdf 免费下载

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

文档简介

摘要:论文主要阐述了m p e g 一2 解码器关键模块一运动补偿和m p e g - 2 解码器i o 的s d r a m 接口控制电路的设计与验证 运动补偿分成三个主要模块,即控制模块,预测模块和重建模块控制模 块解决整个运动补偿电路的控制问题,协调预测模块和重建模块,并与m p e g 2 中的r i s cc p u 进行通信,使运动补偿与m p e g 一2 解码器的其他模块v l d 和 1 d c t 实现流水操作预测模块根据图象类型,运动矢量等信息,对图象进行半 象素内插和双向预测双基操作重建模块对预测结果和i d c t 结果进行图象重 建文章在分析r 运动补偿算法以及改进运动补偿电路结构的基础上,对适合于 实时处理的上述运动补偿电路进行了设计研究及验证 然后论文在分析m p e g 一2 解码器i o 要求后,设计rm p e g 2 解码器i o 接 口控制电路 最后,论文设计r 测试电路,对上述电路在m p e g _ 2 解码系统中进行了 f p g a 的验证 关键词:运动补偿预测 重建s d r a m 控制器 分类号:t n 4 9 2 i m p l e m e n t a t i o na n d v e r i f c a t i o no fm o t i o n c o m p e n s a t i o na n d1 0 i n t e r f a c ec o n t r o l l e ro fm p e g 一2d e c o d e r a b s t r a c t :1 1 1 et h e s i sd i s c u s s e s m a i n l yo nd e s i g na n dv e r i f i c a t i o no ft w ok e y m o d u l e so fm p e g - 2d e c o d e r :m o t i o nc o m p e n s a t o r ( m c ) a n ds d r a mi n t e r f a c e c o n t r o l l e ro f m e g 一2d e c o d e r m cc o n s i s t so ft h r e em o d u l e s :c o n t r o lm o d u l e p r e d i c t i o nm o d u l ea n d r e c o n s t r u c t i o nm o d u l e c o n t r o lm o d u l ec o n t r o l st h ew h o l e m c h a r m o n i z e s p r e d i c t i o nm o d u l ea n dr e c o n s t r u c t i o nm o d u l e ,a n dc o m m u n i c a t e sw i t hr i s cc p u t o m a k em cw o r ki np i p e l i n ew i t ho t h e rm o d u l e s :v l da n di d c t ;w i t hp i c t u r ei n f o a n dm o t i o nv e c t o r s ,p r e d i c t i o nm o d u l ei m p l e m e n t s h a l f - p e li n t e r p o l a t i o na n db i d i r e c t i o n a l d u a l p r i m ep r e d i c t i o n r e c o n s t r u c t i o nm o d u l er e c o n s t r u c t st h ef i n a l d e c o d e dp i c t u r ew i t hp r e d i c t i o nd a t aa n di d c td a t a b a s e do nt h ea n a l y s i so fm c a r t t h m e t i ea n di m p r o v e m e n to fm c s t r u c t u r e ,t h ea u t h o rm a k e sar e s e a r c ho nt h e d e s i g na n d v e r i f i e st h e d e s i g no f m c w h i c h c a nw o r ki nr e a lt i m e w h e r e a f l e r , t h et h e s i sa n a l y z e si or e q u i r e m e n to ft h em p e g 2d e c o d e ra n d d e s i g n sa n1 0 i n t e r f a c ec o n t r o l l e ro fi t a tl a s t t h et h e s i s d e s i g n sat e s t c i r c u i ta n dv e r i f i e st h em ca n ds d r a m i n t e r f a e ec o n t r o l l e ri nm p e g 2d e c o d e rw i t hf p g a k e y w o r d s :m o t i o n c o m p e n s a t i o n p r e d i c t i o nr e c o n s t r u c t i o n s d a r mc o n t r o l l e r 引言 多媒体技术的关键问题是对大信息量图象的压缩、传输和存储。对于多媒体 信息的处理已经开发了许多种有效的视频与图象压缩算法和硬件结构图象压缩 标准化对电视广播,视频通信、多媒体计算机和视听工业具有非常重要的意义 m p e g 系列标准正是适应于视频处理技术的发展而制定的其中,m p e g 一2 已经 被广泛应用,包括d v d ,h d t v ,机顶盒及其他一些娱乐设备其视频传输速 率在2 m 一4 0 m h z 之问,根据不同的应用采用不同的级别( l e v e l ) ,如d v d 采用m l ( m a i nl e v e l ) ,h d t v 采用h l ( h i g hl e v e l ) 下面的讨论是基 于m p m l ( m a i np r o f i l e m a i nl e v e l ) 的m p e g - 2 视频解码器 运动补偿预测是视频压缩的关键技术之一,m p e g l ,m p e g - 2 均使用 ,运动补偿( m c ) 技术,它主要包括图象分割,运动检测与估值,运动补偿和预 测信息编码在m p e g - 2 标准化完全完成前后,已有很多对运动图象进行实时处 理的编、解码器v l s i 实现研究对m p e g 一2 解码器来说,由于在解码过程中大 量的时钟周期用于运动补偿( m c ,见第二章) 和外部存储器的存取( 见第三 章) ,因此设计一个有效的运动补偿电路,选择外部存储器以及对外部存储器进 行有效的控制成为m p e g 一2 解码器的重要瓶颈 论文在分析了m p e g - 2 ( m p i v l l ) 解码器对m c 部分的时序要求以及在 前人的研究基础上实现了对m c 模块的设计及其验证同时相比于对外部r a m 所采用的d r a m 或r d r a m 的策略,论文对基于s d r a m 的帧存设计j _ 控制电 路,并能使存取带宽完全满足系统对其的要求最后把m c 模块与s d r a m 接口 模块硬件置于m p e g - 2 解码系统( 部分软件) 中用标准m p e g - 2 码流进行了解 码验证,对解码后数据与标准c 解码程序解码结果进行了比较,结果正确 整个论文结构如下安排:第一章简要介绍m p e g - 2 解码器结构及其解码过 程:第二章在分析了运动补偿算法以及改进运动补偿电路结构的基础上,对适 合于实时处理的上述运动补偿电路进行了设计研究;第三章阐述rs d a r m 存储 要求及其接口控制电路的实现;第四章对设计的m c 与s d r a m 控制电路进行r f p g a 验证最后分析了上述两个主要模块在实现a s i c 时要注意的一些问题 m p e g - 2 解码器运动补偿和l o 接口控制器的实现与验证 第一章m p e g 2 解码框架与解码过程 为了了解运动补偿和m p e g 一2 解码器i o 控制与整个m p e g 一2 解码器的关 系,我们在介绍m p e g 一2 视频码流格式的基础上,简要地介绍一下m p e g 一2 解 码器结构和解码过程 1 1m p e g - 2 视频码流格式 为了有秩序地传输每帧图象数据,m p e g 2 码流把视频图象分成5 个层次 最上层为序列,它由图象组构成,每一组的第一帧图象为i 图,用于视频播放时 的定位图象组则由一些图象数据组成每个图象组是多个组块的集合一个组 块是一系列任意数目的宏块,组块之间不能重叠,图与图之间的组块位置可以不 同宏块就是1 6 x 1 6 的图象单元,包含亮度分量和色度分量宏块根据不同的 色差格式,包含不同个数的块每个块大小为8 x 8 ,为图象构成的基本单元, 图1 1m p e g - 2 的码流格式 1 2m p e g - 2 解码器结构 常见的解码器结构如图1 2 1 3m p e g - 2 解码过程 1 、输送到h o s t 接口的编码码流通过码流f i f o 和存储总线写到外部r a m 的v b v 缓存中,这个传输过程由h o s t 系统进行初始化 2 、通过v l d f i f o 。编码码流从v b v 缓存读入v l d 如果进来的码流是 高层次的定字长编码数据( 比如m p e g 一2 定义的序列头,g o p 头,图象头或组 m p e g - 2 解码器运动补偿和l o 接口控制器的实现与验证 块头等) ,将由r i s c 控制器来解出这些解码参数另一方面,如果编码码流是 变长码( 宏块头或量化的d c t 数据) ,则由v l d 在r i s c 控制器的控制下进行 解码解出来的量化d c t 数据被送到i q i d c t 模块 3 、r i s c 控制器首先为运动补偿单元建立当前宏块在图象中的地址和检查 宏块类型如果当前宏块非内部编码,r 1 s c 控制器必须计算出实际的运动矢 量 e h o s t 接e i1 日 二一j 二 _ 幕缓码虢 1 觇赣f l f o f 1 f o 。7 m p e g 2 解码 j 兰l v 二_ 曰:圆固 糊解码 圈i 一2m p e g 2 t t 8 e 1 爵 4 、运动补偿单元中通过半象素操作对半象素图象进行必要的内插。内插以 后的数据存人宏块b u f f e r 等待与 d c t 的结果进行加饱和重建,然后把重建的结 果送人外部r a m 如果是内部编码,则直接把i d c t 的结果进行重建,送入帧 存 5 、视频显示通过r a m 接口申请图象数据,把重建后的图象数据按照规定 的格式读入视频f i f o ,并由视频接口输出到解码芯片外面的视频子系统 m p e g 2 解码器运动 - 偿和l o 接口柱翻器的实现与验证 第二章运动补偿与电路实现 本章首先介绍m p e g 一2 标准所用的运动补偿算法,然后分析,要实时实现 运动补偿电路需要满足的要求,并在这个基础上实现了运动补偿电路的设计 第一节运动补偿算法 运动补偿算法主要可以分为运动矢量解码,象素预测,组合预测和图象重 建几个部分对于不同的图象有不同的预测方式,包括场预测,帧预测, 1 6 x 8 预测和双基预测等4 种预测方式对于不同的预测方式,运动矢量的解码也不一 样下面就运动补偿算法的各个部分进行阐述简化的运动补偿过程参见图2 一 l : 图2 1 简化的运动补偿过程 重建 图象 m f j p j j 吐群惜! 兰型! ! :曼旦i 二三二= = 二二二二一 一 1 1 震黎墨慧慧纛觥一脚舭眦t 黼懒束恢 运动补偿过程是参考前面的解码图象形成预刹与一姒”4 一+ 复最终的图象数据图2 一l 为这个过程的简化图解 l 2 竺雾篡嘲勰1 6 x 恻g 和脚测。黼预测 预测方式主要有:场预测,帧预测, 授础和m 釜聃”。” 1 。:妻黧甜伸用一个或多个以前的解码场中的数据,每个场都可阱 在场预测中,通过使用一个或多个以目4 嗣解俏聊甲刚蒴”。 独立地: 篓柘涮南甚 匠的两个解码帧作出图2 2 所示为一种最简单的 ,翌嚣鬈茹二二茹中焉磊 矍,? 髦黧慧筹芸蔫芸嚣篡蒜荔三姜二蒜二帧图 场芝重竺祟= 竺嚣篙淼翥黑蔷茹 重构而成,在对一个场图预 受| 时、被预测的物髋哪刊恍创、。一一 碰潮圉拳 4 破而 近码 最解个图 两场型寸 用 一要第 为的 因帧 复个刚 粮科蝴觥 薹 瓣 激删砌谳剐_ 蓥 彻魏卿进瑷融 嚣一 当第二十辑圉为鹿场时的博谢 当第二十场田为顶场时的亍荑洲 图2 3 非同一参考帧下的预测 、帧预溯 在p 图中i 竺兰兰的重构参考帧作预测,如图2 5 ( 、顶参考扬卜_ f 鬻警备呐;:蔬 图2 一i 删l 一7 类似地 对b 图的帧预禊i 由两个最近的重构参考帧作出,如图2 6 图2 6 b 图的帧预测 m p e g 2 解码器运动补偿和l o 接口控制器的实现与验证 3 ,1 6 x 8 m c 预测 每个宏块使用两个运动矢量,第一个运动矢量用于上面的1 6 x 8 区域,第 二个运动矢量用于下面的1 6 x 8 区域对于双向预测宏块,总共要用到四个运动 矢量,两个用于前向预测,两个用于后向预测这种预测方法仅限于场图 4 、双基预测 在比特流中,仅有一个运动矢量和一个小差分矢量被编码,对于场图,从 这个信息中可以得到两个运动矢量,它们用于分别从两个参考场( 一个顶场一 个底场) 中形成预测,之后被平均来形成最终的预测对于帧图,两个场都重复 这一过程,所以总共形成四个场预测这种方式仅适用于在参考场( 帧) 与被预 测场( 帧) 间没有b 图的p 图 1 3 运动矢量解码 为r 减少表示运动矢量所需的位数,运动矢量是进行差分编码的为r 对 运动矢量进行解码解码器将保持四个运动矢量预测器( 每个预测器包含有一个 垂直分量和一个水平分量) ,以p m v 【r 】【s 】【t 】表示这些预测器的内容对于每个 预测,先得出一个运动矢量v e c t o r r 】【s 】( t 】然后根据色差格式( 4 :2 :0 ,4 :2 :2 , 4 :4 :4 ) 对其进行变化,为每个色差分量给出一个运动矢量v e c t o r r s 】 t r ,s , t 的含义如表2 1 表2 1r ,s ,t 的含义 码流中编码的运动矢量信息包括运动补偿垂直参考场的选择, m o u o n _ o o a e r s j q 和m o t i o n _ r 黜i d u a l 【r 】【s 】( t 】,如果图象存在双基预测,那么还包 括编码的差分双基运动矢量d i rv q 设rs i z e 为m o t i o n _ r e s i a u a l r s n 撇, 那么r _ s i z e 将由在图象头中的_ c o d e 【s 】【t 】来决定: 6 m p e g - 2 解码器运动补偿和l o 接口控制器的实现与验证 r _ s i z e = f _ c o d e s t - l 设f 为m o t i o nr e s i d u a l r s t 能表示的最大值,即f = 1 r s i z e ,那么对y 信号运动矢量的解码等效于以下过程: i f i ( f 兰= 1 ) l i ( m o t i o i l c o d e r 】【s 】【t 】一o ) ) d e l t a - n o t i o n _ c o d e r s t ; e l s e d e l t a = ( ( a b s ( m o t i o nc o d e r s i t ) 1 p f + m o t i o n _ r e s i d u a l r s t + 1 ; i f ( m o t i o n c o d e r s t 2 ; h a l f _ f l a g t 为v e c t o r r 】【s 】【t 】二进制表示的最低位 如果水平分量为半象素,预测象素值为: p e l _ p r e d y x = ( p e l _ r e t l y i x + p e l _ r e t l y 】 【x + l 】) 2 如果垂直分量为半象素,预测象素值为: p e l o r e d y x 】- ( p e l _ r e f i y 】 x + p e l _ r e l i y + i 】 x ) ,2 如果水平,垂直分量均为半象素,预测象素值为: p e l _ p r e d y x 】 2 ( p e l _ r e t l y 】【x + p e l _ r e t l y + l 】【x + p e l _ r e t l y 】【x + l 】+ + p e l _ r e t l y + l 】 ( x + 1 ) 1 4 如果没有半象素,则预测象素值为参考象素值: p e l _ p r e d y i x 】_ p e l r e t l y i x 】 上式中,p e l _ p r e d y 】【x 】为预测的象素,p e l _ r e t l y 】【x 】为参考图象的象 素,y , x 为预测象素所在位置,y ,x 为参考象素对应位置,分别为: x - - x + i n t _ v e c o ;y = y + i n t _ v e c 1 ; 1 8 组合预测 组合预测是将各种预测组合到一块,以形成最终的预测块因为i d c t 的 数据可能是按场或帧组织的,因此,预测块的数据组织应与i d c t 的数据保持一 致,使它们在形成最后的图象数据时能够直接相加 1 、简单帧预测 对于简单的帧预测来说。所需的下一步处理就是将b 图中的前向和后向预 测求平均如果p e l _ _ p r e d _ f o r w a r d y l x 和p e l _ p r e d _ b a c k w a r d y x 分别表示前向预 测数据和后向预测数据,则最终的预测数据为: p e l # r e d y x - 爿t p e l _ p r e d _ f o r w a r d y x + p e l _ p r e d _ b a c k w a r d y i x ) 2 2 ,简单场预测 对于简单的场预测来说( 非1 6 x 8 或双基) ,所需的处理即是将b 图中的 前向和后向预测求平均 0 m p e g 一2 解码器运动补搂和1 0 接口控制器的实现与验证 3 ,双基预测 在双基方式中,对每个场都形成两个预测,采用与b 图中的后向和前向预 测相似的方法如果用p e lp r e d _ s a m e a d a r i t y y x 和p e l _ p r e d _ o p p o s i t e a d a r i t y y x 】 表示是由相同奇偶场中得来的预测样本和相反奇偶场得来的预测样本,那么最终 预测样本按如下形成: p e lp r e d y x = ( p e l _ p r e d s a m ep a r i t y y l x l + p e l _ p r e do p p o s i t ep a r i t y y x ) 2 亮度预测图象大小为1 6 x 1 6 ( 帧) ,1 6 x 8 ( 场) ,对于色差预测图象的 大小见表2 4 : 帧预测场预测双基预测 4 :2 :08 x 88 x 4 8 x 8 ( 帧) 8 x 4 ( 场) 4 :2 :28 x 1 68 x 8 8 x 1 6 ( 帧) 8 x 8 ( 场) 4 :4 :41 6 x 1 61 6 x 8 1 6 x 1 6 ( 帧) 1 6 x 8 ( 场) 表2 4 不同格式下对应色差预测图象大小 i 9 预测数据与i d c t 数据形成最终的图象数据 预测块形成后,要按与i d c t 的数据输出重建为预钡4 象素p y l x 的块 i d c t 数据t y i x l 由d 到预溯数据上,饱和化后形成最终的图象数据d i y x 】 计算过程如下: f o r ( f o ;y 8 ;y + + ) f o r ( x = o ;x 1 ,y i n t = v e c _ y l ,表示整象素精度的运动矢量,i w 表示图象宽度,亮度信号参考象素的地址则为: 亮度参考象素地址2 ( y + y i n t ) + l x + x + x i n t + 参考帧起始地址+ ( 底场? l w :o ) ; 这里的l x 为地址增量,即同一宏块下一行象素所在地址与前一行的地址 差 对于色度信号,运动矢量水平分量和垂直分量分别为v e c x 2 与 v e c y 佗则整象素精度的运动矢量为:x i n t = ( v e , e _ x 2 ) 1 :y i n t = ( v e c y 2 ) i 色度信号参考象素的地址为: 色度地址= = ( y 2 + y i n t ) ( 1 x 2 ) + x ,2 + x i n f + 参考帧起始地址+ 【底场? i w :0 ) + 色度偏差这里的地址增量为i x 2 那么简化的参考象素地址计算如图2 1 2 : 图2 一1 2 参考象素地址计算 m p e g 2 解码器运动朴偿和i o 接t :l 控制器的实现与验证 b ) 重建写回地址计算 写回地址只要根据当前宏块位置与图象的类型即可计算出( 其中计算时设 c _ b i a s 为色度偏差,f r a m e s t a r t 为重建帧在帧存中的起始地址) 计算如下: s t a r ta d d r _ y2f l a m e _ s t a r t 2 5 6 + y + 1 w 8 ( 16 b i td a t a ) + i6 ( f r a m eo r3 2f i e l d ) + x * 8 s t a r t a d d r c2 ( f r a m e _ s t a r t + cb i a s ) + 2 5 6 + y + i w + 8 ( 1 6 b i td a t a ) + 8 ( f r a m eo r1 6 f i e m ) + x + 8 为了减小电路的规模,把加法器的位数减小,做如下变换: s t a r ta d d ry2 ( ( f r a r n e _ s t a r t 5 ) + x ) 3 + ( y + i w ) 7 ( o r8f i e l d ) s t a r t a d d r c = ( f r a m e _ s t a r t 5 + x + c _ b i a s 5 ) 3 + ( y + i w ) 3 = ( ( f r a m e s t a r t 5 ) + x ) + ( y + 】w ) 3 = ( f r a m e _ s t a r t 5 + x + c _ b i a s 5 ) + ( y + i w ) 3 ( o r4f i e l d ) 那么简化的重建写回地址计算如图2 1 3 : 图2 1 3 重建写回地址计算 3 2 4 预测模块设计 预测模块主要包括预测控制和预测计算根据读取参考象素,进行半象素 操作和组合预测来完成对象素的预测过程 1 、预测控制 1 9 竺! ! ! :! 苎里塑垩垫! ! 堡塑! ! 量里篓型墅塑壅堡皇望堡 预测控制通过一个预测控制状态机来完成控制包括前向、后向预测预 取象素等状态的转换如图2 1 4 : 图2 1 4 预测状态控制 由运动补偿主状态控制器发出预测开始信号如果是后向运动补偿,那么 根据是否存在垂直半象素分两种情况:a 有垂直半象素则首先要预取一行象 素,以便与第二行象素进行插值;b 无垂直半象素则直接进行后向的预测 如果非后向运动补偿,那么进行前向运动补偿,与后向运动补偿一样要分两种情 况当前向运动补偿结束后,如果是双向预测,那么再进行后向运动补偿,直至 其结束,状态回到i d l e ,等待新的预测启动信号 2 预测计算 预测计算根据不同的图象和宏块类型进行预测,主要包括半象素计算,象 素的重排和双向或双基操作 a ) 半象素计算 o 一e - r - , i j i 一i c ? 一s 一- - i 一- 一。 一- 图2 1 5 象素插值示意图 m v e g 2 解码器运动补偿和1 0 接口控制器的实现与验证 假设以0 表示参考象素,x 表示水平半象素下的插值,表示垂直半象素 下的插值表示在水平、垂直半象素同时存在情况下的插值 那么对于亮度信号y ,对1 6 位的数据宽度进行操作,每次处理两个象素 水平半象素:s u m l 2 2 ( a + d ) ,s u m 2 = 2 ( a + b ) 垂直半象素:s u m1 = 2 ( a + e ) ,s u m 2 2 2 ( b + f ) 水平垂直半象素:s u m l 2 a + d + e + h ,s u m 2 = a + e + b + f 无半象素操作:s u m l 2 4 a ,s u m 2 = 4 b 对于色差信号c ,包括c b ,c r 两个色差信号,必须

温馨提示

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

评论

0/150

提交评论