本发明涉及显示控制技术领域,尤其涉及一种适用于电子墨水屏的多屏同步控制方法、装置及系统。
背景技术:
电子墨水屏由于其功耗极低且可以护眼的特点,日渐成为显示技术的首选,在以往其经常被应用在仓库的电子标签,公交站牌和电纸书阅读器等领域,但随着多媒体内容的不断丰富,电子墨水屏也逐渐需要适应更大显示屏幕和更高分辨率的需求。
受限于电子墨水需要外加长时间电场来刷新的特性,因此电子墨水屏不能用像传统的液晶显示屏一样通过提高像素时钟来支持更高的分辨率。针对这个问题,一种支持多扫描的电子墨水屏被研发出来,从外观上来看,其与更大屏幕的屏幕尺寸相同,但实质上是由多块尺寸更小的电子墨水屏组合而成。多块尺寸更小的电子墨水屏分别由不同的电路进行控制,在相同帧率的情况下,其控制电路的时钟频率仅为原来的四分之一,突破了墨水屏的物理限制,使高分辨率的墨水屏刷新效果更加稳定。虽然多扫描的方式解决了高分辨率刷新在单屏情况下像素时钟过高的问题,但如何对一副完整的图像进行切分并对多个独立的控制电路进行同步扫描成为了新的技术难点。
现有技术在解决这一技术难点,一般采用单控制器串行刷新技术或多控制器并行刷新技术,在单控制器串行刷新技术中,一般由单个控制模块控制多个电子墨水屏,并在某一时刻选择其中一个电子墨水屏进行刷新,因此屏与屏之间的刷新是一个串行的过程,而在多控制器并行刷新技术中,每个电子墨水屏均由对应的显示控制模块进行控制,这使得每个电子墨水屏的刷新都是一个独立的过程,因此屏与屏之间的刷新是一个并行的过程。
但在这些现有技术中,串行刷新受限于控制模块的性能,每个屏幕之间的刷新间隔长达几百个毫秒,而并行刷新,虽然每个屏幕能同时刷新,但显示控制模块的启动时间取决于cpu的执行效率和当前操作系统的负载情况,当系统负载严重时中断的响应时间可长达几十毫秒,同时现有的并行刷新一般用于在多个电子墨水屏显示不同的内容,显示内容之间相互没有关联。
对于传统的墨水屏应用,由于各个屏幕都是分立地显示不同的内容,因此对各个屏幕的刷新间隔并不敏感。但对于上述介绍的多扫描的高分辨率墨水屏,想要多个电子墨水屏正常的显示一幅图的多个部分,必须保证每个屏幕每个点的扫描时序完全的同步。而无论是现有的并行刷新还是串行刷新,显然均无法达到这一效果,因此现有的技术方案存在缺陷。
技术实现要素:
本发明所要解决的技术问题在于,提供一种适用于电子墨水屏的多屏同步控制方法、装置及系统,能够通过对目标显示区域的总图像和总时序数据进行处理得到多个分割屏幕的显示数据,以实现多个分割屏幕同时显示同一图像的不同部分,相对于现有的多屏同步显示技术,本发明可以实现超高分辨率的图片显示,且能有效降低每个屏幕的像素时钟,进而使得每一屏幕的电泳粒子受电场的作用时间更长,使显示的灰度更加准确,优化显示效果。
为了解决上述技术问题,本发明实施例第一方面公开了一种适用于电子墨水屏的多屏同步控制方法,所述方法包括:
根据目标显示区域的更新图像,确定多个目标屏幕对应的多个波形数据;所述目标显示区域为所述多个目标屏幕组合而成的显示区域;
根据所述目标显示区域的总时序控制数据,确定所述多个目标屏幕对应的多个时序控制数据;
对所述多个波形数据进行双向握手同步处理,得到多个时序同步的同步波形数据;
将每一所述目标屏幕对应的所述时序控制数据和所述同步波形数据同时输出至所有所述目标屏幕进行显示。
本发明实施例第二方面公开了一种适用于电子墨水屏的多屏同步控制装置,所述装置包括:
波形确定模块,用于根据目标显示区域的更新图像,确定多个目标屏幕对应的多个波形数据;所述目标显示区域为所述多个目标屏幕组合而成的显示区域;
时序确定模块,用于根据所述目标显示区域的总时序控制数据,确定所述多个目标屏幕对应的多个时序控制数据;
波形同步模块,用于对所述多个波形数据进行双向握手同步处理,得到多个时序同步的同步波形数据;
显示输出模块,用于将每一所述目标屏幕对应的所述时序控制数据和所述同步波形数据同时输出至所有所述目标屏幕进行显示。
本发明第三方面公开了另一种适用于电子墨水屏的多屏同步控制装置,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的适用于电子墨水屏的多屏同步控制方法中的部分或全部步骤。
本发明第四方面公开了一种适用于电子墨水屏的多屏同步控制系统,所述系统包括多个目标屏幕和多屏同步控制装置,所述多屏同步控制装置用于执行本发明第一方面公开的适用于电子墨水屏的多屏同步控制方法中的部分或全部步骤。
本发明第五方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的适用于电子墨水屏的多屏同步控制方法中的部分或全部步骤。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中,根据目标显示区域的更新图像,确定多个目标屏幕对应的多个波形数据;根据所述目标显示区域的总时序控制数据,确定所述多个目标屏幕对应的多个时序控制数据;对所述多个波形数据进行双向握手同步处理,得到多个时序同步的同步波形数据;将每一所述目标屏幕对应的所述时序控制数据和所述同步波形数据同时输出至所有所述目标屏幕进行显示。可见,本发明相对于现有的多屏同步显示技术,本发明可以实现多个屏幕同步显示一张图像的多个区域,从而实现超高分辨率的图片显示,且能有效降低每个屏幕的像素时钟,使显示的灰度更加准确,优化显示效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种适用于电子墨水屏的多屏同步控制方法的流程示意图。
图2是本发明实施例公开的另一种适用于电子墨水屏的多屏同步控制方法的流程示意图。
图3是本发明实施例公开的一种适用于电子墨水屏的多屏同步控制装置的结构示意图。
图4是本发明实施例公开的另一种适用于电子墨水屏的多屏同步控制装置的结构示意图。
图5是本发明实施例公开的又一种适用于电子墨水屏的多屏同步控制装置的结构示意图。
图6是本发明实施例公开的一种波形数据的示意图。
图7是本发明实施例公开的一种波形生产器的模块实现示意图。
图8是本发明实施例公开的一种波形读取器的模块实现示意图。
图9是本发明实施例公开的一种时序控制数据的时序框划分示意图。
图10是本发明实施例公开的一种总时序控制数据的时序框划分操作的数据处理示意图。
图11是本发明实施例公开的一种时序同步器的模块实现示意图。
图12是本发明实施例公开的一种帧中断fifo的模块实现示意图。
图13是本发明实施例公开的一种波形生产和波形读取的工作示意图。
图14是本发明实施例公开的一种适用于电子墨水屏的多屏同步控制系统的功能模块示意图。
图15是本发明实施例公开的一种eink显示引擎的功能模块示意图。
图16是本发明实施例公开的一种目标屏幕的预设扫描显示方向的示意图。
图17是本发明实施例公开的另一种eink显示引擎的功能模块示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种适用于电子墨水屏的多屏同步控制方法、装置及系统,能够通过对目标显示区域的总图像和总时序数据进行处理得到多个分割屏幕的显示数据,以实现多个分割屏幕同时显示同一图像的不同部分,相对于现有的多屏同步显示技术,本发明可以实现超高分辨率的图片显示,且能有效降低每个屏幕的像素时钟,进而使得每一屏幕的电泳粒子受电场的作用时间更长,使显示的灰度更加准确,优化显示效果。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种适用于电子墨水屏的多屏同步控制方法的流程示意图。其中,图1所描述的适用于电子墨水屏的多屏同步控制方法应用于显示控制系统/显示控制设备/显示控制服务器(其中,该显示控制服务器包括本地显示控制服务器或云显示控制服务器)中。如图1所示,该适用于电子墨水屏的多屏同步控制方法可以包括以下操作:
101、根据目标显示区域的更新图像,确定多个目标屏幕对应的多个波形数据。
本发明实施例中,目标显示区域为多个目标屏幕组合而成的显示区域。可选的,多个目标屏幕可以横向排列、纵向排列或成矩阵排列的多个分割屏幕,并组成一个统一的显示区域。可选的,目标屏幕可以为电子墨水屏,如eink屏幕,具体的,目标屏幕中包含了透明液体和黑白两种粒子,白色是带正电的二氧化钛粒子,黑色是带负电的炭黑粒子。通过在屏的两端施加电场使黑白粒子发生移动,控制黑白粒子的分布情况,从而显示出不同的灰度颜色。具体的,想要目标屏幕准确显示某个灰阶,需将黑白粒子移动到适当的位置,因此必须掌握好电场的方向和持续时间。
可选的,图6展示了波形数据的一种示例,展示了像素点从一个灰阶刷新到另外一个灰阶的过程。其中,首先对像素点加360ms的正电场刷为黑色,再加360ms的负电场刷为白色,最后加60ms的正电场刷为目标灰阶。以每帧为20ms为例,该刷新过程总共耗时为39帧。针对上述波形,对该像素点按时钟周期进行采样,可得到<1,1,1,……,1,-1,-1,-1,……,-1,1,1,1,0,0,0……>的数据,其中1表示加正电,-1表示加负电,0表示不加电,在一种实施方式中,用2比特数据表示,01表示加正电,10表示加负电,00表示不加电。
本发明实施例中,更新图像与目标显示区域对应,更新图像可以由服务器推送,或通过储存器进行储存并在需要时调用。
102、根据目标显示区域的总时序控制数据,确定多个目标屏幕对应的多个时序控制数据。
本发明实施例中,总时序控制数据或时序控制数据均用于控制波形数据在显示屏幕中进行显示的时序。本发明中,总时序控制数据并不意于限定,必定存在一个与目标显示区域同样大小的显示屏幕,而是意于说明,可以在预备阶段以目标显示区域为屏幕大小确定出对应的总时序控制数据,以与前述步骤中与目标显示区域对应的更新图像进行匹配对应。
103、对多个波形数据进行双向握手同步处理,得到多个时序同步的同步波形数据。
需要注意的是,上述步骤102和步骤103之间并没有固定的执行顺序,在可选的实施方式中,步骤102和步骤103可以先后执行也可以同时执行,任何可实现本发明技术效果的实现顺序,均应被包括在本发明的实施方式中。
104、将每一目标屏幕对应的时序控制数据和同步波形数据同时输出至所有目标屏幕进行显示。
可见,上述发明实施例能够通过对目标显示区域的总图像和总时序数据进行处理得到多个分割屏幕的显示数据,以实现多个分割屏幕同时显示同一图像的不同部分,相对于现有的多屏同步显示技术,本发明可以实现超高分辨率的图片显示,且由于多个目标屏幕的拆分使得每个屏幕的分辨率降低,从而能有效降低每个屏幕的像素时钟,进而使得每一屏幕的电泳粒子受电场的作用时间更长,使显示的灰度更加准确,优化显示效果。
作为一种可选的实施方式,步骤101中的,根据目标显示区域的更新图像,确定多个目标屏幕对应的多个波形数据,包括:
获取目标显示区域的更新图像,根据更新图像,确定目标显示区域对应的更新波形数据;
根据目标显示区域对应的更新波形数据,基于多个目标屏幕的位置方向规则,确定多个目标屏幕对应的多个波形数据。
作为一种可选的实施方式,上述步骤中的,获取目标显示区域的更新图像,根据更新图像,确定目标显示区域对应的更新波形数据,包括:
对目标显示区域的刷新帧数进行累计计算,得到当前刷新帧数,并基于以下规则对当前刷新帧数进行判断:
当判断到当前刷新帧数为零时,获取目标显示区域的更新图像,根据更新图像和目标显示区域的当前显示图像,确定目标显示区域对应的更新索引数据,并驱动当前刷新帧数加一;
当判断到当前刷新帧数不为零时,获取刷新帧数对应的波形文件,并根据波形文件,以及目标显示区域对应的更新索引数据,确定目标显示区域对应的更新波形数据,并驱动当前刷新帧数加一。
本发明实施例中,如上面所述,目标显示区域或目标屏幕的一次图像刷新可能包括多帧输出,因此本可选的实施方式引入了帧数计数的技术思路,记录当前刷新的帧数,以实现自动刷新,可以实现一个完整的刷新只响应一次中断,极大地减少了频繁的中断响应而带来的系统开销。
可选的,根据更新图像和目标显示区域的当前显示图像,确定目标显示区域对应的更新索引数据,可以为:
读回目标显示区域的新旧图像数据,并对比产生更新索引数据。其中更新索引数据是指任一个位置点上灰度的变化,例如假设目标显示区域有16个灰度,当某个点的灰度从7变为14,该点的索引值为7e,用8bit表示。若灰度不变,索引为0。
具体的,在电子墨水屏的显示过程中,更新索引数据需要用波形文件来解码,而每一帧都有对应的波形文件,因此可以通过累计计数得到的刷新帧数,获取刷新帧数对应的波形文件。具体的,可以通过刷新帧数计算得到波形文件的偏移地址,通过偏移地址读取得到对应的波形文件。现有的技术在实现这一技术时,一般是通过软件记录当前的帧序号n,计算n*m(m为一帧波形数据的大小)即可得到当前帧波形数据的偏移地址,因此每帧都要通过软件配置新的偏地址。相对于传统的通过预设程序模块在每帧刷新启动前对波形文件的读地址进行切换的方式,本可选的实施方式显然更便捷更高效,无需软件每帧都介入,减少了软件流程和cpu的负担。
具体的,根据波形文件,以及目标显示区域对应的更新索引数据,确定目标显示区域对应的更新波形数据,可以为以更新索引数据中的索引值对波形文件进行查表的方式进行更新波形数据确定。
在一个可选的实施方式中,上述步骤中的,获取目标显示区域的更新图像,根据更新图像,确定目标显示区域对应的更新波形数据,还包括:
当判断到当前刷新帧数为帧数阈值时,确认当前的图像更新过程结束,并停止帧数计数。
本发明实施例中,帧数阈值可以为目标区域一次刷新对应的预设帧数。
通过这样设置,可以使得帧数计数在当前刷新帧数到达目标的帧数阈值时自动停止,从而实现一个完整的刷新只响应一次中断,极大地减少了频繁的中断响应而带来的系统开销。
参见图7,图7为上述可选的实施方式的一种模块实现思路的示意图,其实现为一个波形生成器,该波形生成器内部包含波形文件读取器,索引生成器,索引读取器,索引选择器,索引解码器,和帧计数器。其中:
索引生成器用于:当图像有更新时,首先启动索引生成器,其根据软件配置的更新窗口,读回新旧图像该区域的数据,对比产生新的索引。新生成的索引会同时被回写到内存和送到索引选择器。
索引读取器用于:若刷新过程为非首帧,会启动索引读取器读回之前索引生成器回写到内存的索引,并送到索引选择器。
帧计数器用于:记录当前刷新的帧数,以实现波形生成器的自动刷新。当波形生成器启动后,会根据帧计数器来控制内部各个模块的运行。若帧计数器为0时,会启动索引生成器,否则启动索引读取器。当索引生成器或索引读取器完成刷新后,帧计数器会加1,然后自动开始下一帧,直到帧计数器达到目标帧数后才停止工作。而传统的显示控制器,每帧都需要软件响应一次中断。相对于传统方法,本发明的波形生成器能自动刷新,一个完整的刷新只响应一次中断,极大地减少了频繁的中断响应而带来的系统开销。
波形文件读取器用于:通过帧计数器得出偏移地址,读回对应的波形文件。
索引选择器:根据帧计数器选通,使首帧所产生的数据能直接给索引解码器,有效减少了从更新下发到波形显示的通路延时。
索引解码器:根据输入的索引值对读取的波形文件进行查表,得出最终的波形数据,并回写到内存中。
在一个可选的实施方式中,上述步骤中的,根据目标显示区域对应的更新波形数据,基于多个目标屏幕的位置方向规则,确定多个目标屏幕对应的多个波形数据,包括:
基于多个目标屏幕在目标显示区域的位置,将目标显示区域对应的更新波形数据,划分为多个目标屏幕对应的多个分屏波形数据;
对于每一目标屏幕,读取该目标屏幕对应的分屏波形数据,并将分屏波形数据输入第一行缓冲器中;
从第一行缓冲器中读取出目标屏幕对应的波形数据,以得到目标屏幕对应的多个波形数据。
本发明实施例中,在目标屏幕对应的扫描展示方向与预设的波形数据读取方向相同时,第一行缓冲器的数据读写规则为先进先出,在目标屏幕对应的扫描展示方向与预设的波形数据读取方向相反时,第一行缓冲器的数据读写规则为先进后出。
具体的,第一行缓冲器可以为一个深度为更新图像宽度的第一行缓冲器,其具备水平镜像功能,当水平镜像功能打开时,波形数据在第一行缓冲器内实现先进后出(firstinlastout,先进后出),水平镜像功能关闭时,则是一个普通的数据fifo(firstinfirstout,先进先出)。
参见图8,图8为本可选的实施方式的一种模块实现思路的示意图,其实现为一个波形读取器,包括分屏读取器和水平镜像器,其可用于如图中四个目标屏幕纵向排列的情况中,其中,该分屏读取器用于读取每一目标屏幕对应的分屏波形数据,其支持的波形数据读取方向为左上角和左下角2种读取方向,如图8左侧的屏幕箭头所示,但目标屏幕对应的扫描展示方向如图8右侧所示,包括有左上角、左下角、右上角和右下角四个扫描方向,因此,需要将分屏读取器读回的波形数据直接送到该水平镜像器进行处理。
如图8下方所示,该波形读取器的本质是一个深度为图像宽度的第一行缓冲器。当水平镜像功能打开时,波形数据在一行内实现先进后出(firstinlastout),该功能关闭时,则是一个普通的数据fifo(firstinfirstout)。通过控制分屏读取器的读取方向和水平镜像器的开关,最终实现4种不同的扫描方向。
为了实现4屏扫描,在波形读取器内部实例化了4套分屏读取器与水平镜像器。波形读取器会根据不同的分屏方式和读取方向算出每个分屏读取器的起始地址。4个分屏读取器并行地从内存中读回各自分屏的波形数据,这些数据经过水平镜像器后,以便于后续的时序同步操作。
可见,通过该可选的实施方式,通过数据方向可变的第一行缓冲器进行数据读取方向和扫描展示方向之间的协同调整,从而使得确定出的多个波形数据可以适应后续的屏幕扫描输出特性,进而使得最终实现的多屏同步显示效果更好。
在一个可选的实施方式,上述步骤102中的,根据目标显示区域的总时序控制数据,确定多个目标屏幕对应的多个时序控制数据,包括:
获取目标显示区域对应的总时序控制数据;
基于多个目标屏幕在目标显示区域的位置,将目标显示区域对应的总时序控制数据进行时序框划分,以得到多个目标屏幕对应的多个时序控制数据。
具体的,其时序框划分的操作可以参见图9,图9的a部分中展示了1080p墨水屏的输出数据示意图,可见,目标显示区域的输出数据是时序控制数据和波形数据的叠加,而图9的b部分展示了当目标显示区域被划分为纵向排列的四个矩形目标屏幕时,将目标显示区域对应的总时序控制数据进行时序框划分的具体示意图,图9的b部分展示了当目标显示区域被划分为横向排列的四个矩形目标屏幕时,将目标显示区域对应的总时序控制数据进行时序框划分的具体示意图。
具体的,时序框的划分会导致总时序控制数据被分成多个时序控制数据,其具体的划分模式可参照图10,图10示出了时序框划分的数据处理层面的操作,具体的,图10的a部分所示出的总时序控制数据对应于图9的a部分中的1080p墨水屏输出画面,具体的,其为分辨率为1920x1080的图像的输出时序数据,其中时序数据包括:时钟(clk),帧同步信号(vsync),行同步信号(hsync)和其他(此处没有画出),行同步信号hsync包含长度为1920个时钟周期的有效区和100个时钟周期的消隐区,而帧同步信号,包括了1080个hysnc长度的有效区和20个hysnc长度的消隐区。
当使用图9的b部分展示的时序框划分方式时,总时序控制数据被处理成四个分别对应于四个屏幕的时序控制数据,该四个时序控制数据相同,其示意图参照图10的b部分,当总显示区域被竖直均分为4个分屏后,每个分屏的分辨率为1920x270,所以相对于总时序控制数据,其hsync不变,但vsync的有效区长度变为270行hsync,4个屏幕的数据共用同一套时序控制信号,实现4个屏幕的同步显示。
当使用图9的c部分展示的时序框划分方式时,总时序控制数据被处理成四个分别对应于四个屏幕的时序控制数据,该四个时序控制数据相同,其示意图参照图10的c部分,当总显示区域被水平均分为4个分屏后,每个分屏的分辨率为480x1080,所以相对于总时序控制数据,hsync的有效区缩小为480个cycle,因此vsync的有效区依然为1080个hsync长度,但由于hsync长度缩小了,因此vsync的长度也变小了。4个屏幕的数据共用同一套时序控制信号,实现4个屏幕的同步显示。
由上述的分析可以看出,对目标显示区域进行切分后,导致了单个显示屏幕的分辨率下降,因此时序控制数据也需要跟着发生变化。可选的,可以通过如图15或图17所示的显示引擎中的时序发生器,通过软件配置的每个屏幕的分辨率来产生对应的时序控制数据,时序控制数据经过时序同步器与波形控制数据进行同步,作为输出数据送到各个屏幕。
需要注意的是,上述图9和图10中展示的,均是目标显示区域被均等划分为多个屏幕的情况,在这一情况下,总时序控制数据被处理为划分得到的时序控制数据,而多个屏幕共享同一个时序控制数据,则时序发生器只需要直接按照目标屏幕的分辨率生成一个时序控制数据,因多个目标屏幕的分辨率是相同的,则输出数据包含一个时序控制信号和多路屏幕的波形数据,唯一的一个时序控制数据被输送到多个屏幕,而多路波形数据则分别连接到不同的屏幕,通过多个屏幕共享一套时序控制数据来实现多屏幕的同步显示。
可见,通过该可选的实施方式,基于多个目标屏幕在目标显示区域的位置,将目标显示区域对应的总时序控制数据进行时序框划分,以得到多个目标屏幕对应的多个时序控制数据,从而使得确定出的多个时序控制数据可以适应后续的屏幕时序框特性,进而使得最终实现的多屏同步显示效果更好。
在一个可选的实施方式中,上述步骤103中的,对多个波形数据进行双向握手同步处理,得到多个时序同步的同步波形数据,包括:
将多个波形数据通过双向握手通信输入至包括有多级同步单元的握手同步模块进行信号处理,以得到多个时序同步的同步波形数据。
本发明实施例中,具体的,多级同步单元中前一级同步单元与后一级同步单元之间均进行双向握手通信,每一级同步单元均包括有至少一个同步器;每一同步器均用于在其每一输入端均接收到输入的波形数据时,将所有输入端接收到的波形数据以及有效握手信号传输至下一级同步单元中的同步器,并反馈有效应答信号至上一级。
可选的,同步器可以通过与非门以及双向握手通信实现信号同步,多级同步单元的一种可选的实施方式可以参照图11中的波形同步器,同步器的可以参照图11中的握手同步器,其中,握手同步器包括三个与门模块,并通过与门模块之间的连接实现当2路输入有效信号均为1时,输出的有效信号为1,当另一路输入有效为1且输入应答信号为1时,输出应答为1,这样即可完成2路输入的握手同步。
在一个可选的实施方式中,在上述步骤104之前,本方法还包括:
将多个时序同步的同步波形数据通过双向握手通信同步输入至第二行缓冲器中;第二行缓冲器在非满时向上级反馈有效应答信号,在满时向上级反馈无效应答信号;
从第二行缓冲器中读取出同步波形数据,计算任一同步波形数据的显示坐标,并判断显示坐标是否超出实际屏幕区域外;该实际屏幕区域为目标屏幕的显示区域;
当判断到显示坐标超出实际屏幕区域外时,将同步波形数据置零,否则不对同步波形数据做改动。
该可选的实施方式的一种模块实现思路可以参照图11中的时序同步器中的行缓冲器、坐标计算器和数据选通器,其中,波形数据从内存中读回,不能保证数据输入的连续性,但电子墨水屏的输出数据是需要连续不断的,因此为了保证波形数据输出的连续性,加入行缓冲器对波形数据进行缓存以减少内存读延时对数据输出连续性所产生的影响。而坐标计算器用于计算任一同步波形数据的显示坐标,而数据选通器用于当显示坐标在实际屏幕区域内时,把有效应答信号选通到行缓冲器的应答信号上,从行缓冲器中取一笔波形数据与时序控制数据合并在一起作为目标屏幕的输出数据,当显示坐标在实际屏幕区域外时,时序控制数据则与0合并在一起作为目标屏幕的输出数据。
实施例二
请参阅图2,图2是本发明实施例公开的另一种适用于电子墨水屏的多屏同步控制方法的流程示意图。其中,图2所描述的适用于电子墨水屏的多屏同步控制方法应用于显示控制系统/显示控制设备/显示控制服务器(其中,该显示控制服务器包括本地显示控制服务器或云显示控制服务器)中。如图2所示,该适用于电子墨水屏的多屏同步控制方法可以包括以下操作:
201、获取目标显示区域的更新图像,根据更新图像,确定目标显示区域对应的更新波形数据。
203、根据目标显示区域对应的更新波形数据,基于多个目标屏幕的位置方向规则,确定多个目标屏幕对应的多个波形数据。
204、根据目标显示区域的总时序控制数据,确定多个目标屏幕对应的多个时序控制数据。
205、对多个波形数据进行双向握手同步处理,得到多个时序同步的同步波形数据。
206、将每一目标屏幕对应的时序控制数据和同步波形数据同时输出至所有目标屏幕进行显示。
本发明实施例中,针对步骤201,203-206的相关描述请参照实施例一中针对步骤101-步骤104的详细描述,本发明实施例不再赘述。
本发明实施例中,步骤201和步骤203中还包括:
2021、检测帧中断fifo的状态;
本发明实施例中,帧中断fifo为2层的fifo。
2022、当检测到帧中断fifo的状态为非满时,确定出更新波形数据中的一帧更新波形信息并写入预设的储存空间,并生成一个帧中断储存至帧中断fifo;
2023、当检测到帧中断fifo的状态为非空时,从储存空间中读取出一帧更新波形信息以执行后续的操作,并更新帧中断fifo以清除其中一个帧中断;
2024、重复步骤2021-2023直至更新波形数据中的所有更新波形信息被全部生成和读取以执行后续的步骤。
本发明实施例中的一种模块实现思路可以参照图12,其中图12中的波形生成器和波形读取器的具体的结构,可以参照图7和图8以及实施例一的相应描述,在此不再赘述。由图12可见,波形生成器和波形读取器为2个独立的模块,如何对这2个独立模块进行调度是难点。传统方法是在波形生成器和波形读取器中分别设置中断标志位,在每帧的解码结束后,用cpu进行多次调度。这样不仅会增加驱动软件的负责度,还会增加cpu的负担,从而使系统性能下降。针对此问题,本发明实施例中在波形生成器和波形读取器之间插入帧中断fifo,以解决两个离线模块之前的调度问题。
如图12所示,帧中断fifo本质上是一个2层的fifo,用于接收波形生成器和波形读取器的帧完成中断。当帧中断fifo非满时,可启动波形生成器,完成一帧波形解码后,其帧中断不再输出到系统,而是写入到帧中断fifo中。当fifo非空时,启动波形读取器,完成一帧读取后,其帧中断不再输出到系统,而是作为fifo的读使能信号对fifo的状态进行更新,以清除其中一个帧中断。通过帧中断fifo对2个模块的读写地址进行切换,无需cpu的介入即能自动完成乒乓读写。
两个模块之间的工作时序,同时也是本发明实施例中步骤2021-2024的工作示意图,可以参照图13,其中:当波形生成器完成第1帧解码后,会把帧中断写入fifo中,此时fifo非满,波形生成器继续开始第2帧的解码并写入偶地址。同时fifo非空,启动波形读取器,读回奇地址的波形数据用于显示。当其显示完成后,发送帧完成中断到fifo的读使能端,更新fifo的状态。更新后fifo非满,波形生成器开始第3帧的解码并写入奇地址。在第3帧解码过程中,可能由于当前内存总线的负载过高,导致波形生成器长时间未能完成回写,如图13的a所示,当波形读取器显示完第2帧后,帧中断fifo为空,此时波形读取器不能马上开始第3帧的读取,需等待波形生成器完成第3帧后,如图13的b所示,把fifo更新为非空,才能开始第3帧的显示。如此反复,直到一个刷新过程的所有帧都刷完,才送出一个刷新完成中断,极大地减少了系统响应中断的次数。
可见,本发明实施例通过引入帧中断fifo,可以使得波形数据的生成和读取之间的协作实现乒乓读写,可以实现一个刷新过程的所有帧都刷完,才送出一个刷新完成中断,极大地减少了系统响应中断的次数。
实施例三
请参阅图3,图3是本发明实施例公开的一种适用于电子墨水屏的多屏同步控制装置的结构示意图。其中,图3所描述的适用于电子墨水屏的多屏同步控制装置应用于显示控制系统/显示控制设备/显示控制服务器(其中,该显示控制服务器包括本地显示控制服务器或云显示控制服务器)中。
如图3所示,该适用于电子墨水屏的多屏同步控制装置可以包括:
波形确定模块301,用于根据目标显示区域的更新图像,确定多个目标屏幕对应的多个波形数据。
时序确定模块302,用于根据目标显示区域的总时序控制数据,确定多个目标屏幕对应的多个时序控制数据。
波形同步模块303,用于对多个波形数据进行双向握手同步处理,得到多个时序同步的同步波形数据。
显示输出模块304,用于将每一目标屏幕对应的时序控制数据和同步波形数据同时输出至所有目标屏幕进行显示。
作为一种可选的实施方式,如图4所示,波形确定模块301包括:
波形确定单元3011,用于获取目标显示区域的更新图像,根据更新图像,确定目标显示区域对应的更新波形数据;
波形处理单元3012,用于根据目标显示区域对应的更新波形数据,基于多个目标屏幕的位置方向规则,确定多个目标屏幕对应的多个波形数据。
作为一种可选的实施方式,波形确定单元3011获取目标显示区域的更新图像,根据更新图像,确定目标显示区域对应的更新波形数据的具体方式,包括:
对目标显示区域的刷新帧数进行累计计算,得到当前刷新帧数,并基于以下规则对当前刷新帧数进行判断:
当判断到当前刷新帧数为零时,获取目标显示区域的更新图像,根据更新图像和目标显示区域的当前显示图像,确定目标显示区域对应的更新索引数据,并驱动当前刷新帧数加一;
当判断到当前刷新帧数不为零时,获取刷新帧数对应的波形文件,并根据波形文件,以及目标显示区域对应的更新索引数据,确定目标显示区域对应的更新波形数据,并驱动当前刷新帧数加一。
在一个可选的实施方式中,上述步骤中的,波形确定单元3011获取目标显示区域的更新图像,根据更新图像,确定目标显示区域对应的更新波形数据的具体方式,还包括:
当判断到当前刷新帧数为帧数阈值时,确认当前的图像更新过程结束,并停止帧数计数。
在一个可选的实施方式中,波形处理单元3012根据目标显示区域对应的更新波形数据,基于多个目标屏幕的位置方向规则,确定多个目标屏幕对应的多个波形数据的具体方式,包括:
基于多个目标屏幕在目标显示区域的位置,将目标显示区域对应的更新波形数据,划分为多个目标屏幕对应的多个分屏波形数据;
对于每一目标屏幕,读取该目标屏幕对应的分屏波形数据,并将分屏波形数据输入第一行缓冲器中;
从第一行缓冲器中读取出目标屏幕对应的波形数据,以得到目标屏幕对应的多个波形数据。
本发明实施例中,在目标屏幕对应的扫描展示方向与预设的波形数据读取方向相同时,第一行缓冲器的数据读写规则为先进先出,在目标屏幕对应的扫描展示方向与预设的波形数据读取方向相反时,第一行缓冲器的数据读写规则为先进后出。
在一个可选的实施方式,时序确定模块302根据目标显示区域的总时序控制数据,确定多个目标屏幕对应的多个时序控制数据的具体方式,包括:
获取目标显示区域对应的总时序控制数据;
基于多个目标屏幕在目标显示区域的位置,将目标显示区域对应的总时序控制数据进行时序框划分,以得到多个目标屏幕对应的多个时序控制数据。
在一个可选的实施方式中,波形同步模块303对多个波形数据进行双向握手同步处理,得到多个时序同步的同步波形数据的具体方式,包括:
将多个波形数据通过双向握手通信输入至包括有多级同步单元的握手同步模块进行信号处理,以得到多个时序同步的同步波形数据。
本发明实施例中,具体的,多级同步单元中前一级同步单元与后一级同步单元之间均进行双向握手通信,每一级同步单元均包括有至少一个同步器;每一同步器均用于在其每一输入端均接收到输入的波形数据时,将所有输入端接收到的波形数据以及有效握手信号传输至下一级同步单元中的同步器,并反馈有效应答信号至上一级。
在一个可选的实施方式中,如图4所示,本装置还包括:
波形缓冲模块305,用于将多个时序同步的同步波形数据通过双向握手通信同步输入至第二行缓冲器中;第二行缓冲器在非满时向上级反馈有效应答信号,在满时向上级反馈无效应答信号;
坐标计算模块306,用于从第二行缓冲器中读取出同步波形数据,计算任一同步波形数据的显示坐标,并判断显示坐标是否超出实际屏幕区域外;该实际屏幕区域为目标屏幕的显示区域;
当判断到显示坐标超出实际屏幕区域外时,将同步波形数据置零,否则不对同步波形数据做改动。
在一个可选的实施方式中,本装置还包括设置在波形确定单元3011和波形处理单元3012之间的帧中断fifo。本发明实施例中,帧中断fifo为2层的fifo。
波形确定单元3011还用于检测帧中断fifo的状态,当检测到帧中断fifo的状态为非满时,确定出更新波形数据中的一帧更新波形信息并写入预设的储存空间,并生成一个帧中断储存至帧中断fifo。
波形处理单元3012还用于检测帧中断fifo的状态,当检测到帧中断fifo的状态为非空时,从储存空间中读取出一帧更新波形信息以执行后续的操作,并更新帧中断fifo以清除其中一个帧中断。
波形确定单元3011和波形处理单元3012还用于重复上述步骤直至更新波形数据中的所有更新波形信息被全部生成和读取以执行后续的步骤。
需要注意的是,本发明实施例中公开的多屏同步控制装置,其各功能模块的作用和具体的执行步骤,与实施例一和实施例二中公开的多屏同步控制方法相对应,本发明实施例中的具体的实施方案,也可以参照实施例一和实施例二公开的该具体实施方案,在此不再赘述。
实施例四
请参阅图5,图5是本发明实施例公开的又一种适用于电子墨水屏的多屏同步控制装置。图5所描述的适用于电子墨水屏的多屏同步控制装置应用于显示控制系统/显示控制设备/显示控制服务器(其中,该显示控制服务器包括本地显示控制服务器或云显示控制服务器)中。如图5所示,该适用于电子墨水屏的多屏同步控制装置可以包括:
存储有可执行程序代码的存储器401;
与存储器401耦合的处理器402;
其中,处理器402调用存储器401中存储的可执行程序代码,用于执行实施例一或实施例二所描述的适用于电子墨水屏的多屏同步控制方法的步骤。
实施例五
本发明实施例公开了一种计算机读存储介质,其存储用于电子数据交换的计算机程序,其中,该计算机程序使得计算机执行实施例一或实施例二所描述的适用于电子墨水屏的多屏同步控制方法的步骤。
实施例六
本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一或实施例二所描述的适用于电子墨水屏的多屏同步控制方法的步骤。
实施例七
本发明实施例公开了一种适用于电子墨水屏的多屏同步控制系统,该系统包括多个目标屏幕和多屏同步控制装置,多屏同步控制装置用于执行实施例一或实施例二所描述的适用于电子墨水屏的多屏同步控制方法的步骤。
具体的,本发明实施例公开的多屏同步控制系统的具体实施方案可以参照图14,其包括连接至多个目标屏幕以及cpu的eink显示引擎,在该系统中只存在唯一的eink显示引擎,其与四个屏幕之间同时保持着硬连接。当上层有图像更新请求时,cpu先判断eink显示引擎是否有正在进行的刷新,若无则立即向其下发请求,否则会等到当前的刷新完成后,再下发请求。当eink显示引擎启动后,会从内存中读取和回写相应的数据,用于产生时序控制信号和波形数据。输出的时序控制信号同时连到4个屏幕的时序控制端,而波形数据则被分拆成4组8bit的数据线,分别连接到不同屏幕的数据端,从而实现了4个屏幕显示不同内容的同步扫描。
具体的,eink显示引擎的模块结构示意图可以参照图15,其包括波形生成器、帧中断fifo、波形读取器和时序同步器等模块,更具体的,这些模块的结构示意图可以参照图7、8、11、12以及实施例一和实施例二中对这些附图的说明阐述,在此不再赘述。
具体的,时序发生器用于执行如图9和图10所示的时序框划分以得到多个目标屏幕对应的多个时序控制数据。
本发明实施例中公开的上述具体实施方案主要用于实现四个扫描方向的四个目标屏幕(见图8右侧)的显示控制,而实际中,当其用于实现如图16所示的,两个扫描方向的四个屏幕的显示控制时,其系统中的eink显示引擎的架构可以简化为如图17所示,这一场景中,由于无需支持垂直切屏和扫描方向1和3,即无需支持图像从底向上的扫描,因此可删除波形生成器中的波形数据回写功能,波形读取器中的分屏读取器和帧中断fifo。简化后,波形生成器直接把解码后的波形数据送到水平镜像器,在水平镜像器中进行水平切分和水平镜像后,再送到时序同步器。简化后的eink显示引擎少了波形数据的一读一写,有效降低了系统带宽开销和模块功耗。这对于一些单屏的应用如电纸书,或对功耗敏感的多屏应用如广告牌等场景,是非常有效的。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(read-onlymemory,rom)、随机存储器(randomaccessmemory,ram)、可编程只读存储器(programmableread-onlymemory,prom)、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、一次可编程只读存储器(one-timeprogrammableread-onlymemory,otprom)、电子抹除式可复写只读存储器(electrically-erasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种适用于电子墨水屏的多屏同步控制方法、装置及系统所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
1.一种适用于电子墨水屏的多屏同步控制方法,其特征在于,所述方法包括:
根据目标显示区域的更新图像,确定多个目标屏幕对应的多个波形数据;所述目标显示区域为所述多个目标屏幕组合而成的显示区域;
根据所述目标显示区域的总时序控制数据,确定所述多个目标屏幕对应的多个时序控制数据;
对所述多个波形数据进行双向握手同步处理,得到多个时序同步的同步波形数据;
将每一所述目标屏幕对应的所述时序控制数据和所述同步波形数据同时输出至所有所述目标屏幕进行显示。
2.根据权利要求1所述的适用于电子墨水屏的多屏同步控制方法,其特征在于,所述根据目标显示区域的更新图像,确定多个目标屏幕对应的多个波形数据,包括:
获取目标显示区域的更新图像,根据所述更新图像,确定所述目标显示区域对应的更新波形数据;
根据所述目标显示区域对应的更新波形数据,基于所述多个目标屏幕的位置方向规则,确定所述多个目标屏幕对应的多个波形数据。
3.根据权利要求2所述的适用于电子墨水屏的多屏同步控制方法,其特征在于,所述获取目标显示区域的更新图像,根据所述更新图像,确定所述目标显示区域对应的更新波形数据,包括:
对目标显示区域的刷新帧数进行累计计算,得到当前刷新帧数,并基于以下规则对所述当前刷新帧数进行判断:
当判断到所述当前刷新帧数为零时,获取所述目标显示区域的更新图像,根据所述更新图像和所述目标显示区域的当前显示图像,确定所述目标显示区域对应的更新索引数据,并驱动所述当前刷新帧数加一;
当判断到所述当前刷新帧数不为零时,获取所述刷新帧数对应的波形文件,并根据所述波形文件,以及所述目标显示区域对应的更新索引数据,确定所述目标显示区域对应的更新波形数据,并驱动所述当前刷新帧数加一。
4.根据权利要求2所述的适用于电子墨水屏的多屏同步控制方法,其特征在于,所述根据所述目标显示区域对应的更新波形数据,基于所述多个目标屏幕的位置方向规则,确定所述多个目标屏幕对应的多个波形数据,包括:
基于所述多个目标屏幕在所述目标显示区域的位置,将所述目标显示区域对应的更新波形数据,划分为所述多个目标屏幕对应的多个分屏波形数据;
对于每一所述目标屏幕,读取该目标屏幕对应的分屏波形数据,并将所述分屏波形数据输入第一行缓冲器中;
从所述第一行缓冲器中读取出所述目标屏幕对应的波形数据,以得到所述目标屏幕对应的多个波形数据;
其中,在所述目标屏幕对应的扫描展示方向与预设的波形数据读取方向相同时,所述第一行缓冲器的数据读写规则为先进先出;在所述目标屏幕对应的扫描展示方向与预设的波形数据读取方向相反时,所述第一行缓冲器的数据读写规则为先进后出。
5.根据权利要求2所述的适用于电子墨水屏的多屏同步控制方法,其特征在于,所述更新波形数据包括多帧更新波形信息;在所述获取目标显示区域的更新图像,根据所述更新图像,确定所述目标显示区域对应的更新波形数据之后,在所述根据所述目标显示区域对应的更新波形数据,基于所述多个目标屏幕的位置方向规则,确定所述多个目标屏幕对应的多个波形数据之前,所述方法还包括:
检测帧中断fifo的状态;所述帧中断fifo为2层的fifo;
当检测到所述帧中断fifo的状态为非满时,确定出所述更新波形数据中的一帧更新波形信息并写入预设的储存空间,并生成一个帧中断储存至所述帧中断fifo;
当检测到所述帧中断fifo的状态为非空时,从所述储存空间中读取出一帧所述更新波形信息以执行后续的操作,并更新所述帧中断fifo以清除其中一个帧中断;
重复以上步骤直至所述更新波形数据中的所有所述更新波形信息被全部生成和读取以执行后续的步骤。
6.根据权利要求2所述的适用于电子墨水屏的多屏同步控制方法,其特征在于,所述根据所述目标显示区域的总时序控制数据,确定所述多个目标屏幕对应的多个时序控制数据,包括:
获取所述目标显示区域对应的总时序控制数据;
基于所述多个目标屏幕在所述目标显示区域的位置,将所述目标显示区域对应的总时序控制数据进行时序框划分,以得到所述多个目标屏幕对应的多个时序控制数据。
7.根据权利要求1所述的适用于电子墨水屏的多屏同步控制方法,其特征在于,所述对所述多个波形数据进行双向握手同步处理,得到多个时序同步的同步波形数据,包括:
将所述多个波形数据通过双向握手通信输入至包括有多级同步单元的握手同步模块进行信号处理,以得到多个时序同步的同步波形数据;所述多级同步单元中前一级同步单元与后一级同步单元之间均进行双向握手通信,每一级所述同步单元均包括有至少一个同步器;每一所述同步器均用于在其每一输入端均接收到输入的所述波形数据时,将所有输入端接收到的所述波形数据以及有效握手信号传输至下一级所述同步单元中的所述同步器,并反馈有效应答信号至上一级。
8.一种适用于电子墨水屏的多屏同步控制装置,其特征在于,所述装置包括:
波形确定模块,用于根据目标显示区域的更新图像,确定多个目标屏幕对应的多个波形数据;所述目标显示区域为所述多个目标屏幕组合而成的显示区域;
时序确定模块,用于根据所述目标显示区域的总时序控制数据,确定所述多个目标屏幕对应的多个时序控制数据;
波形同步模块,用于对所述多个波形数据进行双向握手同步处理,得到多个时序同步的同步波形数据;
显示输出模块,用于将每一所述目标屏幕对应的所述时序控制数据和所述同步波形数据同时输出至所有所述目标屏幕进行显示。
9.一种适用于电子墨水屏的多屏同步控制装置,其特征在于,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-7任一项所述的适用于电子墨水屏的多屏同步控制方法。
10.一种适用于电子墨水屏的多屏同步控制系统,其特征在于,所述系统包括多个目标屏幕和多屏同步控制装置,所述多屏同步控制装置用于执行如权利要求1-7任一项所述的适用于电子墨水屏的多屏同步控制方法。
技术总结