DSP网络视频解码及显示系统硬件设计_第1页
DSP网络视频解码及显示系统硬件设计_第2页
DSP网络视频解码及显示系统硬件设计_第3页
DSP网络视频解码及显示系统硬件设计_第4页
DSP网络视频解码及显示系统硬件设计_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、dsp网络视频解码及显示系统硬件设计摘 要本文提出了一种基于ti dsk6711平台的将模拟视频进行数字化处理的系统设计方案,其中视频解码模块完成复合视频信号数字化,音频a/d模块完成语音信号数字化,同时采用大容量的sdram存储器作为帧缓存,用fpga完成其控制接口,整个系统以dsk6711为核心构成数据处理单元,此系统可以完成电视图像信号的去隔行扫描转换低分辨率向高分辨率转换等视频信号处理,也可以进行实时视频和音频数据压缩处理。使用fpga作为核心处理器的数字图像处理系统是最近几年发展起来的一种快速图像处理手段,它的出现是由于近年来大规模集成电路的飞速发展。使用fpga完全是基于硬件处理的

2、,由于硬件设计上的并行性,多个相同的处理单元可以同时工作,这样当外部时钟比较低时,系统功耗相对较小就可能完成相应的操作,如果外部时钟较高的话,可以完成更多的处理工作。关键字: 数字电视,ntsc,去隔行扫描,视频压缩,dsp,fpga dsp network video decoding and display system hardware designabstractin this paper, a systemic design of the digital video decoder based on ti dsk6711 is presented. in which, the ana

3、log video signal was digitized in the video decode module and the audio analog signal was digitized in audio a/d decode module. high capacity sdram memory was used to buffer the digitized frame, the interface of the sdram was realized by fpga. the central data processing unit was completed in dsk671

4、1. this video decoder system can be applied to digital video processing such as de-interlacing, resolution convert, and real time video audio compression. use the fpga as the core processor digital image processing system is developed in recent years a fast image processing method, it is due to appe

5、ar in recent years the rapid development of large scale integrated circuits . use the fpga entirely based on the hardware processing . due to the hardware design of parallelism, many of the same processing unit can work together at the same time , so when external clock low, the system power relativ

6、ely small may complete the corresponding operation, if external clock is higher, you can finish more processing work. key words: digital tv;ntsc; de-interlacing;video compression ;dsp; fpga目录摘 要iabstractii1 绪论51.1课题选题背景及意义51.2数字图像处理和传输技术的现状21.2.1数字图像处理系统的种类21.2.2视频网络传输技术41.3视频解码系统简介41.4本文的研究内容与安排52

7、tms320dm642视频/ 图像定点数字信号处理器62.1 tms320dm642的构成62.1.1 dm642 cpu核总体结构72.1.2 dm642外设信息82.2 dm642指令系统112.2.1 tms320c6000公共指令集112.2.2 tms320c64x扩展指令集122.2.3 tms320dm642流水操作132.3 dm642存储器系统132.4 tms320dm64适应于多媒体处理的特性152.4.1 dm64提供多媒体处理的接口152.4.2高度的并行性快速的运算能力152.4.3具有丰富的指令系统且可对字节操作162.4.4增强的dma操作(edma)162.4

8、.5片内cache的使用172.4.6 ti公司提供ti c64x的视频图像库(imglib)173 mpeg-4视频解码算法概述183.1媒体对象的组成和流式数据的传输183.1.1媒体对象的组成183.1.2媒体对象数据流的描述与合成183.1.3流式数据的传输193.2 mpeg-4系统流203.2.1系统体系结构203.2.2压缩层定义213.2.3系统解码器模型213.3 mpeg-4视频流解码223.3.1压缩数据解析233.3.2视频对象平面(vop)重建233.3.3纹理解码243.3.4 形状解码273.3.5运动补偿解码273.4解码器结构分析273.4.1解码器流程图28

9、3.4.2 压缩数据流解析293.4.3 vop解码294 mpeg-4视频解压系统硬件电路设计及pcb设计324.1 系统硬件平台设计324.1.1系统电源设计324.1.2时钟倍频pll344.1.3 复位电路354.1.4外部存储器接口模块设计364.1.5 jtag接口模块设计384.1.6 网络接口模块设计394.1.7视频输出显示模块设计414.1.8 i2c模块配置424.1.9 核心dm642 dsp模块设计424.2.1高速pcb设计中的信号完整性434.2.2 系统pcb板分层设计444.2.3 器件的布局和布线455总结和展望465.1本文工作总结465.2 研究展望46

10、致 谢48参考文献491 绪论1.1课题选题背景及意义随着人类社会的进步,科学技术的发展,人们对信息处理和信息交流的要求越来越高。图像信息具有直观、形象、易懂和信息量大等特点,因此它是在人们日常生活、生产中接触最多的信息种类之一。近年来,图像信息的处理和传输无论是在理论研究方面还是在实际应用方面都取得了长足的发展。尤其是计算机技术的应用、遥感技术和数字通信的发展、计算机网络的普及以及微电子芯片密度的增加,对数字图像信息技术的发展起来关键性的推动作用;而数字图像信息技术的发展又反过来促进和加速了上述各项技术的发展。视觉信息给人们直观、生动的形象,图像和视屏的传输更受到人们的广泛关注。并且随着多媒

11、体与网络技术的飞速发展,以前制约图像通信发展的各种因素正在逐步消失,视频、图像、计算机视觉、多媒体数据库和计算机网络技术日益融合,已经渗透到国民经济和社会生活的各个方面。多媒体信息经数字化处理后具有易于加密、抗干扰能力强、可再说中继等优点,但同时也伴随着海量数据的产生。例如,数字电视播放itu-r601标准的未经压缩的视频时需要216mbps的传输带宽,如果按照这种码率,一张4.7g的dvd光盘仅能够存放87秒的视频。这对信息存储设备及通信网络提出了很高的要求,成为阻碍人们有效获取和使用信息的瓶颈。为了满足用户对视频图像不断增长的业务和应用需求,各种新的压缩标准不断出现,如h.26x系列、mp

12、eg系列等,极大地推动了视频压缩编码技术的发展和广发应用,从而迎来了视频通信技术飞速的发展,高清晰度电视、ip可视电话、数字视频会议等技术已经走进了人们的日常生活。1.2数字图像处理和传输技术的现状1.2.1数字图像处理系统的种类目前数字图像处理和传输的方法主要有以下三种:(1)基于pc机的视频采集压缩系统 较早的图像处理和传输系统主要包括模拟图像采集部分,模拟图像传输通道,以及一个带有图像采集卡和相应处理软件的pc机。具体如图1.1所示, 模拟图像采集 模拟传输通道 带图像采集卡的pc机数字图像存储传输及应用程序显示图1.1 基于pc机的视频处理系统其中模拟图像采集部分主要由ccd完成,模拟

13、图像传输主要包括同轴电缆或者模拟光端机,图像采集卡负责将模拟图像进行一定的预处理并转换为数字图像,转换好的数字图像通过pci、usb等总线传输到pc机,经过相应软件处理后的数字图像可以存储在相应的媒体介质或者进行传输。该系统的开发周期较短,费用低且产品易于维护和升级。但也存在一定的不足,比如体积相对庞大,功耗相对大,最主要的就是系统处理速度较慢。随着视频压缩标准的不断发展和完善,算法的运算量和复杂度也不断升级,这种系统已经很难满足现场的需求。因此,该方法主要应用于算法开发初中期以及一些对实时性要求不高的领域。(2)基于专用视频压缩芯片或者基于fpga的视频处理系统基于专用视频压缩芯片的系统的芯

14、片是开发商在产品出厂前已经植入的,产品用户在系统开发中只需在合适的芯片中输入数据即可。这种系统的开销很大,固化的算法使得用户无法再次开发,灵活性差。该方法一般用于那些对系统处理实时性要求很高的特殊场合。使用fpga作为核心处理器的数字图像处理系统是最近几年发展起来的一种快速图像处理手段,它的出现是由于近年来大规模集成电路的飞速发展。使用fpga完全是基于硬件处理的,由于硬件设计上的并行性,多个相同的处理单元可以同时工作,这样当外部时钟比较低时,系统功耗相对较小就可能完成相应的操作,如果外部时钟较高的话,可以完成更多的处理工作。使用fpga作数字图像处理的最大缺点就是不太灵活,开发软件相对单一(

15、一般多使用硬件描述语言vhdl),不适合编写比较复杂的算法,而且需要开发者拥有丰富的硬件知识,这对大多数开发者来说是非常困难的。该类型的处理系统原理图如图1.2所示。图像采集设备视频编码器专用dsp或fpga以太网计算机图1.2 基于专用dsp芯片或fpga的视频处理系统(3)基于高速通用视频处理dsp的视频处理系统基于dsp和上面介绍的图像处理系统从结构上来说非常相似,只是处理芯片改用成了通用型dsp。系统原理图如图1.3所示。图像采集设备视频编码器数字媒体处理器dsp以太网计算机图1.3 基于高速dsp的视频处理系统dsp以其算法密集性著称,特别适合复杂算法处理的应用。而在数字视频图像处理

16、系统中需要用到对图像的实时分析、压缩、解压等大量的处理运算,利用dsp作为平台,可以发挥其性能优势,实时满足图像处理需要。该系统采用软硬件相结合的方法实现,即采用通用数字信号处理器与高级语言相结合来进行压缩编码系统开发。同时吸取了前两种方案的优点,又很好地弥补了其不足之处,大大降低了产品成本。1.2.2视频网络传输技术(1)视频通信的基本模式视频通信有两种基本的传送模式,即单播方式和组播方式。单播方式涉及用户-服务器应用系统,诸如电子购物、在线(电子)银行、视频点播(video-on-demand)或多媒体电子邮件等应用。在远程教学(distance learning)或电视会议之类的应用中,

17、通常会有一个报告人和多个远地听众,适合采用组播方式。(2)视频传输对网络的要求不同的通信业务对传输网络的要求差异很大。数据文件、静止图像等非实时信息传输,对时延无严格要求,但对误码率要求很高。音视频业务则要求实时传输,对时延十分敏感,但可以容忍一定程度的误码。近年来,随着全球范围因特网的构建,以及移动通信的日益普及,已使无线信道与ip网络成为图像/视频信号的一种重要的传输环境。1.3视频解码系统简介整个视频编解码传输系统框图如图1-4所示。数字化的原始图像经过图像压缩编码后以比特流的形式发送到传输媒介上,远方终端把从传输媒介上接收到的比特流送到解码系统进行解码,将比特流中的信息恢复成一幅完整的

18、视频图像。本文所要研究的系统就是实现图1.4中系统所示的视频解码系统部分。图像采集设备采集的原始视频 视频编码系统 视频解码系统 视频图像输出传输媒介图1.4 视频处理系统整体框图该系统具体的功能是实现网络视频数据的接收和对接收的视频数据进行实时解码。本文解码器部分拟采用ti公司的tmn320dm642来实现。1.4本文的研究内容与安排本文研究的主要目标,设计出一实时视频解码系统,实现接收网络视频数据流,并实现视频流的实时解码。针对tms320dm642芯片的硬件结构特点,移植mpeg-4视频解码算法。优化解码算法,提高系统解码后的图像输出质量。本论文的结构安排如下:(1)绪论:简要介绍了数字

19、图像处理与传输技术的现状,并且概括性地阐述了课题背景和本文的内容结构。 (2)介绍了本系统采用的dsp处理器,从端口配置和软件特性等方面分析了dm642在图像处理中的优越性。结合相关材料,让我们较全面的了解系统的硬件基础,为我们系统的整体实现提供依据。(3)着重介绍了mpeg-4编码标准,通过对mpeg-4编码的特性分析,码流结构,制定相应的解码流程,以实现系统既定的接收、解压与显示等功能。(4)结合2,3的理论知识介绍,确定了设计思路,从而在实践中完成本设计的系统硬件设计,并制定了pcb设计思路。(5)简要总结了本设计中所做的工作和系统开发中存在的不足,并对该领域将来的发展和应用进行了展望。

20、2 tms320dm642视频/ 图像定点数字信号处理器tms320dm64xdsp芯片(包括tms320dm642)是在tms320c6000dsp平台上的高性能定点dsp。具有极强的处理性能,高度的灵活性和可编程性,同时外围集成了非常完整的音频、视频和网络通信等设备及接口,特别适用于机器视觉、医学成像、网络视频监控、数字广播以及基于数字视频/图像处理的消费类电子产品等高速dsp应用领域。2.1 tms320dm642的构成tms320dm642采用第二代高性能、先进的超长指令字velociti1.2结构的dsp核及增强的并行机制,在720mhz的时钟频率下,其处理性能为5760mips,使

21、得该款dsp成为数字媒体解决方案的首选产品,它不仅拥有高速控制器的操作灵活性,而且具有阵列处理器的数字处理能力,tms320dm642的外围集成了非常完美的音频、视频和网络接口。dm642整体原理框图如图2.1所示。图2.1 tms320dm642体系结构图2.1.1 dm642 cpu核总体结构c64xdsp核具有64个32位字长的通用寄存器和8个独立的功能单元两个结果为32位的乘法器和6个alus是velociti1.2的升级版。velociti1.2升级版在8个功能单元包括新的指令,可以在视频和图像应用方面提高性能,并能对velociti结构进行扩充。dm642每周期能够提供4个16位m

22、acs,每秒可提供2880百万个macs,或者8个8位macs,每秒5760mmacs。dm642具有特殊应用的硬件结构,片上存储器和与其他的c6000系列dsp平台相似的额外的片上外围设备。dm642核的数据通道包括以下物理资源:(1)2个通用寄存器组a和b,每组有32个寄存器,分别为a0-a31,b0-b31。(2)8个功能单元,分别为.l1、.l2、.s1、.s2、.m1、.m2、.d1、.d2。其中.m单元主要完成乘法运算,.d单元是唯一能产生地址的功能单元,.l和.s是主要的算术逻辑运算单元(alu)。(3)2个数据读取通路ld1和ld2,每个通路的带宽都是32比特。其中,ld1为读

23、入到寄存器a的通路,ld2是读入到寄存器b的通路。所以lddw指令可以一次同时读取64位数据分别到a侧寄存器和b侧寄存器。(4)2个数据存储通路st1和st2,每个通路的带宽是32bit,相应的stdw指令使一次写数据的带宽达到64bit,有效地提高了处理速度。(5)2个寄存器组交叉通路1x和2x。1x交叉通路允许数据通路a的功能单元从寄存器组b读它的源操作数,2x交叉通路则允许数据通路b的功能单元从寄存器组a读取它的源操作数。这样就增强了两个寄存器组之间的通信,提高了设计的灵活性。(6)2个数据寻址通路da1和da2。数据地址通路da1和da2来自数据通路的.d功能单元,地址通路和两侧的数据

24、通道都相连,使一个寄存器组产生的数据地址能够支持任意一侧寄存器组对数据寄存器的读写操作。dm642具有一整套开发工具:(1)软件开发工具程序代码编辑调试软件(ccs,code composcrstudio)是一种针对tms320系列dsp芯片的集成开发环境,在windows操作系统下,采用图形接口界面,提供环境配置、源文件编辑、程序调试、跟踪和分析等工具。它便于实时、嵌入式信号处理程序的编制和测试,显著的提高基于dsp产品的开发效率,缩短dsp产品的开发周期,降低了成本,增强了dsp芯片开发者的市场竞争力,还可以使开发者把主要精力放到个性化开发和增加增值服务上,是一种非常有效的开发工具。其结构

25、是开放式的插件(plug-in)结构,在其内部集成了一下软件工具:c6000代码生成工具;软件模拟器(simulator);实时底层软件dsp/biostm;主机和目标机之间的实时数据交换软件rtdxtm;实时分析和数据可视化软件。ccs提供了基本的代码生成工具,它们具有一系列的调试、分析能力。ccs支持图2.2所示的开发周期的所有阶段。设计概念性规划编程和编译创建工程文件编写源程序和配置文件调试语法检查、探测点测试和日志保存分析实施调试、系统和跟踪图2.2 ccs环境下的软件开发流程 (2)硬件开发工具扩展系统开发仿真器(支持c6000tmddsp多通道处理器系统编译)evm(评估模块)2.

26、1.2 dm642外设信息tms320dm642片内集成了许多外围设备,以便于控制和片外存储器、协处理器、主机及串行设备的通信。外部设备包括视频端口、edma控制器、电源控制单元、外部存储单元、多通道缓冲串行接口、主机接口、两个定时器和pci接口。2.1.2.1 增强的直接存取器访问(edma)控制器edma控制器处理二级(l2)缓存控制器和dm642 dsp的片外设备之间的所有数据传输。这些数据传输包括高速缓存服务,无缓存内存存取,用户定义数据传输和基本传输。c64x edma最多支持64个edma通道,这些通道服务于片外设备和外部存储器。对于dm642的存储器,时间和通道时连接在一起的;每

27、一个edma通道都与一个具体的事件相连。这些具体的事件能够被edma事件寄存器(erl,erh)记录,这些事件甚至能够被edma事件启动寄存器(eerl,eerh)屏蔽禁止。存储于edma参数ram中的传输参数,可以独立地对每一个事件的优先级进行设定。dm642还提供了快速dma(qdma),它与edma的功能非常相似,但是它提供了更有效更快速的数据转移手段。在应用系统中,dma/edma适合完成与外设之间固定周期的数据传输,如果需要由cpu直接控制搬移一块数据,则更适合采用qdma。在视频解码过程中,需要在dsp控制下利用qdma完成数据的搬移工作。2.1.2.2 外部存取接口(emif)d

28、m642访问片外存储器时必须通过emif,dm642具有两个独立的emif:emifa和emifb,emifa提供64bit宽度的外总线数据接口,emifb提供16bit宽度的外总线数据接口。tms320dm642 dsp的emif,可与目前几乎所有类型的存储器直接接口,寻址空间可达到4gb,emif支持的外部部件包括:同步突发静态存储器(sbsram)、同步动态存储器(sdram)、异步存储器(包括sram、rom、fifo)、外部共享内存的器件等。2.1.2.3 主机接口(hpi)主机接口是一个能够通过主处理器直接访问cpu的存储空间的并行口,主机设备作为一个主要的接口从而可以进行更加容易

29、的访问,主机和cpu可以经过内部和外部的存储器进行相互交换信息。主机还能够直接访问存储映射的外围设备。hpi与cpu存储空间的互联是通过edma控制器实现的。主机和cpu都可以对hpi控制寄存器(hpic)和hpi地址寄存器(hpia)进行访问。主机可以通过使用外部数据和接口控制信号来访问hpi数据寄存器(hpid)和hpic。2.1.2.4 外设部件互联标准(pci)接口dm642提供一个pci接口模块,遵从pci规范2.2,总线为66mhz。主机通过该接口可以访问所有片内存储器、外设,通过emif可以访问外部存储器。dsp程序可以控制pci的中断请求。通过集成的pci主/从设备总线接口,t

30、ms320c6000的pci支持dsp和一个pci主机的连接。对于c64x器件,通过edma控制器实现pci口和dsp的接口。这种结构考虑到pci主设备和从设备处理,并可以是dma/edma通道资源用于其它应用。2.1.2.5视频端口tms320dm642有三个视频端口外围设备,这些外设可作为视频采集端口,视频显示端口,或作为传输流接口采集端口(tsi)。每个视频端口分成a和b两个通道,在两个通道之间存在一个可分开的5120字节的采集/显示缓冲区。整个端口(全部通道)经常被配置成仅仅进行视频采集或者视频显示。一片tms320dm642最多可以接6路视频采集或者视频输出数据。独立的数据流水线控制

31、着对bt.656,y/c,原始视频和tsi模型中每个视频采集或者显示数据的解析和格式化。在视频显示操作中,视频端口可以作为8/10位bt.656的一个单通道来操作;或者作为8/10位bt.656,8/10位原始视频,16/20位y/c视频,16/20位原始视频i的一个单通道。它也可以在两个通道的8/10位原始模型中操作,在这个模型中这两个通道被锁定到相同的时间。将视频配置成视频输出,只能从a通道输出,b通道没有被使用。2.1.2.6以太网媒体存取控制器(emac)以太网媒体存取控制器(emac)提供一个dm642 dsp处理器内核和网络之间的有效接口。dm642 emac支持10base-t和

32、100base-tx的传输方式。或者在硬件控制流和服务质量(qos)的支持下,以10mbps到100mbps进行半双工或全双工通信。emac(控制dsp中的数据包在物理层的流动)和mdio模块(控制物理层的配置和状态监督)通过一个定制的接口来与dsp连接,这个定制接口被称为emac的控制模块。dm642 emac利用一个传统的dsp核的接口来实现数据的高效传输和接收。emac端口接收与传输数据时序如图2.3和2.4所示。图2.3 emac接收接口时序图2.4 emac传输接口时序2.1.2.7定时器dm642设备总共有三个32位通用定时器(timer0、timer1、timer2),并可以设定

33、为内部或外部源。每个定时器有两个信令方式,并配有一个输入引脚和输出引脚,作为定时器时钟输入和时钟输出。定时器可用于:时间事件,计数事件,产生脉冲,实现中断和发送同步事件的dma。2.1.2.8 jtag端口jtag是基于ieee1149.1-1990标准检测端口和边界扫描结构的一种边界扫描测试方式(boundary-scan test),其作用是为进行bsdl测试和dm642设备仿真。ti仿真器为xds510,通过一个14芯的接口与芯片的jtag端口通信,并通过并行端口与计算机相连。在pc机上利用ccs(code composer studio,ti公司为dsp开发提供的功能强大的开发工具)软

34、件,通过jtag接口可以方便的对目标板进行调试分析。2.2 dm642指令系统dm642采用velociti超长指令字(vliw,very long instruction word)结构2用一个超长的机器命令字来驱动内部的8个功能单元,每个指令字包含多个字段(指令),字段之间相互独立,各自控制一个功能单元,因此可以单周期发射多条指令,实现很高的指令集并行效率。编译器在对编译程序进行编译的过程中,决定代码中哪些指令合成一个超长机器指令,在一个周期中并行执行。这种指令的并行安排是静态的,一旦决定,无论dsp任何时候运行,它都保持不变。vliw体系结构可以看成是一种依赖于编译器的超标量(super

35、 scalar)实现方案,使用大的统一的寄存器堆,结构规整,具有良好的易编程性和良好的编译性能。dm642使用的指令包括tms320c6000公共的定点运算指令集,和一些特有的扩展指令集。这些特有的指令包括8bit和16bit扩展、非字对齐读写和数据打包/拆包操作。2.2.1 tms320c6000公共指令集tms320dm642芯片的指令都是risc指令。按功能划分,这些指令包括算术运算指令、逻辑运算指令、位操作指令、数据传送指令、程序控制指令和其他指令类型六种基本类型。c6000的汇编语言中的每一条指令与cpu中的功能单元之间存在相互映射关系:任何指令只能在一定的功能单元执行,而不能再别的

36、功能单元完成;任何功能单元只能执行一定的指令,而不能执行其他某些指令。这样每条指令都有自己的流水操作阶段,并且延时间隙也不尽相同。这些指令特点使dm642具有了高度的并行性快速的运算能力。由于c6000采用流水型结构,从指令进入cpu的取指单元到指令执行完毕,需要多个时钟周期。不同复杂度的指令它们所需的时钟周期是不同的。指令的执行速度可以用延迟间隙(delay slots)来说明,延迟间隙在数量上等于从指令源操作数读取直接执行机构可以被访问所需要的指令周期。而等待时间(latency)描述了指令的执行结果可用之前需要多少个时钟周期,一个汇编指令的延迟间隙和等待时间的运算关系:等待时间=1+延迟

37、间隙对单周期指令,第周期读取源操作数,计算结果第周期即可使用,延迟间隙为0。需要注意的是,乘法的延迟间隙是2,读指令的延迟间隙是4,分支指令的延迟间隙是5。在用汇编改写函数和使用软件流水线时,需要注意不同指令的延迟间隙。2.2.2 tms320c64x扩展指令集tms320c6400扩展的指令使在c64x结构改进的基础上进行指令扩展,使dsp能够更方便快速的执行图像处理中的算法。这些扩展指令和c6000公共指令的运行完全相同,只是增加了可执行这些指令的功能单元,同时指令操作数的类型也增加了,另外还添加了一些指令。(1)c6400扩展的寻址方式及load/stdw类指令这类指令包括双字读取与存储

38、指令(load/std)和无边界调整的字/双字读取/存储指令(ldnw/ldnd/stnw/stndw),这些指令可以一次读取和存储字或双字型数据,地址可以不受字边界约束,从任一字节开始。但实际工作中,我们一般还是要求地址对齐,这不但是为了指令操作上的方便,而且考虑到提高cache命中率因素。(2)扩展的算术和逻辑指令这类扩展的指令主要特点使操作数可以是8bit字节或16bit的半字,这非常适合于图像处理,因为图像的每像素值一般用8bit或16bit来表示。(3)数据打包与解包类指令字节和半字打包类指令是把多个源操作数的不同半字或不同字节组成一个新字,解包类指令执行相反的过程。打包/解包类指令

39、非常适合于图像处理的应用,可以将四个8比特位宽的图像数据打包在一起进行操作,从而有效地提高了图像处理速度。2.2.3 tms320dm642流水操作任何指令的处理都可以分成几个阶段,每个阶段由不同单元来完成。对每个单元来说,每隔一个时钟周期可进入一条指令,这样在同一时间内,在不同单元可处理多条指令,这种工作方式称为“流水线”工作方式。tms320dm642中cpu的特殊结构可使8条并行指令同时通过流水线的每个节拍,从而大大提高了运算吞吐量。tms320dm642指令集中的所有指令在执行过程中均通过流水线的取指、译码和执行三个级。流水线取指级有4个节拍,即程序地址产生pg(program add

40、ress generate),程序地址发送ps(program address send)、程序访问等待pw(program access ready wait)和程序取指包接收pr(program fetch packet receive)。流水线译码级有两个节拍,即指令分配dp(instruction dispatch)和指令译码dc(instruction decode)。任何一条指令的执行结果只能在这条指令的延时间隙结束后才能被访问。而tms320dm64任何一条指令占用相应功能单元的时间都是一个cpu周期。因此,只要流水线不发生阻塞,那么每隔一个cpu时钟,都有一条指令通过其相应的功

41、能单元。用汇编语言编程时,需要注意各条指令的延时间隙,避免不必要的错误。2.3 dm642存储器系统dm642的存储器系统由片内和片外两部分组成。其中,片内存储器采用两级缓存结构,第一级包括相互独立的程序缓存l1p(16kb)和数据缓存l1d(16kb),只能作为高速缓存被cpu访问。第二级缓存l2(256kb)是一个统一的程序/数据空间,与l1缓存不同,l2缓存可以手动配置成cache/sram,可以整体作为sram映射到存储空间,也可以整体作为第二级cache,或两者按比例混合使用。片外存储器一般由sdram或sram等构成。l1、l2和片外存储器构成了dm642整个存储器系统的层次结构,

42、如图2.5所示,使得该型号dsp具有大量的寻址空间,程序代码和数据可以在统一的寻址空间中任意放置,并且其寻址都是32位宽的。dm642内核l1(32k)l2(256k)片外存储器片内两级缓存图2.5 三层次的存储器系统dm642片内存储结构最大特点就是二级缓存结构。数据读写流程图如图2.6所示。cpu从l1缓存中读写数据都可以在单周期内完成,不会造成正在运行程序的停顿。一旦l1 cache没命中,则向l2发送请求,cpu被阻塞。对于l1p,如果在l2中找到相应的程序,则造成运行程序8哥时钟周期的停顿;对于l1d cache来说,如果在l2 cache中命中,则cpu被阻塞8个周期,而如果在l2

43、 sram中取得相应的数据,运行程序将停顿8个时钟周期。若l2也没有缓存该数据,那么cpu将被继续阻塞,l2通过emif接口访问外部存储器,把数据从外部存储器拷贝到l2缓存区,再从l2缓存区拷贝到l1,最后由dsp内核取得。对外部存储器的访问往往会引起10周期以上的cpu阻塞,具体时间由外部存储器的访问速度决定。所以当数据或者程序在外部存储空间时,容易造成总线的长时间阻塞,使得程序性能大幅度下降。如果能够恰当的运动dm642的两级缓存结构,将会为系统性能带来极大的收益。cpu发送数据请求数据在l1?数据在l2?no向片外存储器发送请求no送到cpu把数据放到l1把数据放到l2yesyes图2.

44、6 dm642存储器读写流程2.4 tms320dm64适应于多媒体处理的特性tms320dm64作为高速的多处理单元数字信号处理器,具备快速的运算能力,完全能够满足图像处理中运算量大、实时性强、数据传输速率高等要求。2.4.1 dm64提供多媒体处理的接口tms320dm64提供高清晰度(hd)视频端口、以太网接口、多通道音频及66mhzpci接口,其中视频端口可以根据具体的应用可以配置成不同的应用模式。采用dm642处理器可以实现通过以太网连接的基于ip的电视电话和视频会议系统。2.4.2高度的并行性快速的运算能力tms320dm64的内核采用velociti先进的vliw结构,芯片内具有

45、8个功能单元,采用了类似的rsic的简单指令编码,提高了指令的并行执行效率。这使得所有指令可以选择在至少两个运算单元中运行,常用的指令可以选择在六个运算单元中运行。取指包由8条指令组成,其基本格式如图2.7所示,由256位(8字)边界界定。从图中可以看出每个指令都有一个p位,它控制每条指令的执行。p位(第0位)决定该指令是否与其他指令并行运行。p位按照从左到右(即从低地址到高地址)被扫描,其控制指令执行的规定是:如果指令的p位位1,那么条指令将与条指令并行执行(前提是在同一指令周期内);如果p位为0,那么条指令在条指令之后被执行。每个时钟周期最多可并行执行8条32位指令,前提是这个执行包里的每

46、条指令必须使用不同的功能单元。31 0 31 0 31 0 31 0 31 0 31 0 31 0 31 0pppppppp指令a 指令b 指令c 指令d 指令e 指令f 指令g 指令h图2.7 取指包的基本格式流水操作时dsp实现高速度、高效率的关键技术之一。tms320dm64只有在流水线充分发挥作用的情况下,才能达到4000mips的速度。流水操作包括取指(fetch)、指令拆装(dispatch)、译码(decode)和执行(execute)四个步骤的并行操作。2.4.3具有丰富的指令系统且可对字节操作tms320dm64的汇编语言指令特别适合于数字信号处理,大部分指令使单周期的。在语

47、句中可进行8bit,16bit,32bit的数据存取,这给图像处理中不同结构的数据操作带来方便。算术逻辑操作类指令进行定点的算术和逻辑操作,支持16位的乘法运算。程序控制类指令控制程序的流程,包括标准跳转指令、条件跳转指令和空闲指令等。所有的指令都可以条件执行,减少消耗指令周期的分支,极大提高了指令安排的灵活性。dm642支持多种寻址方式。ti公司提供的c6000开发工具,为开发者提供了高效c语言编译器和并行处理的汇编优化器。2.4.4增强的dma操作(edma)dm642支持edma(enhanced direct memory access)操作,由于edma操作时在后台进行的,edma控

48、制器可以独立于cpu工作,可以以cpu时钟的速度进行数据存储,这点对于视频解码系统非常重要。我们常常用edma来构建l2高速缓冲/内存和外围器件之间传输数据的高速通道,要传输的数据包括cache维护数据,非cache访问、用户程序中数据传输以及主机访问。在视频解码过程中,输入输出地数据量都非常大,同时在图像解码时候需要参考相邻帧间的数据,这需要缓存大量的数据做参考。由于dm642片上cache容量有限,大量的视频数据通常放在片外sdram中,在需要的时候通过dma把数据从片外搬移到片内运行,提高了程序的执行效率。这些数据通常存放在片外存储器中,用时便可以借助于edma将需要操作的数据,搬移到片

49、内处理,因为cpu对片内存储器的访问速度要比对片外的快得多。2.4.5片内cache的使用dm642具有片内cache,片内ram和cpu直接相连,所以cpu对片上cache访问速度比片外快很多。所以在视频解码算法中,涉及计算量很大的函数和数据,并且频繁调用的函数放在片内ram运行。增大cache,可以明显的提高性能,单dm642片内需要预留一部分空间划给程序和数据使用以提高程序的执行效率,所以需要合理利用片内cache来提高dm642运行的执行效率。2.4.6 ti公司提供ti c64x的视频图像库(imglib)ti公司提供了ti c64x的视频图像库(imglib),这些函数都是图像处理

50、中常用到的一些算法的实现,如idct,量化等。这些函数专业人士开发的,性能近乎达到了充分利用了硬件资源,具有高度并行性。逆离散余弦变换(idct)是视频编解码中调用频率最高且非常费时的一种运算,dm642计算一块idct仅用()个时钟周期,为。这些函数的快速执行,有助于实时视频编解码的实现。3 mpeg-4视频解码算法概述mpeg-4提供了标准化算法来实现其系统的目标,它的视听场景由若干媒体对象以分层的组织形式组成,在每一层的叶节点上都可以找到原始的媒体对象。这些媒体对象包括:静态图像(如固体背景)、视频对象(如除去那个背景说话的人)和音频对象(如与说话人,背景相关的声音)。mpeg-4标准化

51、了许多这样的原始媒体对象。编码形式存在的媒体对象包含了许多描述元素,它们允许对象视听场景中和相关比特数据流中的对象进行操作。这一点在其编码形式中显得十分重要,每个媒体对象可以独立地表示它的周围场景或背景。3.1媒体对象的组成和流式数据的传输3.1.1媒体对象的组成mpeg-4标准的视听场景可以描述为众多独立对象(或物体)的合成,包含了复合媒体对象,这种复合是将原始的媒体对象进行分组组合。原始的媒体对象对应了描述树的叶节点,而复合媒体对象包含了一个完整的树。可以看出对应于说话人的可是对象和对应于声音的对象被捆在一起,就形成了一个新的复合媒体对象,这个新的媒体对象同时包含了说话人的视觉和听觉成分。

52、从一般意义上说,mpeg-4提供了一种描述场景的标准化方式和方法在一个给定的坐标系中任意放置媒体对象; 利用变换,改变媒体对象几何上和听觉上的表现形式; 对原始的媒体对象进行组合,从而形成复合媒体对象; 将流式数据应用在媒体对象上,从而修改它们的属性(如属于一个对象的声音和运动纹理,驱使一个合成场景的动画参数); 在场景中,交互式地改变用户的试听点。3.1.2媒体对象数据流的描述与合成媒体对象需要通过处理将其数据转化成一个或更多的单元数据流,每一个数据流本身由一组轮廓信息的描述来特征化。此外,对象描述还可以加载数据传输所需要的qos暗示(比如最大比特率、错误率和优先权等)。单元数据流的同步通过

53、在单元内独立存储单元的时间戳来实现。同步层就是用来管理像存储单元和时间戳这样的识别的。因为媒体类型是相互独立的,所以这一层可以识别在单元数据流中存储单元的类型(比如,视频、音频帧和场景描述命令)、媒体对象或场景描述的时间基,并且还能够将它们进行同步。3.1.3流式数据的传输在可用网络的不同qos请求中,从数据源到终端的流式信息合成传输,是在同步层和包含两层多路器的传输层中进行的,如图3.1所示。图3.1 mpeg-4系统层模型第一层是根据dmif的规格组织的,dimf是多媒体合成框架传输缩写。这种多路可以包含由mpeg定义的flexmux工具,它允许一个低多路的单元数据流的组合。在这一层也用到

54、了多路技术,例如,根据相应的qos请求对es进行组合,这样可以降低网络连接的数目或端到端的延迟。图3.1还包含以下内容。确认存储单元、传输时间戳和参考时钟信息,并且确认是否丢失数据;将不同单元数据流的可选交叉叶节点数据加入flexmux数据流中;传输控制信息;对每一个单元数据流和flexmux流,确定所需要的qos;将这些qos请求信息翻译成实际的网络资源;联合单元数据流组成媒体对象;向flexmux和transmus信道中传输单元数据流的镜像安置。3.2 mpeg-4系统流mpeg-4系统流将描述交互式的视听场景通信系统,该系统需具备以下要求:(1)对于音频对象和可见的二维或三维对象能够编码

55、表示;(2)对于视听对象(audio visual object)的时空位置能够编码表示,另外与交互命令(场景描述)相对应的对象行为也能用编码表示;(3)与码流数据操作有关的信息(同步、识别、有关码流内容的描述)能够通过编码表示。3.2.1系统体系结构mpeg-4系统流中指定了根据编码的视听信息和相关的场景描述信息来产生交互方式的方法。mpeg码流中的基本码流包括音频、视频和场景描述的编码表示。系统流和基本流可表示用于识别码流、描述逻辑相关性和内容描述的信息,每种基本码流都只包含一种数据类型。基本码流将用各自的解码器进行解码,视听对象根据场景描述信息复合并由终端设备显示出来,这些过程都是根据系

56、统解码模型中同步层信息同步的。3.2.1.1系统终端模型系统终端模型是对满足mpeg-4标准的终端行为的抽象描述,是一种解码器模型。定义该模型的目的是使发送端能够知道接收端在重构视听场景时时如何根据缓冲区管理和同步信息进行处理的。系统解码器模型包括定时模型和系统缓冲区模型。系统定时模型定义了接收端为事件建立时间戳的一种时间参考机制,这样接收端就能够处理与时间有关的事件。系统定时模型要求传输数据流中包含显式或隐式的时间信息,mpeg-4系统流中定义了两套时间信息集,即时间参考和时间戳。系统缓冲区模型使发送端能够监视和控制在某种视听信息表示方式下解码所需要的缓冲区资源。在会话通信之初,通过描述符将所需要的缓冲区资源信息传输给接收端,这样终端能够解决是否处理这种表示方式下的信息。在某些信息能从缓冲区中删除时,系统缓冲区模型允许发送端指定和有条理地安排数据发送,使得接收端的缓冲区既不上溢也不下溢。3.2.1.2传输层定义传输层是对已经存在的各种传输协议的一般描述,这些协议能够用来传输和存储符合mpeg-4标准的视听内容。传输层的功能并不在系统流部分规定,只是和传输层有关的接口中需要考虑,这个接口是dmif(传输媒体集成框架)应用接口,由标准中的dmif部分定义。根据mpeg-4标准,某些应用要具有传输灵活性,系统流部分定义了低延迟和小负荷的复合工具。3.2.1.3同步层定

温馨提示

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

评论

0/150

提交评论