(计算机应用技术专业论文)mpeg4视频编解码在dm642上的移植与优化.pdf_第1页
(计算机应用技术专业论文)mpeg4视频编解码在dm642上的移植与优化.pdf_第2页
(计算机应用技术专业论文)mpeg4视频编解码在dm642上的移植与优化.pdf_第3页
(计算机应用技术专业论文)mpeg4视频编解码在dm642上的移植与优化.pdf_第4页
(计算机应用技术专业论文)mpeg4视频编解码在dm642上的移植与优化.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

哈 j ;滨理工人学t 学顾l j 学位论文 m p e g 一4 视频编解码在d m 6 4 2 上的移植与优化 摘要 随着现代信息技术的快速发展,新的视频压缩标准不断推出。m p e g 一4 是 出国际运动銎像专家组( m p e g ) 在继m p e g l 和m p e g 一2 之后,制订的又一个 新标准,全名为i s o i e c1 4 4 9 6 。m p e g 一4 能够获得更高的视频压缩率,具有 撼于内容的交互能力。目前,国内外许多公司都在研究和开发基于m p e g 一4 的 应蘼,产品涉及黼像通信、褫颓盗控、数字电视等领域。其中诲多产品是基予 可编程媒体处理器来实现的。 首先结合视频标准的发展情况,对基予对象的视频编码技术m p e g 一4 进行 了概述。介绍了m p e g 一4 的视频编码和视频解码结构,重点研究了形状编解 码、运动估计和运动补偿以及纹理编解码,对其中主要的技术如半象索精度搜 索、块匹配及搜索算法、d c a c 系数预测、帧内犊阉模式等进 亍了较详细的 分析。 然后介绍了d m 6 4 2 媒体处理器的硬 牛特点,详细叙述了c p u 的内部结 构、片内存储器、指令系统、流水线结构,并简单介绍了软件开发环境及d s p 程序优化方法。 结合前嚣的内容,接着分绍了m p e g 一4 箍单类柢架v o p 编解码的实现流 程及程序在d m 6 4 2 上移植。为了达到编解码的实时性要求,采用了一些程序 优化方法。首先叙述了开发环境下编译选项参数的优化,改进了p v o p 编码 算法的流程以提高c a c h e 的命中率;然后嗣用e d m a 在片外存储嚣和片内 存储器之间的拷贝数据,减少了c p u 取指令的等待时延,同时把调用频率高 浆数据和程_ | 芋段放在l 2 片上虑存,更好地利用处理器的硬件资源;接。f 寒把 一些关键函数用线性汇编进行改写,以充分利用处理器的流水线结构。 最后在论文的末尾给出了程序优化后的性能参数及实现结果,并进行了总 结和展望。 荚键镯m p e g - 4 :视频编解码;d m 6 4 2 ;穗序挠化 盼身;滨理f 大学1 :掌坝l 掣位论空 m i g r a t i n ga n do p t i m i z i n g t h ev i d e oe n c o d e ra n d d e c o d e ro f 凇鏊g 4o nd m 6 4 2p r o c e s s o r a b s t r a c t 戳氇t h ef a s td e v e l o p m e n to fm o d e r ni n f o r m a t i o nt e c h n o i o g y , 疆en e ws t a n d a r d o ft h ev i d e oc o m p r e s s i o na p p e a r sc o n s t a n t l y m p e : _ 4i san e wi s 0 8 e cs t a n d a r d d e v e l o p e db ym 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 ) ,t h ec o m m i t t e et h a ta l s o d e v e l o p e dt h es t a n d a r d sk n o w na sm p e g - 1a n dm p e g 乏。弧ew h o l en a m eo f m p 誊g 4i si s o i e c1 4 4 9 6 。m p e g 一4i sm o f ee f f i c i e n to f t h ev i d e oc o m p r e s s i o na n d c o n t e n t - b a s e di n t e r a c t i v i t y n o w ;m a n yc o m p a n i e sa r er e s e a r c h i n ga n dd e v e l o p i n g t h ea p p l i c a t i o no fm p e g 一4 ,t h ef i e l do fp r o d u c ti n v o l v e sc o m m u n i c a t i o no fp i c t u r e , v i d e om o n i t o r , d i g i t a lt m a n yp r o d u c t sa r ei m 脚e m e n t e db ym u l t i m e d i ap r o c e s s o r w h i c hi sp r o g r a m m a b l e , f i r s t l y , w i t ht h ed e v e l o p m e n to ft h ev i d e os t a n d a r d w es u m m a r i z em p e g 一4 e n c o d e ra n dd e c o d e r ;i n t r o d u c et h ef r a m e w o r ko fv i d e oe n c o d e ra n dv i d e od e c o d e r a n dt h e nw ea n a l y z em a i nt e c h n o l o g y , f o re x a m p l e ,h a l f - p i x e ls e a r c h ,b l o c k m a t c h i n g ,d e 腆ct o e f f i c i e n tp r e d i c t i o n ,t h em o d eo f i n t r a a n di n t e r ,a n dr e s e a r c ht h e s h a r pe n c o d i n g d e c o d i n g ,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 ,s t i l l t e x t u r e e n e o d i n g d e c o d i n ge s p e c i a l l y s e c o n d l y ,t h ep a p e ri n t r o d u c e st h ed m 6 4 2p r o c e s s o r , d e s c r i b e st h ec p u s t r u c t u r e 、a s s e m b l ei n s t r u c t i o n 、i n c h i pm e m o r ya n dp i p e l i n ei nd e t a i l f h e nt h e s o f td e v e l o p m e n te n v i r o n m e ma n dt h em e t h o do ft h ed s pp r o g r a m so p t i m i z a t i o n a r ei n t r o d u c e d c o m b i n e dw i 搬t h ep r e v i o u sc o n t e n t 。i m p l e m e n t a t i o no fm p e g - 4s i m p l e p r o f i l e sv o pa n dt h em i g r a t i o no n d m 6 4 2a r ei n t r o d u c e d s o m eo p t i m i z a t i o n m e t h o d sa r ei m p o r t e dt or e a l t i m ea p p l i c a t i o n i c h o o s i n gp r o p e rp a r a m e t e r so ft h e c c si sf a s ta n de f f e c t i v em e t h o d ,a n du s i n ge d m ab e t w e e ni n - c h i pm e m o r yt o m e m o r y m a k e sc p ub eb u s yw o r k i n g ,a l s o ,p u f i n gs o m ef r e q u e n tf u n c t i o n si n t ol 2 m e m o r yi s ag o o di d e a a f t e ra n a l y s i n gp - v o p se n c o d i n gf l o wo fm p e g 一4 , i m p r o v e m e n to f p v o p se n c o d i n gf l o wi si n t r o d u c e d a n dt h i sm e t h o dc a ni n c r e a s e 堕i ! 堡竺;! 耋兰三兰竺;! :兰丝篁釜 t h ec a c h eh i t l a s t l y ,t h ep a f a m e t e 璐o fp e r f o r m a n c ea n dt h er e s u l t so fe x p e r i m e n t a t i o na r e g i v e no u t i nc o n c l u s i o n k e y l v o r d s m p e g o :v i d e oe n c o d e r d e c o d e r ;d m 6 4 2 ;p r o g r a mo p t i m i z a t i o n - 哈尔滨理工大学硕士学位论文原创性声明 本人郑重声明:此处所提交的硕士学位论文 p e g 一4 视频编解码在d - d 6 4 2 上的移植与优化,是本人在导师指导下,在哈尔滨理工大学攻读硕士学位期 间独立进行研究工作所取得的成果。掘本人所知,论文中除已注明部分外不包 含他人已发表或撰写过的研究成果。对本文的研究工作做出重要贡献的个人和 集体,均已在文中以明确方式注明。本声明的法律结果将完全由本人承担。 作者签字:传绅j 同期:扣垂 月刀r 哈尔滨理工大学硕士学位论文使用授权书 m p e g 一4 视频编解码在d m 6 4 2 上的移植与优化系本人在哈尔滨理工大学 攻读硕士学位期间在导师指导下完成的硕士学位论文。本论文的研究成果归哈 尔滨理工大学所有,本论文的研究内容不得以其它单位的名义发表。本人完全 了解哈尔滨理工大学关于保存、使用学位论文的规定,同意学校保留并向有关 部门送交论文的复印件和电子版本,允许论文被查阅和借阅。本人授权哈尔滨 理工大学,可以采用影印、缩印或其他复制手段保存论文,可以公布论文的全 部或部分内容。 本学位论文属于 保密口,在 不保密囱。 ( 请在以上相应方框内打) 作者签名:;a 彳巧 导师签名: 年解密后适用本授权书。 r 期:川年| 7 月衫日 闩期灿辫3 月审 l 信息时代对于图像通信的需求越来越广”1 ,从较低码率的可视电话、视频会 议、实时监控到高码率的空中侦察、数字电视等,迫切要求将高效率、高质量 的视频压缩算法实用化。m p e g - 4 于2 0 0 0 年正式成为国际标准并不断地扩 展,它是一个面向多媒体应用新的压缩标准”。与m p e g 1 、m p e g - 2 、 h 2 6 3 标准相比,m p e g - 4 采用了现代图像压缩编码的方法,引入了基于对象 和内容”的编码技术。它不仅支持码率低于6 4 k b p s 的多媒体通信,还能支持广 播级的视频应用。m p e g - 4 可以提供更高的压缩效率、更好的交互性以及更强 的抗误码能力。目前,m p e g - 4 标准已经成为视频编解码的热点,国内外有关 m p e g - 4 应用技术研究及开发的工作正在悄然兴起,因此研究和实现m p e g - 4 视频编解码具有重要的现实意义。 视频编解码器通常有二种实现形式:使用专用a s i c 编解码芯片和使用通 用的可编程媒体处理器“。后一种实现形式更具有灵活性。比如在m p e g - 4 编 解码系统中可随时加入新的功能模块,或根据不同的应用需求,现场配置编码 器。它的这种灵活性对a s i c 芯片来说是无法实现的,而可编程处理器正好满 足了这一点。另外,由于m p e g 4 标准规范本身还不够成熟,至今仍在不断改 进,这使得使用a s i c 芯片的实现方法变得非常困难。 数字信号处理器d s p 作为一种通用的可编程处理器,随着近些年来的高 速发展,为实现高效的视频编解码器的提供了可能性。1 r i 公司生产的c 6 4 x 系 列d s p 芯片具有很强的并行处理能力和图像处理功能,d m 6 4 2 是其新近推出 的一款基于c 6 4 x 核的d s p ,全名是1 m s 3 2 0 d m 6 4 2 ”。本文在研究了 m p e g - 4 视频标准后,充分利用了d m 6 4 2 的硬件资源,实现了m p e g - 4 视频 编解码在d m 6 4 2 上的移植,并提出了一系列的程序优化方法。 1 2 视频编解码的国际标准 图像压缩技术的发展和广泛应用促进了许多有关国际标准的制订,从1 9 8 6 年起,一些国际组织就丌始致力于视频编码的国际标准,目前常用的有国际电 哈尔泞卿r 人学下学衙卜学? ,论文 信联盟r r u 的h 2 6 x 系列际准和国际标准化组织i s o 的m p e g - x 系列杯准。 1 2 1h 2 61 、h 2 6 3 、h 2 6 3 + $ f lh 2 6 3 + + h 2 6 1 ”1 是由r r u t 第1 5 研究组在窄带综合业务数字网n i s d n 上丌展速 率为p x 6 4 k b s 的可视电话和电视会议而制定的,因此也称为p 6 4 标准。h 2 6 1 标准适用于比特率小于或等于l m b p s 的应用,其视频编解码算法采用了运动 补偿的帧间d p c m 、块d c t 和哈夫曼编码。除初始帧为i 帧外,后续帧一般 为p 帧,为了防止信道误码产生的差错经预测编码而累积传播,在每1 3 2 帧之 内,每个宏块位置上至少要进行1 次帧内编码( i 帧) 。此外,采用h 2 6 1 标准 的编、解码具有相同的运算复杂度,这样会话的双方都需要同样的编码器和解 码器。 r 1 h 2 6 3 是i 丁u t 于1 9 9 6 年提出的作为h 3 2 4 终端”1 使用的视频编解码建 议,它是基于运动补偿的d p c m 的混合编码,在运动搜索的基础上进行运动 补偿,然后运用d c t 变换和“之”字形扫描游程编码,从而得到输出码流。 h 2 6 3 采用运动视频编码中常见的编码方法,将编码过程分为帧内编码和帧间 编码两个部分,帧内用改进的d c t 变换并量化,帧间采用半象素运动矢量预 测补偿技术。h 2 6 3 是在h 2 6 1 的基础上加以改进而形成的,它的主要改进方 法如下: 运动补偿采用了半象素精度并使用了环形滤波器。 数据流的一些层次结构内容是可选的,使编码器的参数配置达到最 优,以取得更低的码率,并能进行有效的差错掩盖和 i 9 ( 复。 增加了四种可选择的编码模式以提高执行效率:无限制的运动矢量模 式,基于语法的算术编码模式,高级预测模式,p b 帧模式。这些模式 使得h 2 6 3 的编码器能够只用h 2 6 1 一半的码率就能获得同h 2 6 1 相 同的图像质量。 h 2 6 3 支持五种分辨率的图像格式:q c i f ,c i f ,s u b q c i f ,4 c i f , 1 6 c i f 。对4 c i f 和1 6 c i f 格式的支持意味着h 2 6 3 编码器在高比特率 视频编码中也能够同m p e g 标准编码器一争高下。 1 9 9 7 年r r u t 又推荐了h 2 6 3 的第二个版本,即“h 2 6 3 + 。h 2 6 3 + 增 加了一些新选项:添加了1 种具有时间可伸缩性和2 种具有信噪比或空间可伸 缩性的编码:改进的p b 帧模式增强了频繁使用p b 帧时的鲁棒性;允许使用 用户自定义的图像格式;支持在码流中增添新的辅助信息;提供了9 种新的编 哈自:渖理t 人学r 学邢i 学位沦之 码模式,使编码效率更高。 h 2 6 3 + + 吲是对h 2 6 3 + 进一步改进的标准。h 2 6 3 + + 在h 2 6 3 + 标准的基 础上再加上若干个可选编码模式:增强参考帧选择模式、误码恢复的数据划分 模式、i d c t 误匹配减少模式。另外,仿射运动补偿、选择系数扫描、误码控 制编码及头信息重复等方法也是标准所考虑采纳的技术。 1 2 2 e g 一1 - 2 - 4 m p e o ( m o v i n gp i c t u r ee x p e r tg r o u p ) ”“是在1 9 8 8 年由国际标准化组织 ( i n t e m a t i o n a lo r g a n i z a t i o n f o r s t a n d a r d i z a t i o n ,i s o ) 和国际电工委员会 ( i n t e r n a t i o n a l e l e c t r o t e c h n i c a lc o m m i s s i o n ,i e c ) 联合成立的专家组,负责丌发 电视图像数据和声音数据的编码、解码和它们的同步等标准。这个专家组歼发 的标准称为m p e g 标准”。 m p e g 1 ”是i s o i e c 在1 9 9 3 年通过的一个国际标准。用于1 5 m b p s 以 下数据传输率的数字存储媒体运动图像及其伴音的编码。主要包括系统、视 频、音频等3 个部分。m p e g 1 的视频部分与h 2 6 1 及h 2 6 3 原理大致相同。 采用了离散余弦变换( d c t ) 和差分脉冲编码调制( d p c m ) 的混合编码技 术。然而,m p e g l 主要是针对存储媒体的视频编码标准,故m p e g - l 在顾及 图像质量、压缩比的同时还要考虑对序列图像的随机访问和编辑的方便, m p e g 1 在充分参考h 2 6 1 以及j p e g 的基础上,加入了双向预测 ( b i d i r e c t i o n a lp r e d i c t i o n ) b 帧,在预测b 帧时,既可以使用前帧图像作参 照,也可使用后帧图像作参照或同时使用前后两个帧作为参照图像,从而提高 了压缩比。m p e g l 主要用于家用v c d ,它使v c d 取代了录像带,也可用于 数字电话网络上的视频传输。 1 9 9 4 年出台的m p e g - 2 标准”主要是针对数字视频广播( d v b ) 、高清晰 度电视( h d t v ) 、数字视盘( d v d ) 等制定的高于1 5 m b p s 运动图像及其伴 音的国际标准。m p e g - 2 码流的结构与m p e g - i 很相似,它保留了m p e g 1 所 提供的所有功能,并设计成与m p e g 一1 兼容,同时又增加了基于帧场的运动 补偿、可伸缩的编码方式及容错编码等新技术。 m p e g - 4 最初的目标是极低比特率的音频,视频编码压缩标准,它于2 0 0 0 年正式成为国际标准。主要适用于p s t n 上的视频通信或移动通信网络,但是 随着研究工作的深入,它所包含的内容和将要起的作用己经远远超过了最初的 设计思想。m p e g 4 目的是寻求支持数字音频,视频数据通信、存取和管理的新 途径,它为多媒体数掘压缩提高了一个更为广阔的平台,它更多定义的是一种 呜尔席理t :学t 学师f 。乍n 论 格式和框架,而不是具体的算法,以支持各种各样新颖的和商效的功能。 与m p e g 1 和m p e g 2 年 l 比,m p e g - 4 更加注重多媒体系统的交互性和灵 活性”,最显著的特点是基于内容的编码,即场景由若干音视频对象组成,如 背景图片或音乐、处在焦点区的音视频内容,文本或图形等。m p e g 4 对场景 的编解码就建立在这些音视频对象上,这样用户可以对这些对象分别进行解码 和重建,使得使用者对原始场景能够以一种灵活的方式来操作。基于对象的编 码除了能提高数据的压缩比,还能实现许多基于内容的交互性功能。 基于对象的可伸缩性功能是m p e g 一4 提供的又一个新的功能,同时兼容于 m p e g 2 标准中的图像可伸缩性,可伸缩性工具主要用于互联网和无线网等带 宽窄的视频通信、多质量视频服务和多媒体数据库预览等服务。m p e g - 4 支持 三种伸缩性:时日j 可伸缩性、空间可伸缩性和对象可伸缩性。视频序列一般分 为基本层和增强层两层,基本层提供了视频序列的基本信息,增强层则提供了 视频序列更高的分辨率和细节信息。基本层是可以单独传输和编码,而增强层 则必须与基本层一起传输和解码。由于移动通信的迅速发展,通过无线网络传 输多媒体信息变得越来越重要了,这需要提供在易出错的通信环境下实现安全 的低码率编码和传输。m p e g 一4 通过重同步、数掘恢复、错误隐藏技术来实现 鲁捧的传输和纠错”“。在本文后面的章节将详细讨论m p e g - 4 视频编解码标准 的内容、关键技术及其实现。 1 3 论文的主要工作和安排 本文首先研究了m p e g - 4 视频编解码的基本原理,并分析了d m 6 4 2 媒体 处理器的特点,然后以x v i d 开源代码为蓝本,闻亭公司的1 d s 6 4 2 e v m 为开 发平台,实现了m p e g - 4 视频编解码在d m 6 4 2 上的移植与优化。重点研究了 编解码程序的d s p 优化,通过采用各种不同的优化方法,达到了c i f 视频格 式的实时编码和解码。 第1 章概述了课题的背景知识。介绍了m p e g - 4 的应用前景和视频编解码 器实现的两种形式,同时对视频编解码的国际标准1 1 1 j th 2 6 1 h 2 6 3 及 i s 伽e cm p e g - 1 - 2 - 4 进行了简单的概述,最后对本文的主要工作和安排傲了 说明。 第2 章介绍了m p e g - 4 视频标准,对m p e g - 4 编解码结构进行了介绍,叙 述了编码和解码中的形状信息、运动估计与运动补偿、纹理编解码,并重点分 析了m p e g 4 的一些关键技术与算法。 卟0 ;了理t 人学t 学伸卜学,冷史 第3 章对d m 6 4 2 媒体处理器及d s p 程序优化丌发进行了简介。结合数字 信号处理器的特征介绍了d m 6 4 2 的特点,研究了c p u 的内核、片上存储器及 流水线结构等。为后面分析程序优化的方法打下基础。最后还介绍了d s p 程 序的开发工具c c s 及软件优化过程。 第4 章实现了m p e g - 4 视频编解器在d m 6 4 2 上移植,并针对d m 6 4 2 的 特点从程序的结构、优化编译参数、片上内存、流水线结构等几个方面介绍了 编解码程序的优化方法,实验结果表明优化后的程序性能得到了大幅度提高, 基本上达到了研究开发的目标。 2 1 在 示。一个视频对象可以是视频场景中任意形状的一块区域,也可以是视频宁列 中的人物或具体的景物,如电视新闻中的播音员或运动场上的足球。它的存在 时间可以任意长。视频对象平面v o p ”( v i d e oo b j e c tp l a n e ) 是某一具体时刻 的视频对象。将输入的视频序列通过分析可将其分割为多个视频对象,对同一 v o 编码后形成v o p 数据流。 m p e g - 4 采用层次化的数据结构来实现可分级编码。视频从基本层丌始, 加上一定数量的增强层,这样就可以根据不同的应用来有选择地进行视频编解 码。编码的分级描述如图2 1 : v s 2v s , 删鼢始 呐一蛳一。嗅可一叫 。r o u 。po f 。v o p ;噢肖 么j 一一 篇飞= 。= ! 岁二、i ,_ 一。v 一 j 奎l2 - im p e g - 4 层次化的数据结构 f i g u r e2 - 1s c a l a b i l i t yd a t as t r u c t u r e 卟:噼理t = 肇丁学埘- 卜学付论文 视频序列( v s ) :完整的m p e g 4 场景,可以包含任意的二维或三维自然 或合成对象以及对应的增强层。 视频对象( v o ) :比较简睢的是场景中的矩形框。 视频对象层( v o l ) :根掘应用的需要,每个视频对象可以用分层的方式 编码。视频对象层提供了可分层编码。一个视频对象可以利用时域和空域的可 缩放性,分辨率从粗糙到精细。 视频对象平面组( g o v ) :可以提供码流中独立编码的视频对象平面参考 点,因此可以支持码流的随机访问,可任选。 视频对面平面( v o p ) :如上面所说,一个v o p 是对一个视频对象的时问 采样,包括了视频对象的形状信息、运动参数和纹理数据。v o p 可以是相互独 立的编解码,也可以通过运动补偿依靠其它v o p 编解码。然而m p e g 4 的编 解码实现都是以v o p 内部1 6 x 1 6 的宏块( m b :m a c r o b l o c k ) 为单位进行编解 码。每个亮度宏块中包含有4 个8 x 8 的象素块,一个v o p 可划分成多个宏 块。对v o p 的编码就是针对菜一时刻图像v o 的形状、运动、纹理信息进行 编码。 剿箍。 鐾动蓿息 技理信患4j 珥确笨重)( d c r 系数,l l 图2 - 2 v o p 的编码过程 f i g u r e2 - 2e n c o d i n gp r o c e s so f v o p 图2 2 简单说明了任意形状v o p 的编码过程,而解码可看成它的逆过 程。m p e g 4 视频编码主要由三部分组成:形状编解码、运动编解码、纹理编 解码”“”。其中的运动预测和补偿及纹理编解码和传统标准是一致的,但是形 状编解码还是第一次引入。为简单起见,在m p e g 4 移植与优化中,我们采用 了矩形框的v o p ,从而摒弃了形状信息的编解码。 2 2m p e g 4 视频编码 如上所述,m p e g - 4 视频编码是基于v o p 的编码。图2 - 3 所示为m p e g - 4 校验模型中l 】5 l ( v m :v e d f ym o d e ) 基于任意形状v o p 的编码结构。下面分 析编码的各个模块。 状信息分为二值形状信息和狄度形状信息两类。二值形状信息用0 和l 来表示 v o p 的形状,o 表示非v o p 区域,l 表示v o p 区域。灰度形状信息用o 一2 5 5 之间的数值来表示v o p 的透明度,其中0 表示完全透明( 相当于二值信息中 的0 ) ,2 5 5 表示完全不透明( 相当于二值信息中的1 ) 。在m p e g 4 标准中, 形状信息被定义为“a l p h a 平面”。形状信息的编码技术有两种:一种是 a l p h a 平面的无损失编码;另一种是形状和透明信息的有损失编码。这种方法 允许在比特流和形状表示的准确率之间进行折衷。然而,视频对象用标准的矩 形框是v o p 的特例,这样在编解码中其形状信息可以被忽略掉。 圈2 - 3 m p e g - 4 中v o p 编码流稃图 f i g u r e2 - 3e n c o d i n gf l o wo f v o p i nm p e g - 4 2 2 2 运动编码 采用帧j 日j 预测编码可以减少时间域上的冗余度,提高压缩比。如果将上一 睁尔津秤t 人学t 擘衙卜学位:电史 帧相同空间位置处的象素值作为待编码当前帧的预测值,这种预测对图像中静 止背景部分将是很有效的。但足对于运动部分,这种不考虑物体运动的帧玎j 预 测效果并不好。如果有办法对当前帧某象素块进行预测时知道这个象素块是上 帧的哪个位置移动过来的,则预测的准确性将大为提高。也就是说采用运动补 偿帧问预测可以使预测差大大减少,从而减低码率,提高压缩比。 m p e g - 4 的运动编码模块类似于传统的视频编码标准,也是基于块的运动 估计与补偿,可以是基于1 6 x 1 6 的宏块或8 x 8 象素块”。运动估计时当前v o p 中的宏块在参考v o p 中搜索最佳匹配块,得到运动矢量( m v :m o t i o n v e c t o r ) 。v o p 有3 种模式,即帧内( i n t r a ) 编码模式( i v o p ) 、帧间( i n t e r ) 预测编 码模式( p v o p ) 、帧闯双向预测编码模式( b v o p ) 。 1 块匹配准则块匹配方法的思想是将图像划分为许多互不重叠的子块 ( 如1 6 x 1 6 宏块) ,并认为子块内所有象素位移量都相同,即将每个子块视为 一个“运动物体”。假设在图像序列中,t 时刻对应于第k 帧图像,t _ f 时刻对 应第k 1 帧图像。对于第k 帧中的一个子块,在k - l 帧中寻找与其最相似的子 块,称为寻找匹配块。并由此可得到运动矢量。为了节省计算量,一般搜索都 只在一定范围内进行。设最大可能的偏移矢量为,蚓,则搜索范围 为: s c o p e = m + 2 c b c m :) x ( n + 2 d y 帆缸q ? b 其中 以分别为子块在水平和垂直方向上的象素值。图4 5 给出了子块与搜 索范围的关系图。 k 帧m x n 象紊块 图2 - 4 待匹配象紊块与搜索区的位置天系 f i r g u r e2 - 4r e l a t i o nb e t w e e np i x e l sb l o c k sa n ds e a r c hz o n e 在块匹配中有两个问题需要确定:最优匹配准则和搜索方法。 值。m x n 为搜索块的大小。 - 最小均方差 m s e ( i , 加s q 一嚆荟善 砌州吵忉“卅川2 ) 同样是以m s e 值最小为最优匹配点。 归一化互相关函数 肛( ,月坍一l ( m + i ,+ ,) n c c f ( i ,_ ,) 2 百i 盟生1 可- f 下 l 以2 ( m ) li 尼伽“”+ 圳 l m = l 抽ljl m = ln mj 在这里,最优匹配相应于我n c c f 的最大点。 ( 2 - 3 ) ( 2 - 4 ) 块的整象素运动矢量v 0 。同时在v 0 邻近的范围内还可能找到4 个矢量 v 1 ,v 2 ,v 3 ,v 4 使得4 个8 x 8 子块的s a d s ( i ) 最小。令 三 s 4 d 4x s = s a d s ( i ,力 ( 2 - 9 ) l 从而得到: 剐d ”= m i n ( s a d i 6 ( i ,ns a d 4 x s )( 2 - l o ) 这样得到s a d 。的矢量就作为目标的运动矢量。 2 半象素精度搜索半象素精度搜索是围绕v 1 ,v 2 ,v 3 ,v 4 + - 1 个半采样 进行搜索的1 1 口饥。首先,半象素精度由原始图像进行采样得到,它其实是一个 双线性的差值过程,如下图: 会$ co c + b o d o b+ d + + i n t e g e r p i x e l p o s i t i o n o h a l f p m e lp o s i t i o a a = a b = ( a + b + 1 一m u n d i n g _ c o n b 0 1 ) 2 c = ( a + c + 一r o u n d i n g _ c o n t r 0 1 ) z d = ( a + b + c + d + 2 一r o u n d i n g _ c o n t r 0 1 ) 4 图2 - 5 半象素搜索的插值 f i r g u r e2 - 5i n t e r p o l a t i o ns c h e m ef o rh a l f s a m p l es e a r c h 用同样的搜索方法可以得到最匹配的运动矢量( m v x ,m v r ) 。 m p e g 4 的块预测可以基于1 6 x 1 6 ,也可以是8 8 ,在半象搜索之后,若 、t s a d 4 。l s a d , 6 一( 睾+ 1 ) ,则选用8 x 8 块预测,否则采用1 6 x 1 6 块预测。 z 3 帧内帧间模式选择在m p e g - 4 标准黾,对于p v o p 的每个宏块,并 不是都要选择帧间预测编码方式。在整象素运动估计后,编码器将决定采用帧 峤尔滓理丁人学丁学面f 。学付论筻 问模式还是帧内模式。首先要岸出宏块本身的分散度: 上凹 m bm e a n 5 ( o r i g i n a l ) n ca 。艺l o r i g i n a l ( i , j ) - m b _ m e a n l ( 2 - “) i i j 。lt l j 1 设n c 是在v o p 中的象素个数,则n b = n c 2 b t t t p 。j 一。 当a fr 4 0 1 0 一只【o 】【0 】j ,则用块a 预测。 如果块a 、b 或者c 都超出了v o p 的边界,又或者它们不属于帧内编 码,那么x 块f 【o 】【0 】用2 “一一一p “做预测值。 图2 - 9 中,在进行自适应d c 预测时:如果使用块c 预测时,预测值为: 【o 】【o 】= j p q r 【o 】 o 】+ r 4 0 o a c s c a l e r 。如果使用块a 预测时,预测值 为:【o 】【0 】= ,q 州0 】 o 】+ v a o o d c s c a l e r 。其中,q f x 是本子块的量化 值,f c 和f a 为预测子块的d c 分量,p q f 。为预测残差,从码流中解得, d cs c a l e r 是本子块的量化步长。 j 2 | 2 9 d c a c 预捌方向 f i g u r e2 - 9p r e d i c td i r e c t i o no f d c a c 在进行a c 系数的自适应预测时,并不是所有的块部进行了a c 预测,如 果预测残差很大,就没有必要预测。但是如果每个块部进行预测切换,则计算 量太大,所以在宏块基础上决定是否进行a c 预测,并在宏块头信息流中设置 一位标志a c _ p r e t f l a g ,当a c _ p r e d _ f l a g 为l 表示进行a c 预测,为0 表示没进 行a c 预测。在解码时,由a c的值决定进行预测编码。p r e d n a g a c a c 的自适应预测事实上只在子块的第一行或第一列进行。在一个块基准 下,d c 系数预测的最佳方向也作为a c 系数的最佳预测方向。 3 熵编码m p e g - 4 的熵编码采用游程编码和h u f f m a n 编码相结合的方 法,首先进行游程编码,然后把各种数值和其前左后的0 值游程组合对各种可 能性按统计特性进行h u f f m a n 编码,最后得出编码后的比特流。称为可变长编 码( v a n a b l el e n g t hc o d i n g v l c ) 。 2 3m p e g 4 视频解码 m p e g - 4 视频解码要简单些,它不需要进行复杂的运动估计,只需根扼数 据流的格式规范从压缩数据流中正确地解码出各种数据,再进行视频帧的补偿 和重构。m p e g - 4 视频解码主要由三部组成:形状解码、运动解码和纹理解码 图,解码流程如图2 一l o 所示。 然而在编解码v o p 时采用的是矩形框,故在实现不需要进行形状解码。 在m p e g - 4 简单类框架解码时,首先根据选择开关判别是i n t r a 解码还是i n t e r 解码,v o p 的解码过程如图2 “所示: n :节理t 久学丁学峋i 学付诊芷 图2 - 1 0m p e g 4 视频编码过程 f i g u r e2 - 1 0d e c o d i n gp r o c e s so f m p e g - 4 2 3 1 形状解码 图2 - 1 1 简化后的v o p 解码过程 f i r g u r e2 - 1 1t h e s i m p l ed e c o d i n gp r o c e s so f v o p 二值形状编码是建立在基于块的表示基础上。主要的编码方法是基于块、 基于上下文的二值算术编码和基于块的运动补偿。主要数掘结构是二值a 块 ( b a b ) ”1 。b a b 是表示透明或不透明的二值象素组成正方形块,它指定了 1 6 x 1 6 区域的形状。事实上,每一个b a b 和一个纹理宏块在同一位置。 从v o l 的语法结构可以看出,当v i d e oo b j e c th y e rs h a p e 为“o o ” 时,则不需要二值形状解码;当v i d e oo b j e c tl a y e r不等于“o o ”时, 则需要执行二值形状解码,对其后每一个,重建shapevopv o p 的限制矩形尺度由 v o p _ w i d t h 和v o p _ h e i g h t 获得。如果解码后的尺度不能被1 6 整除,那么 睁尔滓即r 人, - p t 肇面卜擘慢论证= v o rw i d t h 和v o p的值上耿整到能被16整除。height 另外,为了简化运动补偿,v o p 的水平和垂直位置由 v o eh o r i z o n t a ln l cs p a t i a lr e f 和v o pv e r t i c a lm cs p a t i a lr e f 得到。每一个v o p 的空间参考点可能是不同的,但是一个v o l 层中所有的v o p 必须使用相同的 坐标系统。另外,解码空域参考点必须为偶数。标志v o ps h a p e 在 错误恢复时使用,它可以允许在中使用内部形状解码。最co后din,g在typep-vopv o p 类中必须解码c h a n g e _ e o n vr a t i od i s a b l e 。它说明了c o n v _ r a t i o 是否在宏块层被 解码。一旦上述元素被解码,二值形状解码器就可以在限制矩形中解码每个宏 块的形状。 1 宏块解码v o p 限制矩形中的每一个宏块的形状信息以1 6 x 1 6 的b a b 形式被解码。宏块解码包括以下几个过程:模式解码、二值a 块运动补偿、运 动向量解码、帧问b a b 的运动补偿和基于上下文算术解码。 2 算术解码算术解码包括四个主要步骤:去除填充比特;初始化,它 在解码第一个符号之前执行;解码符号,每一个符号的解码可能跟着一个重新 标准化的过程;在解码最后一个符号后终止。 3 灰度形状解码狄度a 平面解码可以分两部分得到:支持区域和a 通 道的值。支持区域使用二值形状传输。在二值形状数据中指示透明的所有采用 必须在解码灰度a 平面时被设定为0 。在v o p 内部,q 采样的值通过解码灰 度a 解码过程产生。二值形状信息解码不依赖于灰度a 的解码。d 的值以宏块 的形式按解码亮度通道的方法解码。a 值1 6 x 1 6 的块作为以后的口宏块的数据 紧跟在相应纹理块的数据后面出现。 2 3 2 运动补偿解码 在解码v o p 时,如果解码帧类型是p v o p ,则需要进行宏块m b 的运动 补偿解码,即找出相应的运动矢量m v 。在p v o p 中的宏块有多种可能,可以 是i n t r a m b 、i n t e r m b 或i n t e r 4 v m b ”。其中,i n t e r m b 和i n t e r 4 v m b 要进行运 动向量解码。 1 i n t e r m b 的运动向量解码在解码i n t e r m b 的运动向量m v 时,可通过 变长编码从码流中解出差分运动向量a m v ,然后把它和运动向量预测值相加 得到m v 。运动向量要限制在一定范围内,允许范围由参数v o p选定。fcode 2 i n t e r 4 v m b 的运动向量解码为了解码运动向量,运动向量预测值的 水平和垂直分量分别由自己解码的相邻宏块或块得到的候选运动向量( m v l , 图2 - 1 2 运动向餐预测位置 f i r g u r e2 - 1 2p r e d i c t i o np o s i t i o i no f m v 三个候选运动向量的中值作为运动向量的预测值( a ,毋) 。 p x = m e d i a n ( m v l x ,m v 2 x , m v 3 x ) ,p y = m e d i a n ( m v l y ,m v 2 y ,m v 3 y ) 。 例如,如果m v i = ( 1 ,2 ) , m v 2 = ( o ,3 ) 和m v 3 = ( 2 ,6 ) , 那么 a = 一1 ,e y = 3 。4 m v 模式的色差的运动向量m v c h r 由4 个m v 平均后

温馨提示

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

评论

0/150

提交评论