发明内容
本发明的目的在于,提供一种电子墨水屏的刷新方法与设备,其能利用现有的电子墨水屏控制器进行连续刷屏,使得电子墨水屏具有类似动画的显示效果。
为实现第一个发明目的,本发明提供了一种电子墨水屏的刷新方法,包括以下步骤:
接收图像更新请求,得到待显示图像数据;
进行图像更新流程,得到待刷新图像数据,
判断是否已启动刷屏,
若未启动刷屏,根据待刷新图像数据进行查询驱动数据流程,启动刷屏;
若已启动刷屏,等待中断,当中断后,进行图像更新流程,得到待刷新图像数据,根据待刷新图像数据进行查询驱动数据流程,启动刷屏。
优选地,所述图像更新流程包括以下步骤:
按顺序正在显示图像数据中的像素点与待显示图像数据中与该像素点相对应的像素点进行比较;
若二者相同,不更新该像素点,并视该像素点为已更新像素点,若二者不同判断该像素点已刷帧数是否为零;
若为零,更新正在显示图像数据中所要更新的像素点,视该像素点为已更新像素点,若不为零,跳过更新正在显示图像数据中所要更新的像素点的步骤,并视该像素点为已更新像素点;
最后一像素点为已更新像素点时,图像更新步骤结束。
优选地,所述图像更新流程包括以下步骤:
将正在显示图像数据中的像素点与待显示图像数据中与该像素点相对应的像素点进行比较;
若二者相同,不更新该像素点并将已更新的像素点数目加一,若二者不同判断该像素点已刷帧数是否为零;
若为零,更新正在显示图像数据中所要更新的像素点,并将已更新的像素点数目加一,若不为零,跳过更新正在显示图像数据中所要更新的像素点的步骤,直接将已更新的像素点数目加一;
判断已更新的像素点数目是否小于图像像素点总数;
若已更新的像素点数目小于图像像素点总数,则重新开始将正在显示图像数据中所要更新的像素点与待显示图像数据中与该像素点相对应的像素点进行比较的步骤,若已更新的像素点数目不小于图像像素点总数,图像更新步骤结束。
优选地,所述查询驱动数据流程包括以下步骤:
按顺序将待刷新图像数据中的像素点与上一次刷新对应的图像数据中与该像素点相对应的像素点进行比较,
若二者相同,视该像素点为已刷像素点,若二者不同根据该像素点的已刷帧数、待刷新图像数据以及上一次刷新对应的图像数据查询驱动数据,得到驱动数据并存储,将该像素点的已刷帧数加一;
判断该像素点的已刷帧数是否达到最大帧数;
若该像素点的已刷帧数是否达到最大帧数,若未达到最大帧数,视该像素点为已刷像素点;若该像素点的已刷帧数达到最大帧数,将该像素点待刷新图像数据标记为上一次刷新对应的图像数据,并将该像素点已刷帧数清零,视该像素点为已刷像素点;
最后一像素点为已刷像素点时,查询驱动数据流程结束。
优选地,所述查询驱动数据流程包括以下步骤:
将待刷新图像数据中的像素点与上一次刷新对应的图像数据中与该像素点相对应的像素点进行比较。
若二者相同,将已刷像素点数目加一,若二者不同,根据该像素点的已刷帧数、待刷新图像数据以及上一次刷新对应的图像数据查询驱动数据,得到驱动数据并存储,将该像素点的已刷帧数加一;
判断该像素点的已刷帧数是否达到最大帧数;
若该像素点的已刷帧数是否达到最大帧数,若未达到最大帧数,将已刷新的像素点数目加一;若该像素点的已刷帧数达到最大帧数,将该像素点待刷新图像数据标记为上一次刷新对应的图像数据,并将该像素点已刷帧数清零,将已刷像素点数目加一;
判断已刷像素点数目是否小于图像像素点总数;
若已刷像素点数目小于图像像素点总数,重新开始将待刷新图像数据中的像素点与上一次刷新对应的图像数据中与该像素点相对应的像素点进行比较的步骤;若已刷像素点数目不小于图像像素点总数,查询驱动数据流程结束。
本发明还提供了相对于的电子设备,包括电子墨水屏,处理器,存储器与控制器,其特征在于,
所述控制器用于控制电子墨水屏的刷新;
所述存储器存储有电子墨水屏刷新相关的驱动数据;
所述处理器包括图像更新模块与查询驱动数据模块,所述图像更新模块用于进行图像更新,得到待刷新图像数据,所述查询驱动数据模块用于向存储器查询驱动数据;
所述处理器用于,接收图像更新请求,得到待显示图像数据;利用图像更新模块,得到待刷新图像数据,判断是否已启动刷屏,若未启动刷屏,根据待刷新图像数据通过查询驱动数据模块,查询驱动数据,启动刷屏;若已启动刷屏,等待中断,当中断后,利用图像更新模块,得到待刷新图像数据,根据待刷新图像数据通过查询驱动数据模块,查询驱动数据,启动刷屏。
优选地,所述图像更新模块用于:
将正在显示图像数据中的像素点与待显示图像数据中与该像素点相对应的像素点进行比较;
若二者相同,不更新该像素点并将已更新的像素点数目加一,若二者不同判断该像素点已刷帧数是否为零;
若为零,更新正在显示图像数据中所要更新的像素点,并将已更新的像素点数目加一,若不为零,跳过更新正在显示图像数据中所要更新的像素点的步骤,直接将已更新的像素点数目加一;
判断已更新的像素点数目是否小于图像像素点总数;
若已更新的像素点数目小于图像像素点总数,则重新开始将正在显示图像数据中所要更新的像素点与待显示图像数据中与该像素点相对应的像素点进行比较的步骤,若已更新的像素点数目不小于图像像素点总数,结束图像更新。
优选地,所述查询驱动数据模块用于:
将待刷新图像数据中的像素点与上一次刷新对应的图像数据中与该像素点相对应的像素点进行比较,
若二者相同,将已刷像素点数目加一,若二者不同,根据该像素点的已刷帧数、待刷新图像数据以及上一次刷新对应的图像数据查询驱动数据,得到驱动数据并存储,将该像素点的已刷帧数加一;
判断该像素点的已刷帧数是否达到最大帧数;
若该像素点的已刷帧数是否达到最大帧数,若未达到最大帧数,将已刷新的像素点数目加一;若该像素点的已刷帧数达到最大帧数,将该像素点待刷新图像数据标记为上一次刷新对应的图像数据,并将该像素点已刷帧数清零,将已刷像素点数目加一;
判断已刷像素点数目是否小于图像像素点总数;
若已刷像素点数目小于图像像素点总数,重新开始将待刷新图像数据中的像素点与上一次刷新对应的图像数据中与该像素点相对应的像素点进行比较的步骤;若已刷像素点数目不小于图像像素点总数,结束驱动数据查询。
本发明提供的另一种电子墨水屏的刷新方法,包括以下步骤:
接收图像更新请求,得到待显示图像数据;
判断是否已启动刷屏,
若未启动刷屏,进行图像更新流程,得到待刷新图像数据,根据待刷新图像数据进行查询驱动数据流程,启动刷屏;
若已启动刷屏,等待中断,当中断后,进行图像更新流程,得到待刷新图像数据,根据待刷新图像数据进行查询驱动数据流程,启动刷屏。
优选地,所述图像更新流程包括以下步骤:
按顺序正在显示图像数据中的像素点与待显示图像数据中与该像素点相对应的像素点进行比较;
若二者相同,不更新该像素点,并视该像素点为已更新像素点,若二者不同判断该像素点已刷帧数是否为零;
若为零,更新正在显示图像数据中所要更新的像素点,视该像素点为已更新像素点,若不为零,跳过更新正在显示图像数据中所要更新的像素点的步骤,并视该像素点为已更新像素点;
最后一像素点为已更新像素点时,图像更新步骤结束。
优选地,所述图像更新流程包括以下步骤:
将正在显示图像数据中的像素点与待显示图像数据中与该像素点相对应的像素点进行比较;
若二者相同,不更新该像素点并将已更新的像素点数目加一,若二者不同判断该像素点已刷帧数是否为零;
若为零,更新正在显示图像数据中所要更新的像素点,并将已更新的像素点数目加一,若不为零,跳过更新正在显示图像数据中所要更新的像素点的步骤,直接将已更新的像素点数目加一;
判断已更新的像素点数目是否小于图像像素点总数;
若已更新的像素点数目小于图像像素点总数,则重新开始将正在显示图像数据中所要更新的像素点与待显示图像数据中与该像素点相对应的像素点进行比较的步骤,若已更新的像素点数目不小于图像像素点总数,图像更新步骤结束。
优选地,所述查询驱动数据流程包括以下步骤:
按顺序将待刷新图像数据中的像素点与上一次刷新对应的图像数据中与该像素点相对应的像素点进行比较,
若二者相同,视该像素点为已刷像素点,若二者不同,根据该像素点的已刷帧数、待刷新图像数据以及上一次刷新对应的图像数据查询驱动数据,得到驱动数据并存储,将该像素点的已刷帧数加一;
判断该像素点的已刷帧数是否达到最大帧数;
若该像素点的已刷帧数是否达到最大帧数,若未达到最大帧数,视该像素点为已刷像素点;若该像素点的已刷帧数达到最大帧数,将该像素点待刷新图像数据标记为上一次刷新对应的图像数据,并将该像素点已刷帧数清零,视该像素点为已刷像素点;
最后一像素点为已刷像素点时,查询驱动数据流程结束。
优选地,所述查询驱动数据流程包括以下步骤:
将待刷新图像数据中的像素点与上一次刷新对应的图像数据中与该像素点相对应的像素点进行比较,
若二者相同,将已刷像素点数目加一,若二者不同,根据该像素点的已刷帧数、待刷新图像数据以及上一次刷新对应的图像数据查询驱动数据,得到驱动数据并存储,将该像素点的已刷帧数加一;
判断该像素点的已刷帧数是否达到最大帧数;
若该像素点的已刷帧数是否达到最大帧数,若未达到最大帧数,将已刷新的像素点数目加一;若该像素点的已刷帧数达到最大帧数,将该像素点待刷新图像数据标记为上一次刷新对应的图像数据,并将该像素点已刷帧数清零,将已刷像素点数目加一;
判断已刷像素点数目是否小于图像像素点总数;
若已刷像素点数目小于图像像素点总数,重新开始将待刷新图像数据中的像素点与上一次刷新对应的图像数据中与该像素点相对应的像素点进行比较的步骤;若已刷像素点数目不小于图像像素点总数,查询驱动数据流程结束。
本发明提供了上述方法相对应的电子设备,包括电子墨水屏,处理器,存储器与控制器,其特征在于,
所述控制器用于控制电子墨水屏的刷新;
所述存储器存储有电子墨水屏刷新相关的驱动数据;
所述处理器包括图像更新模块与查询驱动数据模块,所述图像更新模块用于进行图像更新,得到待刷新图像数据,所述查询驱动数据模块用于向存储器查询驱动数据;
所述处理器用于,接收图像更新请求,得到待显示图像数据;判断是否已启动刷屏,若未启动刷屏,利用图像更新模块,得到待刷新图像数据,根据待刷新图像数据通过查询驱动数据模块,查询驱动数据,启动刷屏;若已启动刷屏,等待中断,当中断后,利用图像更新模块,得到待刷新图像数据,根据待刷新图像数据通过查询驱动数据模块,查询驱动数据,启动刷屏。
优选地,所述图像更新模块用于:
将正在显示图像数据中的像素点与待显示图像数据中与该像素点相对应的像素点进行比较;
若二者相同,不更新该像素点并将已更新的像素点数目加一,若二者不同判断该像素点已刷帧数是否为零;
若为零,更新正在显示图像数据中所要更新的像素点,并将已更新的像素点数目加一,若不为零,跳过更新正在显示图像数据中所要更新的像素点的步骤,直接将已更新的像素点数目加一;
判断已更新的像素点数目是否小于图像像素点总数;
若已更新的像素点数目小于图像像素点总数,则重新开始将正在显示图像数据中所要更新的像素点与待显示图像数据中与该像素点相对应的像素点进行比较的步骤,若已更新的像素点数目不小于图像像素点总数,结束图像更新。
优选地,所述查询驱动数据模块用于:
将待刷新图像数据中的像素点与上一次刷新对应的图像数据中与该像素点相对应的像素点进行比较,
若二者相同,将已刷像素点数目加一,若二者不同,根据该像素点的已刷帧数、待刷新图像数据以及上一次刷新对应的图像数据查询驱动数据,得到驱动数据并存储,将该像素点的已刷帧数加一;
判断该像素点的已刷帧数是否达到最大帧数;
若该像素点的已刷帧数是否达到最大帧数,若未达到最大帧数,将已刷新的像素点数目加一;若该像素点的已刷帧数达到最大帧数,将该像素点待刷新图像数据标记为上一次刷新对应的图像数据,并将该像素点已刷帧数清零,将已刷像素点数目加一;
判断已刷像素点数目是否小于图像像素点总数;
若已刷像素点数目小于图像像素点总数,重新开始将待刷新图像数据中的像素点与上一次刷新对应的图像数据中与该像素点相对应的像素点进行比较的步骤;若已刷像素点数目不小于图像像素点总数,结束驱动数据查询。
电子墨水屏控制器一般是在控制器内部完成新旧像素点的比较和查询波形表并且送数据的过程。区别于现有技术,本发明是在控制器送完每帧数据产生中断时,外部利用软件进行新旧像素点比较并且运用实现连续刷屏效果的算法查询波形表,得到所需要的数据送给控制器,并启动控制器刷屏。从而在现有的控制器上实现连续刷屏的效果,满足电子墨水屏快速刷屏的应用场景。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
如图1所示,本实施例提供了一种电子设备,包括电子墨水屏140,处理器110,存储器120与控制器130,
所述控制器130用于控制电子墨水屏的刷新;
所述存储器120存储有电子墨水屏刷新相关的驱动数据;
所述处理器110包括图像更新模块111与查询驱动数据模块112,所述图像更新模块111用于进行图像更新,得到待刷新图像数据,所述查询驱动数据模块112用于向存储器查询驱动数据;
如图2所示,在一实施例中,一种电子墨水屏的刷新方法,包括以下步骤:
S201接收图像更新请求,得到待显示图像数据;
S202进行图像更新流程,得到待刷新图像数据,
S203判断是否已启动刷屏,
若未启动刷屏,进行步骤S204根据待刷新图像数据进行查询驱动数据流程,S205启动刷屏;
若已启动刷屏,进行步骤S206等待中断,因为刷屏后待显示数据可能会有变化,而且在刷屏后像素点也可能存在更新的差异,有的像素点已经刷完了最大帧数,而有的像素点还未刷至最大帧数,因此正在显示的图像数据与刷新前正在显示的图像数据可能已经不同,需要从新将待显示图像数据与正在显示的图像数据中的像素点进行逐个比较。当中断后,进行步骤S207图像更新流程,得到待刷新图像数据,S208根据待刷新图像数据进行查询驱动数据流程,S209启动刷屏。
更具体地,在一实施例中,如图3所示,
S301接收图像更新请求,得到待显示图像数据;
S302进行图像更新流程,得到待刷新图像数据,
S303判断是否已启动刷屏,
若未启动刷屏,进行步骤S304根据待刷新图像数据进行查询驱动数据流程,S205启动刷屏将启动刷屏的标志置1;
若已启动刷屏,进行步骤S306等待中断。
当中断后,判断算法中的更新标志位是否为1;
若否进行步骤S308,将启动刷屏标志清零;
S309进行图像更新流程,得到待刷新图像数据,
若算法中的更新标志位为1,直接进行步骤S309;
S310根据待刷新图像数据进行查询驱动数据流程,S311启动刷屏将启动刷屏的标志置1;
S312结束中断。
在某些实施例中,如图5所述图像更新流程包括以下步骤:
S501将正在显示图像数据中的像素点与待显示图像数据中与该像素点相对应的像素点进行比较;
若二者相同,进行步骤S504不更新该像素点并将已更新的像素点数目加一,若二者不同进行步骤S502判断该像素点已刷帧数是否为零;
若为零,进行步骤S503更新正在显示图像数据中所要更新的像素点,并进行步骤S504将已更新的像素点数目加一,若不为零,跳过更新正在显示图像数据中所要更新的像素点的步骤,直接进行步骤S504将已更新的像素点数目加一;
S505判断已更新的像素点数目是否小于图像像素点总数;
若已更新的像素点数目小于图像像素点总数,则重新开始步骤S501将正在显示图像数据中所要更新的像素点与待显示图像数据中与该像素点相对应的像素点进行比较的步骤,若已更新的像素点数目不小于图像像素点总数,进行步骤S506图像更新步骤结束。
在另外一些实施例中,所述图像更新流程包括以下步骤:
按顺序正在显示图像数据中的像素点与待显示图像数据中与该像素点相对应的像素点进行比较;
若二者相同,不更新该像素点,并视该像素点为已更新像素点,若二者不同判断该像素点已刷帧数是否为零;
若为零,更新正在显示图像数据中所要更新的像素点,视该像素点为已更新像素点,若不为零,跳过更新正在显示图像数据中所要更新的像素点的步骤,并视该像素点为已更新像素点;
最后一像素点为已更新像素点时,图像更新步骤结束。
在以上流程中,不是根据更新的像素点总数判断是否更新完毕,而是依次更新像素点,当更新完毕最后一像素点时,更新流程结束。
在某些实施例中,如图6所示查询驱动数据流程包括以下步骤:
S601将更新标志清零;
S602将待刷新图像数据中的像素点与上一次刷新对应的图像数据中与该像素点相对应的像素点进行比较,判断正在显示图像的当前像素点和上一次显示图像的对应像素点的数据是否相同;
若二者相同,进行步骤S607将已刷像素点数目加一,若二者不同,进行步骤S603根据该像素点的已刷帧数、待刷新图像数据以及上一次刷新对应的图像数据查询驱动数据,得到驱动数据并存储,将更新标志置1,
S604将该像素点的已刷帧数加一;
S605判断该像素点的已刷帧数是否达到最大帧数;
若该像素点的已刷帧数是否达到最大帧数,若未达到最大帧数,进行步骤S607将已刷新的像素点数目加一;若该像素点的已刷帧数达到最大帧数,S606将该像素点待刷新图像数据标记为上一次刷新对应的图像数据,并将该像素点已刷帧数清零,
S607将已刷像素点数目加一;
S608判断已刷像素点数目是否小于图像像素点总数;
若已刷像素点数目小于图像像素点总数,进行步骤S602,重新开始将待刷新图像数据中的像素点与上一次刷新对应的图像数据中与该像素点相对应的像素点进行比较的步骤;若已刷像素点数目不小于图像像素点总数,进行步骤S609查询驱动数据流程结束。
在某些实施例中,所述查询驱动数据流程包括以下步骤:
按顺序将待刷新图像数据中的像素点与上一次刷新对应的图像数据中与该像素点相对应的像素点进行比较,
若二者相同,视该像素点为已刷像素点,若二者不同根据该像素点的已刷帧数、待刷新图像数据以及上一次刷新对应的图像数据查询驱动数据,得到驱动数据并存储,将该像素点的已刷帧数加一;
判断该像素点的已刷帧数是否达到最大帧数;
若该像素点的已刷帧数是否达到最大帧数,若未达到最大帧数,视该像素点为已刷像素点;若该像素点的已刷帧数达到最大帧数,将该像素点待刷新图像数据标记为上一次刷新对应的图像数据,并将该像素点已刷帧数清零,视该像素点为已刷像素点;
最后一像素点为已刷像素点时,查询驱动数据流程结束。
在以上流程中,不是根据已查询的像素点总数判断是否更新完毕,而是依次查询像素点的驱动,当查询完毕最后一像素点时,查询驱动流程结束。
在本发明的另外一些实施例中,如图4所示,包括以下步骤:
S401接收图像更新请求,得到待显示图像数据;
S402判断是否已启动刷屏,
若未启动刷屏,进行S403图像更新流程,得到待刷新图像数据,
S404根据待刷新图像数据进行查询驱动数据流程,
启动步骤S405刷屏;
若已启动刷屏,进行步骤S406等待中断,当中断后,进行S407图像更新流程,得到待刷新图像数据,
S408根据待刷新图像数据进行查询驱动数据流程,
S409启动刷屏。
这个方法中,先判断是否启动刷屏,然后根据判断结果再决定是等待中断还是进行图像更新流程。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。