孟王芳,陈 芬,徐高帮,杨丽娟,叶咪妮,彭宗举,殳镇黎
(宁波大学 信息科学与工程学院,浙江 宁波 315211)
图像变倍作为一种基本的图像处理技术,是指通过插值算法重采样生成新的插值图像的过程,在实际应用中具有重要的作用。数码相机的数码变焦即是一种电子变倍系统,在数码相机中光学变焦能够通过镜头的变化将拍摄的景物拉近;数码变焦则是通过数码相机内的处理器把图片内的每个像素面积增大,从而达到放大的目的。由于光学变焦焦距的调整受到极大限制,当变焦倍数超过5倍时,光学系统设计非常复杂,而且体积庞大,因此开发数码变焦以提高数码相机的变焦焦距具有广阔的应用前景和实用性。
电子变倍系统广泛应用在安全监控领域,如远距离健康和夜视监控等。随着社会发展和技术的进步,视频监控技术已处于数字化、网络化时代的发展期,进行数字视频监控技术的研究正成为当前的热门课题。采用TI的Davinci处理器进行相应的视频处理系统设计,可以保证系统具有良好的实时性以及稳定性,同时又有体积小、功耗低的优点。本文介绍了基于Davinci系列TMS320DM6437处理器的电子变倍系统的设计与实现。
本系统主要由摄像头、视频编解码处理芯片、显示屏和SEED-DTK_6437开发平台等部分组成,系统的主要框架如图1所示。
TM320DM6437 DSP芯片对从视频处理前端传输进来的数据进行存储,通过最邻近插值算法和双线性插值算法等对视频图像进行变倍处理,之后数据再通过视频后端处理,将信号重新编码为模拟信号,最后输到模拟显示器上显示出来。
本系统有两种工作模式:整体缩放模式和感兴趣区域模式,用户通过17键薄膜键盘可选择所需模式。在整体缩放模式下,系统具有选择不同变倍算法、更改视频图像的缩放倍数等功能;在感兴趣模式下,系统具有选择不同变倍算法和选择感兴趣区域等功能。两种模式下系统都能够在液晶显示屏上显示变倍算法和缩放倍数和感兴趣区域号,并在彩色显示屏上居中显示缩放后的图像,实现了系统的智能人机交互功能。
本系统实现了1路PAL/NTSC标准模拟视频输入,1路PAL/NTSC标准模拟视频输出和1路VGA输出。视频输入接口选用了解码芯片TVP5150PBS,视频输出采用TMS320DM6437片内的DAC输出,实现 CVBS和 VGA输出。TMS320DM6437片上视频输入/输出接口统称为视频子系统(VPSS)。TMS320DM6437的视频子系统由两部分组成,一是视频处理前端,用于输入数字视频数据,为多种标准的数字视频输入提供接口,并为输入的数字视频数据作必要的预处理;二是视频处理后端,用于输出数字视频数据,以驱动显示器显示视频图像。本系统视频的采集与回放框图如图2所示。
从算法精度、复杂度等方面考虑,本系统主要采用最近邻插值算法和双线性插值算法。
3.1.1 最近邻插值算法
最近邻插值法[1-3]也称作零阶插值,就是令变换后像素的灰度值等于距它最近的输入像素的灰度值。对于通过反向变换得到的一个浮点坐标,对其进行简单的取整,得到一个整数型坐标,这个整数型坐标对应的像素值就是目标像素的像素值。对于从上到下、从左到右扫描的图像来说,取浮点坐标最邻近的左上角点对应的像素值。其公式为:
3.1.2 双线性插值算法
双线性插值法[4-5]是利用需要处理的原图像像素点周围的4个邻点的像素值在x、y两个方向上作线性内插,即待插点处的数值用离待插点最近的4个点的值加权求得。对于一个目的像素,设置坐标通过向后映射法得到浮点坐标(i+u,j+v)。其中 i、j是非负整数,u、v是取值在[0,1)区间的浮点数,随放大后像素行列坐标的不同而改变,则这个像素的值g(i+u,j+v)可由原图像中坐标为(i,j)、(i+1,j)、(i,j+1)、(i+1,j+1)所对应的周围 4 个像素的值决定,即:
其中,g(i,j)表示原图像(i,j)处的像素值,以此类推。
在MATLAB中对最近邻插图算法和双线性插值算法进行仿真,结果如图3所示。
由图3可以看出,最近邻插值算法处理的图像出现了严重的马赛克现象,而双线性插值算法处理的图像更加平滑。
系统各模块初始化以后,BIOS根据实现的配置自动调度视频任务和通信任务,总体流程图如图4所示。
4.1.1 人机接口的实现
本系统人机交互模块采用TMS320VC5402作为主控制器,同时外扩有SRAM及Flash,拥有17按键薄膜键盘,配置LCD液晶显示部件。TMS320VC5402 DSP处理器通过多通道缓冲串口McBSP与TMS320DM6437通信,可完成对按键值的读取和显示系统相关参数等功能。
4.1.2 DSP/BIOS任务调度
为了增强系统的实时性和灵活性,本系统使用DSP/BIOS调度任务。设置了一个硬件中断(McBSP硬件中断)和两个任务(视频任务和通信任务),两个任务的优先级相同。视频任务主要处理视频图像数据的采集以及算法的实现;通信任务主要调度通信函数根据按键的不同指令来选择不同的算法、输入变倍系数和控制液晶显示等。DSP/BIOS的任务时序图如图5所示。
图4 系统整体流程图
4.1.3 图像居中显示
图像变倍是对一幅原始图像在尺寸比例上的放大或者缩小,然而,对于缩放后的图像的显示区域将是一个不容忽视的问题,例如放大之后显示的是左上角的画面,而实际感兴趣的区域可能不会出现在显示屏上。这里,强调图像居中放大显示的重要性,即屏幕中心的感兴趣区域放大之后仍会在液晶屏的中心显示,以展示正常的图像放大效果。
在使用不同算法对实时视频图像进行变倍处理时,本系统具有良好的实时性;人机交互模块中选择页面可以循环切换,任务之间灵活调度;整个系统交互性强,性能稳定。
4.2.1 整体缩放模式
在整体缩放模式下,放大倍数可输入0.1~5.0之间。系统运行界面截图如图6所示。
分别采用最近邻插值算法和双线性插值算法进行实验,结果如图7所示。从图7可见,基于最近邻插值算法的缩放图像马赛克现象严重,基于双线性插值算法的缩放图像浓淡变化自然平滑,所得结论与仿真结果一致。
4.2.2 感兴趣缩放模式
将整体图像平均分成 9块,选取任意一块(0~8)将其放大到整个显示屏。若选取区域为4,则将编号为4的区域块放大到整个显示屏,如图8所示。
根据仿真及实验结果可知,最近邻插值算法处理后的图像会出现严重的马赛克现象,而双线性插值算法处理的图像更加平滑。但是,最近邻插值算法的运算速度较快,双线性插值算法较慢。通常情况下要获得高速甚至实时的图像输出,只能采用相对简单、运算量小的插值算法;而要获得高精度的处理结果,只能牺牲速度,采用复杂度高的算法。因此,对于视频图像实时性操作上,最近邻插值的算法更优。
[1]李秀英,袁红.几种图像缩放算法的研究[J].现代电子技术,2012,3(5):48-51.
[2]符祥,郭宝龙.图像插值技术综述[J].计算机工程与技术,2009,30(1):141-144.
[3]邓林华,柳光乾.基于插值算法的图像缩放的应用研究[J].微计算机信息,2010,26(31):23-24.
[4]苗莎,郑晓微.双线性插值图像放大并行算法的设计与实现[J].微电子学与计算机,2011,28(11):182-184.
[5]王昊京,王建立.采用双线性插值收缩的图像修复方法[J].光学精密工程,2010,18(5):1234-1241.
[6]田利波,王瑞光.基于移动窗口的图像缩放算法[J].电视技术,2007,31(8):18-20.
[7]JAIN K K,SHARMA T.A comparative study of image scaling algorithms[J].International Journal of Engineering and Advanced Technology(IJEAT),2012,3(1).
[8]KIM C H,SEONG S M.An image-scaling algorithm using an area pixel model[J].IEEE Transactions on Circuits and System for Video Technology,2003,13(6):549-553.