基于DM642的图像处理系统设计及应用

2022-03-25 08:07:22 | 浏览次数:

摘 要:如何高速、有效、实时采集视频是图像通信与图像处理的基本研究问题之一。由于视频信号数据量大,视频处理算法复杂,所以基于通用DSP芯片的采集系统难以满足要求。设计一套基于TI公司DM642(数字媒体处理器)为核心的视频采集处理系统,其中利用Philips公司的SAA711X/21系列芯片完成视频采集功能,利用DM642完成视频的实时处理。经测试系统能够很好地完成视频的采集和实时处理。最后给出一个基于该系统的图像处理实例。

关键词:视频采集;数字信号;DM642;图像处理

Design and Application of Image Processing System Based on DM642

HANG Haitao,CAI Wenhuan,DONG Youer

(College of Physics and Electronics,Shanxi University,Taiyuan,030006,China

Abstract:How to acquire the video in an effective and speedily way is key challenging of image communication and processing.Because there are abundance of dates in the video signal,arithmetic of video processing is complex,the system based on universal DSP chip can not fulfill demand.The paper designs a system based on the DM642(digital media processor of TI Company,it adopts series of SAA711X/2X chips of Philips Company to complete the function of video acquisition and adopts DM642 to fulfill video realtime processing.The system is able to fulfill video acquisitionand realtiem processing by test.There is a instance of image process at the end of the paper.

eywords:video acquisition;digital signal;DM642;image processing

目前,视频技术在各项工作和生活领域中得到广泛应用,如监控系统、视频电话、数字电视等。通常由CCD采集系统得到的视频信号均为模拟信号,对其直接传输、存储和处理比较困难。因此,必须将模拟视频信号转换为数字视频信号,以便对其进行压缩编码、降噪、增强等处理,才能在实际应用中对视频信号进行高效可靠地传输和存储。而数字视频信号的处理对实时性要求较高,原有的DSP芯片难以满足要求[1]。TI公司专为多媒体应用而设计的芯片TMS320 DM642(简称DM642是专用的数字处理芯片,其丰富的外围接口使得它近乎是一个多媒体嵌入式系统的单芯片硬件平台,它的完全可编程性,又使其能兼容正在发展的各种多媒体信号处理标准,构成通用的软件平台,在此平台上可开发出各种图像系统。现以DM642为基础设计一套完整的数字图像实时采集和处理系统,可广泛应用于图像识别,网路视频传输和实时监控等各类图像信息处理系统。

1 系统设计

1.1 系统原理

系统结构原理图如图1所示,首先将CCD采集的视频信号进行带限滤波,然后进行A/D(Analog to Digital)变换,即抽样、量化、编码将模拟信号变换成数字比特流。DSP芯片的输入是A/D变换后得到的以抽样形式表示的数字信号,DSP芯片对输入的数字信号进行某种形式的处理,如数字滤波、压缩编码、降噪等。根据不同的应用,处理后的数据可进行网络传输或存储。同时数字信号再经D/A(Digital to Analog)变换转换为模拟样值,之后再进行内插和平滑滤波就可得到连续的模拟波形,输出至显示设备。A/D转换和D/A转换均是由独立芯片在DM642的控制下完成。DM642 配置3个视频端口VP[2:0], 可以和视频输入 /出数据流进行无缝连接。每个视频端口可配置为上(B、下(A2个通道, 但2个通道必须同时为视频输入口或输出口。每个视频口有下列信号:

(1 20位数据:VPxD[19:0],作为数字视频流数据总线;8位视频口时,则使用 VPxD[9:2]和VPxD[19:12]。

(2 2个时钟信号:VPxCL[1:0]。当配置为单通道视频输入口时, VPxCL0 为输入时钟,VPxCL无用;当配置为双通道视频输入口时,VPxCL0 为 A 通道输入时钟, VPxCL1为B通道输入时钟;当配置为视频输出口时,VPxCL0为输入时钟, VPxCL1为输出时钟。

(3 3个控制信号:VPxCTL[2:0],可配置为行同步、帧同步、场标志、视频采集使能信号。

本系统用VPxCL0/1分别作为A通道输入及B通道输出的时钟,为转换芯片提供稳定的外部时钟,保证系统稳定可靠的运行。由控制信号VPxCTL0/1控制输入输出的帧同步。

1.2 芯片介绍

数字多媒体处理器DM642是TI公司C6000系列的一款新型高性能DSP,基于C64x内核,扩展的高级甚长指令字(VelociTI体系结构,具有64个32位通用寄存器,8个独立计算功能单元(2个乘法器,6个算术逻辑单元可以并行运行,因此多条指令可同时执行。可工作在600 MHz时钟速率,在此工作频率下,所有功能单元能稳定可靠的工作,外部总线时钟为100 MHz。每个指令周期可并行运行8条32位指令,因此可达到4 800 MI/S的峰值计算速度。DM642 采用两级缓存结构,L1P,L1D,L2。DM642 具有64个独立通道的EDMA(扩展的直接存储器访问控制器,负责片内L2与其他外设之间的数据传输。容量较大的两级缓存和 EDMA 通道是DM642高性能的体现之一,若能合理使用和管理,将能大幅度提高程序的运行性能。它带有3个可配置的视频端口,提供与视频输入、视频输出以及码流输入的无缝接口。这些视频端口支持许多格式的视频输入 / 输出,包括 BT.656,HDTV Y/C,RGB 以及 MPEG-2码流的输入。DM642 的其他外设包括:10 Mb/s/100 Mb/s 的以太网口(EMAC、多通道音频串口(McASP、外部存储器接口(EMIF、主机接口(HPI、多通道缓冲串口(McBSP以及PCI接口等[2,3]。

SAA711X系列是 Philips 公司的高集成度视频A/D芯片, 其功能是将输入的一路复合视频信号采样做A/D变换, 通过8位数据总线输出变换结果, 同时输出相应的各种同步。它支持多种视频信号的输入及数据输出格式, 可通过其I2C 接口对芯片内部电路进行控制。对SAA711X 的控制主要包括: 对输入模拟信号的预处理、色度和亮度的控制、 输出数据格式及输出图像同步信号的选择控制等。SAA711X支持双通道视频输入,含有反混叠滤波器、A/D转换器、自动增益控制和时钟产生,能够对各种视频标准进行解码如(PAL BGHI, PAL M, PAL N, combination PAL N, NTSC M, NTSC-Japan, NTSC N and SECAM,同时,还具备亮度,对比度,饱和度控制。支持4路模拟视频输入,其内部有模拟源选择器,可以自动探测50 Hz,60 Hz场频信号[4]。

飞利浦公司的SAA711X的主要作用是把输入的模拟视频信号解码成标准的“VPO”数字信号, 相当于一种“A/D”器件。而 SAA7121 则相反, 主要作用是把输入的视频图像数字信号解码成标准的模拟视频信号, 相当于一种“D/A”器件。SAA7121 芯片是真正的多标准编码器,能将 MPEG 数据转换成 PAL 或 NTSC 制式的复合视频(CVBS)和 S-视频(Y/C)模拟信号,并为最新的数字视频媒体(卫星广播和数字视盘 DVD)与传统模拟电视机和录像机提供交互界面。其次,SAA7121 是以 CCIR 的标准像素频率 13.5MHz 接受 CCIR656 格式的视频数据,可与所有的主要 MPEG 视频编码器芯片兼容[5]。

[BT3-*3]1.3 接口设计

复合模拟视频输入通过SAA711X编码之后将数字视频信号送给DM642进行图像处理,处理之后再将数字视频信号送给SAA7121进行解码输出。如图2所示。

从摄像头输入的模拟电视信号在 SAA711X内部经过钳位、抗混叠滤波、A/D 转换、YUV 分离电路之后, 在 YUV到 YCrCb 的转换电路中转换成 BT.656 视频数据流, 输入到压缩核心单元 DM642 中。DM642 的视频端口 VP0 与之相连接,由于只有1路视频输入, VP1 和 VP2 端口未用, VP0 通道配置为 8 位 BT.656 视频输入口。DM642 还需要提供视频采样时钟和采样使能信号。SAA711X内部寄存器参数的配置和状态的读出通过 I2C 总线进行。711X兼容全球各种视频标准,在我国应用时必须根据我国的视频标准来配置内部的寄存器,即初始化,否则711X就不能按要求输出,可以说对711X进行研发的主要工作就是如何初始化。对711X初始化需要通过I2C总线进行,对711X中的寄存器的详细信息请参考711X的数据手册。其中默认值为芯片复位后的寄存器默认值,设置值为可以适用于我国PAL制式的设置参数。如图3所示。

DM642的VP0端口向SAA7121的MP口输出BT.656格式的数字视频信号,经过SAA7121芯片内部数据管理模块分离出Y信号和Cb,Cr信号;然后再送到片内相应的数/模转换模块将数字信号变换为模拟视频信号;最后由CVBS(复合视频信号或Y,C(S为端子信号引脚输出。SAA7121的时钟信号LLC为27 MHz,由DM642的VP0CL1提供。DM642通过I2C接口对SAA7121芯片内部的48个寄存器进行配置,实现对该芯片的控制。如图4所示。

2 集成开发环境CCS

采用由TI公司推出的用于开发DSP芯片的集成开发环境CCS(Code Composer Studio。它采用Windows风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,极大地方便了DSP芯片的开发与设计,是目前使用最为广泛的DSP开发环境之一。CCS有2种工作模式,即软件仿真器和硬件在线编程。软件仿真器工作模式可以脱离DSP芯片,在PC上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。硬件在线编程可以实时运行在DSP芯片上,与硬件开发板相结合进行在线编程和调试应用程序[6]。

利用CCS集成开发软件,用户可以在一个开发环境下完成工程项目创建、程序编辑、编译、链接和调试和数据分析等工作环节。使用CCS开发应用程序的步骤为:

(1) 打开或创建一个工程项目文件(project),包括源程序(C或汇编)、目标文件、库文件、链接命令文件和包含文件。

(2) 编辑各类文件。可以使用CCS提供的集成编辑环境,对头文件(*.h文件)、链接命令文件(*.cmd文件)和源程序(*.c,*.asm)进行编辑。

(3) 对工程项目进行编译。如出现语法错误,将在构建(Build)窗口中显示错误信息。用户可以根据显示的信息定位错误位置,更改错误。

(4) 对结果和数据进行分析和算法评估。用户可以利用CCS提供的探测点、图形显示、性能评价等工具,对运行结果、输出数据进行分析,评估算法性能[7]。

主程序流程如图5所示:

3 系统应用

经测试本系统稳定可靠,可应用于各种图像处理场合,如网络视频传输、监控系统、图像存储、图像处理。其中图像处理包括滤波、边缘检测、图像二值化、图像增强等,是人脸识别、指纹识别、图像匹配等现代图像技术的基础。以边缘提取为例说明本系统的具体应用。

边缘提取是利用物体和背景在某种图像特征上的差异来实现,这些差异包括灰度、颜色或者纹理特征。边缘提取实际上就是提取图像特征发生变化的位置。

边缘检测的研究,是从一些以经验的方法开始的。例如,对图像的局部区域进行梯度估计,用图像的局部区域与特定方向的边缘模版求互相关。这些方法简单明了。其中梯度估计算子按使用频度从大到小依次为:Sobel算子,Robert算子,梯度算子。其中Sobel算子的应用最为广泛。SOBEL算法就是通过2个3×3的模板,对选定二维图像中同样大小窗口进行卷积,得到图像的梯度,通过梯度值的大小与设定的阈值进行比较,如果得到的结果大于阈值,就是边缘部分,把3×3图像窗口中央的像素灰度值用255来代替。否则,就不是边缘部分,并对图像窗口中央的像素用0代替。通常选定,x和y两个方向的算子来提取水平边缘和垂直边缘,Gx用来提取水平方向的边缘,Gy用来提取垂直方向的边缘,通过计算出垂直和水平方向的梯度并对它们平方和开方,就得到一个梯度值。下面是所用的掩膜(算子):

推荐访问: 图像处理 设计 系统 DM642