(信息与通信工程专业论文)多媒体处理库(mml)在bf53x上的优化研究.pdf_第1页
(信息与通信工程专业论文)多媒体处理库(mml)在bf53x上的优化研究.pdf_第2页
(信息与通信工程专业论文)多媒体处理库(mml)在bf53x上的优化研究.pdf_第3页
(信息与通信工程专业论文)多媒体处理库(mml)在bf53x上的优化研究.pdf_第4页
(信息与通信工程专业论文)多媒体处理库(mml)在bf53x上的优化研究.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(信息与通信工程专业论文)多媒体处理库(mml)在bf53x上的优化研究.pdf.pdf 免费下载

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

文档简介

浙江大学硕士学位论文 摘要 随着多媒体技术的发展,实时实现各种视音频标准的系统得到了广泛应用。 数字处理器( d s p ) 由于其丰富灵活的指令集、特殊的内部结构、超强的数据吞吐 能力及运算速度,使得以d s p 处理器为核心的实现方法成为了一种有效的媒体处 理途径。 b l a c k f i nd s p 处理器是a d i 公司率先推出的新一代l6 3 2b i t 嵌入式处理器, 它们特别适合满足当今嵌入式音频、视频和通信应用对计算能力和功耗的严格要 求。考虑到软件开发中的三个事实:( 1 ) 针对相同类型的处理器,可以建立一套 比较通用并且计算能力很强大的函数库;( 2 ) 软件开发者为了得到一定的性能要 求必须认真仔细的利用处理器的结构和指令来优化这些函数库;( 3 ) 函数的优化 是复杂且花时间的。为此我们打算建立一套基于b l a c k f i n 系列处理器的高度优化 的多媒体处理库( m m l ) ,为音视频编码、图像处理、信号处理、语音压缩等提 供大量的库函数,方便用户的调用和缩短多媒体系统开发时问。 本文首先对多媒体处理库中的视频和图像部分进行分层封装,并分析了各层 主要函数,不同层次的函数可以满足不同应用系统的要求:其次介绍了多媒体处 理库的实现平台b l a c k f i n 处理器和软件开发平台v i s u a id s p ,这些是媒体处理库 优化的基础;然后重点阐述了视频处理库中的h 2 6 4 m p e g 一4 部分的优化,主要 从算法结构、存储器结构以及汇编代码优化三个部分来详细叙述了各个模块的优 化方法,并给出了实验结果;接着利用该媒体处理库构建了一个具有实际应用价 值的数字视频图像监控系统,并详细说明了各个模块( 如采集模块、存储模块、 g p r s 通信模块) 的软硬件的实现过程;最后对本文的工作进行了总结,并提出 今后工作的方向。 关键词多媒体处理库,b l a c k f i n 处理器,优化,编解码器 浙江人学硕上学位论文 插图目录 图1 1 视频编码原理框图2 图1 2j p e g 编码器4 图1 3 多媒体处理库层次图6 图2 - 1m m l 视频编码器层次1 0 图2 2j p e g 压缩流程图1 2 图2 3b l a c k n nd s p 内核结构13 图2 - 4 存储器的分级结构1 5 图2 5 中断过程示例图1 6 图2 6b f 5 3 x 的原理框图1 7 图2 7v i s u a l d s p + + 的调试界面,1 9 图3 1 基于预测和变换的混合编码结构框图2 2 图3 2m p e g 4i 帧编码流程图,2 3 图3 3a c d c 预测的结构2 4 图3 4m p e g 4p 帧编码流程图2 4 图3 5p 帧的数据流图2 5 图3 6h 2 6 4 的编码流程图2 6 图3 - 7 h 2 6 4 帧内预测的数据结构2 7 图3 8b l a c k f i n 系列d s p 存储结构2 8 图3 - 9p i n g p o n g 机制的结构2 8 图3 1 0d m a 和c a c h e 的性能比较2 9 圈3 i ib f 5 3 3 的流水线结构3 0 图3 1 2 软件流水分析窗口3 1 图3 1 3c h e n s 算法的蝶形图3 3 图3 1 4 整数变换框图3 5 图3 一1 5 半像素内插方法3 7 图3 1 6 源目标寄存器内容3 8 图3 1 71 寄存器和字节调整3 8 图3 】8 块匹配运动估计示意图3 9 图3 1 9 几种搜索算法的比较( 没有采用提前终止技术) 4 0 图3 _ 2 0 儿种搜索算法的比较( 采用残差数据块提前判零技术) 4 1 图3 2 1 几种搜索算法的比较( 采用自适应门限技术) 4 2 图3 2 2 性能比较4 2 图3 2 3s a a 指令计算过程表一4 3 图4 1 系统结构框图4 8 图4 2 a d 7 1 8 l 的主要管脚连接4 9 图4 31 2 c 数据传输方式5 0 图4 - 4d s p 的p p i 口5 0 图4 5s p l 、u a r t 等外设的连接图5 l 图4 6j t a g 口与启动模式5 2 图4 7 存储模块的连接框图5 3 v 浙江人学硕士学位论文 图4 8 通信模块框图 幽4 9 电源管理结构图 图4 1 0 图表采集模块工作方式 图4 1 ln a n df l a s h 存储体内部组织 图4 1 2 文件系统结构图 图4 1 3 短消息格式 图4 1 4 硬件主板 图4 1 5g p r s 数字图像监控系统实物图 ”舛铂卯引矾 浙江大学硕士学位论文 表格目录 表2 1b f 5 3 x 系列d s p 的对比1 5 表3 - 1d m a 和c a c h e 的性能比较2 9 表3 - 2 m p e g 4 优化前各模块的时间信息( 针对前1 0 0 帧的p 酬sc i f 序列) 4 5 表3 3m 旷e g - 4 部分函数优化前后对照表4 5 表3 4h 2 6 4 部分函数优化前厉对照表4 6 表3 5m p e g 一4 典型序列优化前后的结果( c i f ) 。4 6 表3 6h ,2 6 4 典犁序列优化前后的结果。4 6 表3 - 7h 2 6 4 优化后各模块的时间信息( 针对前1 0 0 帧的p a r i sc i f 序列) 4 7 表4 - 1b i a c k f i n 启动方式5 1 表4 - 2d s p 的选择方式5 2 表4 3 命令字和内容的几种组合5 9 表4 4g p r s 模块返回信息格式6 0 v 1 i 浙江大学碗上学位论史 第一章绪论 随着人们对多媒体需求的不断增长,媒体处理技术,特别是音视频压缩技术 成为了人们研究的热点,如面向h d t v 的m p e g 一2 、基于对象编码技术的m p e g 4 和具有较高压缩性能的h 2 6 4 。而这些视频压缩标准的实现对硬件平台也提出了 新的要求和挑战,多媒体处理系统必须具备强大的计算能力和非常高的存储访问 带宽,更重要的是,需要提供足够的灵活性来适应快速发展的多媒体处理算法和 支持各种形式的多媒体应用。这就需要加强多媒体应用算法、媒体处理系统结构 以及实现方式的研究。 本章首先介绍了视频压缩技术主要进展及其国际标准,接着分析了基于可编 程d s p 的媒体处理库的优化方法,最后给出了全文的结构安排。 1 1 引言 随着存储、通信等技术的快速发展,个人用户对多媒体业务的需求不断增长, 多媒体不再局限于文本、语音和图片,视频图像将为用户提供功能更强大、更完 善的服务。由于数字视频在存储、传输等各个方面均明显优于模拟视频,被广泛 的应用于视频会议、可视电话、广播电视等多个领域,因此2 1 世纪被形象的称 为信息时代、数字时代、多媒体时代。 多媒体信息主要包括文字、声音、图像和视频等内容,其中视频又是多媒体 信息中最重要的组成部分。由于数字视频本身的数据量巨大,对存储器、处理器 和通信的信道等都提出了相当高的要求。因此,对数字视频进行高效压缩的意义 十分重大,是降低存储成本,缓解网络带宽,突破存储空间和处理器主频限制的 关键技术。 1 2 视频,图像压缩标准 1 2 1 视频压缩标准 数字视频技术的广泛应用,促使了许多视频编码标准的产生,i t u - t 与 浙江大学硕士学位论文 i s 0 i e c 是制定视频编码标准的两大组织,i t u t 制定的标准包括h f 2 6 1 、h 2 6 2 、 h 2 6 3 、h 2 6 4 【】,主要应用于实时视频通信领域,如会议电视;l s o i e c 制定 的m p e g 系列标准,包括m p e g 一1 、m p e g 一2 、m p e g 一4 i ”j ,主要应用于视频存 储c d 、d v d ) 、广播电视、因特网或无线网上的流媒体等。两个组织联合共同 制定了m p e g 2 ( h 2 6 2 ) 和h 2 “( m p e g 一4a v c ) 标准。这些标准的思想都是采用 基于块的运动补偿预测和变换的混合编码结构,图1 1 为视频编码的原理框图, 视频编码的目的就是如何去除时间、空间以及统计上的这些冗余信息。下面简单 的介绍一下几个比较重要的视频方面的标准: 图1 1 视频编码原理框图 m p e g 1 标准 1 9 9 3 年正式推出的m p e g l ( i s o i e c1 1 1 7 2 ) 标准是用于高至1 5 m b i “s e c 的数字存储媒体的活动图像和及其伴音的压缩编码标准,它可针对s i f 标准分辨 率( 对于n t s c 制为3 2 0 2 4 0 ;对于p a l 制为3 5 2 2 8 8 ) 的图象进行压缩,标准 包括系统、视频、音频、一致性和参考软件五个部分。m p e g 1 具有随机存取、 快速正向逆向搜索、逆向重播、视听同步、容错性等功能,当时被用于数字光 盘的存储和数字电话网络上的视频传输,现在市面上的v c d 使用的就是m p e g 1 的标准1 6 】l l 。j 【1 1 】。 m p e g - 2 ( h 2 6 2 ) 标准 m p e g 2 ( i s o 仃e c1 3 8 1 8 ) 标准于1 9 9 4 年正式推出,目的是进行更高的分 辨率( 标清7 2 0 4 8 0 ,高清1 9 2 0 1 0 8 0 ) 下的视频及其音频的编码,它的码率 在3 1 0 m b i t s s e c 之间。m p e g 2 支持固定比特率传送、可变比特率传送、随机 访问、分级编码、比特流编辑等功能,能够提供广播级的视像和c d 级的音质。 濒 王本差攀墼尊萋讲茔 薯i i 耋1 :二二。! 室 ;j ! ;:謇i i j ! :? j :i 二蓦“翼l g i 孽 霉i 前+ 蓑辜 i ;蚕雾者l ;兰i j q 于 :j 霉t i 毪萝i l g ? 蓦目t ; :手o i i 、i 墓自:j ;i i 耋 = i ;g 耋耄差= ;荽i ; 奏;i 、i l i ;i ;i ;主匿畦j ;j j ;壹j j = 勇餮i ; ,事;i 葵芰,专i ;一薹l ii j 妻i 妄乒i 冀| 邑誊笋ii i ;t i 疆;i 妒;i 誊妻? 妻j ll 雾| 蠹善i 鼋a ? i ;! j 莹;耋兰i i 三三j 连自萋;塞;望;主? ! ? 鲁 饕i :詈。霹e | 型氢枣j i j 善? :;葬l i g n 善i ; i p u | i i 董;i 巷謇 ! i g ; 呈暑| ;蓦! ;7 【ii ) 蚕i ! 垂i ;ij r ;u ;_ ? :j ? - 一f 型9 0 ,; 羔! 参! j ;掌ij l ;ji 三季一荽耄 i :;耋 当= i j 一 ;i ! 雾 二! i i 疆; 蓑f 婺掌;i 目二 蠹蠹:萝_ g l * i =碧封:手睁9 t j a l 一;摹i 自磋i 睦莓目j ;| l l 自童? 自j ii ;萋;| lt 芋茎:l l ; ;曼ii l 翟:; j 毒;¥;身h i ;翼 妻i 争 害 二王; ;i ! 喜| ? 囊i j 鲁:霍 ! ? 善e 。蔓圣莩:;i i ii 篓l 圭砉 ;鼍 ;雾! i ;i i ! 垂驰i 警女f ;l 翌o :簟j ;i i b j ;! 塞= 主4 主; 手- :萤= 二降h g j i ;型;。薹j 掌拿i 主 三j j ; 霪i ;蓑j 蓉g j ;q ji 茎车j 塞萝! i ;自三喜 l ? ? ; l i i i | 1 毒;垂l j j 手; ? 蒋萼? 女尹;i ! ! 一m a l l l ;! ;j ? l & ;jl l 量蓁童三,;鬟 i ;i 蓄蓄霉擞;垂! 号: = 耍薹g i 车 耋b ? ! 参嚣$ 蠡j雾l 手錾i兰;量i ;薛醛寺 i 要垂| 嚣g j ;茎i i 妄;誊e 三墓i 睦斗;f i 醋謦j i i d i 醒# ;蠹妻? 童# j l 自摹i 喜i 琴4 耋i 毒 薹l 善i i f i = 耳q ¥;女l ! j 娶l l ; 二j ? 辜毛| i ;车;毒;! 垦氢。i ! 镕;j ; 蓄婆差i t 至| j i 争宝 ,自i ; ? 二;ii f ;蒌; ! g 旱i :鼋醇陲i藿彝lil ;:毒薹i i 邑 圣旨l 鸯i l # 矗醛、; 墨薹 l , 舅_ ji 蓦e 薹霎塞篁靠g x 浙江大学硕士学位论文 包的处理,提高解码器的差错恢复能力【4 1 。 a v s 标准 a v s 标准作为数字音视频产业的共性基础标准,可应用于高清晰度和标准 清晰度数字电视广播、激光视盘机、移动多媒体通信、视频会议与视频监控、宽 带网络流媒体、数字电影等产业群。 与其他类似标准相比,a v s 有两大优势:基于自主技术和部分开放技术构 建的开放标准,妥善解决专利许可问题;为中国日渐强大的产业化实力和市场提 供了良好土壤。 a v s 标准采用了一系列技术来达到高效率的视频编码,包括帧内预测、帧问 预测、变换、量化和熵编码等。帧间预测使用基于块的运动补偿来消除图像间的 冗余;帧内预测使用空间预测模式来消除图像内的冗余。再通过对预测残差进行 变换和量化消除图像内的视觉冗余。最后,运动矢量、预测模式、量化参数和变 换系数等用熵编码进行压缩”1 6 1 。 1 2 2 图像压缩标准 静态图像的压缩和处理也是多媒体技术的重要组成部分之一,压缩标准主要 有j p e g 和j p e g 2 0 0 0 。目前主要采用的j p e g 标准是基于d c t 的顺序模式【18 1 , 如图l - 2 所示,广泛应用于网络,数码产品中。与以往的j p e g 标准相比, 鲁盒刊丽 图1 2j p e g 编 b 器 j p e g 2 0 0 0 压缩率比j p e g 高约3 0 。j p e g - 2 0 0 0 与j p e g 最大的不同,在于它 放弃了j p e g 所采用的以d c t 变换为主的分块编码方式,而改为以小波变换为 主的多分辨率编码方式。而且,j p e g _ 2 0 0 0 能实现无损压缩( 1 0 s s l e s sc o m p r e s s i o n ) 。 在实际应用中,有一些重要的图像,如卫星遥感图像、医学图像、文物照片等, 通常需要进行无损压缩。j p e g 2 0 0 0 还有一个很好的优点就是误码鲁棒性好。因 此使用j p e g 2 0 0 0 的系统稳定性好,抗干扰性好。j p e g - 2 0 0 0 能实现渐进传输, 浙江大学硕士学位论文 这是j p e g 2 0 0 0 的一个极其重要的特征,这在网络传输中具有非常重大的意义。 j p e g 2 0 0 0 另一个极其重要的优点就是感兴趣区特性。用户在处理的图像中可以 指定感兴趣区,对这些区域进行压缩时可以指定特定的压缩质量,或在恢复时指 定特定的解压缩要求,这给人们带来了极大的方便。 1 。3 多媒体处理库( m m l ) 简介 为了实现更高的编码效率,音视频标准采用了很多新的技术,导致计算越来 越复杂、运算量越来越大。这种趋势也为音视频处理的实时实现带来了越来越多 的困难,因而算法的优化变得极为必要。考虑到软件开发中的三个事实: 1 ,针对相同类型的处理器,可以建立一套比较通用并且计算能力很强大的 函数库; 2 ,软件开发者为了得到一定的性能要求必须认真仔细的利用处理器的结构 和指令来优化这些函数库; 3 ,这些函数的优化是复杂且花时间的。同时各种标准中也有一些模块是类 似的,如m p e g 1 ,m p e g 一2 ,m p e g 一4 ,h 2 6 3 ,h 2 6 4 等各种编解码标准中的s a d 计算 等模块,可以利用这种模块进行重用。 基于以上的这几个事实,可以建立一个多媒体函数库来对各个功能模块进行 封装,用户可以通过调用相应平台中的库函数就可实现这些功能。i n t e li p p 库就 是其中一个最典型的例子。 i n t e l 推出的i n t e l i m e g m t e dp e r f o n n a l l c e 蹦m i t i v e s ( i n t e l i p p ) 是一套高度优 化的跨体系结构软件库,它为多媒体、音视频编解码、图像处理、信号处理、语 音压缩、密码技术、计算机视觉提供了大量的库函数1 9 1 。i p p 是针对i m e l 系列处 理器而开发的,适合用户在p c 上和i n t e l 的嵌入式处理器上进行开发,如果能将 这种思路移植到对d s p 平台的支持上,建立我们自己的多媒体处理库( m m l ) 将大大提高对d s p 应用系统的开发速度,降低开发成本。 为此我们打算建立一套基于b l a c k f i n 系列处理器的高度优化的多媒体处理库 ( m m l ) ,为音视频编码、图像处理、信号处理、语音压缩等提供大量的库函数, 方便用户的调用和缩短多媒体系统开发时间。由于所有b l a c 姐n 处理器的内核 结构相似并且代码兼容,所以全部b l a c k f i n 处理器都具有设计可移植性。 浙江大学硕上学位论文 m m l 主要面向音视频处理和图像处理,它的体系结构如下图1 3 所示。视 频处理部分为许多主流的视频编解码标准提供了支持,音频处理部分主要包含与 m p 3 和a a c ( a d v a l l c e da u d i oc o d i n g ) 这两个标准相关的内容,而图像处理部 分包括彩色空间变换、滤波器实现( 如中值滤波、高斯滤波和维纳滤波) 以及图 像线性变换( 如傅立叶变换和余弦变换) 等等。 图1 3 多媒体处理厍层次图 当前在多媒体系统的开发过程中,开发者总是从算法层面上考虑一些优化技 术来进行优化,这些大多是在c 代码的基础上的,但c 代码不能够很好的发挥 d s p 特有的体系结构的优势,无法发挥d s p 在多媒体处理方面的强大的能力。 本文在提出的多媒体处理库的基础上,使用各种优化技术,对各层次函数的予以 优化,使得这些函数在系统中运行的效果最佳。 1 4 基于d s p 的媒体处理库的优化设计 多媒体处理有一个很大的特点,那就是需要很大的运算量和存储容量,这也 给多媒体处理系统实现带来了很大的挑战,因此多媒体处理芯片的开发一直是各 大半导体公司研究开发的热点。目前,多媒体处理系统主要有三种实现方法:基 于通用p c 实现,基于a s i c 的嵌入式系统,基于通用d s p 的嵌入式系统实现。 基于通用p c 的实现方法一般速度比较慢、体积大而且功耗高,这样使应用 受到了很大的限制,不过可用于d s p 算法的模拟与仿真。采用专用的a s i c 芯 片实现虽然可以获得很高的处理速度并且占用了更少的硬件电路;但是它内部有 很多的专用模块,当算法需要改进时,便无法适应新的算法,只能重新设计,需 要耗费很高的代价。而采用基予d s p 的方法实现,用户开发自由度大,可以满 足市场不断提出的新的要求,能在第一时间对产品进行升级,增强产品的竞争力; 浙江大学硕士学位论文 同时d s p 具有处理能力强,外围接口丰富,功耗低等优点使得利用d s p 实现多 媒体系统成为目前应用最为广泛的方案之一瞰】 6 5 l 。对于基于d s p 的嵌入式系统 的实现,主要从存储的复杂度和时间的复杂度两个方面来优化设计【2 ”。 存储的复杂度优化方法:存储器是造成系统开销( 芯片的面积、功耗、硬件 成本等) 的主要因素之一,减少系统所需的存储容量是非常有意义的。通常存储 系统可以分为片内存储器和片外存储器,片外存储器通常是d r a m 或s d r a m 。 而片内存储器又可以由片内程序r a m 、程序c a c h e ,片内数据r a m 、数据c a c h e 以及诸多的f i f o 等组成。而对一个基于d s p 的媒体系统而言,在规划片内、片 外存储资源的时候,需要考虑片内和片外的数据调度策略,包括总线仲裁,总线 带宽,因总线竞争对系统性能带来的影响等等。数据存储空间的优化通常需要综 合考虑以下两个准则:1 尽可能少占片内存储器资源;2 尽可能减小因存储分 配带来的片内外数据调度对系统性能的影响。总之,需要对系统的各种存储器资 源进行合理利用和优化配置,从而获得最佳的性能。 时间的复杂度优化方法:在视频编解码器中,对一个算法的评估最重要的三 个参数是图像质量、比特率( 或码率) 和算法复杂度。选择不同的编码参数,增 加一些编码的选择模式以及不同的编码算法决定了不同质量的视频输出、不同的 码率和计算复杂度。通常,实现较高质量视频图像的算法复杂度也高。在一些应 用领域,视频序列的码率是受传输信道的限制的。为了获取最优的编码性能,必 须在给定码率的条件下,获得最好的视频图像质量,这就是率失真优化 ( r a t e ,d i s t o n i o no p t i r n i z a t i o n ) 算法的关键。总之,在视频编解码器设计时,必须根 据需求,综合考虑码率,图像质量和复杂度三者的关系,设计合理、有效的控制 算法。 1 5 本文的研究内容和成果 本文详细研究了在a d l 的b l a c l 【f i n 系列d s p 上实现多媒体处理库( m m l ) 的过程,包括分析b l a c 如n 系列d s p 的结构特点;代码从p c 平台到b l a c k f m 系 列d s p 平台移植的研究;以及c 和汇编代码总体结构和模块的优化。 本文的主要成果有:建立了一个基于b l a c 婚n 系列d s p 的高度优化的视频编 浙江大学硕士学位论文 解码标准库;设计了具有实际应用价值的数字视频图像监控系统并给出了整个软 硬件实现的。全文共分五章。 第一章绪论,简要的回顾了视频和图像编码发展的历史及应用领域,介绍 了媒体处理库( m m l ) 的结构,以及基于d s p 的媒体处理库的优化方法设计, 并指出了本文的研究内容。 第二章多媒体处理库和b l a c k f i n 处理器,详细介绍了多媒体处理库的结构 和应用领域以及具体各层函数的组成;同时还介绍了b l a c k f i n 处理器( 包括内核 结构、存储器结构、中断和外设等) 的特点及其软件实现平台v i s u a ld s p 的特 点,这些都是进行多媒体处理库优化的基础。 第三章基于b f 5 3 x 的媒体处理库的优化研究,首先叙述了代码移植的准则, 接着从软件代码结构、d s p 的存储结构以及汇编代码的优化三个方面来叙述媒体 处理库优化的过程,并在最后给出了h 2 6 4 和m p e g - 4 两种视频编码标准优化前 后的结果比较。 第四章利用媒体处理库构建的应用系统,从硬件实现和软件实现两个方面 来阐述了这个应用系统一数字视频图像监控系统,其中软件中的图像处理部 分可以利用前面优化的媒体处理库直接构建。 第五章总结全文,并展望了进一步的研究方向。 浙江大学硕士学位论文 图2 1m m l 视频编码器层次 的结构体类型c o 面g u r a t i o n ,并将一个指向它的结构体指针作为m m le n c o d e r 函数的入口参数。它的成员主要包括:指向源文件首地址的指针+ s o u r c e f i l e ,指 向目的码流首地址的指针+ 0 u t s 订e a m ,编码图像的尺寸f r 锄e h e i 曲t 和 f 姗e w i d t h ,待编的帧数f r 锄e n u m b e r ,以及量化参数q u 姐t p a r a m c t e r 等等。用 户根据自己的需要给这些成员赋上初值后,就可以调用m m le n c o d e r 函数进行 编码了。可以看出这一层次的函数简单,能很方便的被用户调用,但是这样就会 缺乏一定的灵活性。 f 2 1 帧层:这层的函数包括m m le n c o d e i 、m m le n c o d e p 和m m le n c o d e b , 该层的函数可以通过调用功能模块层函数来构建。编码器层的函数可能会让一些 用户觉得缺乏灵活性,因此,逐步开放用户自定义程序的空间是很有必要的。这 些服务于帧级的函数可以帮助用户方便快捷地搭建起一个编码器,用户可以自己 定义i 帧、p 帧以及b 帧的问距。这几个函数体需要传入的参数包括:指向存放 头信息的结构体指针t h e a d e r ,当前待编码帧的y 、u 和v 数据的首地址 4 c u r r e n t y ,+ c u r r e n t u 和+ c u 玎c n t v ,以及指向目的码流的指针+ s 订e a i 】:l p o i n t e r 。 ( 3 ) 功能模块层:目前被广泛采用的基于块运动补偿的混合编码方法是将编 码帧划分为n x n 的块,对每一个块进行相对独立的处理。其核心思想是利用帧 间预测编码消除图像序列中的时域冗余,利用变换编码来消除频域冗余,利用量 化来消除视觉上的冗余,利用熵编码来消除统计上的冗余。从图3 1 中可以看出, 该层次的函数主要包括变换、量化、反变换、反量化、熵编码以及运动估计时各 种算法的函数等等。 浙江人学硕士学位论文 2 2 b i a ck f i n 处理器 图2 2j p e g 压缩流程图 美国模拟器件公司( a d i ) 是全世界领先的高性能信号处理集成电路制造商, 是全球主要的可编程d s p 芯片供应商之一。在通用d s p 市场上,a d i 公司占有 约4 0 的市场份额。b l a c k f i n 处理器是a d i 公司率先推出的新一代l6 3 2b i t 嵌 入式处理器,它们特别适合满足当今嵌入式音频、视频和通信应用对计算能力和 功耗的严格要求。该系列处理器是基于a d i 公司和英特尔( i n t e l ) 公司联合开 发的微信号结构( m s a ) ,它们兼备双乘法累加器( m a c ) 引擎、简洁的r j s c 指令集以及单指令多数据流( s l m d ) 媒体处理能力,形成了一套独特的指令集结 构。其动态电源管理允许按应用要求同时调整工作频率和电压,因而实现了具有 突破性的低功耗性能f 竭。 2 2 1 剐a c k 6 nd s p 内核结构 b l a c k n nd s p 内核如图2 3 所示,包括两个1 6 位乘法器,两个3 2 4 0 位算术 逻辑单元( a l u ) ,4 个专用的8 位算术逻辑单元( a l u ) ,两个4 0 位累加器, 8 个3 2 位数据寄存器,一个4 0 位桶形移位器。各计算单元执行不同类型的操作: a l u 执行算术和逻辑操作;乘法器执行乘法、乘法,力口和乘法减操作;移位器执 行逻辑移位、算术移位、位的压缩和解压缩操作;视频a l u 执行单指令多数据 流( s m m ) 的逻辑运算,这种操作是基于8 位运算的。计算单元通过数据寄存 器组来输入输出数据。2 个4 0 位的累加器a o 和a l ,它们是a l u 操作的专用 寄存器,主要用于乘法和加法操作。程序控制器控制指令执行的流向,它包括指 令的对齐和解码。程序控制器支持条件转移、条件子程序调用和零开销循环等。 两个数据地址产生器主要用于产生地址,特别适用循环数据缓冲区,主要由4 套寄存器组成( 4 令索引寄存器l 【3 :o 】,4 个修正寄存器m 【3 :o 】,4 个基地址寄存 器b 【3 :0 】,4 个长度寄存器l 【3 :o 】) 。其中l 寄存器存放的是有效地址,m 寄 浙江人学硕上学位论立 一一一一一* 龇运算单元一一一一一、 、一一一一一一一一一一一数据运濞单元一一一一一一一7 图2 - 3b i a c nd s p 内核结构 存器存放的是偏移量,b 寄存器存放的是循环数据缓冲区的起始地址,l 寄存器 存放的是循环数据缓冲区的大小【2 3 】。 由于b l a c k f i n 有2 个4 0 位的算术逻辑单元( a l u ) ,因此它能在一个周期内 进行单个1 6 位的运算、两个1 6 位的运算、单个3 2 位的运算、两个3 2 位的运算 或4 个1 6 位的运算。如果能利用好这一点就可以大大提高程序的效率。如指令: r 3 h = r o h + r 1 h ;单个1 6 为运算 r 3 = r o + l + r 1 ;两个1 6 位的运算 r 3 = r o + r 1 ;单个3 2 位的运算 r 3 = r o + r 1 ,r 2 = r 0 一r 1 ;俩个3 2 位的运算 r 3 = r o + i + r 1 ,r 2 = r 0 一| _ r 1 ;4 个1 6 位的运算 一条4 个1 6 位运算指令就相当于4 条单个1 6 位的运算指令( 所需的周期是4 倍的关系) 。 同时它还有4 个8 位的视频a l u ,可以高速的处理视频的数据,是单指令多 数据流( s i m d ) 指令的执行单元。每一条视频a u j 的指令可能取一到四对8 位的输入,并且返回一到四对的8 位输出。视频a l u 的输入来自数据寄存器组 浙江大学硕士学位论文 的两个3 2 位寄存器。 另外b 1 a c k f i n 还有2 个乘累加器( m a c 0 和m a c l ) 。每个乘法器都有一个 专用的累加器:a 0 或a 1 每个乘法器( m a c ) 都有两个1 6 位的输入,执行一个1 6 位的乘法操作,并将结果存放在4 0 位的累加器中,或者将结果存放到1 6 位或 3 2 位的寄存器中。 d s p 的这两个1 6 位m a c 可以用来进行相同的操作,以使m a c 的流量加 倍。 下面是一个双乘法并累加的指令的例子: r 3 = ( a 1 + = r 1 h + r 2 工,) ,r 4 = ( a 0 + = r 1 l + r 2 h ) ; 这是一个双乘加和的操作: ( 1 ) 在第一个操作中,m a c l 中的r 1 h 和r 2 l 相乘,并且累加到a 1 并赋 值到r 3 中; ( 2 ) 在第二个操作中,m a c o 中的r 1 l 和r 2 h 相乘,并且累加到a o 并赋 值到r 4 中。 这样增加了数据吞吐量,可以很大的提高指令的执行速度。 2 2 2 存储器 b l a c k f i nd s p 采用改进的哈佛结构和分级的存储器结构,比传统的冯诺依曼 结构有更高的指令执行速度。哈佛结构的主要特点是将程序和数据存储在不同的 存储空间中,每个存储器独立的编址,独立的访问。与两个存储器相对应的是系 统中设置了的程序总线和数据总线,从而使数据的吞吐率提高了一倍。 b l a c k f i nd s p 将存储器构造成统一的4 g b 的地址空间,用3 2 位地址寻址。 包括内部存储器、外部存储器及i 0 控制寄存器在内的所有资源,在这个统一的 地址空间中独立占据各自的一段。该地址空间中的存储器空间部分按分级结构来 安排,如图2 - 4 所示,以提供很高的性能价格比。一些非常快速、低延迟的l 1 存储器( 如c a c h e 或s r a m ) 的位置非常接近处理器核,而更大的低成本、低 性能的l 2 存储器远离处理器核或在片外。 浙江大学硕士学位论文 内核频率内核频率 i 。1 存储器 系统频率 l 2 存储器 叫呲激c h e 卜+ b l a c k 虹n s d r a m , f l a s h c o r e 一雌激咖l_ 容量有限容量一叮以很人 图2 - 4 存储器的分级结构 b f 5 3 x 系列d s p 处理器是代码和管脚完全兼容的,仅仅在主频和片上的存储 器上有一些不同【矧。表2 1 列出了该系列d s p 的性能和片上存储器的配置情况。 表2 - 1b f 5 3 x 系列d s p 的对比 a d s p b f 5 3la d s p b f 5 3 2a d s p b f 5 3 3 性能 4 0 0 m h z ,8 0 0 m m c s4 0 0 m h z ,8 0 0 m m a c s6 0 0 m h z ,1 2 0 0 m m a c s 指令c a c h e 1 6 k b v t e s1 6 kb v t e s1 6 kb v t e s 指令s r a m 1 6 k b v t e s3 2 kb ”e s6 4 k b v l e s 指令r o m 3 2 kb v t e s3 2 kb v t e s 数据c a c h e 1 6 k b v t e s3 2 kb v t e s3 2 kb v t e s 数据s r m 3 2 kb v t e s 临时s m 4 k b v i e s4 k b v t e s4 kb v t e s 总共 8 4 kb y t e s 1 1 6 k b v t e s1 4 8 kb v t e s 2 2 - 3 中断 b l a c k f i n d s p 采用两级事件控制机制,系统中断控制器( s i c ) 和内核事件控 制器( c e c ) ,两者协同工作来共同确定优先级和控制所有系统事件。从概念上 讲,来自外设的中断进入到s i c ,然后被直接发送到c e c 的通用中断中处理。 - 1 5 浙江大学硕士学位论文 s l c 提供了多个外设中断源与内核通用中断输入之间的映射。这种映射是可编 程,某个中断也可以在s i c 中屏蔽掉。c e c 支持9 个通用中断( i v g 7 i v g l 5 ) , 通常选用优先级最低的两个中断g 1 4 和i v g l 5 作为软件中断,其他7 个中断 ( i v g 7 一i v g l 3 ) 留给b 1 a c k n nd s p 系统使用口2 1 。如图2 5 所示解释了系统中断 的过程。 当一个中断a 产生时: ( 1 ) s l c1 w r 寄存器检查b l a c k f i n d s p 内核是否需从一个空闲状态中被唤醒; 厂;磊;、 一一勺 世中断l ;求 图2 - 5 中断过程示例图 ( 2 ) s i ci s r 寄存器记录了中断请求,并且跟踪被激活但未被服务的系统中 断; ( 3 ) s i ci m a s k 寄存器可以在系统级上屏蔽( 使能) 外设的中断,如果中断 a 未被屏蔽,那么中断请求过程才会进入下一步; ( 4 ) s i ci a r x 寄存器组用来将外设中断映射到通用的内核中断组 ( i v g 7 一g 1 5 ) ,并且决定中断a 的优先级; ( 5 ) c e c 中断锁存寄存器( i l a t ) 将中断a 记录在内核中,但是此时该中断还 没有真正被响应; ( 6 ) c e c 中断屏蔽寄存器( i m a s k ) 屏蔽( 使能) 不同优先级的内核中断, 如果中断a 对应的i v g 事件没有被屏蔽掉,中断过程才进入下一步; ( 7 ) 访问事件向量表( e v t ) ,查找中断a 的中断服务程序( i s r ) 的中断矢 浙江大学硕上学位论文 量: ( 8 1 当中断a 的事件向量进入内核的流水线时,相应的i p e n d 位被置位,同 时将清除i l a t 相对应的位,即i p e n d 记录了所有的被系统挂起的中断和f 在 服务的中断; ( 9 ) 在执行中断a 的中断服务程序时,r t i 指令就会清除相应的i p e n d 位。 但是相关的s i ci s r 位不会被清除,除非中断服务程序清除了产生中断a 的机 制,或者服务中断的进程清除了该位。 2 2 4 外设 b i a c k f m 系列的d s p 还包含了丰富的外设,它们通过不同的高速带宽总线与 内核相连,使系统不但配置灵活而且有极好的性能。图2 6 是b l a c 强n 系列d s p b f 5 3 x 的原理框图。 图2 6b f 5 3 x 的原理框图 通用外设包括了一些功能,如u a r t 、带有p w m ( 脉冲宽度调制) 和脉冲测量 能力的定时器、通用的i o 标志引脚、一个实时时钟和一个看门狗定时器。这些 浙江大学硕士学位论文 外设满足了典型系统的各种需求,并且通过它们增强了系统的扩充能力。除了这 些通用的外设,a d s p b f 5 3 3 还包含有用于各种音频、视频和调制解调编码功能 的高速串行和并行端口( p p i ) ;一个用于灵活地管理来自片内和外部信源地中 断事件处理器;以及可根据不同地应用来配置系统的性能和功耗的电源管理控制 器。 2 3 软件平台 媒体处理库( m m l ) 的软件开发平台为a d i 公司开发的软件开发套件v i s l l a l d s p + 斗。v i s u a ld s p + + 是一套使用方便的管理系统,它是各种用于d s p 开发和工 程管理的工具组合2 4 埘j 。其主要的结构包括: ( ”集成了v i s u a ld s p + + 内核的集成编译和调试环境( i d d e ) ; ( 2 ) 带实时运行库的c c + + 优化编译器; ( 3 ) 汇编器和链接器; ( 4 ) x 沥江大学碗i :学位论文 2 7 所示。具体步骤【2 7 1 如下: 建立工程,编写工程的链接描述文件( + 1 d f ) ,设置各个段结构以及空 阳j 大小,为整个程序调度、配置、链接时使用。 对编译器进行必要的设置,优化代码和预链接处理等。 编写硬件接口、中断、d m a 等,并调试成功。 设置存储器的状态,使用c a c h e 或s r a m ,并完成相应的配置。 程序的编写、调试和文档的撰写。 其中l d f 文件最为重要,它提供了程序和数据的地址空间到物理之问的映 射。所以必须先对程序软件代码量和数据量的大小进行估计,再对所需栈的大小、 数据空间、堆的大小做出合理的分配。 图2 7v i s u ap + + 的调试界面 v i s u a ld s p + + 还支持c c + + 和l】语言的混合编程。用c c + + 语言编程结 构化程度高,易于编写,但执行速度札肘较慢;与之相反,汇编程序速度快,但 很难有较好的结构,且编写起来相对耗时,不易调试。c 和汇编混合编程结合了 各自的优势,往往能构造出结构化好且执行速度快的程序。 浙江大学硕士学位论文 第三章基于b f 5 3 x 的媒体处理库的优化研 究 3 1 代码移植 考虑到嵌入式d s p 系统的特点,需要对编解码器的结构进行优化调整,使 其适合d s p 的体系结构,提高编解码器的速度和运行效率。一般p c 。l 的程序往 往只重视功能的实现,程序代码的结构和数据的安排只是从实现的难易上考虑, 但d s p 嵌入式程序受到其自身的硬件资源的限制,对程序结构和数据流的组织 上都有很大的影响。同时一些特别为p c 上运行而写的代码根本不适合在d s p 上执行。实际上,在d s p 系统上,对代码的大小具有很强的

温馨提示

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

评论

0/150

提交评论