基于DSP的脱机视频编/解码系统
时间:02-01
来源:
点击:
视频图像编/解码的目的是一方面要将模拟视频信号转化为数字信号来传输,另一方面由于单纯的视频模/数转换所得到的图像数据量非常庞大,必须应用图像压缩技术减少数据量。视频图像编/解码有两种实现方式。一种是基于微机平台的实现方式,图像数据通过微机软件或者利用基于微机总线的图像处理卡进行压缩编码,并且可以通过PC网络进行数据传输;另一种抛开了微机平台,应用DSP为主的微处理器算法对图像进行压缩/解压缩的编/解码处理。随着微处理技术的发展,专用图像压缩/解压缩芯片涌现出来,图像处理算法集成于ASIC之中,简化了脱机图像系统的设计和实现。
ADV611芯片是美国ANALOG DEVICES公司生产的一种利用小波算法对视频图像进行实时压缩/解压缩处理的编/解码芯片。该芯片不仅集成了视频编/解码算法,还提供了数据压缩效果的实时调节手段,数据输出速率可以灵活控制。本文介绍一种基于ADV611芯片、同时结合TI的DSP芯片TMS320C542实现的一种脱机视频编/解码系统。
在本脱机视频图像编/解码系统中,DSP作为控制核心,一方面要管理ADV611、存储器、外围控制单片机和通信接口,另一方面要对ADV611的图像压缩效果进行调节,对数据速率实时控制。DSP如何能高效地完成这些控制任务,是本视频编/解码系统实现的关键。由于TMS320C542具有高速的运算能力和丰富的接口资源,是一种集数据处理和通信功能于一体的高速微处理器,所以本系统的DSP选择了TMS320C542。
1 系统总体结构
本脱机视频编/解码系统设计了在图像回放远端的用户对图像采集前端的远程控制功能。在图像回放端,用户通过控制器将控制命令发送给单片机B,然后这些命令经过DSP.B和通信设备发送到图像采集前端的DSP.A。DSP.A将控制命令分为两类。第一类是图像亮度、对比度、色饱和度的调节命令和摄像机焦距、云台运动的调节命令,DSP.A通知单片机A,最后由单片机A控制视频A/D芯片和摄像机完成命令。另一类命令是调节图像帧速率和小波图像处理效果的命令,DSP.A直接设置ADV611.A的相关寄存器实现命令。
2 DSP与视频小波编/解码芯片ADV611
在本系统的图像采集端和图像回放端中,ADV611都是作为TMS320C542的I/O端口设备连接在DSP芯片的地址数据总线上。通过这个接口,DSP既可以读写ADV611的内部控制寄存器,又可以向ADV611读写图像压缩数据。ADV611内部的控制寄存器包含三类。第一类用于设置ADV611的工作状态,这些状态包括图像编码状态、图像解码状态以及图像处理制式等等。第二类寄存器能提供每帧图像的统计信息,它们都是只读寄存器,提供的统计信息包括亮度的最大值、最小值、总和以及每帧图像的压缩数据量等等。最后一类寄存器是数据编码压缩的控制寄存器,ADV611内部的FIFO用于控制图像压缩数据的读写操作,并能给出FIFO全空、部分满和全满信号。
包括图像压缩数据访问申请、每帧统计数据准备好和数据流出错在内的所有ADV611的处理申请信号,共用一个中断请求发给DSP。图2给出了以图像采集端为例的DSP.A响应中断后的处理流程。DSP.A首先读取ADV611.A内部的中断标志寄存器,进一步分析中断产生原因,再加以处理。因为处理图像压缩数据的时间较长,为了防止在图像数据处理期间ADV611.A新的处理申请被错过,所以在读取编码数据并写入存储器之后,DSP.A又读取了一次ADV611中断标志寄存器。
DSP.A在主程序中计算采集端ADV611.A图像压缩编码效果的控制参数。ADV611通过控制寄存器提供给用户三种控制图像效果和数据流量手段。第一种是设置量化系数,即通过改变小波分解后各个不同频带数据的量化权重,达到数据压缩目的。第二种压缩手段是减帧,ADV611可以从50帧/秒减到2帧/秒。最后一种压缩手段是品质框控制,ADV611能够在720×288的一帧图像中再设置一个显示区,并将该区之外的图像衰减,从而利用这种减小有效画幅尺寸的方法压缩数据。这个显示区域大小的设定是通过调节ADV611内部品质框数据实现的。主程序中DSP.A将依据用户的调节命令,计算修改ADV611.A中的控制寄存器参数。
3 DSP与单片机
系统对视频A/D、D/A、摄像机和用户控制器的控制管理都是慢速的。DSP作为高速的微处理器,不适合浪费大量的指令周期去处理这些慢速控制。而且TMS320C542也不具有灵活的控制I/O端口。所以本系统选择了单片机来辅助TMS320C542完成低速控制。
TMS320C542提供了一个主控接口HPI[1],通过该接口简便地实现了DSP与单片机的数据通信。例如,在图像回放端,当单片机B有了用户控制命令时,它通过HPI将命令数据填入DSP.B的指定数据区,再发出HPI中断申请来请求DSP.B处理。这个过程不会影响DSP.B正在执行的程序任务。而当图像采集端的DSP.A有控制命令要传给单片机A时,它先将命令代码数据写入DSP内部的指定数据区,然后通过HPI接口的某一输出信号引发单片机A的中断,申请单片机A去处理。在单片机A的中断中,单片机A通过HPI读取DSP指定数据区中的命令数据,而后执行相应的命令操作。
ADV611芯片是美国ANALOG DEVICES公司生产的一种利用小波算法对视频图像进行实时压缩/解压缩处理的编/解码芯片。该芯片不仅集成了视频编/解码算法,还提供了数据压缩效果的实时调节手段,数据输出速率可以灵活控制。本文介绍一种基于ADV611芯片、同时结合TI的DSP芯片TMS320C542实现的一种脱机视频编/解码系统。
在本脱机视频图像编/解码系统中,DSP作为控制核心,一方面要管理ADV611、存储器、外围控制单片机和通信接口,另一方面要对ADV611的图像压缩效果进行调节,对数据速率实时控制。DSP如何能高效地完成这些控制任务,是本视频编/解码系统实现的关键。由于TMS320C542具有高速的运算能力和丰富的接口资源,是一种集数据处理和通信功能于一体的高速微处理器,所以本系统的DSP选择了TMS320C542。
1 系统总体结构
本脱机视频编/解码系统设计了在图像回放远端的用户对图像采集前端的远程控制功能。在图像回放端,用户通过控制器将控制命令发送给单片机B,然后这些命令经过DSP.B和通信设备发送到图像采集前端的DSP.A。DSP.A将控制命令分为两类。第一类是图像亮度、对比度、色饱和度的调节命令和摄像机焦距、云台运动的调节命令,DSP.A通知单片机A,最后由单片机A控制视频A/D芯片和摄像机完成命令。另一类命令是调节图像帧速率和小波图像处理效果的命令,DSP.A直接设置ADV611.A的相关寄存器实现命令。
2 DSP与视频小波编/解码芯片ADV611
在本系统的图像采集端和图像回放端中,ADV611都是作为TMS320C542的I/O端口设备连接在DSP芯片的地址数据总线上。通过这个接口,DSP既可以读写ADV611的内部控制寄存器,又可以向ADV611读写图像压缩数据。ADV611内部的控制寄存器包含三类。第一类用于设置ADV611的工作状态,这些状态包括图像编码状态、图像解码状态以及图像处理制式等等。第二类寄存器能提供每帧图像的统计信息,它们都是只读寄存器,提供的统计信息包括亮度的最大值、最小值、总和以及每帧图像的压缩数据量等等。最后一类寄存器是数据编码压缩的控制寄存器,ADV611内部的FIFO用于控制图像压缩数据的读写操作,并能给出FIFO全空、部分满和全满信号。
包括图像压缩数据访问申请、每帧统计数据准备好和数据流出错在内的所有ADV611的处理申请信号,共用一个中断请求发给DSP。图2给出了以图像采集端为例的DSP.A响应中断后的处理流程。DSP.A首先读取ADV611.A内部的中断标志寄存器,进一步分析中断产生原因,再加以处理。因为处理图像压缩数据的时间较长,为了防止在图像数据处理期间ADV611.A新的处理申请被错过,所以在读取编码数据并写入存储器之后,DSP.A又读取了一次ADV611中断标志寄存器。
DSP.A在主程序中计算采集端ADV611.A图像压缩编码效果的控制参数。ADV611通过控制寄存器提供给用户三种控制图像效果和数据流量手段。第一种是设置量化系数,即通过改变小波分解后各个不同频带数据的量化权重,达到数据压缩目的。第二种压缩手段是减帧,ADV611可以从50帧/秒减到2帧/秒。最后一种压缩手段是品质框控制,ADV611能够在720×288的一帧图像中再设置一个显示区,并将该区之外的图像衰减,从而利用这种减小有效画幅尺寸的方法压缩数据。这个显示区域大小的设定是通过调节ADV611内部品质框数据实现的。主程序中DSP.A将依据用户的调节命令,计算修改ADV611.A中的控制寄存器参数。
3 DSP与单片机
系统对视频A/D、D/A、摄像机和用户控制器的控制管理都是慢速的。DSP作为高速的微处理器,不适合浪费大量的指令周期去处理这些慢速控制。而且TMS320C542也不具有灵活的控制I/O端口。所以本系统选择了单片机来辅助TMS320C542完成低速控制。
TMS320C542提供了一个主控接口HPI[1],通过该接口简便地实现了DSP与单片机的数据通信。例如,在图像回放端,当单片机B有了用户控制命令时,它通过HPI将命令数据填入DSP.B的指定数据区,再发出HPI中断申请来请求DSP.B处理。这个过程不会影响DSP.B正在执行的程序任务。而当图像采集端的DSP.A有控制命令要传给单片机A时,它先将命令代码数据写入DSP内部的指定数据区,然后通过HPI接口的某一输出信号引发单片机A的中断,申请单片机A去处理。在单片机A的中断中,单片机A通过HPI读取DSP指定数据区中的命令数据,而后执行相应的命令操作。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)