APP下载

基于NiosII的内窥镜视频和字符显示系统设计

2017-09-20李丕丁孙荣贵曾红雨

电子科技 2017年9期
关键词:内窥镜字符像素点

徐 超,李丕丁,孙荣贵,曾红雨

(上海理工大学 医疗器械与食品学院,上海 200093)

基于NiosII的内窥镜视频和字符显示系统设计

徐 超,李丕丁,孙荣贵,曾红雨

(上海理工大学 医疗器械与食品学院,上海 200093)

传统内窥镜大多基于计算机从而导致设备庞大、不易携带。为此,文中设计了一种脱离计算机的内窥镜视频显示系统,并基于该系统提出一种字符叠加方案。该系统是以FPGA为主控芯片,在FPGA芯片内部搭建Nios II处理器,采用视频解码芯片、编码芯片及相关外设,实现了内窥镜硬件系统的构建。并对系统的视频数据处理流程、ITU656数据协议、图像字符叠加原理和相关程序设计思想进行了阐述。实验结果表明,该系统实现了内窥镜在串口控制下的字符和图像的叠加,具有电路结构简单、低成本、体积小、设计灵活等特点。

Nios II;ITU656;字符叠加;UART

在使用内窥镜过程中,内窥镜采集到图像后,有时需要对视频图像中某些特征来进行说明。因此,必然需要叠加一些字符信息在视频图像上。因而在实际应用中具有比较重要的作用。从字符叠加的工作原理以及硬件电路的构成来看,目前有3种现实方案[1]。第一种是通过使用中小规模时序集成电路并且按照各个部分之间的时序要求来实现视频图像和字符的叠加,这种方式搭建的电路比较庞大复杂,只适用于单路设计,并且容易受到干扰,显示的字符数也有限。目前由于专用的集成芯片和单片机的发展,该方式基本被淘汰;第二种方案是基于单片机利用软件来实现硬件扫描电路,它的优点在于成本低,并且能够实现多路时间字符叠加。但是缺点在于字符过多就会导致单片机硬件要求跟不上,很难保证显示的连续性;第三种方案是使用专门的字符叠加芯片,目前国外推出了很多该种类芯片。芯片内部可以固化多种语言的字模,还具有调整显示字符的位置、大小、背景色等功能,虽然功能比较强大,但有时通用性会差一些。上述的几种方案大多数都是直接在视频模拟信号上进行字符信号的叠加,在模拟信号处理上也具有一定的局限性。

随着现场可编程门阵列(Field Programmable Gate Array,FPGA)相关技术的发展,尤其是Nios II软核处理器,设计者能够选择或添加合适的外设,获得最合适的处理器,可以灵活地控制产品的成本和性能,从而拥有广泛的应用空间,因此它具有很高的灵活性、实用性。因此提出一种基于Nios II的内窥镜图像和字符显示方案。该方案FPGA负责搭建数字电路,Nios II软核处理器则负责调用和控制这些电路,相当于上述前两种方案在同一块芯片上实现。该方案处理的是经过解码芯片转换的数字信号[2],这种基于数字信号上的叠加使得显示更稳定,显示格式和内容更易修改,同时也降低了成本。

1 系统设计

显示系统硬件电路主要是由解码芯片、编码芯片、视频滤波芯片、FPGA和外部储存芯片组成。视频图像来源于CMOS(Complementary Metal Oxide Semiconductor)摄像头,它将图像转换成模拟视频信号CVBS,输出给解码芯片,解码芯片通过模数转换和其它相关的处理将模拟视频信号转换为数字视频信号并输出给FPGA,FPGA中的图像分离模块将数字视频信号中的数据进行识别和提取,根据识别和提取的信息可以定位图像中像素点的位置以及对应亮度和色彩信息,为后面对图像的字符叠加处理提供相应的数据信息。处理过后的数字图像最终通过编码模块生成显示屏能够识别的模拟信号。系统可以接受上位机通过串口(Universal Asynchronous Receiver/Transmitter,UART)发送的指令来控制是否显示字符和显示的位置。系统框图如图1所示。

图1 系统设计框图

2 系统硬件设计

2.1 FPGA

系统选用Altera公司的Cyclone III系列EP3C16Q240C8N芯片。它具有16 kB逻辑单元,288个数字信号处理(Digital Signal Processing,DSP)乘法器,存储器达到0.5 MB。Cyclone III系列比前一代产品每逻辑单元成本降低20%,这样FPGA可以使用在成本敏感的应用中。它是使用了TSMC的65 nm低功耗工艺,可以提供丰富的逻辑、存储器和DSP功能,功耗更低。因此选用该系列芯片在性能上不仅能满足要求,在成本和功耗方面也有优势。

2.2 视频解码

由于国内通常采用PAL(Phase Alteration Line)制式、YUV(4:2:2)采样格式的视频信号。TI公司生产的解码芯片TVP5150[3]符合其要求。该芯片是超低功耗、支持PAL等格式的高性能视频解码器,正常工作时功耗仅有115 mW,并具有32引脚TQFP超小封装。可以接收两路CVBS或一路S-Video信号,通过I2C总线设置其内部寄存器,可以输出8位4:2:2的ITUBT.656信号。在两路信号输入的地方进行了阻抗匹配设计,防止对输入信号的反射。

2.3 视频编码

选用了ADI公司生产的一款多视频通道输出、高速数模视频编码器ADV7340[4],可将数字亮度信号和色差信号转换成CVBS模拟信号。采用3.3 V和1.8 V供电,有一个30位像素输入端口,可以通过I2C(Inter Integrated Circuit)总线或SPI(Serial Peripheral Interface)总线对芯片内部寄存器进行配置。包含6个数模转化器,可同时支持6路CVBS输出,或者同时一路CVBS,一路Y/C,一路YPbPr输出,并且数模转化器具有自动关断的特性可以使功耗保持最低。

2.4 视频滤波

为消除由采样带来的叠影,需要在数模转换器后加一重建滤波器。视频滤波器选用的是ADA4411[5],它是一款六阶可调视频滤波器,截止频率范围为9 ~36 MHz。可以驱动各种视频信号(RGB、YUV等),包括高清视频,该器件可以采用5 V单电源或±5 V双电源供电。若需要低功耗的应用可以采用单电源工作模式。此外其还具有禁用特性,当特定器件不用时,可大幅降低电源电流,从而进一步降低功耗。因此该视频滤波器可以使视频显示的质量得到保证。

3 软件设计

整个系统运行过程中,首先要通过I2C总线对TVP5150和ADA4411进行配置。配置完成后,TVP5150输出位宽为8位,格式为YUV4:2:2的数字视频信号。FPGA根据YUV的数据格式进行处理并提取其中一些同步信号,为后面的字符叠加处理提供同步控制信号。因此在讨论字符叠加原理之前,对于ITU656协议[6]有必要先进行了解。

3.1 ITU656协议

ITU656协议是一种通用的数字视频标准,量化比特为8或10,根据协议可以至少使用8根信号线就可传输视频数据和同步信息,比传统的方式少了11根信号线。采用8根信号线设计接口时,便于实时数据图像处理硬件平台以功能单元为单位进行模块化设计。由于使用的摄像头输出是CVBS[7]信号,采用的是PAL制式[8],该制式的特点是:隔行扫描,每秒25帧图像数据,每帧图像数据包含625行并分奇偶场,具体帧间时序图如图2所示;由图2可知根据3个同步信[9](HS、VS、F)可以区分出数据帧中的起始位置和结束位置,有效数据行和所处的奇偶场。从图2中也可以看出625行数据中有效数据占有576行,其中奇偶场各占1/2。

图2 帧间时序图

按照协议规定,在每行数据中都包含两个定时基准信号,一个在每行数据的开始(SAV),另一个在每行数据的结束(EAV)。每个定时基准信号由4 Byte的序列组成。格式如下FF 00 00 XY(16进制),前3个是固定前缀,第4个包含场标识、场消隐状态和行消隐状态的信息[10],具体如表1所示。

表1 定时基准信号状态

每行数据中除了两个定时基准信号外,还包含有效的视频数据和空数据,一共1 728 Byte。其中1 440 Byte为有效数据,对应720个像素点的亮度信息(Y)和色差信息(Cb为蓝色色差、Cr为红色色差)。有效数据中亮度和色差信息是按照YUV[11](4:2:2)格式排列,如表2所示。

表2 720个像素YUV(4:2:2)数据格式

如表2所示,每个像素点都有一个亮度信号Y的采样值,对于色差信号则采取隔点进行采样,比如表中,第一组色差数据是对第0个像素点进行采样,第二组数据则是对第2个像素点进行采用。这样相当于720个像素点分成360组,每组像素点共用一组色差信号。

3.2 字符叠加

视频字符叠加主要就是根据上述ITU656协议利用视频中的行场同步信号来确定视频数据对应像素点的位置,再读取ROM中的字符信息并与视频数据特定位置叠加。因此显示字符之前,必须要建立字符库。字符库是由字模生成工具生成,本系统显示的字符量不大,因此将FPGA内部的M4K[12]模块配置成ROM,在ROM中储存.mif格式的字符库[13]。

接下来就要把视频信号中的同步信号分离出来。为此本系统设计了视频分离模块,该模块的输入信号有:复位信号、时钟信号和8位数据信号。时钟信号是27 MHz的系统时钟,数据信号则来源于TVP5150。输出信号包含:8位视频数据信号、行同步信号、奇场同步信号、偶场同步信号。例如当接收到FF 00 00 80(奇场有效数据)时,奇场同步信号拉高,偶场同步信号拉低。当接收到FF 00 00 AB(奇场消隐)时,奇场同步信号拉低,偶场同步信号拉低。当接收到FF 00 00 C7(偶场有效数据)时,奇场同步信号拉低,偶场同步信号拉高。通过这种方式后面的模块不用判断场消隐期,其中分离的原理则是检测定时基准信号XY。

根据视频分离模块输出的同步信号,图像的行位置可以由奇场同步头信号作为起点对行数进行计数,其中奇场同步的头信号确定可以先检测偶场同步信号,当偶场同步信号拉低后,等待直到出现奇场同步信号则为头信号。已知图像的行位置则可以根据每行有效数据720个来推算出图像的列位置。这样可以定位到图像中的每个像素点的位置。确定了要叠加字符的位置后从ROM中读取字符信息,如果叠加允许位为1,ROM中对应位置为0,则输出源视频图像;ROM中对应位置为1,则输出设定的颜色信号[14]。同时根据YUV格式信号的特点,相邻两个像素一组,每次传完一组,ROM中的地址计数器则加1。叠加允许位为0时,地址计数器则置0,不再读取ROM,直接输出源视频信号。这样就实现了字符叠加。

3.3 串口控制

在Quartus II开发环境中,使用SOPC Builder设定好配置可以生成一个Nios II的Symbol,将其编译并下载到FPGA后,Nios II嵌入式硬件内核完成初步构建。绑定FPGA的引脚,添加需要的外设可以丰富Nios II的功能。本系统需要上位机通过串口发送控制信息给FPGA,因此在配置Nios II过程中,可以直接勾选并调用系统自带UART核[15]。在进行Nios II编程时,只需对接收寄存器和发送寄存器进行读写操作就可以完成串口的收发数据。根据自己定制的串口数据协议,上位机可以向FPGA发送是否显示字符的控制信息和字符的显示位置。

4 实验结果及分析

测试系统时,测试对象是用3D打印制作的心脏模型,实时采集的图像如图3所示。通过上位机发送显示字符的命令,如图4所示。显示屏上的字符数据显示的是橙色橡皮头的屏幕坐标位置。从图中可以看出,该系统可以完成内窥镜的摄像,视频图像和叠加在上面的字符都较为清晰,组织结构层次分明。

图3 字符叠加前

图4 字符叠加后

5 结束语

本文介绍了一种基于Nios II的内窥镜视频和字符显示系统设计,并基于此设计搭建了一套实验平台。实验结果表明该设计呈现的视频图像清晰,字符叠加效果较好;由于采用了可定制内核功能的Nios II技术,使得FPGA在具备自身功能的同时也具备嵌入式处理器的功能,因此使用该设计方案搭建的系统具有更强的适应性和灵活性,也提高了其实用性。

[1] 李骏.基于SOPC的视频处理系统关键技术研究[D].南京:南京理工大学,2009.

[2] 蔡军辉.基于FPGA的视频信号数字化采集与显示系统[D].南京:南京航空航天大学,2010.

[3] 张桂庆,肖洪祥,张叶茂.基于DaVinci技术的3G移动视频监控系统设计与实现[J].网络安全技术与应用,2010(1):52-54.

[4] 冯策,喻庆华,焦淑红.基于ADV7174的视频显示系统设计[J].电子科技,2006(2):17-20.

[5] Bdtic.ADA4411-3:集成式三通道视频滤波器和缓冲器[EB/OL]. (2009-10-29)[2016-08-05]http://www.bdtic.com/ADI/ADA4411-3.html.

[6] 杨钦,周云飞,胡永兵.基于FPGA的视频图像采集与显示系统设计[J].计算机工程与设计,2013,34(6):88-92.

[7] 杨焕峥,丁帮俊,崔业梅,等.彩色CVBS信号的成像仿真与液晶显示电路设计[J].制造业自动化,2014,36(7):94-97.

[8] 牟亚南,陈金鹰,杨敏,等.PAL制彩色全电视信号数字解码研究与实现[J].现代电子技术,2015,38(15):39-41.

[9] 薄振桐.基于FPGA的实时图像自适应中值滤波器设计[J].电子科技,2014,27(1):121-124.

[10] 乔永征,梁志毅,朱毖微.基于FPGA的微光视频图像增强系统[J].测控技术,2009(10):94-98.

[11] 李富栋,丁超.基于PC104的视频采集卡设计[J].光电技术应用,2010(3):50-52.

[12] 韩团军,赵峰.基于FPGA的M4K块配置ROM字符数据存储VGA显示[J].陕西理工学院学报,2016,32(5):22-27.

[13] 熊璟,刘怡,唐广,等.基于NiosⅡ处理器的视频字符叠加的设计与实现[J].电视技术,2010(10):36-38.

[14] 宋承杰,王景存.基于FPGA的视频字符叠加的设计与实现[J].电视技术,2009(12):24-27.

[15] 王一平,王代强.基于NiosⅡ的UART设计与实现[J].电子设计工程,2012,20(17):166-168.

Design of Video and Characters Display for Endoscope System Based on Nios II

XU Chao,LI Piding,SUN Ronggui,ZENG Hongyu

(School Medical Instrumentation and Food Engineering,University of Shanghai for Science & Technology,Shanghai 200093,China)

Most traditional computer-based endoscopic devices are too large to take along. To solve this problem, an endoscopic video display system is designed, and a character superposition scheme is proposed based on the system. The main control chip of the system is FPGA. The Nios II processor is built in FPGA . The video decoder chip, the encoding chip and related peripherals are used to construct the hardware system of the endoscope. The system video data processing flow, the ITU656 data protocol, the image character superposition principle and the related program design thought are expounded.Realizes the superposition of characters and images under the control of the serial port in the endoscope system. The experimental results show that the system can realize the superimposition of character and image under the control of the serial port in the endoscope,which has the characteristics of simple circuit structure, low cost, small volume and flexible design.

Nios II;ITU656;OSD;UART

2016- 11- 29

徐超(1992-),男,硕士研究生。研究方向:生物医学仪器及医学信息技术。李丕丁(1973-),男,博士。研究方向:信号与系统。

10.16180/j.cnki.issn1007-7820.2017.09.012

TN911.73;TP391.14

A

1007-7820(2017)09-042-04

猜你喜欢

内窥镜字符像素点
一种具有附加内窥镜功能的医疗管
电子内窥镜临床评价要求探讨
内窥镜技术研究进展
基于局部相似性的特征匹配筛选算法
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
HBM电子称与西门子S7-200系列PLC自由口通讯
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密