网格背景下绘制波形的方法及系统的制作方法

文档序号:6543532阅读:301来源:国知局
网格背景下绘制波形的方法及系统的制作方法
【专利摘要】本发明提供了一种网格背景下绘制波形的方法及系统,该方法包括:初始化帧缓冲设备;将屏幕缓冲区映射到用户空间;申请网格信息管理空间;绘制网格;绘制新波形。本发明的有益效果是本发明所提供的技术方案是为了避免现有技术的不足之处而提出的一种网格背景下绘制波形的方法及系统。该方法及系统直接对帧缓冲设备(Framebuffer)操作,通过对网格背景数据信息的管理,实现波形绘制/擦除,通过颜色管理机制,解决与其他图像用户界面(GUI)工具冲突,在不影响其他图像用户界面(GUI)显示的情况下,降低中央管理器(CPU)的资源占用率,实现网格背景下绘制波形的效率的提高。
【专利说明】网格背景下绘制波形的方法及系统
【技术领域】
[0001]本发明涉及图像处理领域,尤其涉及网格背景下绘制波形的方法及系统。
【背景技术】
[0002]目前多参数、心电和产科等监护产品中均需实现网格背景下绘制波形的功能。
[0003]现有的图层叠加方案一般采用多图层叠加,即网格、波形和其他图像用户界面(GUI)工具绘制的窗体或者控件在不同的图层绘制,然后用某种机制对图层进行叠加。
[0004]采用硬件方案对图层进行叠加,所需成本和系统复杂性都比较高,监护类仪器的硬件配置一般不高,因此不具有可行性。
[0005]采用软件方案对图层进行叠加,需要拷贝多图层的数据,在每次绘图时,进行复杂的剪切域计算,计算时间长,中央管理器资源消耗较大,小数据量、小区域的波形绘制没有问题,绘制区域扩大或者数据量增大时,受中央管理器硬件限制,波形绘制效率很低,界面操作反应慢。
[0006]还有一种软件方法,基本思想是先绘制网格,绘制波形时波形数据和网格数据或者背景数据进行异或,擦除波形时再次对网格数据或者背景数据进行异或,即可恢复网格或背景色。此方法比较简单,但缺点是绘制波形时,波形和网格交叉的地方颜色异或后变异,显示效果不美观,因此在监护类仪器中一般不采用。(例如Uc⑶I和Linux环境下基于Xorg的⑶I (例如FLTK)提供的图形叠加方案。)

【发明内容】

[0007]为了解决现有技术中的问题,本发明提供了一种网格背景下绘制波形的方法。
[0008]本发明提供了一种网格背景下绘制波形的方法,包括如下步骤:
[0009]A.初始化帧缓冲设备;
[0010]B.将屏幕缓冲区的物理地址映射到用户空间的一段虚拟地址中;
[0011]C.在内存里申请网格信息管理空间:用于根据屏幕缓冲区大小,为所有像素点申
请内存空间,此内存空间的每个像素点与帧缓冲设备中的像素点--对应,用来存储网格
颜色值;
[0012]D.绘制网格;
[0013]E.判断是否获取到波形数据,如是,那么执行步骤F,否则结束绘制;
[0014]F.判断是否为第一屏绘制,若是,那么执行步骤G,否则擦除旧波形;
[0015]G.绘制新波形。
[0016]作为本发明的进一步改进,在所述步骤D中包括如下步骤:
[0017]Dl.计算网格线每个点的坐标以及该坐标在屏幕缓冲区中的地址;
[0018]D2.向该坐标在屏幕缓冲区的地址写入网格色进行网格绘制; [0019]D3.在网格信息管理空间存储对应像素点的网格色信息。
[0020]作为本发明的进一步改进,在所述步骤G中包括如下步骤:[0021]Gl.计算波形数据每个点的坐标以及此坐标在屏幕缓冲区中的地址;
[0022]G2.读取此坐标在屏幕缓冲区地址的颜色值;
[0023]G3.判断是否是网格色或者背景色,若是,那么执行步骤G4,否则结束绘制;
[0024]G4.向坐标对应的地址写入波形色。
[0025]作为本发明的进一步改进,所述擦除旧波形包括如下步骤:
[0026]第一步:计算要擦除的波形每个像素点的坐标以及此坐标在屏幕缓冲区中的地址;
[0027]第二步:读取此坐标在屏幕缓冲区地址的颜色值;
[0028]第三步:判断此颜色值是否为波形色,若是,那么执行第四步骤,否则执行第六步骤;
[0029]第四步:读取此像素点在网格信息管理空间存储的颜色值;
[0030]第五步:判断是否是网格色,若是,那么写入网格色到此屏幕缓冲区,否则写入背景色到此屏幕缓冲区;
[0031]第六步:结束擦除。
[0032]作为本发明的进一步改进,在所述步骤C中,通过颜色编码的方式实现多种网格颜色信息的存储。
[0033]本发明还提供了一种网格背景下绘制波形的系统,包括:
[0034]初始化单元:用于初始化帧缓冲设备;
[0035]映射单元:用于将屏幕缓冲区的物理地址映射到用户空间的一段虚拟地址中;
[0036]申请单元:在内存里申请网格信息管理空间,用于根据屏幕缓冲区大小,为所有像素点申请内存空间,此内存空间的每个像素点与帧缓冲设备中的像素点一一对应,用来存储网格颜色值;
[0037]网络绘制单元:用于绘制网格;
[0038]波形数据获取判断单元:用于判断是否获取到波形数据,如是,那么执行第一屏绘制判断单元,否则结束绘制;
[0039]第一屏绘制判断单元:用于判断是否为第一屏绘制,若是,那么执行波形绘制单元,否则执行旧波形擦除单元;
[0040]波形绘制单元:用于绘制新波形;
[0041]旧波形擦除单元:用于擦除旧波形。
[0042]作为本发明的进一步改进,所述网络绘制单元包括:
[0043]网格线计算模块:用于计算网格线每个点的坐标以及该坐标在屏幕缓冲区中的地址;
[0044]网格色写入模块:用于向该坐标在屏幕缓冲区的地址写入网格色进行网格绘制;
[0045]网格色信息存储模块:用于在网格信息管理空间存储对应像素点的网格色信息。
[0046]作为本发明的进一步改进,在波形绘制单元中包括:
[0047]波形数据计算模块:用于计算波形数据每个点的坐标以及此坐标在屏幕缓冲区中的地址;
[0048]颜色值读取模块:用于读取此坐标在屏幕缓冲区地址的颜色值;
[0049]网格色或者背景色判断单元:用于判断是否是网格色或者背景色,若是,那么执行波形色写入模块,否则结束绘制;
[0050]波形色写入模块:用于向坐标对应的地址写入波形色。
[0051]作为本发明的进一步改进,所述旧波形擦除单元包括:
[0052]擦除波形计算单元:用于计算要擦除的波形每个像素点的坐标以及此坐标在屏幕缓冲区中的地址;
[0053]擦除波形颜色值读取模块:用于读取此坐标在屏幕缓冲区地址的颜色值;
[0054]波形色判断模块:用于判断此颜色值是否为波形色,若是,那么执行像素点颜色值读取模块,否则结束擦除;
[0055]像素点颜色值读取模块:用于读取此像素点在网格信息管理空间存储的颜色值;
[0056]网格色判断模块:用于判断是否是网格色,若是,那么写入网格色到此屏幕缓冲区,否则写入背景色到此屏幕缓冲区。
[0057]作为本发明的进一步改进,在所述申请单元中,通过颜色编码的方式实现多种网格颜色信息的存储。
[0058]本发明的有益效果是:本发明所提供的技术方案是为了避免现有技术的不足之处而提出的一种网格背景下绘制波形的方法及系统。该方法及系统直接对帧缓冲设备(Framebuffer)操作,通过对网格背景数据信息的管理,实现波形绘制/擦除,通过颜色管理机制,解决与其他图像用户界面(GUI)工具冲突,在不影响其他图像用户界面(GUI)显示的情况下,降低中央管理器(CPU)的资源占用率,实现网格背景下绘制波形的效率的提高。【专利附图】

【附图说明】
[0059]图1是本发明的方法流程图。
[0060]图2是本发明的绘制网格步骤方法流程图。
[0061]图3是本发明的绘制波形步骤方法流程图。
[0062]图4是本发明的擦除旧波形步骤方法流程图。
[0063]图5是本发明的硬件原理框图。
【具体实施方式】
[0064]如图1所示,本发明公开了一种网格背景下绘制波形的方法,包括如下步骤:
[0065]在步骤SI中,初始化帧缓冲设备;
[0066]在步骤S2中,将屏幕缓冲区的物理地址映射到用户空间的一段虚拟地址中;
[0067]在步骤S3中,在内存里申请网格信息管理空间:用于根据屏幕缓冲区大小,为所
有像素点申请内存空间,此内存空间的每个像素点与帧缓冲设备中的像素点--对应,用
来存储网格颜色值;
[0068]在步骤S4中,绘制网格;
[0069]在步骤S5中,判断是否获取到波形数据,如是,那么执行步骤S6,否则结束绘制;
[0070]在步骤S6中,判断是否为第一屏绘制,若是,那么执行步骤S7,否则擦除旧波形;
[0071]在步骤S7中,绘制新波形。
[0072]如图2所示,在所述步骤S4中包括如下步骤:
[0073]在步骤S41中,计算网格线每个点的坐标以及该坐标在屏幕缓冲区中的地址;
[0074] 在步骤S42中,向该坐标在屏幕缓冲区的地址写入网格色进行网格绘制;[0075]在步骤S43中,在网格信息管理空间存储对应像素点的网格色信息。
[0076]如图3所示,在所述步骤S7中包括如下步骤:
[0077]在步骤S71中,计算波形数据每个点的坐标以及此坐标在屏幕缓冲区中的地址;
[0078]在步骤S72中,读取此坐标在屏幕缓冲区地址的颜色值;
[0079]在步骤S73中,判断是否是网格色或者背景色,若是,那么执行步骤S74,否则说明有窗体或控件显示在此地址,不更改此地址的颜色值,结束绘制;
[0080]在步骤S74中,向坐标对应的地址写入波形色。
[0081]绘制新数据时,根据显示效果,需要擦除部分旧波形,如图4所示,所述擦除旧波形包括如下步骤:
[0082]在步骤Ql中,计算要擦除的波形每个像素点的坐标以及此坐标在屏幕缓冲区中的地址;
[0083]在步骤Q2中,读取此坐标在屏幕缓冲区地址的颜色值;
[0084]在步骤Q3中,判断此颜色值是否为波形色,若是,那么执行步骤Q4,否则说明有窗体或控件显示在此地,不更改此地址的颜色值,执行步骤Q6 ;
[0085]在步骤Q4中,读取此像素点在网格信息管理空间存储的颜色值;
[0086]在步骤Q5中,判断是否是网格色,若是,那么写入网格色到此屏幕缓冲区,否则写入背景色到此屏幕缓冲区;
[0087]在步骤Q6中,结束擦除。
[0088]如图5所示,本发明的硬件包括数据接收模块101、中央处理模块102、显示模块103。
[0089]数据接收模块101,用于接收需要绘制的波形数据,经过初步处理后,传递到中央处理模块102 ;
[0090]中央处理模块102,用于从显示模块103获取帧缓冲设备(Framebuffer)相关信息,执行步骤S4的绘制网格步骤,根据从模块102获取的波形数据,实现网格背景下波形的绘制和擦除。
[0091]显示模块103,中央处理模块102处理绘制任务后,显示模块显示网格背景下的波形图像。
[0092]下面对本发明的步骤进行详细说明:
[0093]在步骤SI中,帧缓冲设备是Linux为显示设备提供的一个接口,是把显存抽象后的一种设备,帧缓冲设备允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作。初始化帧缓冲包括打开帧缓冲设备对应的设备文件,获取当前显示屏幕的参数,如屏幕分辨率,每个像素点的比特数。根据屏幕参数可计算屏幕缓冲区的大小。设置网格色,背景色和波形色,将绘图区域初始化为背景色。
[0094]在步骤S2中,对于帧缓冲设备,通过映射操作,可将屏幕缓冲区的物理地址映射到用户空间的一段虚拟地址中,通过读写这段虚拟地址访问屏幕缓冲区,进行绘图和图片显不O
[0095]在步骤S3中,为了节省空间,可以用颜色编码的方式来实现多种网格颜色信息的存储。
[0096]在绘制/擦除波形时,通过颜色管理机制,避免与其他图形用户界面(⑶I)工具的帧缓冲设备管理冲突,例如避免波形绘制在弹出的窗体或控件上。所以执行如图3所示的绘制波形步骤。
[0097]网格信息管理空间是内存空间中的一块区域。虚拟地址是计算得到的地址,不占用内存空间。
[0098]本发明还公开了一种网格背景下绘制波形的系统,包括:
[0099]初始化单元:用于初始化帧缓冲设备;
[0100]映射单元:用于将屏幕缓冲区的物理地址映射到用户空间的一段虚拟地址中;
[0101]申请单元:在内存里申请网格信息管理空间,用于根据屏幕缓冲区大小,为所有像素点申请内存空间,此内存空间的每个像素点与帧缓冲设备中的像素点一一对应,用来存储网格颜色值;
[0102]网络绘制单元:用于绘制网格;
[0103]波形数据获取判断单元:用于判断是否获取到波形数据,如是,那么执行第一屏绘制判断单元,否则结束绘制;
[0104]第一屏绘制判断单元:用于判断是否为第一屏绘制,若是,那么执行波形绘制单元,否则执行旧波形擦除单元;
[0105]波形绘制单元:用于绘制新波形;
[0106]旧波形擦除单元:用于擦除旧波形。
[0107]所述网络绘制单元包括:
[0108]网格线计算模块:用于计算网格线每个点的坐标以及该坐标在屏幕缓冲区中的地址;
[0109]网格色写入模块:用于向该坐标在屏幕缓冲区的地址写入网格色进行网格绘制;
[0110]网格色信息存储模块:用于在网格信息管理空间存储对应像素点的网格色信息。
[0111]在波形绘制单元中包括:
[0112]波形数据计算模块:用于计算波形数据每个点的坐标以及此坐标在屏幕缓冲区中的地址;
[0113]颜色值读取模块:用于读取此坐标在屏幕缓冲区地址的颜色值;
[0114]网格色或者背景色判断单元:用于判断是否是网格色或者背景色,若是,那么执行波形色写入模块,否则结束绘制;
[0115]波形色写入模块:用于向坐标对应的地址写入波形色。
[0116]所述旧波形擦除单元包括:
[0117]擦除波形计算单元:用于计算要擦除的波形每个像素点的坐标以及此坐标在屏幕缓冲区中的地址;
[0118]擦除波形颜色值读取模块:用于读取此坐标在屏幕缓冲区地址的颜色值;
[0119]波形色判断模块:用于判断此颜色值是否为波形色,若是,那么执行像素点颜色值读取模块,否则结束擦除;
[0120]像素点颜色值读取模块:用于读取此像素点在网格信息管理空间存储的颜色值;
[0121]网格色判断模块:用于判断是否是网格色,若是,那么写入网格色到此屏幕缓冲区,否则写入背景色到此屏幕缓冲区。
[0122]在所述申请单元中,通过颜色编码的方式实现多种网格颜色信息的存储。[0123]本发明所提供的技术方案是为了避免现有技术的不足之处而提出的一种网格背景下绘制波形的方法及系统。该方法及系统直接对帧缓冲设备(Framebuffer)操作,通过对网格背景数据信息的管理,实现波形绘制/擦除,通过颜色管理机制,解决与其他图像用户界面(GUI)工具冲突,在不影响其他图像用户界面(GUI)显示的情况下,降低中央管理器(CPU)的资源占用率,实现网格背景下绘制波形的效率的提高。
[0124]以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属【技术领域】的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
【权利要求】
1.一种网格背景下绘制波形的方法,其特征在于,包括如下步骤: A.初始化帧缓冲设备; B.将屏幕缓冲区的物理地址映射到用户空间的一段虚拟地址中; C.在内存里申请网格信息管理空间:用于根据屏幕缓冲区大小,为所有像素点申请内存空间,此内存空间的每个像素点与帧缓冲设备中的像素点--对应,用来存储网格颜色值; D.绘制网格; E.判断是否获取到波形数据,如是,那么执行步骤F,否则结束绘制; F.判断是否为第一屏绘制,若是,那么执行步骤G,否则擦除旧波形; G.绘制新波形。
2.根据权利要求1所述的方法,其特征在于,在所述步骤D中包括如下步骤: Dl.计算网格线每个点的坐标以及该坐标在屏幕缓冲区中的地址; D2.向该坐标在屏幕缓冲区的地址写入网格色进行网格绘制; D3.在网格信息管理空间存储对应像素点的网格色信息。
3.根据权利要求1所述的方法,其特征在于,在所述步骤G中包括如下步骤: Gl.计算波形数据每个点的坐标以及此坐标在屏幕缓冲区中的地址; G2.读取此坐标在屏幕缓冲区地址的颜色值; G3.判断是否是网格色或者背景色,若是,那么执行步骤G4,否则结束绘制; G4.向坐标对应的地址写入波形色。
4.根据权利要求1所述的方法,其特征在于,所述擦除旧波形包括如下步骤: 第一步:计算要擦除的波形每个像素点的坐标以及此坐标在屏幕缓冲区中的地址; 第二步:读取此坐标在屏幕缓冲区地址的颜色值; 第三步:判断此颜色值是否为波形色,若是,那么执行第四步骤,否则执行第六步骤; 第四步:读取此像素点在网格信息管理空间存储的颜色值; 第五步:判断是否是网格色,若是,那么写入网格色到此屏幕缓冲区,否则写入背景色到此屏幕缓冲区; 第六步:结束擦除。
5.根据权利要求1所述的方法,其特征在于,在所述步骤C中,通过颜色编码的方式实现多种网格颜色信息的存储。
6.一种网格背景下绘制波形的系统,其特征在于,包括: 初始化单元:用于初始化帧缓冲设备; 映射单元:用于将屏幕缓冲区的物理地址映射到用户空间的一段虚拟地址中; 申请单元:在内存里申请网格信息管理空间,用于根据屏幕缓冲区大小,为所有像素点申请内存空间,此内存空间的每个像素点与帧缓冲设备中的像素点一一对应,用来存储网格颜色值; 网络绘制单元:用于绘制网格; 波形数据获取判断单元:用于判断是否获取到波形数据,如是,那么执行第一屏绘制判断单元,否则结束绘制; 第一屏绘制判断单元:用于判断是否为第一屏绘制,若是,那么执行波形绘制单元,否则执行旧波形擦除单元; 波形绘制单元:用于绘制新波形; 旧波形擦除单元:用于擦除旧波形。
7.根据权利要求6所述的系统,其特征在于,所述网络绘制单元包括: 网格线计算模块:用于计算网格线每个点的坐标以及该坐标在屏幕缓冲区中的地址; 网格色写入模块:用于向该坐标在屏幕缓冲区的地址写入网格色进行网格绘制; 网格色信息存储模块:用于在网格信息管理空间存储对应像素点的网格色信息。
8.根据权利要求6所述的系统,其特征在于,在波形绘制单元中包括: 波形数据计算模块:用于计算波形数据每个点的坐标以及此坐标在屏幕缓冲区中的地址; 颜色值读取模块:用于读取此坐标在屏幕缓冲区地址的颜色值; 网格色或者背景色判断单元:用于判断是否是网格色或者背景色,若是,那么执行波形色写入模块,否则结束绘制; 波形色写入模块:用于向坐标对应的地址写入波形色。
9.根据权利要求6所述的系统,其特征在于,所述旧波形擦除单元包括:擦除波形计算单元:用于计算要擦除的波形每个像素点的坐标以及此坐标在屏幕缓冲区中的地址; 擦除波形颜色值读取模块:用于读取此坐标在屏幕缓冲区地址的颜色值;波形色判断模块:用于判断此颜色值是否为波形色,若是,那么执行像素点颜色值读取模块,否则结束擦除; 像素点颜色值读取模块:用于读取此像素点在网格信息管理空间存储的颜色值; 网格色判断模块:用于判断是否是网格色,若是,那么写入网格色到此屏幕缓冲区,否则写入背景色到此屏幕缓冲区。
10.根据权利要求6所述的系统,其特征在于,在所述申请单元中,通过颜色编码的方式实现多种网格颜色信息的存储。
【文档编号】G06T11/00GK103927770SQ201410145864
【公开日】2014年7月16日 申请日期:2014年4月11日 优先权日:2014年4月11日
【发明者】夏爱军, 邵丽娜 申请人:西安理邦科学仪器有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1