一种可重叠的任意形状稀疏图形快速无闪烁显示方法和装置转让专利

申请号 : CN200710108310.5

文献号 : CN101303849B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 毛胜尧廖科峰

申请人 : 深圳迈瑞生物医疗电子股份有限公司

摘要 :

描述了一种将含有稀疏图的图形元素转换成图形层的方法,包括将各稀疏图对应映射为各稀疏图形层,并且将稀疏图之间的常规图按照自下而上的顺序依次投影到一个投影平面上形成常规图形组合层。还描述了一种用于将可重叠的任意形状稀疏图形进行快速无闪烁显示的方法,包括:将含有待显示稀疏图的图形元素转换成图形层;判断针对待显示稀疏图是进行绘制还是擦除操作,并在擦除稀疏图时,将该对应稀疏图形上的各点设为透明;以及根据待显示稀疏图的形状逐点完成该稀疏图形状对应的点的绘制。此外还描述了上述方法对应的装置。

权利要求 :

1.一种将含有稀疏图的图形元素转换成图形层的方法,所述方法包括将各稀疏图对应映射为各稀疏图形层,其特征在于,所述方法还包括如下步骤:将稀疏图之间的常规图按照自下而上的顺序依次投影到一个投影平面上形成常规图形组合层。

2.如权利要求1所述的方法,其特征在于,所述稀疏图形层可由一个矩阵表达,其行数为显示设备的像素高度,列数为显示设备的像素宽度,每个元素的值含有关于对应位置上的点的数目和像素的颜色值的信息。

3.如权利要求1所述的方法,其特征在于,所述常规图形组合层可由一个矩阵表达,其行数为显示设备的像素高度,列数为显示设备的像素宽度,每个元素的值表示对应位置上的像素的颜色值。

4.一种将含有稀疏图的图形元素转换成图形层的分层装置,所述装置包括将各稀疏图对应映射为各稀疏图形层的模块,其特征在于,所述装置还包括:用于将稀疏图之间的常规图按照自下而上的顺序依次投影到一个投影平面上形成常规图形组合层的模块。

5.如权利要求4所述的装置,其特征在于,所述稀疏图形层可由一个矩阵表达,其行数为显示设备的像素高度,列数为显示设备的像素宽度,每个元素的值含有关于对应位置上的点的数目和像素的颜色值的信息。

6.如权利要求4所述的装置,其特征在于,所述常规图形组合层可由一个矩阵表达,其行数为显示设备的像素高度,列数为显示设备的像素宽度,每个元素的值表示对应位置上的像素的颜色值。

7.一种用于将可重叠的任意形状稀疏图形进行快速无闪烁显示的方法,其特征在于,所述方法包括如下步骤:将含有待显示稀疏图的图形元素转换成图形层,即将各稀疏图对应映射为各稀疏图形层,将稀疏图之间的常规图按照自下而上的顺序依次投影到一个投影平面上形成常规图形组合层;

判断针对待显示稀疏图是进行绘制还是擦除操作,并在擦除稀疏图时,将对应该稀疏图的各点设为透明;以及根据待显示稀疏图的形状逐点完成该稀疏图形状对应的点的绘制。

8.如权利要求7所述的方法,其特征在于,所述根据待显示稀疏图的形状逐点完成该稀疏图形状对应的点的绘制的步骤进一步包括按照以下步骤:取出最上方的图形层的点的颜色值;

判定该点是否透明,并且

在不透明时则用该点颜色绘制从而完成该点绘制,以及

在透明时需要继续判定是否还有图形层,并且

在没有图形层时完成该点绘制,以及

在还有图形层时则取出下一个图形层的该点对应位置上的颜色值,然后转到判定点是否透明,直至完成该点绘制。

9.如权利要求7或8所述的方法,其特征在于,所述稀疏图的形状由点序列表达,其中点序列中每一个点表示图形层该点对应的显示设备坐标处有可见点。

10.如权利要求7或8所述的方法,其特征在于,所述稀疏图形层可由一个矩阵表达,其行数为显示设备的像素高度,列数为显示设备的像素宽度,每个元素的值含有关于对应位置上的点的数目和像素的颜色值的信息。

11.如权利要求7或8所述的方法,其特征在于,所述常规图形组合层可由一个矩阵表达,其行数为显示设备的像素高度,列数为显示设备的像素宽度,每个元素的值表示对应位置上的像素的颜色值。

12.一种用于将可重叠的任意形状稀疏图形进行快速无闪烁显示的装置,其特征在于,所述装置包括:分层模块,用于将含有待显示稀疏图的图形元素转换成图形层,即将各稀疏图对应映射为各稀疏图形层,将稀疏图之间的常规图按照自下而上的顺序依次投影到一个投影平面上形成常规图形组合层;

判断模块,用于判断针对待显示稀疏图是进行绘制还是擦除操作,并在擦除稀疏图时,将对应该稀疏图的各点设为透明;以及绘制模块,用于根据待显示稀疏图的形状逐点完成该稀疏图形状对应的点的绘制。

13.如权利要求12所述的装置,其中所述绘制模块进一步包括:第一取值单元,用于取出最上方的图形层的点的颜色值,

第二取值单元,用于取出下一个图形层的该点对应位置上的颜色值,第一判定单元,用于判定点是否透明,

第二判定单元,用于判定是否还有图形层,以及

颜色绘制单元;

其中,在第一判定单元判定该点不透明时则由颜色绘制单元用该点颜色绘制从而完成该点绘制,以及在透明时由第二判定单元判定是否还有图形层,并且

在没有图形层时完成该点绘制,以及

在还有图形层时则由第二取值单元取出下一个图形层的该点对应位置上的颜色值,然后转到由第一判定单元判定点是否透明,直至完成该点绘制。

14.如权利要求12或13所述的装置,其特征在于,所述稀疏图的形状由点序列表达,其中点序列中每一个点表示图形层该点对应的显示设备坐标处有可见点。

15.如权利要求12或13所述的装置,其特征在于,所述稀疏图形层可由一个矩阵表达,其行数为显示设备的像素高度,列数为显示设备的像素宽度,每个元素的值含有关于对应位置上的点的数目和像素的颜色值的信息。

16.如权利要求12或13所述的装置,其特征在于,所述常规图形组合层可由一个矩阵表达,其行数为显示设备的像素高度,列数为显示设备的像素宽度,每个元素的值表示对应位置上的像素的颜色值。

说明书 :

一种可重叠的任意形状稀疏图形快速无闪烁显示方法和装

技术领域

[0001] 本发明涉及图形显示领域,更具体而言,涉及对于可重叠的任意形状稀疏图形进行快速无闪烁显示的方法和装置。

背景技术

[0002] 对于复杂的嵌入式系统来说,操作界面中的元素众多,而且包括很多非常规形状的图形元素,必须保证这种情况下的正确显示。
[0003] 目前现有的解决方法主要有两种:
[0004] 一种是预先规划图形分层,按照实际需要将不同的图像元素分配到不同的图形层中,在转换成视频信号输出时,遍历每个图形层的内容,合成单一的像素值(灰度或彩色),输出到显示设备上。该方法已经由迈瑞公司获得专利,参见穆乐民的题为“实时波形平滑滚动及与背景图象叠加显示的方法和电路”的专利申请03113847.0。
[0005] 另一种是不对图形分层,所有的图形元素全部按照自下而上的顺序依次绘制到同一个图形层中,但是其中每个稀疏图形的内容变化时,其他位于其上的稀疏图形的重合不分都要依次自下而上重新绘制一遍。
[0006] 预先规划图形层的方法可以解决闪烁的问题,但是它最大的缺点是以此方法实现的系统灵活性较差,一旦显示(例如上下布局)要求发生变化,则需要重新规划设计,用软件的方法实现可以提高灵活性,但是速度比较慢,在通常的嵌入式系统很难取得较快的显示刷新速度(即帧率较低),只有用硬件方法实现图形分层,才可以获得满意的视觉效果,但是提高了制造成本和维护成本。
[0007] 重绘重叠稀疏图的方法,可以方便的利用软件实现,但是这种方法的缺点主要是显示效果和显示速度的矛盾,由于要刷新的稀疏图形之上的稀疏图形必须全部重新刷新一次,因此导致显示效果上的闪烁,即使非常快速的视频存储器刷新速度也难以避免闪烁效果,按照通常的抗闪烁措施,可以使用双缓冲方案,即先在内存中绘制,然后在直接绘制到屏幕上,但是会因此增加绘制时间,在嵌入式系统中可能会导致系统响应性能下降。

发明内容

[0008] 本发明的目的在于提供一种兼具上述两种方法优点而抑制它们各自缺点的替代方法和装置。
[0009] 根据本发明的一个方面,描述了一种将含有稀疏图的图形元素转换成图形层的方法,其中将各稀疏图对应映射为各稀疏图形层,并且将稀疏图之间的常规图按照自下而上的顺序依次投影到一个投影平面上形成常规图形组合层。
[0010] 还描述了一种将含有稀疏图的图形元素转换成图形层的分层装置,其中所述装置包括将各稀疏图对应映射为各稀疏图形层的模块,以及用于将稀疏图之间的常规图按照自下而上的顺序依次投影到一个投影平面上形成常规图形组合层的模块。
[0011] 根据本发明的另一方面,还描述了一种用于将可重叠的任意形状稀疏图形进行快速无闪烁显示的方法,包括如下步骤:将含有待显示稀疏图的图形元素转换成图形层,即将各稀疏图对应映射为各稀疏图形层,将稀疏图之间的常规图按照自下而上的顺序依次投影到一个投影平面上形成常规图形组合层;判断针对待显示稀疏图是进行绘制还是擦除操作,并在擦除稀疏图时,将该对应稀疏图形上的各点设为透明;以及根据待显示稀疏图的形状逐点完成该稀疏图形状对应的点的绘制。
[0012] 其中,所述根据待显示稀疏图的形状逐点完成该稀疏图形状对应的点的绘制的步骤进一步包括按照以下步骤:取出最上方的图形层的点的颜色值;判定该点是否透明,并且在不透明时则用该点颜色绘制从而完成该点绘制,以及在透明时需要继续判定是否还有图形层,并且在没有图形层时完成该点绘制,以及在还有图形层时则取出下一个图形层的该点对应位置上的颜色值,然后转到判定点是否透明,直至完成该点绘制。
[0013] 还描述了一种用于将可重叠的任意形状稀疏图形进行快速无闪烁显示的装置,包括:分层模块,用于将含有待显示稀疏图的图形元素转换成图形层,即将各稀疏图对应映射为各稀疏图形层,将稀疏图之间的常规图按照自下而上的顺序依次投影到一个投影平面上形成常规图形组合层;判断模块,用于判断针对待显示稀疏图是进行绘制还是擦除操作,并在擦除稀疏图时,将该对应稀疏图形上的各点设为透明;以及绘制模块,用于根据待显示稀疏图的形状逐点完成该稀疏图形状对应的点的绘制。
[0014] 其中所述绘制模块进一步包括:第一取值单元,用于取出最上方的图形层的点的颜色值,第二取值单元,用于取出下一个图形层的该点对应位置上的颜色值,第一判定单元,用于判定点是否透明,第二判定单元,用于判定是否还有图形层,以及颜色绘制单元;其中,在第一判定单元判定该点不透明时则由颜色绘制单元用该点颜色绘制从而完成该点绘制,以及在透明时由第二判定单元判定是否还有图形层,并且在没有图形层时完成该点绘制,以及在还有图形层时则由第二取值单元取出下一个图形层的该点对应位置上的颜色值,然后转到由第一判定单元判定点是否透明,直至完成该点绘制。
[0015] 其中,所述稀疏图的形状由点序列表达,其中点序列中每一个点表示图形层该点对应的显示设备坐标处有可见点。所述稀疏图形层可由一个矩阵表达,其行数为显示设备的像素高度,列数为显示设备的像素宽度,每个元素的值含有关于对应位置上的点的数目和像素的颜色值的信息。所述常规图形组合层可由一个矩阵表达,其行数为显示设备的像素高度,列数为显示设备的像素宽度,每个元素的值表示对应位置上的像素的颜色值。
[0016] 本发明提出的方法和装置具有如下特点:
[0017] 1)无闪烁,稀疏图绘制(或擦除)时不会导致其他常规矩形窗口和稀疏图的重绘;
[0018] 2)快速,实现了最少量的绘制,即稀疏图绘制时仅绘制可见的点而不绘制不可见的点、也不绘制不存在的点,减少了绘制开销,擦除时类似;
[0019] 3)无复杂度限制,支持任意数量稀疏图和常规图形元素(主要指矩形)之间的任意重叠关系,可以在设计和运行时任意改变稀疏图和常规图形的数量和层次布局;
[0020] 4)占用资源少,不需要增加昂贵的专用视频存储器和视频处理器的特殊的叠加控制。

附图说明

[0021] 图1说明了将含有稀疏图的图形元素转换成图形的分层方法;
[0022] 图2说明了根据图1所示的方法,将含有稀疏图的图形元素转换成图形层的示例,其中图2a所示为含有稀疏图的图形元素,图2b为转化形成的图形层;
[0023] 图3说明了各图形层的一种矩阵表达格式;
[0024] 图4说明了各图形层的一种点序列表达格式;
[0025] 图5给出了一个完整的图形显示的流程图;
[0026] 图6是图5中对某一个点进行绘制的步骤的详细过程图;
[0027] 图7是一种根据本发明对稀疏图进行显示的装置;
[0028] 图8进一步说明了图7中的绘制模块的组成结构;
[0029] 图9说明了对稀疏图形进行擦除或绘制的示例;以及
[0030] 图10说明了实现本发明的一种基于处理器的装置。

具体实施方式

[0031] 下面将结合附图,通过对实施例的描述来详细说明本发明的方法和装置。
[0032] 根据本发明的一个实施例,图1说明了将含有稀疏图的图形元素转换成图形的分层方法,从步骤102开始,该分层方法包括将各稀疏图本身对应映射从而形成各稀疏图形层的步骤104,以及还包括形成常规图形组合层的步骤106,步骤106是通过将稀疏图之间的常规图按照自下而上的顺序依次投影到一个投影平面上而实现的,上述自下而上的顺序是相对的。通过步骤104和106,完成对众多图形元素的分层,应当理解,步骤104和106的顺序是可以互换的,即该分层方法还可以通过首先按照上述方法形成常规图形组合层,然后形成稀疏图形层来实现。另外,上述投影操作为本领域技术人员所公知的各种投影方法。
[0033] 图2说明了根据图1所示的方法,将含有稀疏图的图形元素(如图2a所示)转换成图形层(图2b所示)的示例。如图2a所示的图形元素中,虚线A和B表示稀疏图形,I-IV表示常规图形窗口。图1b为转换后的图形层模型,其中1-5表示图形层,该模型是一个由一系列互相重叠的图形层组成的塔形结构,其中每个图形层仅由两个相邻的稀疏图形之间的常规矩形窗口的投影组成,稀疏图自身也作为一个图形层。因而,图形层包括两类,一类是稀疏图形成的稀疏图形层,另一类是稀疏图之间的常规图形(其数量可以为一个或多个)投影形成的常规图形组合层。如图所示,稀疏图形A和B分别对应形成第2和第4图形层;常规窗口I和IV分别对应形成第1和第5图形层,在稀疏图形A和B之间的常规窗口II和III则按照自下而上的顺序投影形成第3图形层。依据本发明,第2和4层即为稀疏图形层,而第1、3和5层为常规图形组合层。
[0034] 稀疏图形层可由一个矩阵表达,它的行数为显示设备的像素高度,列数为显示设备的像素宽度,每个元素的值含有关于对应位置上的点的数目和像素的颜色值的信息。其中,所有稀疏图形层的中各像素的颜色值为相同的一个值,也可以为不同的值。
[0035] 常规图形组合层也可由一个矩阵表达,它的行数和列数与稀疏图形组成的图形层一致,但是每个元素的值表示对应位置上的像素的颜色值。
[0036] 在一个实施例中,各图形层(包括稀疏图形层和常规图形组合层)的矩阵格式如图3所示,图中,X(m,n)表示行列平面中(m,n)行列坐标处的点的信息,如颜色值、该点位置上点的数目等。稀疏图形同时使用点序列形式表达形状信息,如图4所示。每一个点(xn,yn)表示图形层中该点对应的显示设备坐标处有可见点,其值表示点的数目。
[0037] 稀疏图形发生改变时,自动更新稀疏图形形成的图形层的内容,方法是每增加一个点,就向点序列中添加一个点的坐标,然后这个坐标在图形层中的X值递增1,表示该坐标处新增了一个点;相反,每删除一个点,先从点序列中删除该点的坐标,然后该点坐标在行列式中的X值递减1,表示该坐标处减少了一个点。
[0038] 稀疏图上方的所有图形层为其遮挡图形层,相反,其下方的所有图形层则为其背景图形层。以图2为例,稀疏图A的遮挡图形层为1,背景图形层为3、4、5,而稀疏图B的遮挡图形层为1、2、3,背景图形层为5。
[0039] 遮挡图形层用来产生遮挡效果,即绘制或者擦除某一点时,当该点坐标对应的遮挡图形层的点透明时,绘制或擦除才实际生效。相应的,背景图形层用来恢复背景,即擦除某一点时,当该点坐标对应的背景图形层的点不透明时,则用该点的颜色作为背景恢复。这样可以用来减少遍历次数,加快绘制或擦除速度。
[0040] 本发明占用了一个特定的颜色编码,用于表示“透明”,该颜色编码表示不产生遮挡效果。在擦除时只需将需要擦除的稀疏图层的对应点设置为“透明”,则可以完全按照绘制时的操作步骤进行。
[0041] 图5给出了一个完整的图形显示的流程图,图形显示从502开始,首先进行图形分层504,然后在步骤506处判断是对稀疏图进行绘制还是擦除,如是绘制,则直接进行到步骤510,若是擦除则在步骤508处将该待擦除层上的各点设为透明继而转到步骤510,在步骤510处,取待显示的点位置,并在步骤512处对该点进行绘制,继而在步骤514处,判断该已绘制点是是否为稀疏图上最后的一个待显示点,若判断结果为否则转到步骤510,取下一个待显示点,若判断结果为是则图像显示过程结束。
[0042] 其中,步骤510的取待显示点的步骤是根据稀疏图的形状逐个得出其需要进行绘制的点的坐标的,其中稀疏图的形状由点序列形式定义。
[0043] 图6是对某一个点进行绘制的步骤(即图5中步骤512)的详细过程图。该流程从步骤602开始,在步骤604,取出最上方的图形层的点的颜色值,然后在步骤606判定点是否透明:如果该点不透明,则转到步骤610,用该点颜色进行绘制并完成对该点的绘制(即转到614);如果该点透明,则需要在步骤608处继续判定是否还有图形层,并且在没有图形层时完成该点绘制(即转到步骤614),以及在还有图形层时则取出下一个图形层的该点对应位置上的颜色值(612),然后转到判定点是否透明的步骤606继续重复该步骤,直至完成该点绘制(614)。
[0044] 图7是一种根据本发明对稀疏图进行显示的装置,包括分层模块702,判断模块704以及绘制模块706。其中,分层模块702用于将含有待显示稀疏图的图形元素转换成图形层,即将各稀疏图对应映射为各稀疏图形层,将稀疏图之间的常规图按照自下而上的顺序依次投影到一个投影平面上形成常规图形组合层;判断模块704用于判断针对待显示稀疏图是进行绘制还是擦除操作,并在擦除稀疏图时,将该对应稀疏图形上的各点设为透明;
以及绘制模块706用于根据待显示稀疏图的形状逐点完成该稀疏图形状对应的点的绘制。
[0045] 图8进一步说明了绘制模块的组成结构,其包括:第一取值单元802,用于取出最上方的图形层的点的颜色值;第二取值单元808,用于取出下一个图形层的该点对应位置上的颜色值;第一判定单元804,用于判定点是否透明;第二判定单元806,用于判定是否还有图形层;以及颜色绘制单元810。其中,在第一判定单元804判定该点不透明时则由颜色绘制单元810用该点颜色绘制从而完成该点绘制,以及在透明时由第二判定单元806判定是否还有图形层,并且在没有图形层时完成该点绘制,以及在还有图形层时则由第二取值单元808取出下一个图形层的该点对应位置上的颜色值,然后转到由第一判定单元804判定点是否透明,直至完成该点绘制。
[0046] 图9给出了对稀疏图形进行擦除或绘制的示例,其中,上图表示一个图形层模型的截面图(X或者Y方向),中图和下图表示图形输出设备上的一行或一列,假定图形层模型的第2层是稀疏图。其中,空白颜色的小方格代表该点透明,其他非透明的小方格代表具有不同颜色值的图层上的点。对稀疏图进行绘制或擦除的过程相似,区别仅仅在于,在进行擦除操作时,需将需要擦除的稀疏图层的对应点设置为“透明”,然后逐点进行绘制即可。
[0047] 图10说明了实现本发明的一种基于处理器的装置,其可根据上述方法完成对可重叠的任意形状稀疏图形进行快速无闪烁显示,从而实现本发明的目的。如图所示,该装置通常包括处理器1002、图形显示装置1004、存储器1006、I/O装置1008以及总线1010等。该装置的上述各单元通过总线1010进行通信,例如处理器1002可以经过总线1010从存储器中存取数据(如按照上述方法完成的计算机代码)。处理器1002的例子包括图形处理器GPU、微处理器等。存储器包括随机访问存储器(RAM)以及可拆卸的存储器,如硬盘、光盘、闪存等,其中任何一个都可存储用于实现上述方法的软件。I/O装置1008是输入输出的接口,图形显示装置1004用来显示稀疏图绘制的结果,如CRT、LCD和打印机等。
[0048] 以上根据具体的实施例描述了本发明,本发明除了应用于嵌入式系统以外,也可用于所有非嵌入式的计算机系统(包括桌面计算机、服务器等)。应当理解上述具体的实施例是说明性的而非限制性的,本发明的保护范围由所附的权利要求书而限定。