一种电子纸屏幕的刷新控制方法及系统
技术领域
本发明属于屏幕显示技术领域,具体涉及一种电子纸屏幕的刷新控制方法及系统,特别适用于使用电子纸屏幕作为显示输出的电子产品中。
背景技术
目前,一种称为电子纸的显示屏越来越多的受到市场的关注。这种电子纸或者称为类纸显示屏的最大特点是显示效果跟纸类似,例如不闪烁、视角大、对比度高、耗电少、显示输出后可以保持图像而不再需要电源等。电子纸屏幕可以多次输出,并且每次都可以静态保持输出后的图象。
因为电子纸屏幕的这些特点,所以它非常适合于电子书阅读,并且有希望取代传统的纸张,比如现在市场上出现了许多使用电子纸屏幕作为显示输出的电子书终端。但是电子纸屏幕也有相当大的不足,比较突出的问题是显示残影问题和闪烁问题。
显示残影问题是因为电子纸显示屏的技术缺陷,导致上一个屏幕输出的内容在下一个屏幕输出的时候不能完全清除,会保留部分残影。这种残影,会不断积累,最后导致在电子纸屏幕“越来越脏”,这些“脏东西”就是历次显示输出的残影。闪烁问题是在电子纸屏幕清屏刷新时,从效果上看相当于各作了一次全白和全黑的输出,这便引起了闪烁。
电子纸屏幕的刷新方式可以分为全屏刷新和局部刷新,清屏刷新和非清屏刷新等。全屏刷新是指对电子纸屏幕的整个显示区域进行刷新,局部刷新是指对电子纸屏幕的局部区域进行刷新。清屏刷新方式(Gray Clear,简称GC方式)是指在刷新区域内所有的像素都重新输出,在输出之前,先对刷新区域进行一次清屏操作。非清屏刷新方式(Gray Update,简称GU方式)在数据输出之前不单独进行清屏操作,只输出与上次输出比较发生变化的像素。GC方式可以消除大部分屏幕残影,但屏幕闪烁明显。GU方式会引起屏幕残影问题,但屏幕不闪烁。此外,根据电子纸屏幕可以显示的灰度级(色阶),刷新方式还可以分为2阶刷新、4阶刷新和16阶刷新等方式,包括2阶GC刷新方式(简称GC2)、4阶GC方式(简称GC4)、16阶GC方式(简称GC16)、2阶GU方式(简称GU2)、4阶GU方式(简称GU4)和16阶GU方式(简称GU16)。GC和GU两种方式的刷新时间相同,但显示灰度级别越高,刷新速度越慢。
中国专利申请(公开号:CN 101290746A,公开日:2008年10月22日)公开了一种电子纸屏幕的图像更新方法,该方法首先计算出屏幕变化的区域,然后根据屏幕变化的区域选择全屏更新或部分更新方式。计算屏幕变化的区域采用了一种将屏幕和图像划分成小区域,通过比较小区域的变化情况来确定屏幕的变化区域。这种方式可以提高计算屏幕变化区域的效率,但刷新方式比较局限,要么全屏刷新,要么部分刷新,没有涉及清屏刷新或非清屏刷新,以及根据输出数据的色阶选择刷新方式,无法解决屏幕残影问题和闪烁问题,以及刷新的速度问题。
电子纸屏幕与TFT真彩屏相比刷新速度较慢,无法实现屏幕局部实时刷新,即屏幕局部数据更新到显存的同时也马上更新到屏幕上。在电子纸屏幕上进行局部输出的时候,一个区域输出还没结束的时候,不能对另一个区域进行输出,因此,为了加快数据输出的速度,需要将数据集中到一起,然后统一一次性输出。电子纸屏幕的这个缺陷导致控制屏幕上不同区域的各个应用程序很难做到互不干扰的各自主动输出。同时需要在屏幕上输出数据的软件有多种多样,例如桌面系统和在桌面系统上运行的各种上层应用程序等。在现有产品中,大多采用统一输出的方法来解决这个问题。统一输出的方法是指将所有上层应用程序、桌面系统、GUI、显示驱动做成一个统一的整体软件,由一个业务逻辑来控制电子纸屏幕的输出。这种方法可以解决屏幕局部区域显示输出冲突的问题,但是也抹杀了上层应用程序之间的独立性,不能实现多应用程序互不干扰的运行,使得软件维护困难,扩展性差。
发明内容
针对现有技术中存在的缺陷,本发明的目的是提供一种电子纸屏幕的刷新控制方法及系统。该方法及系统能够使得采用电子屏幕纸作为显示输出的电子产品中,底层的屏幕刷新程序独立于上层的应用程序,使上层应用程序扩展方便,整体系统维护简单。
为了实现上述目的,本发明采用的技术方案如下:
一种电子纸屏幕的刷新控制方法,该方法将待输出到电子纸屏幕的数据先缓存到存储器I中,当存储器I中数据输出到电子纸屏幕后,将存储器I中数据备份到存储器II中;
定时比较存储器I和存储器II中的数据,如果存储器I中数据发生变化,则根据存储器I中数据刷新电子纸屏幕。
如上所述的电子纸屏幕的刷新控制方法,其中,定时比较存储器I和存储器II中数据的时间间隔可以根据下列条件动态改变:恢复定时时间间隔到最短的条件,延长定时时间间隔的条件,和设定定时时间间隔为0的条件。
如上所述的电子纸屏幕的刷新控制方法,其中,恢复定时时间间隔到最短的条件包括电子纸屏幕显示输出、按键和网络中断。
如上所述的电子纸屏幕的刷新控制方法,其中,在每次比较存储器I和存储器II中数据时,如果存储器I中数据没有发生变化,则时间间隔逐步变长。
如上所述的电子纸屏幕的刷新控制方法,其中,当检测到强制输出事件或者检测到存储器I写事件时,时间间隔为0。
如上所述的电子纸屏幕的刷新控制方法,其中,比较存储器I和存储器II中的数据是否发生变化的具体过程为:依次比较存储器I和存储器II中数据位置相对应像素的值是否相同,如果位置相对应的每个像素的值均相同,则存储器I中数据没有发生变化;否则,存储器I中数据发生了变化。
如上所述的电子纸屏幕的刷新控制方法,其中,当存储器I中数据发生变化时,先确定变化像素的位置,通过变化像素的位置确定包含所有变化像素的最小矩形区域,将该区域作为刷新区域;然后,计算变化像素个数与刷新区域包含像素总个数的比例,如果该比例超过预设差异阈值,则采用清屏刷新方式对刷新区域进行刷新;否则采用非清屏刷新方式对刷新区域进行刷新。
如上所述的电子纸屏幕的刷新控制方法,其中,当存储器I中数据发生变化时,计算变化像素个数与电子纸屏幕包含像素总个数的比例,如果该比例超过预设差异阈值,则采用清屏刷新方式对整个电子纸屏幕进行刷新;否则采用非清屏刷新方式对电子纸屏幕进行刷新。
如上所述的电子纸屏幕的刷新控制方法,其中,在比较存储器I和存储器II中数据的同时,获得色阶,根据色阶选择相应阶的清屏或者非清屏刷新方式。
如上所述的电子纸屏幕的刷新控制方法,其中,记录电子纸屏幕的刷新次数,当累计到预设次数后,采用清屏刷新方式对整个电子纸屏幕进行刷新。
如上所述的电子纸屏幕的刷新控制方法,其中,手动选择清屏刷新方式对整个电子纸屏幕进行刷新。
一种电子纸屏幕的刷新控制系统,包括用于缓存待输出到电子纸屏幕上数据的存储器I,用于在将存储器I中数据输出到电子纸屏幕后对存储器I中数据进行备份的存储器II,用于比较存储器I中数据和存储器II中数据的数据比较模块,用于给数据比较模块定时的定时器;用于刷新电子纸屏幕的电子纸屏幕刷新模块,以及用于显示数据的电子纸屏幕。
如上所述的电子纸屏幕的刷新控制系统,其中,数据比较模块还用于获得像素的色阶;该系统还包括用于根据数据比较模块对存储器I和存储器II中数据的比较结果以及像素的色阶选择相应刷新方式的刷新方式选择模块。
如上所述的电子纸屏幕的刷新控制系统,该系统还包括用于对电子纸屏幕的刷新次数进行计数的计数器。
如上所述的电子纸屏幕的刷新控制系统,该系统还包括用于手动选择清屏刷新方式对整个电子纸屏幕进行刷新的清屏刷新按钮。
本发明所述方法及系统,通过定时比较显存(存储器I)数据,当显存数据发生变化时,主动将其输出到电子纸屏幕上的方式,使得电子纸屏幕的刷新对各个上层应用程序是透明的,各个上层应用程序由于维持独立运行的特性,因此降低了系统维护的工作量,扩展性强;通过对定时时间间隔动态调整的方式,降低了功耗;根据显存数据的变化比例选择相应的屏幕刷新方式,降低了屏幕刷新时的闪烁;根据显存数据像素的色阶选择相应阶的屏幕刷新方式,提高了屏幕刷新后的显示效果;通过屏幕的刷新次数选择刷新方式以及手动选择刷新方式,有效的减少了屏幕残影问题。
附图说明
图1是实施例1中电子纸屏幕刷新控制系统的结构框图;
图2是采用图1所示系统刷新电子纸屏幕的流程示意图;
图3是实施例2中电子纸屏幕刷新控制系统的结构框图;
图4是采用图3所示系统刷新电子纸屏幕的流程示意图;
图5是实施例2中变化像素位置和刷新区域示意图;
图6是实施例4中电子纸屏幕刷新控制系统的结构框图;
图7是采用图6所示系统刷新电子纸屏幕的流程示意图。
具体实施方式
本发明的核心思想是:将待输出到电子纸屏幕的数据先缓存到存储器I(显存)中,当存储器I中数据输出到电子纸屏幕后,将存储器I中数据备份到存储器II中;定时比较存储器I和存储器II中的数据,当存储器I和存储器II中的数据不同,即存储器I中数据发生变化时,根据存储器I中数据刷新电子纸屏幕。通过这种主动检测存储器I中数据是否发生变化来确定是否刷新屏幕的方式,实现了采用电子纸屏幕作为显示输出的电子产品中上层应用程序与底层屏幕刷新程序相分离,使上层应用程序扩展方便,维护简单。
下面结合实施例和附图对本发明进行详细描述。
实施例1
如图1所示,本实施例中的电子纸屏幕刷新控制系统包括两个存储器5、6,分别为存储器I和存储器II;数据比较模块1;定时器2;电子纸屏幕刷新模块3和电子纸屏幕4。
存储器I用于缓存待输出到电子纸屏幕4上的数据,当存储器I中的数据输出到电子纸屏幕4后,将存储器I中的数据备份到存储器II中。
数据比较模块1用于比较存储器I中数据和存储器II中数据,即比较两个存储器中的数据是否相同,如果不同,则说明存储器I中的数据发生变化,需要进行一次屏幕输出。定时器2用于给数据比较模块1定时,使数据比较模块1能够按照预设的时间间隔定时比较两个存储器中的数据。
电子纸屏幕刷新模块3用于当存储器I中的数据发生变化时,根据存储器I中的数据对电子纸屏幕4进行刷新。电子纸屏幕4用于显示数据。
图2出示了采用图1所示系统刷新电子纸屏幕的过程,该方法将待输出到电子纸屏幕上的数据先缓存到存储器I中,然后将缓存的数据输出到电子纸屏幕上,同时将缓存数据备份到存储器II中。数据比较模块1利用定时器2定时比较存储器I和存储器II中的数据,如每隔30秒比较一次;如果不相同,则由电子纸屏幕刷新模块3根据存储器I中的数据对电子纸屏幕4进行刷新。数据比较模块1比较两个存储器中数据是否相同的具体过程为:依次比较两个存储器中数据位置相对应像素的值是否相同,如果两个存储器中数据位置相对应像素的值均相同,则存储器I中的数据没有发生变化;否则,存储器I中的数据发生了变化。例如,按照从上到下、从左到右的顺序依次比较,先比较存储器I中数据的第一行第一个像素的值与存储器II中数据的第一行第一个像素的值是否相同,再比较存储器I中数据的第一行第二个像素的值与存储器II中数据的第一行第二个像素的值是否相同,依此类推,直到比较完所有的像素。
数据比较模块1定时比较两个存储器中数据的时间间隔可以根据下列条件动态改变。
(1)恢复定时时间间隔到最短的条件:如电子纸屏幕经过刷新、或者检测到一些事件,如按键和网络中断等时,时间间隔变成最短,如30秒。当上述条件发生时,说明用户有操作,因此,比较的时间间隔应变成最短。
(2)延长定时时间间隔的条件:当每次比较存储器I中数据和存储器II中数据时,如果存储器I中数据没有发生变化,则说明用户无操作,即没有更新的数据需要显示,时间间隔逐步变长,以减少存储器I、II中数据的比较次数,降低系统的功耗。
(3)设定定时时间间隔为0的条件:当检测到强制输出事件时,时间间隔变为0,电子纸屏幕刷新模块3立即根据存储器I中的数据对电子纸屏幕4进行刷新。
实施例2
在实施例1中,刷新电子纸屏幕时,如果固定采用GC方式,则每次刷新时均会引起屏幕闪烁;如果固定采用GU方式,则会引起屏幕残影。本实施例根据存储器I中数据和存储器II中数据的比较结果自动选择GC方式和GU方式,当存储器I中数据变化大时采用GC方式,相反则采用GU方式,这样既可以减少屏幕闪烁,又可以减轻屏幕残影。
图3出示了本实施例中电子纸屏幕刷新控制系统的结构。在实施例1的基础上,在数据比较模块1和电子纸屏幕刷新模块3之间增加了刷新方式选择模块7,用于根据数据比较模块1对存储器I和II的比较结果选择相应刷新方式,电子纸屏幕刷新模块3根据刷新方式选择模块7选择的刷新方式对电子纸屏幕进行刷新。其中,刷新方式包括GC方式和GU方式。
图4出示了采用图3所示系统刷新电子纸屏幕的过程。与实施例1不同的是:当存储器I中数据发生变化,即存在值不同的像素时,先确定变化像素的位置,通过变化像素的位置确定包含所有变化像素的最小矩形区域,将该区域作为刷新区域;然后,计算变化像素个数与刷新区域包含像素总个数的比例,如果该比例超过预设的差异阈值,则刷新方式选择模块7选择GC方式,电子纸屏幕刷新模块3采用GC方式对刷新区域进行刷新,即先对刷新区域进行一次清屏操作,然后将刷新区域内所有像素输出到电子纸屏幕上;否则,刷新方式选择模块7选择GU方式,电子纸屏幕刷新模块3采用GU方式对电子纸屏幕进行刷新,只将变化的像素输出到电子纸屏幕上。
例如,如图5所示,电子纸屏幕51中变化的像素为图5中的黑点,共有20个像素发生了变化,将包含这些变化像素的最小矩形区域作为刷新区域52,刷新区域52内共包含200个像素,预设的差异阈值为60%。由于变化像素的个数与刷新区域包含像素总个数的比例为10%(20/200×100%),小于差异阈值60%,所以选择GU方式对刷新区域52进行刷新,即仅更新变化的像素。
本实施例中,也可以将整个电子纸屏幕51作为刷新区域,如果存储器I中数据和存储器II中数据不同,计算出所有变化的像素个数与整个电子纸屏幕包含的像素个数的比例,判断该比例是否超出了预设的差异阈值。如果超出,则采用GC方式对整个电子纸屏幕进行刷新;否则,采用GU方式对电子纸屏幕进行刷新。上例中,整个电子纸屏幕包含的像素个数为1000,预设差异阈值为40%,由于变化像素的个数与整个电子纸屏幕包含像素总个数的比例为2%,远小于差异阈值40%,所以选择GU方式刷新电子纸屏幕。
实施例3
在电子纸屏幕显示的内容中,如果是图像,则可能包含1到16的灰度,即色阶为16;如果是菜单,则可能包含4个灰度,即色阶为4;如果是文本,则只要黑白两个灰度,即色阶为2。本实施例在实施例2的基础上,刷新方式选择模块7还用于根据不同的色阶选择相应阶的刷新方式。数据比较模块1在逐个比较存储器I中数据的像素和存储器II中数据位置相对应像素的值是否相同时,同时获得像素的色阶,刷新方式选择模块7根据色阶选择相应阶的刷新方式。例如,如果色阶为2,则选择GC2或GU2方式(GC和GU的选择方式与实施例2相同);如果色阶为4,则选择GC4或GU4方式;如果色阶为16,则选择GC16或GU16方式。
根据像素的色阶选择相应阶的刷新方式,可以提高屏幕的显示效果。当然,也可以不按照像素的色阶选择相应阶的刷新方式。例如,色阶为4,也可以采用2阶刷新方式。显然,这种刷新方式屏幕显示的效果较差,但可以提高刷新的速度,因为色阶越高,相应阶的刷新速度越慢。可以根据对电子纸屏幕刷新的不同需求,选择相应的刷新方式。
实施例4
在实施例2或3中,如果连续多次采用GU方式,则屏幕残影问题严重。为解决该问题,本实施例对屏幕的刷新次数进行累计,当达到预设次数时采用GC方式对整个电子纸屏幕进行刷新,从而有效避免了实施例2或3中多次采用GU方式后带来的残影问题。
图6出示了本实施例中电子纸屏幕刷新控制系统的结构。在实施例2或3的基础上,增加计数器8,与刷新方式选择模块7相连,用于对存储器I中的数据输出次数,即电子纸屏幕的刷新次数进行计数。
图7出示了采用图6所示系统刷新电子纸屏幕的过程。与实施例2或3不同的是:如果存储器1数据发生变化,则计数器8加1,判断计数器的值是否达到预设的次数阈值。如果达到,则刷新方式选择模块7选择GC方式,电子纸屏幕刷新模块3采用GC方式对整个电子纸屏幕进行刷新,即先清除电子纸屏幕上所有像素,然后将存储器I中数据输出到电子纸屏幕上,并对计数器进行清0;否则,与实施例2或3的处理方式相同。
实施例5
针对实施例2或3中如果连续多次采用GU方式可能带来的屏幕残影问题,在实施例2或3的基础上也可以设置清屏刷新按钮。当电子纸屏幕残影严重时,通过清屏刷新按钮手动选择GC方式对整个电子纸屏幕进行刷新。这种方式能够在用户需要时,采用GC方式刷新整个电子纸屏幕;如果残影不影响阅读,则可以不进行GC刷新,完全由用户手动控制,从而增加了屏幕刷新方式选择的准确性。
由上述实施例可以看出:本发明不仅实现了采用电子纸屏幕作为显示输出的电子产品中上层应用程序与底层屏幕刷新程序相分离,从而使上层应用程序扩展方便,维护简单的效果;而且通过采用多种刷新方式有效地较少了屏幕刷新时的闪烁、残影等问题。下表是GC2、GC4和GC16刷新方式效果的部分参数对比。
刷新方式 |
像素灰度转换 |
残影 |
屏幕对象 |
刷新时间(ms) |
GC2 |
16→black/white |
中等 |
单色菜单、文本输入、触摸屏或笔输入 |
320 |
GC4 |
4→416→4 |
全白时较低,其他中等 |
无锯齿文本 |
600 |
GC16 |
16→16;4→16 |
较少 |
高质量图像 |
980 |
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。