基于DSP的MPEG-4视频编码技术研究与实现获奖科研报告_第1页
基于DSP的MPEG-4视频编码技术研究与实现获奖科研报告_第2页
基于DSP的MPEG-4视频编码技术研究与实现获奖科研报告_第3页
基于DSP的MPEG-4视频编码技术研究与实现获奖科研报告_第4页
全文预览已结束

下载本文档

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

文档简介

基于DSP的MPEG-4视频编码技术研究与实现获奖科研报告

【摘要】随着社会不断发展进步,视频技术广泛应用于日常生活与专业领域之中。MPEG-4视频编码技术为其中一种常用技术,本文阐述应用BF561处理器完成MPEG-4SP框架层次下视频编码系统的实现过程。首先,运用纯C语言实现编码功能,可通过建立的软件完成算法研究、修改,并将其作为DSP移植的根本,实现在DSP的开发。其次,应用集成调试环境VisualDSP4.5++完成后续开发,最终达到编码目标。

【关键词】DSP;MPEG-4;编码

1.VisualDSP4.5++

VisualDSP4.5++拥有强大的编辑功能与高效的工程管理能力,还具有优秀的调试控制能力与可视效果。其调试媒介能够应用软件进行模拟,也能够用硬件应用JTAG在EZKIT评估板上,还能够应用USB口实现调试。VisualDSP4.5++调试器具有优秀的绘图功能,能够清晰展现数据,促进工作效率。此外,其统计学特性能够实现在不中断程序的情况下获取代码运行情况,更精准的改进程序性能。

2.MPEG-4SP编码系统整体设计

MPEG-4SP框架结构高效、容错高的特点,十分适合运用在数字电视、多媒体监控等低功耗系统中,属嵌入式系统开发的主要技術。本次设计MPEG-4SP应用混合编码框架,编码原理框架如图1。

系统的硬件平台如图2

设计开发流程如下,第一,应用VC6.0新建“encode-PC”,利用Xvidcorl.0.2构建编码器。第二,构建纯C代码,实现源代码修改。注意,输入为.yuv文件,输出为.m4v文件。第三,于PC平台,删减不需要的代码,调节函数数,将常用小函数写入,完成准备工作。第四,于VisualDSP4.5++,架构工程组,调节函数存放位置。第五,反复完成编译、修缮、调试,构建可应用于DSP的程序。第六,将输入转变为摄像头,输出转变为SDRAM缓存。第七,应用VisualDSP4.5++M优化方案,选择正确的编译选项。第八,结合统计窗口,调整LDF中的存储器规模,重设L1存储SRAM于Cache大小,再对相应变量的位置进行调节。第九,实现BF561在宏块层上的并行处理。第十,完善汇编级代码。第十一,将处理好的二进制文件转移到Flash完成调试。

3.软件移植

主要目的在于调整代码适用于BF561,使其能够应用于DSP。流程如下,第一,于VisualDSP4.5++,新建项目组,并构建corea、coreb、sml2、sml3四个项目,分别代表内核A、B与存储空间L1、L2。第二,将源代码转移到对应项目,随后反复进行编译修改。第三,于VisualDSP4.5++进行数据读写,确保程序正常运行,再改写输入输出模式,除去不需要函数,输入转为从PPI0由A/D转成的数据,输出转为输出缓冲区。

4.双核DSP宏块层并行结构设计

4.1并行性分析

视频编码算法中并行性分析分两种,其一,可并行计算,其数据流明确、运算简便、相关性弱。其二,不可并行计算,其运算控制与数据相关性强。通过并行处理视频压缩能够有效应对计算量大的情况。以下对MPEG-4进行并行分析,优化设计,MPEG-4图像编码囊括I、P、B-VOP,其中B-VOP未应用于MPEG-4SP。MPEG-4的层次由上至下分作块层、宏块层、条层、视频对象层、视频对象平面组层,按照上述次序进行编码,于宏块以外的各层添加起始码与头标,构建MPEG-4基本码流。结合并行特点,从块层开始考虑并行性,块层两核之间进行运动补偿将产生强烈的相关特性,需传递信息量巨大,效率不高;而宏块层与并行粒度最适,在16*16宏块,实现并行性能够达到很好的效率,但编码依赖于前一宏块,所以需采用科学通信方式,解决该问题;条层能取得媒体并行运算处理机制,通过MPEG引进SLICE,是指能够单独进行编码;以更粗糙层进行考虑,能够用VOG实现并行处理,不过,GOP无法彻底排除I-VOP、P-VOP、B-VOP间的强依靠性,若设VOP为IBBPBBPBBPBB能够得知,最终帧的编码一定会依靠下一VOG的首帧,因此同样产生相关性,综上,采取宏块层实现并行性处理是最有效的方式。

4.2BF561并行性算法

BF561双核有大量硬件资源支持,可单独运行,避免BF561两个核通信频繁降低效率,结合MPEG-4编码标准,应用宏块层进行并行处理。依据MPEGY编码步骤,处理视频数据,并存在SDRAM,由BF561经过DMA读取16*16个宏块相对的Y、Cb、Cr,如图3,根据4:2:0格式实现双核编码,最后输入至存储空间。

综合BF561双核对称特性及Ⅲ级存储优点,发挥DMA强大功能,设计有效的编码流程,具体流程如图4。该流程特点在于核A进行流程操控,核B实现运算,结构相对简洁,利于编写与维护。为了充分发挥双核性能,采用L2传递信息与数据,A核增加控制DMA与处理全局信息的功能。

4.3并行编码存在问题及解决方法

(1)宏块编码相关性

宏块编码中,DC值根据上一宏块DC值当作偏量,不影响A核,其所需DC值已经记录在前一循环中。B核不相同,其相对的B、C、D亮度块不受影响。不过,E、F色差块需要的DC值存储在A核,且处于运算中,因此,可以在L2划分3个储存变量,只要A核实现A、E、F编码,将DC值记录到相应变量,编到B核对应位置,就能从L2传递。由于,A核编码起始时间早,两核运算能力差不多,相对于L1,L2读取速度下降1/2,牺牲速率存在限制,但能更有效地完成编码。另一种解决方式为,B核直接应用前循环储存的DC,相关度强,DC偏差自然小,不会降低运算效率,不过会产生一定的偏差,降低质量。

(2)同步信号

两个核同时处理宏块的过程中,应用储存于L2的变量作为同步的信号。其中,由于两个核可能随时处理上述变量,当另一个核读取时,可能产生读取的内容为储存在核里的变量的副本,导致读取值与实际值不同,运行处理错误的问题,因此,变量储存类别需要采用volatile限定符进行处理。如添加volatile限定词,每当读取变量值,转而读取L2储存空间的实际值,保障并行工作运行无误。

5.结束语

综上所述,实现MPEG-4编码技术在DSP上的运用,需要充分结合应用VisualDSP4.5++环境实现初步的设计编码,需要了解并掌握MPEG-4SP框架编码程序原理,从而实现

温馨提示

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

评论

0/150

提交评论