0 概述随着计算机技术和网络技术的迅猛发展 ,对仪器设备的远程监控提供了一种世界范围内共享大型实验设备的新途径。在此基础上发展起来的远程实验 ,将成为 2 1世纪科学实验室进行开放性研究的重要模式<1> 。目前 ,德国的Heidelberg大学与Mannheim大学正着手一项合作计划 ,在互联网上测试一种远距离教学实验的新技术 ;在美国 ,从西岸到东岸 ,通过互联网操纵国家研究中心的大型扫描电镜 ,进行远程测试和实验已经取得成功<2 > 。在国内 ,科学仪器的远程监控及实验数据的实时传输也是学术界和工业界研究热点。本文介绍的是用VisualC ++6 .0开发的基于In ternet的大型金相显微镜远程监控系统 ,详细介绍了远程监控系统的组成 ,以及金相显微镜的远程监控、观察试样金相组织的视频信息实时传输等关键技术的实现。1 系统 的建立该系统是利用大型金相显微镜进行对试样金相组织等观察的一个远程监控系统。系统的建立依托于华南理工大学金属切削研究室的德国LeitzMM- 6型大视场金相显微镜。远程监控系统主要由金相显微镜、计算机、网络设备、摄像头、监控单元、步进电机等仪器设备组成 ,为了能让客户端远距离地监控操作金相显微镜 ,我们对显微镜进行了必要的改装 ,利用现场实验室的计算机通过步进电机监控金相显微镜视台X、Y方向及Z方向 (调焦 )的移动。金相显微镜远程监控系统组成示意图如图 1所示。图 1 金相显微镜远程监控系统组成示意图图 2 服务器端系统框架图 金相显微镜监控系统的大致操作过程是 :首先 ,需要现场的实验人员将要观察的标本放在金相显微镜的视台上 ,然后 ,通过本地或异地的监控端 (计算机 )监控金相显微镜的视台移动来调整试件的位置和调焦 ,在本地和异地的计算机显示器上可以看到操作显微镜的具体过程 ,即需要通过网络传输两种典型的图像数据 ,第一种 :金相观察时需要看到清晰稳定的图像 ,第二种 :在动态搜索观察区域即移动金相显微镜的视台时 ,要求观察到有较高实时性的图像从上述过程可以看出 ,远程监控系统的两大功能是 :“监”和“控”。本系统的“监”是通过实时地观察金相组织的图形轮廓来判定视台的位置是否合适 ,若合适则继续观察清晰稳定的金相组织图像 ,若不合适则要通过“控”来实现视台的X、Y方向移动及调焦。本系统是用纯软件实现上述功能的 ,图 2是服务器端系统框架图。下面分别介绍实现步进电机的远程监控及金相组织图像实时传输的关键技术。2 金相显微镜的远程监控一般情况下 ,对金相显微镜的操作包括 :显微镜视台的调整 (X方向和Y方向 )以及光路和焦距的调整。为了实现远程监控 ,必须对现有的金相显微镜进行数控化改造 ,即用四个步进电机来完成上述四种调整 ,步进电机受控制单元的控制。控制单元采用MCS5 1单片机 89C5 1控制 ,通过RS2 32接口与本地计算机连接。本地计算机接收到远程计算机通过Internet传送过来的监控信号后 ,立即通过RS2 32接口向监控单元发出命令 ,发出的命令中包含驱动马达号、步数和方向等信息。监控单元正确接收命令后 ,驱动步进马达完成相应的调整 ,并返回正确执行命令的信息。其中 ,本地计算机和远程计算机是通过Internet连接的 ,监控信号采用TCP/IP协议的流式套接字 (SOCK_STREAM)传输。为了防止对金相显微镜的调整超过范围而造成损坏 ,在每个调整方向上都安装了限位开关 ,共有 8个限位开关。在监控过程中 ,监控单元自动对限位开关信号进行检测。当监控单元接收到驱动某个步进电机的命令时 ,首先对相应的限位开关进行检测 ,如果该限位开关闭合 ,则拒绝执行该命令 ,返回错误信号。在执行命令的过程中 ,也始终检测相应的限位开关 ,一旦检测到限位开关闭合 ,立即终止执行命令 ,并返回错误信号。3 视频信息在Internet上实时的传输根据前面所述 ,金相显微镜的远程监控系统需要传输两种不同要求的视频信息 ,一种是清晰稳定的图像 ,另一种是有较高实时性要求的图像。如在不压缩的情况下 ,中等分辨率的真彩色全动视频 (分辨率6 40 4 80 ,2 4位真彩 ,30帧 /s)要求传输速率为30Mb/s,而在现有的网络环境下 ,由于受到网络带宽和传输速率的限制 ,常常出现网络数据堵塞、运行不畅、数据包丢失等现象 ,不能保证视频信息传送的实时性和连续性 ,也影响了实验的效果。因此 ,除了采取有效的数据压缩方法外 ,如何采取措施提高网络传输速率是保证顺利进行远程实验的关键和难点。视频信息在Internet上传输的流程如图 3所示。下面将分别介绍视频信号的采集、视频信息的压缩方法以及网络传输技术。图 3 视频信息流程图(1)视频信号的采集视频信息编码之前 ,需要获得数字视频数据 ,在本系统中采用了VideoforWindows (简称VFW)进行视频信号的采集。VFW是WIN32SDK中多媒体编程SDK的视频开发工具 ,借助于VFW可以实现Windows环境下的视频实时捕捉。符合该标准的视频采集卡通过采集数字视频信号 ,以备后面的压缩编码使用。当然 ,在进行视频实时捕捉前 ,应先进行视频卡的连接、视频卡的初始化、捕捉器的初始化、设置预示窗口等初始化工作。Microsoft的VisualC ++支持VFW ,这给视频捕捉编程带来很大方便。在Microsoft的VisualC ++中提供了VideoforWindows的头文件vfw .hv和库文件fw32 .lib ,VFW的核心是应用了其中的AVICap窗口类 ,AV ICap窗口类完成从视频捕获硬件来获取数据 ,并按照需要的格式进行数据的存储和转换。它通过回调函数实现视频采集 ,回调函数是一类特殊的函数 ,它的功能类似于中断函数 ,由用户编写但由系统调用。某一回调函数在系统中经登记并设定函数入口后 ,当满足某一特定条件时 ,系统自动调用回调函数 ,而不需要用户触发。用户单帧回调函数定义如下 :LRESULTCALLBACKFrameCallbackProc (HWNDhWnd ,LPVIDEOHDRlpVHdr){if (bIsCapture&&bIsCompressEnd) { ConvertQCIF (lpVHdr - >lpData ) ;/ /视频缓存拷贝数据到编码帧缓存 bIsCompressEnd =FALSE ; }return (LRESULT)TRUE ;}本系统视频编码器的输入为CIF或QCIF ,每帧为YUV4 :2 :0的格式<3> ,若是RGB格式的可以通过线性变换转换为YUV格式。(2 )视频信息的压缩方法及网络传输技术根据实验的要求 ,我们提出了动态适应性编码方法 ,即 :在移动金相标本时 ,我们采用有损压缩的窄带通信视频压缩编码标准H .2 6 3,以提高图像的反应速度 ,网络传输采用用户报文传输协议UDP/IP。而进行金相观察时 ,我们采用静态图象压缩方法JPEG进行压缩 ,以提高图像的精度。网络传输则采用可靠性好的传输监控协议 /网际协议TCP/IP。在系统软件的设计中 ,采用了动态适应性压缩编码方法来处理视频信息。即当视频像素产生变化或具有步进马达的信号时 ,系统自动切换为H 2 6 3编码 ,而当视频像素不发生变化即图像静止时 ,系统则采用静态图象压缩方法JPEG进行压缩处理。由于JPEG的压缩编码算法已规范化 ,这里不作介绍。下面主要介绍H 2 6 3压缩编码方法。图 4是H 2 6 3编码器构成框图 ,主体部分是块变换、量化、熵编码和运动估计。下面着重介绍块变换、量化和运动估计。图 4 H . 2 63编码器构成框图①块变换。本系统采用离散余弦变换 (DCT)视频压缩算法 ,离散余弦变换包括正变换 (FDCT :For wardDiscreteCosineTransformation)和逆变换 (IDCT :InverseDiscreteCosineTransformation)。我们选择了两种FDCT算法和三种IDCT算法进行最佳算法的组合实验 ,其中两种FDCT算法是TMN (TestModelNear)en coder 1. 7自带的快速算法和BerkeleyMPEG - 1的编码器 ;三种IDCT算法是著名的Chen -Wang算法及TMNencoder 1. 7自带的两种块速算法 ,在保证压缩速度和视频质量的前提下 ,选择FastDTC/VeryfastIDTC算法的组合较理想。②量化<2 > 。量化是视频压缩技术中的关键步骤 ,也是产生失真的主要原因。量化过程中 ,量化系数越大压缩比越高 ,但同时会带来更大的数据失真。下表是不同量化系数的压缩比和压缩质量的比较 ,视频源为 15 0帧、 30fps的标准测试视频流MissAmerica图像序列。量化系数和压缩质量对比表量化系数压缩比SNR Y/Cb/Cr (dB)12468121642 16712 512 93 4549949948. 5 / 48. 5 / 48. 544 . 8/ 42 . 5 / 44 . 341. 1/ 40 . 6/ 41. 23 8. 8/ 3 8. 4/ 3 9. 23 7. 4/ 3 8. 4/ 3 7. 73 5 . 7/ 3 7. 4/ 3 5 . 93 4. 7/ 3 7. 1/ 3 5 . 1 由上表可以看出较大的量化系数产生较小的编码码流 ,但重建的视频质量也随之下降。在系统软件设计中 ,考虑到不同网络带宽等实际情况 ,将量化系数用户可以自行设定 ,推荐取值范围 :4~ 12。③运动估计算法。为了检
More abstracts about the 基于Internet的金相显微镜远程监控系统设计