一种多区域流水线显示方法
技术领域
本发明涉及集成电路领域,具体而言,涉及芯片驱动电子纸显示。
背景技术
由于电子纸成本低廉,可擦写、可弯曲折叠,一次显示可长时间保持等特性使其得到了非常广泛的应用。
然而由于电子纸本身的特性决定了它的刷新速度并不能很快。当有一小块内容需要变化时需要整个一屏的内容都要更新一次。而一旦在屏幕更新的过程中如果在还没有发生变化的屏幕区域内显示内容再次发生变化,如播放动画、做反选操作或显示进度条时,如果等到一屏内容都更新完毕再次从头刷新一遍,不但实时性很差而且显示内容甚至会出现显示错误。
发明内容
本发明提供了一种多区域流水线显示方法,目的在于解决上问题。
为达到上述目的,本发明提供了一种多区域流水线显示方法,包括以下步骤:当电子纸显示屏第一区域显示内容发生变化时,执行第一区域主控存储写操作;在第一区域主控存储写操作完成后执行第一区域更新缓冲同步操作;在第一区域更新缓冲同步操作结束后执行第一区域显示输出操作;当电子纸显示屏第二区域显示内容在所述第一区域显示内容没有完成第一区域显示输出操作之前就已发生变化时,判断所述第一区域主控存储写操作是否完成,当所述第一区域主控存储写操作完成时执行第二区域主控存储写操作;判断第一区域更新缓冲同步操作是否完成,当第一区域更新缓冲同步操作完成时执行第二区域更新缓冲同步操作,更新当前同步缓存中的内容;执行第二区域显示输出操作。
优选地,所述步骤还包括以下步骤:当电子纸显示屏第三区域显示内容在所述第一区域显示内容和第二区域显示内容没有完成第一区域显示输出操作和第二区域显示输出操作之前就已发生变化时,判断所述第一区域主控存储写操作和第二区域主控存储写操作是否完成,当所述第一区域主控存储写操作和第二区域主控存储写操作均完成时执行第三区域主控存储写操作;判断第一区域更新缓冲同步操作和第二区域更新缓冲同步操作是否完成,当第一区域更新缓冲同步操作和第二区域更新缓冲同步操作均完成时执行第三区域更新缓冲同步操作,更新当前同步缓存中的内容;执行第三区域显示输出操作。
优选地,所述主控存储写操作将待显示内容写入图像显示缓冲区中;所述更新缓冲同步操作对比图像显示缓冲区中的当前显示内容和待显示内容,在所述图像显示缓冲区写入更新索引缓冲。
优选地,所述第一区域显示输出操作、第二区域显示输出操作和第三区域显示输出操作同时执行。
优选地,所述方法进一步包括:当电子纸显示屏扫描更新到第一区域、第二区域或第三区域所包括的像素点时,查询图像显示缓冲区的更新索引缓冲,并更新所述更新索引缓冲中对应像素点的内容。
优选地,所述查询图像显示缓冲区的更新索引缓冲,并更新所述更新索引缓冲中对应像素点的内容步骤进一步包括:对需要改变显示内容的像素点,根据所述更新索引缓冲中存储的当前显示内容的灰阶和待显示内容的灰阶的变化,查找灰阶电压脉冲表,根据查找结果对该像素点加载对应的电压脉冲。
优选地,所述显示内容同时发生变化的区域不超过N(N≥2)个。
优选地,所述N为16。
优选地,当显示内容变化的区域超过N个时,对于第N+1个显示内容同时发生变化的区域不执行主控存储操作。
优选地,所述每个区域的起点、终点、长度、宽度均用寄存器组记录。
本发明的上述实施例采用流水线显示方法,解决了刷新速度跟不上更新速度的问题。
附图说明
下面将参照附图对本发明的具体实施方案进行更详细的说明,在附图中:
图1是本发明一种多区域流水线显示方法一个具体的实施例的流程图。
具体实施方式
电子纸的每一个像素点都会对应一个胶囊,胶囊内包括分别显示白色和黑色的化学物质,通过加载不同的脉冲电压会呈现出不同的灰阶。由于电子纸刷新速度不快,全屏的刷新有时需要几百毫秒的时间,因此本发明提供一种多区域流水线显示方法。
具体请参看图1所示,图1为本发明一个具体实施例的显示方法流程图,具体包括以下步骤。
步骤101,当电子纸显示屏第一区域显示内容发生变化时,执行第一区域主控存储写操作。
所述电子纸显示屏的第一区域的范围并不固定大小。其起点、终点、高度、宽度均用寄存器组记录。每增加一个区域,则采用一组新的寄存器记录。
所述主控存储写操作(HMW,Host Memory Write)用于将待显示内容由数据总线写入图像显示缓冲区中。所述主控存储写操作进程为阻塞性触发进程,即必须等待前一个主控存储写操作进程结束后才可进行新的主控存储写操作。但其可以与其他操作进程同时工作。
步骤102,在第一区域主控存储写操作完成后执行第一区域更新缓冲同步操作。
所述更新缓冲同步操作(UBS,Update Buffer Synthesis)用于对比图像显示缓冲区中的当前显示内容的灰阶和待显示内容的灰阶,将获得的灰阶变化值写入所述图像显示缓冲区的更新索引缓冲中。所述更新缓冲同步操作进程为阻塞性触发进程,即必须等待前一个更新缓冲同步操作进程结束后才可进行新的更新缓冲同步操作。但其可以与其他操作进程同时工作。
步骤103,在第一区域更新缓冲同步操作结束后执行第一区域显示输出操作。
所述显示输出操作(DO,Display Output)用于根据图像显示缓冲区中的更新索引缓冲刷新电子纸显示屏上的像素点。所述显示输出操作进程为非阻塞性进程,可合并完成,也能与其他操作进程同时工作。
步骤104,当电子纸显示屏第二区域显示内容在所述第一区域显示内容没有完成第一区域显示输出操作之前就已发生变化时,判断所述第一区域主控存储写操作是否完成,当所述第一区域主控存储写操作完成时执行第二区域主控存储写操作。
步骤105,判断第一区域更新缓冲同步操作是否完成,当第一区域更新缓冲同步操作完成时执行第二区域更新缓冲同步操作,更新当前同步缓存中的内容。
步骤106,执行第二区域显示输出操作。
所述显示输出操作具体内容包括对电子纸显示屏进行行扫描,当扫描到前述显示内容变化的区域时,查询当前时刻图像显示缓冲区中的更新索引缓冲,获取对应像素点的灰阶变化值,查找灰阶电压脉冲表,并根据查找结果对该像素点加载对应的电压脉冲。
当电子纸显示屏第三区域显示内容在所述第一区域显示内容和第二区域显示内容没有完成第一区域显示输出操作和第二区域显示输出操作之前就已发生变化时,执行以下步骤。
步骤201,判断所述第一区域主控存储写操作和第二区域主控存储写操作是否完成,当所述第一区域主控存储写操作和第二区域主控存储写操作均完成时执行第三区域主控存储写操作。步骤202,判断第一区域更新缓冲同步操作和第二区域更新缓冲同步操作是否完成,当第一区域更新缓冲同步操作和第二区域更新缓冲同步操作均完成时执行第三区域更新缓冲同步操作,更新当前同步缓存中的内容。
步骤203,执行第三区域显示输出操作。
在一个具体的实施例中,所述显示内容同时发生变化的区域不超过16个。这是因为每一个区域都需要分配寄存器组存储区域的起点、终点、高度和宽度信息,这会消耗一部分宝贵的芯片资源。相对而言,在刷新一屏所用的几百毫秒时间内支持16个区域的变化,可以涵盖相当部分的应用。因此,16个区域的显示内容变化支持是一个优选地实施例,是经过实验进行了多方面平衡后的结果。
即便支持16个显示区域仍然有可能无法满足需求。当显示内容同时发生变化的区域超过16个时,对于第17个显示内容同时发生变化的区域不执行主控存储操作。等到最先进入流水线的第一个显示区域的显示输出操作完成后,再执行第17个显示区域的主控存储操作。
显而易见,在不偏离本发明的真实精神和范围的前提下,在此描述的本发明可以有许多变化。因此,所有对于本领域技术人员来说显而易见的改变,都应包括在本权利要求书所涵盖的范围之内。本发明所要求保护的范围仅由所述的权利要求书进行限定。