APP下载

基于DSP/BIOS的视频图像采集处理平台软件设计

2013-03-11项馨仪徐升阳

网络安全与数据管理 2013年18期
关键词:线程中断直方图

项馨仪,陈 芬,徐升阳

(宁波大学 信息科学与工程学院,浙江 宁波315211)

随着信息社会的发展,视频图像采集处理系统在远程控制、智慧城市、安防监控等领域应用越来越广泛。实时视频图像信息的获取对于系统分析数据至关重要,而且视频图像数据流量大,带宽要求高。嵌入式实时处理系统具有实时性高、体积小、成本低、算法移植简单等特点[1]。这类嵌入式实时图像处理系统以DSP作为处理器的发展方向,而DSP因其特殊的数字信号处理能力(集成MAC、FFT等模块)能够有针对性地满足视频图像处理的需求。

本文以DaVinci系列的视频图像处理器TMS320DM6437作为该软件平台的硬件支撑,采用TI自带实时操作系统DSP/BIOS,通过对多任务划分、调度,设计上下位机,将图像信息实时传到PC,通过PC端控制DSP平台来构建图像采集处理平台,最终移植常见图像处理算法对整个系统进行功能测试与结果分析。

1 系统开发平台简介

1.1 硬件开发平台

本文所设计的实时视频图像采集处理平台主要在CCD摄像头、DEC6437开发板、仿真器、显示器、USB转串口线和PC等搭建的硬件平台上,仿真器硬件设备是SEED-XDS510PLUS,由于此平台的RTOS调试,算法移植都是在集成开发软件CCS 3.3下设计完成的,CCS需要在PC中运行,并且调试UART时,需要在PC上观察上位机软件接收和发送状态[2]。

TMS320DM6437是TI公司的一款DaVinci系列处理器,是专为各种视频图像处理应用而开发的独立模块,能够支持高解析度的视频编码,同时其性价比很高。

1.2 软件开发平台

在图像采集处理系统的设计过程中采用了TI开发在CCS中集成的实时操作系统DSP/BIOS。

BIOS是一个可扩充、可裁剪的RTOS,主要可以分成分片实时内核、实时评测工具(RTDX)和芯片自带库(CSL)三部分。DSP/BIOS内包括常见嵌入式通用库和API。DSP/BIOS即时库包括抢占式多线程调度、任务通信及同步、中断优先级配置、I/O服务和存储器内存管理。DSP/BIOS根据功能可分为4个主要模块,DSP/BIOS确保硬件中断(HWI)、软件中断(SWI)、任务(TSK)和后台线程(IDL)4种线程运行在线程间,允许通信和同步,并且使能高优先级线程抢占低优先级线程[3]。

2 实时视频图像采集处理平台的总体架构设计

本文采用双DSP芯片,其中TMS320C5402为控制器,TMS320DM6437为算法处理器,以CCS 3.3为软件开发背景,完成了基于DSP/BIOS的图像采集处理平台的软件设计。TMS320C5402作为控制器,主要负责人机交互界面的控制,它与TMS320DM6437通过多通道缓冲串口通信,控制器主要对键盘数据的读入和LCD数据的输出。同时系统还添加了远程控制模块,通过PC发送控制指令调度DM6437处理器,能够完成切换算法,调停当前状态等功能,系统总体架构如图1所示。

图1 系统总体架构

3 基于DSP/BIOS的系统软件设计

视频图像采集处理软件平台对任务复杂、时序要求苛刻,采用基于DSP/BIOS的实时调度内核事先配置线程优先级以及线程触发、挂起、阻塞等相应条件,软件流程如图2所示。DSP/BIOS内核调度是整个系统的核心。BIOS首先需要初始化DSP,硬件上电复位LOAD程序入口地址,然后需要调用BIOS_Init对BIOS初始化,仍然要在main()函数中对片内外设等常见DSP配置初始化,这时不能对SWI、TSK等线程操作,因为还没启动BIOS,仍没有起用调度组件,调用BIOS_start完成对BIOS的启动就可进入IDL_loop空闲循环,等待HWI、SWI、TSK等线程的就绪[4]。

图2 软件流程图

本系统硬件中断(HWI)有两个∶一是DM6437和C5402通信过程所用的McBSP,键盘数据读入时触发中断;另一个是UART中断,PC上位机有控制指令发送时就会触发UART中断,进入UART中断服务程序将就绪UART接收数据软中断,第一个中断服务程序中和第二个中断触发的软中断中都将就绪TSK1,读取控制指令,选定算法模式,记录最终选择的状态,并对Mail_box赋新值。因为多个算法任务都处于挂起状态,一旦mail_box对应自身之前的Pend值,对应的算法任务将会立即就绪,如果当前线程的优先级都小于对应算法优先级,算法线程将会立即执行。

视频图像处理算法完成后,还可以实现对图像的滤波、LCD显示关键信息。线程处理完成后视频图像输出任务就绪,还原视频信号,回放处理后的视频[5]。

4 常见视频图像处理算法的移植

为了测试基于DSP/BIOS的多任务视频图像处理平台,移植几种算法来验证处理效果。软件平台上常见算法的移植有图像增强算法移植、图像阈值算法移植、边沿检测算法移植和图像滤波算法移植等。

如图2所示,图像增强算法移植包括任务2执行的单直方图算法移植和任务3执行的双直方图算法移植。任务3在任务2的基础上增添了对整幅图像提取最佳阈值提取(OTSU),以此阈值将原图像划分为两个子图,分别均衡[6]。

边沿检测算法移植使用任务5的图像边沿检测算法。相对于其他任务,图像的边沿检测任务为独立任务,可用来检测任务之间的切换实时性。

图像滤波算法移植采用了任务7的滑动平均滤波算法。任务7作为非必需任务,可根据按键选择是否添加在任务1~任务6后。

5 系统测试结果及分析

5.1 PC与TMS320DM6437通信结果

PC与TMS320DM6437串口通信采用波特率为19.2 kHz,传输数据格式为1 bit停止位,8 bit数据位,无校验位。在PC接收数据时,接收200个8 bit数据,均与TMS320DM6437内存中存储的数据相同,可见传输过程误码率极低。如果PC发送数据,TMS320DM6437接收成功,LCD会相应显示,同时处理器切换不同算法。LCD显示串口接收成功界面显示如图3所示,上位机界面如图4所示。

5.2 多线程通信及同步结果

图3 LCD显示串口接收成功图

图4 上位机界面

本系统中多线程最高优先级为UART接收和M cBSP中断,其次为软中断UART数据读入和UART发送,最后为任务,任务中划分为多个算法的任务,其相互间通过按键或PC指令切换,其线程间根据Mail_box(n)通信,其同步是根据SEM(m),在DSP/BIOS调试界面可见多线程间切换示意图,如图5所示,可见程序运行正常。

图5 多线程切换示意图

5.3 视频图像处理效果及人机显示

本视频图像采集处理平台软件上移植了多种视频图像处理算法,以下将演示每一个图像处理算法在本系统平台所表现的效果,如图6~图8所示。

图6(a)中最左边的一幅图像为原始图像,中间及右边中的图像为经过单直方图处理后的结果,中间和右边的图像区别为均衡系数不同,可见经过单直方图增强后前景和背景区别明显增强。图6(b)中左边的一幅图像为原始图像,中间及右边的图像为经过双直方图处理的结果,中间和右边的图像区别为双直方图中的均衡系数不同。可见,经过双直方图增强后,不仅前景和背景区别明显增强,而且保持原背景亮度信息。

图6 直方图处理结果图

图7 最大类间阈值处理结果

图8 拉普拉斯边沿检测结果

图7(a)中图像信息依次分别为原始图像、二值化后图像。系统采用最佳阈值提取算法,提取合适阈值。由图可见,二值化后的图像有噪点,由于阈值上下有波动或光线原因,因此采用3×3滑动平均滤波,对局部噪声滤除,图7(b)即为滤波后的图像,可见噪点明显降低,图像连续性较好。

如图8所示,本系统对边沿检测算法处理时采用对整帧图像处理,图8(a)为原始图像,图8(b)为拉普拉斯边沿检测结果,可见系统已经检测到图像的边沿。

该软件平台实时性相对高,在视频图像播放处理数据时不会出现明显的延时和卡顿;在用键盘或PC发送控制指令切换算法时同步效果很好,无可视延时。多任务的调度和同步不容易出现死循环,当改变调度次序时也能够继续正常工作。人机交互界面LCD显示能够随着平台状态变化及时显示提醒。TMS320DM6437通过UART向PC发送数据时误码率低。平台上处理的常见图像处理算法均能够获得良好的效果,可见该视频图像采集处理平台软件性能总体上优异。

[1]王俊.基于嵌入式系统的图像处理软件平台的实现[J].仪表技术,2006(2)∶10-22.

[2]李彬.基于DSP/BIOS的RTDX实时信号处理系统的实现[J].科技信息前沿报,2009,33(2)∶33-41.

[3]刘家兵.基于DSP/BIOS的图像采集处理平台软件设计研究[D].哈尔滨:哈尔滨工程大学,2008.

[4]张叶.基于TMS320C6x系列DSP/BIOS平台的实时电视跟踪系统设计[J].电子器件,2007,30(1)∶300-302.

[5]祝佳磊.基于Linux平台的图像采集系统的设计与实现[J].计算机工程与设计,2012,33(6)∶2334-2337.

[6]周杰.DSP/BIOS实时多任务操作系统内核的研究[J].科技传播,2010(12)∶208-220.

猜你喜欢

线程中断直方图
符合差分隐私的流数据统计直方图发布
基于C#线程实验探究
基于国产化环境的线程池模型研究与实现
用直方图控制画面影调
基于FPGA的中断控制器设计*
Linux中断线程化分析及中断延时测试
跟踪导练(二)(5)
千里移防,卫勤保障不中断
中考频数分布直方图题型展示
浅谈linux多线程协作