专利名称:一种智能手持设备实时接收控制仪器图像的方法
技术领域:
本发明涉及一种图像传输处理方法,尤其涉及一种智能手持设备实时接收控制仪器图像的方法。
背景技术:
目前,具有图像功能的仪器,如医用超声仪器、医用X射线仪器和工业超声仪器的图像分屏显示,一般是通过VGA、USB或者医学数字图像传输协议(DICOM)等有线网络来实现。但在一些特定的应用环境下需要采用无线网络进行,在以前只能靠自制装置进行接收与控制仪器图像,自制装置有着笨重、不通用、不方便、难以实时接受图像等缺点。随着智能手持设备的出现和发展,使通过智能手持设备来实时接收控制仪器图像成为可能,即有可能利用智能手持设备在无线局域网信号范围内随时查看与控制仪器图像。但无线网络传输与有线网络传输相比,存在传输率慢、不稳定、易错帧等特点,经常会引起画面出现模糊、色斑、马赛克等问题,使得目前通过智能手持设备来实时接收控制仪器图像还没有得到有效的应用。
发明内容
本发明所要解决的技术问题是提供一种智能手持设备实时接收控制仪器图像的方法,这种智能手持设备实时接收控制仪器图像的方法,能够使智能手持设备与仪器之间的图像数据传输速度快、传输稳定及传输准确,避免画面出现模糊、色斑、马赛克等问题。采用的技术方案如下一种智能手持设备实时接收控制仪器图像的方法,智能手持设备与仪器构成无线局域网,在智能手持设备上运行一图像处理软件,其特征是通过图像处理软件实现如下操作智能手持设备请求仪器采集图像数据;仪器根据请求采集图像数据,并以无线传输的方式发送图像数据;智能手持设备以无线传输的方式接收仪器发出的图像数据,显示图像并对图像进行处理。上述的智能手持设备一般指可进行二次开发的智能手机或者平板电脑(PDA),具有无线发射、接收功能,将智能手持设备作为客户端;而在仪器上加装一个无线网卡,将仪器作为服务器,智能手持设备(客户端)与仪器(服务器)之间就构成无线局域网。仪器 (服务器)用于发送图像数据、接收智能手持设备(客户端)的指令请求,智能手持设备(客户端)用于接收图像数据并发出相关控制指令请求仪器(服务器)执行。在智能手持设备与仪器之间形成一个无线局域网,实现智能手持设备与仪器之间数据的无线传输,利用现有智能手持设备强大的处理能力,通过自设的图像处理软件,实现智能手持设备以无线的方式实时接收仪器的图像,并对图像进行处理;由于采用服务器/ 客户端的模式,并且作为客户端的智能手持设备强大的处理能力,因此可以将一些会增加图像数据的数据量的处理步骤放到智能手持设备上处理,尽量减少图像数据的数据量,而在仪器与智能手持设备之间又可以通过图像软件设置校验机制,确保智能手持设备与仪器之间的图像数据传输速度快、传输稳定及传输准确,避免画面出现模糊、色斑、马赛克等问题。作为本发明的优选方案,其特征是所述图像处理软件包括图像数据采集模块、图像数据接收模块、图像显示模块和图像处理模块;图像数据采集模块包括通过自定义编码的方式设置采集指令,激活采集指令,对采集指令进行编码,将采集指令发送给仪器,请求仪器对图像数据进行采集、发送;图像数据接收模块包括接收仪器发送的图像数据,并判断收到的图像数据是否正确;图像显示模块将被判断为准确的图像数据在智能手持设备上显示出来;图像处理模块包括对图像的回放、储存和发送。通过该图像处理软件,智能手持设备实时接收、控制图像的流程如下智能手持设备通过图像数据采集模块激活采集指令、对采集指令进行编码、将采集指令发送给仪器;仪器收到采集指令之后,对采集指令进行解码、执行采集指令,采集图像数据、图像数据储存、发送图像数据;智能手持设备通过图像数据接收模块接收图像数据,判断图像数据是否正确,如果图像数据不正确,则通知图像数据收集模块重新发送采集指令,让仪器重新采集图像数据并发送;如果图像数据正确,则通过图像显示模块将图像显示出来,并通过图像处理模块对图像进行回放、储存和发送等操作。 通过在图像数据接收模块中判断图像数据是否正确,确保图像数据传输的正确性。所设置的采集指令解码后应该与仪器原来的采集指令的格式一致;图像处理软件可以通过采用各类编程语言进行编写,并转化为适合在智能手持设备上运行的格式;优选图像处理软件采用智能手持设备开发商提供的软件开发工具包(SDK)进行开发,可以直接调用智能手持设备提供的程序接口,如windows系统下的通信机制(winsocket),图形接口(API)等,软件开发简单方便,对智能手持设备的资源利用充分,进一步提高了传输速度和显示速度。作为本发明进一步的优选方案,其特征是还包括控制模块;控制模块包括通过自定义编码的方式设置控制指令,激活控制指令,对控制指令进行编码,将控制指令发送给仪器;控制指令包括冻结指令、解冻指令、改变状态指令。所设置的控制指令解码后应该与仪器原来的控制指令的格式一致。仪器接收到控制指令之后,对控制指令进行解码,执行控制指令,对图像进行冻结/解冻、在仪器上预置参数或改变仪器的状态。作为本发明进一步的优选方案,其特征是还包括初始化模块;初始化模块包括通过自定义编码的方式设置初始化指令,激活初始化指令,对初始化指令进行编码,将初始化指令发送给仪器。仪器接收到初始化指令之后,对初始化指令进行解码,执行初始化指令,进行参数预置等操作,以便于采集到合适的图像数据。作为本发明更进一步的优选方案,其特征是所述采集图像数据是在仪器进行数据扫描变换之前进行采集,在发送图像数据时,在图像数据的后面插入数据扫描变换所需的参数列表,在智能手持设备判断图像数据正确的情况下,依据参数列表对图像数据进行数据扫描变换。仪器对物体进行扫描后,一般需通过数据扫面变换(DSC),才能在屏幕上将图像显示出来,即利用极坐标变换与二维线性插值把一个矩形的图像按照相应的参数变为扇形或者圆锥形或者圆形,使显示的图像与探头扫描范围一致。数据扫描变换(DSC)是指对图像数据进行平移、偏转、变换等操作后,通过二维线性插值对图像数据进行插值。插值后的图像数据比原图像数据会庞大许多,这样不利于图像数据的无线传输,通过采集数据扫描变换前的图像数据,并把数据扫描变换这部分工作放到智能手持设备的处理器上进行处理,充分利用了智能手持设备现有的资源,使得无线传输的图像数据量减少了 2 3倍,保证传输的速度及准确性,其它自制简易接收终端难以实现。作为本发明更进一步的优选方案,其特征是在仪器进行图像数据采集完成之后, 对图像数据采用霍夫曼编码进行无损数据压缩,相应地在智能手持设备上确定接收到的数据正确后,同样依据霍夫曼原理解压图像数据。采用霍夫曼编码进行无损数据压缩,这样使得重构后的数据与原来的数据完全相同,使图像数据在传输过程中不会出现损失,确保通过图像获得的诊断信息的准确性,并且压缩率可以达到1/4,便于图像数据的保存和发送。作为本发明更进一步的优选方案,其特征是所述仪器发送图像数据的方式为广播式。仪器通过广播式发送图像数据使得多个智能手持设备可以同时接收图像数据,并且与只有一个智能手持设备时所占用的资源相同。作为本发明更进一步的优选方案,其特征是所述判断收到的图像数据是否正确的方法是在仪器上采用对每一帧图像数据进行两次发送,并在图像数据中每相隔1 个字节插入奇偶校验码;在智能手持设备接收图像数据时,比较两次接收到的校验码和图像数据是否完全一致,完全一致的情况下才认为这一帧图像数据是正确的,否则丢弃当前收到的图像数据。这样的判断方法虽然会消耗一些时间,但可以保证数据的正确性,而且在数据扫描变换前采集图像数据、采用霍夫曼编码进行对图像数据进行无损数据压缩的情况下,图像数据的数据量非常少,所以在性能方面并不会受到影响。
图1是本发明优选实施方式中,智能手机与医用超声仪器之间的控制及数据传输流程2是智能手机与医用超声仪器之间指令传输控制的流程图
具体实施例方式下面结合附图和本发明的优选实施方式做进一步的说明。如图1所示,这种智能手持设备实时接收控制仪器图像的方法,采用医用超声仪器1(型号为=SIUI的Aprogee 3500)作为服务器,采用智能手机2 (型号为:apple iphone 3GS)作为客户端,智能手机2与医用超声仪器1构成无线局域网,在智能手机2上安装一图像处理软件,图像处理软件包括初始化模块3、图像数据采集模块4、图像数据接收模块5、 图像显示模块6、控制模块7和图像处理模块8 ;初始化模块3包括通过自定义编码的方式设置初始化指令,激活初始化指令,对初始化指令进行编码,将初始化指令发送给医用超声仪器1 ;图像数据采集模块4包括通过自定义编码的方式设置采集指令,激活采集指令,对采集指令进行编码,将采集指令发送给医用超声仪器1,请求医用超声仪器1对图像数据进行采集、发送;图像数据接收模块5包括接收医用超声仪器1发送的图像数据,并判断收到的图像数据是否正确;图像显示模块6将被判断为准确的图像数据在智能手机2上显示出来;控制模块7包括通过自定义编码的方式设置控制指令,激活控制指令,对控制指令进行编码,将控制指令发送给医用超声仪器1 ;控制指令包括冻结指令、解冻指令、改变状态指令;图像处理模块8包括对图像的回放、储存和发送。上述智能手机2与医用超声仪器1之间指令传输控制的流程如图2所示。通过运行图像处理软件实现如下操作
初始化智能手机2通过图像处理软件的初始化模块3,激活初始化指令,对初始化指令进行编码,将初始化指令发送给医用超声仪器1。医用超声仪器1接收到初始化指令之后,对初始化指令进行解码,执行初始化指令,进行参数预置等操作,以便于采集到合适的图像数据;图像数据采集智能手机2通过图像数据采集模块4激活采集指令、对采集指令进行编码、将采集指令发送给医用超声仪器1 ;医用超声仪器1收到采集指令之后,对采集指令进行解码、执行采集指令,在医用超声仪器1进行数据扫描变换之前对图像数据进行采集,对图像数据采用霍夫曼编码进行无损数据压缩,在图像数据的后面插入数据扫描变换所需的参数列表,并在图像数据中每相隔1 个字节插入奇偶校验码,对图像数据储存后, 采用广播式对上述处理后图像数据进行两次发送;图像数据接收智能手机2通过图像数据接收模块5连续两次接收图像数据,比较两次接收到的校验码和图像数据是否完全一致,完全一致的情况下才认为这一帧图像数据是正确的,在图像数据不正确的情况下,丢弃当前收到的图像数据,并通知图像数据收集模块4重新发送采集指令,让医用超声仪1重新采集图像数据并发送;在图像数据正确的情况下,依据霍夫曼原理解压图像数据,并依据参数列表对图像数据进行数据扫描变换;显示图像智能手机2通过图像显示模块6将数据扫描变换后的图像数据以图像的形式显示出来;图像控制智能手机2通过控制模块7激活控制指令,对控制指令进行编码,将控制指令发送给医用超声仪器1 ;控制指令包括冻结指令、解冻指令、改变状态指令;医用超声仪器1接收到控制指令之后,对控制指令进行解码,执行控制指令,对图像进行冻结/解冻、在医用超声仪器1上预置参数或改变医用超声仪器1的状态;图像处理智能手机2通过图像处理模块8对图像进行回放、储存和发送等操作。优选上述图像处理软件采用apple公司提供的软件开发工具包(SDK)进行开发其中发送的核心代码如下Il启动SOCKET库,版本为2. 0WSAStartup (0x0202, &wsdata);// 初始化 SOCKETs = WSASocket (AF_INET, S0CK_DGRAM, 0, NULL, 0,WSA_FLAG_OVERLAPPED);H然后赋值给地址,用来从网络上的广播地址接收消息;addrto. sin_family = AF_INET ;addrto. sin_addr. s_addr = INADDR_BROADCAST ;addrto. sin_port = htons(5050);H设置该套接字为广播类型,setsockopt(s,S0L_S0CKET,S0_BR0ADCAST,(char FAR*)&opt,sizeof(opt));H广播数据头IMG+编号格式+数据长度sendto (s,smsg,sizeof (smsg),0,(sockaddr*) &addrto,nlen);H发送压缩格式头//sendto (s, (char) &b i Cmp Ou t, s i ζ eo f (B I TMAP INF0HEADER) ,0, (sockaddr*)&addrto, nlen);
//发送数据int ret = sendto(s,(char*)CmpBuf+Offset,SendSize,0,(sockaddr*)&addrto, nlen);其中接收的核心代码如下Il用UDP初始化套接字s = socket(AF_INET, S0CK_DGRAM,0);H设置该套接字为广播类型,setsockopt(s,S0L_S0CKET,S0_BR0ADCAST, (char氺)&optval, sizeof(optval));H 绑定bind(s, (struct sockaddr氺)&a, sizeof(struct sockaddr_in));Il从广播地址接收消息ret = recvfrom(s, b u f , 2 5 6 , 0 , (struct sockaddr*)&from, (int*)&fromlength);其中显示的核心代码如下//调用纹理显示APIglTexImage2D(GL_TEXTURE_2D,0, GL_LUMINANCE, LinePotNum, DataLineNum,0, GL_LUMINANCE,GL_UNS_IGNED_BYTE,pBuf);H定义纹理控制方式与参数glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_R, GL_CLAMP);glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_ffRAP_S, GL_CLAMP);H绑定纹理glBindTexture (GL_TEXTURE_2D, texname [1]);//送入纹理数据for (int j = DeleteLineNum ; j < = DataLineNum-DeleteLineNum ; j++){glBegin(GL_TRIANGLE_STRIP);for (int i = 1 ;i < PrecisionY-2 ;i++){glTexCoord2f((float)(i)/(PrecisionY-I), (float) (j)/(DataLineNum-I)); glVertex2f((float)(i)/(PrecisionY-I), (float) (j)/(DataLineNum-I));glTexCoord2f((float)(i)/(PrecisionY-I),(float)(j+1)/(DataLineNum-I));glVertex2f((float)(i)/(PrecisionY-I), (float) (j+1)/(DataLineNum-I));}glEndO ;}
7
在其它实施方式中,智能手持设备可以采用其它型号的智能手机或平板电脑,在控制及数据传输流程图上相同,所不同的是不同的智能手机和平板电脑供调用的接口不尽相同,采用厂商提供的软件开发工具包进行开发软件也有所区别。
权利要求
1.一种智能手持设备实时接收控制仪器图像的方法,智能手持设备与仪器构成无线局域网,在智能手持设备上运行一图像处理软件,其特征是通过图像处理软件实现如下操作智能手持设备请求仪器采集图像数据;仪器根据请求采集图像数据,并以无线传输的方式发送图像数据;智能手持设备以无线传输的方式接收仪器发出的图像数据,显示图像并对图像进行处理。
2.如权利要求1所述的实时接收控制仪器图像的方法,其特征是所述图像处理软件包括图像数据采集模块、图像数据接收模块、图像显示模块和图像处理模块;图像数据采集模块包括通过自定义编码的方式设置采集指令,激活采集指令,对采集指令进行编码,将采集指令发送给仪器,请求仪器对图像数据进行采集、发送;图像数据接收模块包括接收仪器发送的图像数据,并判断收到的图像数据是否正确;图像显示模块将被判断为准确的图像数据在智能手持设备上显示出来;图像处理模块包括对图像的回放、储存和发送。
3.如权利要求2所述的实时接收控制仪器图像的方法,其特征是还包括控制模块;控制模块包括通过自定义编码的方式设置控制指令,激活控制指令,对控制指令进行编码,将控制指令发送给仪器;控制指令包括冻结指令、解冻指令、改变状态指令。
4.如权利要求2所述的实时接收控制仪器图像的方法,其特征是还包括初始化模块; 初始化模块包括通过自定义编码的方式设置初始化指令,激活初始化指令,对初始化指令进行编码,将初始化指令发送给仪器。
5.如权利要求2-4任一项所述的实时接收控制仪器图像的方法,其特征是所述采集图像数据是在仪器进行数据扫描变换之前进行采集,在发送图像数据时,在图像数据的后面插入数据扫描变换所需的参数列表,在智能手持设备判断图像数据正确的情况下,依据参数列表对图像数据进行数据扫描变换。
6.如权利要求2-4任一项所述的实时接收控制仪器图像的方法,其特征是在仪器进行图像数据采集完成之后,对图像数据采用霍夫曼编码进行无损数据压缩,相应地在智能手持设备上确定接收到的数据正确后,同样依据霍夫曼原理解压图像数据。
7.如权利要求2-4任一项所述的实时接收控制仪器图像的方法,其特征是所述仪器发送图像数据的方式为广播式。
8.如权利要求2-4任一项所述的实时接收控制仪器图像的方法,其特征是所述判断收到的图像数据是否正确的方法是在仪器上采用对每一帧图像数据进行两次发送,并在图像数据中每相隔1 个字节插入奇偶校验码;在智能手持设备接收图像数据时,比较两次接收到的校验码和图像数据是否完全一致,完全一致的情况下才认为这一帧图像数据是正确的,否则丢弃当前收到的图像数据。
全文摘要
本发明涉及一种智能手持设备实时接收控制仪器图像的方法,智能手持设备与仪器构成无线局域网,在智能手持设备上运行一图像处理软件,其特征是通过图像处理软件实现如下操作智能手持设备请求仪器采集图像数据;仪器根据请求采集图像数据,并以无线传输的方式发送图像数据;智能手持设备以无线传输的方式接收仪器发出的图像数据,显示图像并对图像进行处理。利用智能手持设备强大的处理能力,将一些会增加图像数据的数据量的处理步骤放到智能手持设备上处理,尽量减少图像数据的数据量,通过图像软件设置校验机制,确保智能手持设备与仪器的图像数据传输速度快、传输稳定及传输准确,避免画面出现模糊、色斑、马赛克等问题。
文档编号H04L29/06GK102158467SQ20111002462
公开日2011年8月17日 申请日期2011年1月21日 优先权日2011年1月21日
发明者李德来, 王海潮, 郭境峰 申请人:汕头市超声仪器研究所有限公司