多屏合成显示装置及方法

文档序号:2611306阅读:161来源:国知局
专利名称:多屏合成显示装置及方法
技术领域
本发明涉及一种将多屏的显示数据合成后显示在同一个显示屏上的显示装置及方法。
背景技术
很多电子设备都有人机显示界面,由软硬件配合在显示终端(如CRT(阴极射线管)或LCD(液晶显示)等)上显示的各种数据、曲线、图形、图像等等。通常的显示技术把显示终端映射到一个二维数组(对应的物理器件称为显示存储器,简称显存),显示终端上的每一个象素映射到这个二维数组的一个单元,这个单元的值是它对应象素的颜色代码,象素的纵坐标和横坐标就是二维数组的两个下标。即显示终端上坐标为(x,y)的象素映射到二维数组的单元A(x,y)。系统根据所需显示的图形计算二维数组的值并将其写入显存中的对应位置,显示驱动电路读取显存中的内容并将其还原成点阵信息最终在显示终端上把图形显示出来。窗口是指在显示终端上开辟一定区域来显示的特定内容,例如菜单、对话框、图表、图像等等。窗口对应于存放在显存内对应位置的一组显示数据,窗口的显示即相当于把窗口显示数据写入其在显存中的对应位置。
在以上显示体系中,显示终端和显存是一一对应的关系,显示界面的所有更新都对应于更新显存中显示数据的操作。当遇到某些窗口频繁地打开或关闭时,就意味着频繁地往显存写入显示数据,因而对显存接口的带宽提出了较高的要求。而实际上这一系列写显存的操作中有很多是多余的。例如,显示终端上经常要显示菜单或者对话框等,用户输入指令后还会叠加出现下一级菜单、对话框,当输入某些指令后,菜单或者对话框逐级消失,显示终端上依次恢复为原来的内容。以上显示终端上的变化过程对应的物理操作是依次把菜单或者对话框的显示数据写入显存,当某一级菜单或者对话框消失时,则把被它们覆盖的显示数据再重新写入显存。因为弹出菜单或者对话框时,显示终端上被它们覆盖的部分并未改变,当菜单或者对话框消失后,将原有内容重新写入显然是不必要的操作。这就导致显示窗口类界面元素时效率不高,需要消耗额外的处理资源和显存接口带宽。对于台式计算机这类设备来说,CPU处理能力和显存接口带宽都足够高,这部分消耗可以忽略不计。但对于大多数资源有限的嵌入式系统来说,增加CPU处理能力和提高显存接口带宽都意味着付出高昂的成本。

发明内容本发明的主要目的就是为了解决现有技术的问题,提供一种多屏合成显示装置及方法,在显示一级或多级窗口时,消耗的处理资源和显示带宽比较低,在不增加处理负担和显存接口带宽的前提下实现显示窗口类界面元素,使各种具有显示功能的电子设备提高性能和降低成本。
为实现上述目的,本发明公开了一种多屏合成显示装置,包括逻辑屏映射模块,用于将需要在显示终端显示的所有窗口的显示数据映射到至少一个逻辑屏;显存,用于存储逻辑屏;窗口寄存器,设定有优先级别,按照优先级别与显示终端显示的相应窗口一一对应,并存储所对应窗口的位置坐标及该窗口对应逻辑屏的编号;逻辑屏合成模块,用于根据当前扫描像素的位置坐标值,查找出包含当前扫描象素位置的有效窗口寄存器作为候选窗口寄存器,在候选窗口寄存器中,查找出优先级别最高的窗口寄存器作为选中窗口寄存器,读取选中窗口寄存器所对应的逻辑屏中与当前像素相对应的显示数据并输出;显示驱动电路,用于接收合成模块输出的显示数据,并将其映射到显示终端的当前扫描像素上。
所述窗口寄存器设有使能位,用于在需要打开窗口、使该窗口有效时,将该窗口所对应的寄存器的使能位有效,当需要关掉该窗口、使该窗口无效时,将该窗口所对应的寄存器的使能位无效。
为实现上述目的,本发明还公开了一种多屏合成显示方法,包括窗口映射步骤和窗口合成显示步骤,所述窗口映射步骤包括以下步骤A1、将需要在显示终端显示的所有窗口的显示数据映射到至少一个逻辑屏,并将逻辑屏存储在显存中;B1、按照窗口寄存器的优先级别,将窗口寄存器与显示终端显示的相应窗口一一对应,并将窗口的位置坐标及其对应逻辑屏的编号存储在与该窗口相对应的窗口寄存器中;所述窗口合成显示步骤包括以下步骤C1、接收当前扫描像素的位置坐标值;D1、根据当前扫描像素的位置坐标值,查找出包含当前扫描象素位置的有效窗口寄存器作为候选窗口寄存器;
E1、在候选窗口寄存器中,查找出优先级别最高的窗口寄存器作为选中窗口寄存器;F1、读取选中窗口寄存器所对应的逻辑屏中与当前像素相对应的显示数据并输出到显示终端。
其中,所述步骤A1还进一步包括以下步骤将叠加窗口中各个窗口的显示数据映射到与各窗口对应的不同逻辑屏。
步骤B1中所述的窗口寄存器设有使能位,当需要打开窗口、使该窗口有效时,将该窗口所对应的寄存器的使能位有效,使该窗口参与窗口合成显示步骤,当需要关掉该窗口、使该窗口无效时,将该窗口所对应的寄存器的使能位无效,使该窗口不参与窗口合成显示步骤。
其中,将窗口与窗口寄存器对应时还可以包括以下步骤B11、事先设定窗口寄存器的优先级别;B12、将覆盖其它窗口的窗口对应优先级别高的窗口寄存器,将被覆盖的窗口对应优先级别低的窗口寄存器。
在合成过程中,当所有有效窗口中都不包含当前扫描像素位置时,读取显示背景所对应的逻辑屏中与当前像素相对应的显示数据并输出到显示终端。
本发明的有益效果是本发明将物理上的显示终端映射为多个逻辑上的屏,各种界面元素的显示被映射为写入不同的逻辑屏,显示窗口类界面元素时,不同的窗口可以被写入相同或不同的逻辑屏,不同的窗口对应不同优先级的寄存器,多个逻辑屏的显示数据按照一定的叠加规则合成为最终的显示界面在物理终端上显示,通过改变合成的方式即可实现窗口的弹出、关闭或者切换等操作。窗口变换时不需要重复写入显示数据,这样就减轻了CPU处理显示任务的负担和写显存占用的带宽,同时读取显存数据时也无需读取所有的逻辑屏数据,而是根据窗口叠加规则只读取像素所对应的逻辑屏的数据,也就是说读显存的占用的带宽并没有增加,从而使各种具有显示功能的电子设备提高了CPU处理其它任务的处理速度、提高了显示效率和降低了显示成本。
本发明的特征及优点将通过实施例结合附图进行详细说明。

图1是现有技术中的一种显示示意图;图2是本发明的原理方框图3是本发明多级窗口叠加显示的示意图;图4是本发明多级窗口切换示意图;图5是本发明的一种实施例的逻辑屏合成流程图。
具体实施方式

本方案的原理框图如图2所示。显示终端上可能显示有多个窗口,需要在显示终端上显示的窗口通过逻辑屏映射模块3映射到显存4内的一个或多个逻辑上独立的块,这些独立的块称为逻辑屏,例如称为逻辑屏0~n。当窗口有重叠部分时,将重叠的每一个窗口的显示数据映射到一个逻辑屏,例如有三个窗口重叠时,则映射三个逻辑屏,使重叠窗口与逻辑屏一一对应。当显示终端有多个显示窗口且这些窗口不重叠时,这些窗口可以映射到一个逻辑屏,也可以映射到多个逻辑屏。逻辑屏映射模块3可以为CPU,通过嵌入CPU内的程序实现,也可以通过硬件实现。假如显示终端是一个分辨率为1280×1024的设备,显示数据字长为16bit,则逻辑屏0~n对应于在显存6内分配n+1个1280×1024字的区域分别存放其显示数据。再为每个需要在显示终端显示的窗口定义一组窗口寄存器,即显示窗口与窗口寄存器一一对应,该窗口寄存器可事先设定优先级别,根据窗口寄存器的优先级别,使窗口寄存器与相应窗口对应。窗口寄存器也可以是其它形式的存储器。将窗口位置坐标和窗口对应逻辑屏的编号写入该窗口对应的寄存器中。显示驱动电路4并非将单一逻辑屏上的数据直接映射到显示终端7,而是通过逻辑屏合成模块5依据一定的规则取出各逻辑屏的数据并将其合成为最终的结果再映射到显示终端7上。其中逻辑屏合成模块5可以为FPGA(FieldProgrammable Gate-Array现场可编程门阵列)或者ASIC(ApplicationSpecific Integrate Circuit专用集成电路)。
每组窗口寄存器的定义如表1所示。
表1
x0,y0,x1,y1分别为窗口左上角和右下角的横、纵坐标,这一组坐标值描述了该窗口在显示终端上的物理位置,称为确定窗口大小和位置的窗口位置坐标。SID表示窗口所对应的逻辑屏编号,即该窗口的显示数据存放在哪一个逻辑屏。由x0,y0,x1,y1和SID即可算出显存内存放窗口显示数据的地址。因各个逻辑屏到显示终端是一一映射的关系,x0,y0,x1,y1确定了显示终端上该窗口的唯一位置,SID确定哪一个逻辑屏,将它们逆向映射就能算出该窗口对应哪个逻辑屏的哪些数据。使能位En是窗口有效标志,将使能位En置‘1’表示该窗口有效,将其清‘0’表示该窗口无效。窗口寄存器以ID作为标识,比如窗口寄存器0~窗口寄存器m。规定窗口寄存器0具有最低优先级,往后依次递增,窗口寄存器m具有最高优先级,寄存器的优先级别可事先设定。当窗口的位置发生重叠时,规定重叠区域内覆盖其他窗口的窗口的优先级别高于被覆盖窗口的优先级别,高优先级窗口寄存器对应的窗口覆盖低优先级窗口寄存器对应的窗口。根据显示需要将各个窗口与不同优先级别的窗口寄存器相对应。需要显示窗口时,CPU将窗口的显示数据写入对应的逻辑屏,存储在显存中,并根据该窗口的优先级为其分配一个对应的窗口寄存器,将该窗口的坐标和逻辑屏的编号写入该窗口对应的寄存器,同时使寄存器的使能位En有效,逻辑屏合成模块即将该窗口的内容映射到显示终端上显示出来。关闭窗口只需要修改寄存器的使能位En使之无效,逻辑屏合成模块即改变映射方式,使窗口内容在显示终端上消失。当多个窗口叠加时,各个窗口的内容只需要一次性写入不同的逻辑屏,并将窗口位置坐标和逻辑屏的编号存入相应优先级的寄存器,通过对各窗口寄存器进行调度管理,就可以实现各级窗口的嵌套显示,当窗口关闭时也无需重新绘制其所遮盖的区域。
如图3所示是多级窗口叠加显示的示意图。窗口0映射到逻辑屏a,窗口0的显示数据被写入逻辑屏a,假设将窗口0对应窗口寄存器0(这里的0表示窗口寄存器的标识,表示寄存器的优先级别,以下的窗口寄存器1和窗口寄存器2也是同样意思。),设置窗口寄存器0的x0,y0,x1,y1和SID后,有效使能位En,则窗口0的内容在显示终端上出现。窗口1映射到逻辑屏b,窗口1的显示数据被写入逻辑屏b,假设将窗口1对应窗口寄存器1。因为窗口0和窗口1被写入了不同的逻辑屏,所以二者位置重叠时可以互不影响。窗口0所对应的窗口寄存器0的优先级比窗口1所对应的窗口寄存器1的优先级低,有效窗口寄存器1的使能位En后,窗口1的内容也被映射到显示终端,根据叠加规则,优先级高的窗口1在重叠区域覆盖在窗口0上面。关闭窗口1时,只需要将窗口寄存器1的使能位En清0,其内容就会在显示终端上消失,这个过程中无需重新绘制窗口0被遮盖的部分。如果要将窗口0切换到窗口1的顶部,只需要将窗口寄存器0内容复制到优先级更高的窗口寄存器2,窗口0的内容就会覆盖到窗口1的顶部,如图4所示。如上所述,对窗口寄存器进行调度管理,就可以灵活地实现多级窗口的嵌套显示。在同一区域可重叠的窗口数量,取决于逻辑屏的数量,n个逻辑屏可以实现n个窗口的叠加。
逻辑屏的合成由硬件完成,即通过逻辑屏合成模块完成。各种显示终端都是以扫描的方式,根据一定时序把各个象素在屏幕上点亮来完成显示功能的。逻辑屏合成模块配合显示时序,把从各个逻辑屏取得的数据映射为显示终端的象素。虽然定义了多达n+1个逻辑屏,但是并不需要把所有的逻辑屏数据都从显存中读出再作合成,而可以仅取出施加窗口优先级规则后象素所唯一对应的那个逻辑屏的数据。具体的逻辑屏合成流程图如图5所示。包括以下步骤在步骤10,开始扫描像素,然后执行步骤11;在步骤11,检测当前像素(x,y),同时检测当前像素的坐标值(x,y)位于哪些有效窗口内,所述有效窗口是指需要在显示终端打开的窗口,该窗口所对应的窗口寄存器的使能位有效。具体检测方法是将像素(x,y)的横坐标x和寄存器中所写入的窗口坐标的x0、x1比较,将像素(x,y)的纵坐标y和寄存器中所写入的窗口坐标的y0、y1比较,如果满足x0≤x≤x1且y0≤y≤y1,则当前像素的坐标值(x,y)位于该窗口寄存器所对应的窗口内,或者说,该窗口寄存器包含当前像素的坐标值(x,y),将这些窗口寄存器中的有效窗口寄存器称为候选窗口寄存器。这可以通过两种方法来检测,一种方法是,将当前像素的坐标(x,y)与所有窗口寄存器中写入的窗口位置坐标比较。无论窗口寄存器有效与否都根据窗口坐标输出检测结果,但是只有有效的窗口寄存器才作为候选窗口寄存器,其结果参与步骤12的优先级排序。另一种方法是,先检测窗口寄存器的使能位En是否有效,如果有效,才将当前像素的坐标(x,y)与该窗口寄存器中写入的窗口位置坐标比较,如果无效,则继续检测下一个寄存器。然后执行步骤12;在步骤12,在候选窗口寄存器中查找出优先级别最高的窗口寄存器作为选中窗口寄存器,这是通过指定各窗口寄存器的优先级来确定的。窗口叠加规则规定高优先级窗口寄存器对应的窗口覆盖低优先级窗口寄存器对应的窗口,根据所有窗口对(x,y)的检测结果,可以确定显示终端上象素(x,y)应该位于包含该象素并且有效的优先级最高的窗口寄存器(假定为窗口寄存器s)。然后执行步骤13;在步骤13,根据选中窗口寄存器指定的SID(假定为逻辑屏r),从显存中读出对应的逻辑屏中的显示数据Ar(x,y),然后执行步骤14;在步骤14,将显示数据Ar(x,y)映射到显示终端象素(x,y)显示,然后执行步骤15,象素(x,y)显示完毕后,重复执行以上步骤开始扫描下一个象素。
对于所有有效的窗口都不包含象素(x,y)的情况,显示终端显示背景显示数据。将背景显示数据映射到指定的某一逻辑屏,即将该逻辑屏(例如逻辑屏0)的数据作为背景,在所有有效的窗口都不包含象素(x,y)时,直接读取显示背景所对应的逻辑屏中与当前象素(x,y)对应的显示数据映射到显示终端。
在本发明中,多级窗口的显示对应于往不同逻辑屏的写显存操作,各种灵活的窗口叠加方式对应于软件对窗口寄存器的管理。窗口切换时不需要重复写入显示数据,这样就减轻了CPU处理显示任务的负担和写显存占用的带宽。读取显存数据时也无需读取所有的逻辑屏数据,而是根据窗口叠加规则只读取象素所对应的逻辑屏的数据,也就是说读显存的占用的带宽并没有增加。所花费的代价仅仅是显存的容量增加了,而这通常并不会带来成本的增加。例如显示终端分辨率为1280×1024,显示数据字长为16bit时,只定义一个逻辑屏需要2.5MB的存储空间,扩展到4个逻辑屏需要10MB的存储空间。现在半导体技术的飞速发展已经使单位存储器的价格变得非常便宜,比如市面上的DDR SDRAM(双倍数据率同步动态随机存储器)最小容量为16MB,从使用其中的2.5MB扩展到10MB并不需要付出额外的费用。
权利要求
1.一种多屏合成显示装置,其特征在于包括逻辑屏映射模块,用于将需要在显示终端显示的所有窗口的显示数据映射到至少一个逻辑屏;显存,用于存储逻辑屏;窗口寄存器,设定有优先级别,按照优先级别与显示终端显示的相应窗口一一对应,并存储所对应窗口的位置坐标及该窗口对应逻辑屏的编号;逻辑屏合成模块,用于根据当前扫描像素的位置坐标值,查找出包含当前扫描象素位置的有效窗口寄存器作为候选窗口寄存器,在候选窗口寄存器中,查找出优先级别最高的窗口寄存器作为选中窗口寄存器,读取选中窗口寄存器所对应的逻辑屏中与当前像素相对应的显示数据并输出;显示驱动电路,用于接收合成模块输出的显示数据,并将其映射到显示终端的当前扫描像素上。
2.如权利要求1所述的多屏合成显示装置,其特征在于所述窗口寄存器设有使能位,用于在需要打开窗口、使该窗口有效时,将该窗口所对应的寄存器的使能位有效,当需要关掉该窗口、使该窗口无效时,将该窗口所对应的寄存器的使能位无效。
3.一种多屏合成显示方法,其特征在于包括窗口映射步骤和窗口合成显示步骤,所述窗口映射步骤包括以下步骤A1、将需要在显示终端显示的所有窗口的显示数据映射到至少一个逻辑屏,并将逻辑屏存储在显存中;B1、按照窗口寄存器的优先级别,将窗口寄存器与显示终端显示的相应窗口一一对应,并将窗口的位置坐标及其对应逻辑屏的编号存储在与该窗口相对应的窗口寄存器中;所述窗口合成显示步骤包括以下步骤C1、接收当前扫描像素的位置坐标值;D1、根据当前扫描像素的位置坐标值,查找出包含当前扫描象素位置的有效窗口寄存器作为候选窗口寄存器;E1、在候选窗口寄存器中,查找出优先级别最高的窗口寄存器作为选中窗口寄存器;F1、读取选中窗口寄存器所对应的逻辑屏中与当前像素相对应的显示数据并输出到显示终端。
4.如权利要求3所述的多屏合成显示方法,其特征在于所述步骤A1还包括以下步骤将叠加窗口中各个窗口的显示数据映射到与各窗口对应的不同逻辑屏。
5.如权利要求3或4所述的多屏合成显示方法,其特征在于步骤B1中所述的窗口寄存器设有使能位,当需要打开窗口、使该窗口有效时,将该窗口所对应的寄存器的使能位有效,使该窗口参与窗口合成显示步骤,当需要关掉该窗口、使该窗口无效时,将该窗口所对应的寄存器的使能位无效,使该窗口不参与窗口合成显示步骤。
6.如权利要求5所述的多屏合成显示方法,其特征在于还包括以下步骤B11、事先设定窗口寄存器的优先级别;B12、将覆盖其它窗口的窗口对应优先级别高的窗口寄存器,将被覆盖的窗口对应优先级别低的窗口寄存器。
7.如权利要求6所述的多屏合成显示方法,其特征在于当所有有效窗口中都不包含当前扫描像素位置时,读取显示背景所对应的逻辑屏中与当前像素相对应的显示数据并输出到显示终端。
全文摘要
本发明公开了一种多屏合成显示装置及方法,将需要在显示终端显示的所有窗口的显示数据映射到至少一个逻辑屏并存储在显存中;按照窗口寄存器的优先级别,将窗口寄存器与窗口一一对应,并将窗口的位置坐标及逻辑屏的编号存储在窗口寄存器中;根据当前扫描像素的位置坐标值,查找出优先级别最高的窗口寄存器作为选中窗口寄存器;读取选中窗口寄存器所对应的逻辑屏中与当前像素相对应的显示数据并输出到显示终端。本发明使窗口切换时不需要重复写入显示数据,这样就减轻了CPU处理显示任务的负担和写显存占用的带宽,同时读显存的占用的带宽并没有增加,从而使各种具有显示功能的电子设备提高了显示的效率和降低了显示成本。
文档编号G09G5/36GK101038737SQ20061003449
公开日2007年9月19日 申请日期2006年3月15日 优先权日2006年3月15日
发明者陈巍, 姚力 申请人:深圳迈瑞生物医疗电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1