一种支持任意显示区域局部刷新的方法与流程

文档序号:23098147发布日期:2020-11-27 13:01阅读:291来源:国知局
一种支持任意显示区域局部刷新的方法与流程

本发明涉及显示技术领域,尤其是涉及一种支持任意显示区域局部刷新的方法。



背景技术:

显示系统包括显示面板及驱动显示面板显示图像的显示驱动单元。目前的显示系统中,很多显示驱动单元内部都集成了用于存放整帧待显示图像的帧缓存器,其在显示图像时,显示驱动单元对视频源发送的图片进行压缩后存储于帧缓存器中,并在显示图像时从帧缓存器中获取图像的压缩数据并解压后在显示面板中显示相应图像,如以分辨率为1920×1080的图片为例进行详细的说明:系统初始化时,根据显示需求,设定待压缩的显示图像的原始数据块划分,根据待压缩图像的分辨率(1920×1080)将待压缩图像划分成m×n个原始数据块,每个数据块包含p行、q列像素。显示驱动单元或显示桥接芯片逐行接收视频源发送的待显示图片数据。显示驱动单元或显示桥接芯片每接收到一个待显示图片的原始数据块行时,即1×n个原始数据块,进一步通过选定的压缩算法,如dsc算法等等,对这些原始数据块逐个进行压缩,将每个数据块的压缩数据存入帧缓存器内相应的存储空间中,可通过空间地址对存储空间内的压缩数据进行访问,其中,压缩数据的大小由压缩比决定,如压缩比为3:1,则压缩数据的大小为原始数据的三分之一,并且帧缓存器在存储所有数据块的压缩数据时,压缩数据按照压缩顺序连续的写入,如第一行数据块的压缩数据,从第一个压缩数据开始依次写入帧缓存器中,直到本行数据块的所有压缩数据全部写入帧缓存器中。之后,存储后面行的数据块,直至整帧显示图片的所有压缩数据全部写入帧缓存器中。通过压缩可使整个显示图片在接近视觉无损的显示质量情况下存储于帧缓存器中,减少对帧缓存器的容量需求、降低功耗和成本。

在显示图像时,显示驱动单元按照与压缩数据在帧缓存器中存储规则一致的方式,从帧缓存器中读出一个数据块行的所有压缩数据块,并对每个压缩数据块进行解压缩,得到显示数据,然后将整个数据块行包含的所有显示数据块,拼成完整的显示图片数据行,其行数与原始数据块包含的显示数据行相同,然后逐行将这些行的显示数据刷新到显示面板中进行显示。

然而,上述需要对原始显示图片进行压缩、存储、解压处理的显示系统或者显示数据通路无法进行任意区域的局部刷新,也即:当帧缓存器中存放着整个显示图片数据时,若要进行局部刷新,则需要将该局部刷新区域内新的显示数据存储到该区域对应的帧缓存器的存储空间中去,覆盖掉该区域原有的显示数据,与帧缓存器内其他存储空间存放的显示数据组成新的一帧显示图片数据,如果原始数据先采用压缩算法压缩后再存储到帧缓存器时,则局部刷新的显示数据也需通过压缩算法压缩后存放到帧缓存器相应位置。如果局部刷新区域包含不完全刷新的数据块区域,则这部分区域对应的显示数据经过压缩后得到的压缩数据小于完整的数据块经过压缩得到的压缩数据,而局部刷新区域的显示数据对应的存储空间中,存储着上一帧图片的压缩数据,每个数据块与存储空间一一对应,如果将不完全刷新的数据块区域中新的显示数据的压缩数据存储到对应的存储空间中,这个空间中存储的上一帧图片的压缩数据仅会有一部分被新的显示数据的压缩数据覆盖,剩余一部分继续保留,在这个存储空间中会只包括一部分原有的压缩数据,也即原有的压缩数据变得不准确不完整,解压缩时,这个压缩数据无法正确解压,得到的显示数据会不准确,甚至差异会很大,显示会出现问题,比如花屏,乱码等现象。同时,针对原始数据和局部刷新数据可能采用不同的压缩算法,或者采用相同压缩算法的不同配置,并对该数据块区域进行标示记录,在解压过程中,需对该数据块区域进行特殊处理,使得数据压缩、解压变的非常复杂,最终导致显示驱动单元或者显示数据通路(如桥接芯片等等)的面积开销较大,成本大,功耗高。



技术实现要素:

本发明的目的在于克服现有技术的缺陷,提供一种支持任意显示区域局部刷新的方法,使得需要对原始显示图片进行压缩、存储、解压处理的显示系统或者显示数据通路能够支持任意显示区域的局部刷新,避免显示出现花屏、乱码等现象,降低功耗和成本。

为实现上述目的,本发明提出如下技术方案:一种支持任意显示区域局部刷新的方法,方法包括

s100,根据待压缩图像的分辨率将待压缩图像划分成m×n个原始数据块,并将所述m×n个原始数据块压缩后存储于帧缓存器中,m、n为大于或等于1的整数;

s200,获取局部刷新区域的位置及大小,判断所述局部刷新区域是否包含不完全刷新的原始数据块区域,若是,则接收局部刷新区域的图像数据,并将不完全刷新的原始数据块区域扩展为完全刷新的原始数据块区域,进一步将未经扩展的完全刷新的原始数据块区域所对应的图像数据块压缩后存储于帧缓存器内与原始数据块对应的存储空间中,同时将经过扩展后形成的完全刷新的原始数据块区域所对应的图像数据块压缩后存储于局部刷新缓存器的存储空间中;

s300,读取帧缓存器中未经扩展的完全刷新的原始数据块区域所对应的压缩数据和经过扩展后形成的完全刷新的原始数据块区域所对应上一次刷新的显示图像的压缩数据,以及读取局部刷新缓存器中经过扩展后形成的完全刷新的原始数据块区域所对应的压缩数据,解压后进行像素行拼合处理并在显示系统显示。

优选地,在步骤s200中,通过如下方式将不完全刷新的原始数据块区域扩展为完全刷新的原始数据块区域:

根据局部刷新区域内位于不完全刷新的原始数据块区域内的图像数据,对该原始数据块区域内不刷新的像素行或者像素列进行扩展刷新处理,使不完全刷新的原始数据块区域成为完全刷新的原始数据块区域。

优选地,所述扩展刷新处理包括

不完全刷新的原始数据块区域在扩展像素行时,待扩展的像素行中的每一个像素的值均复制该原始数据块区域内与该像素处于同一列的被刷新的最外侧的像素的值;

不完全刷新的原始数据块区域在扩展像素列时,待扩展的像素列中的每一个像素的值均复制该原始数据块区域内与该像素处于同一行的被刷新的最外侧的像素的值。

优选地,所述扩展刷新处理包括

直接设定待扩展的像素行或像素列中每个像素的值,将待扩展的像素行或像素列中每个像素的值设置成相同或者不同。

优选地,所述扩展刷新处理包括

不完全刷新的原始数据块区域在扩展像素行时,待扩展的像素行中的每一个像素的值为该原始数据块区域内与该像素处于同一列的被刷新的像素的平均值;

不完全刷新的原始数据块区域在扩展像素列时,待扩展的像素列中的每一个像素的值为该原始数据块区域内与该像素处于同一行的被刷新的像素的平均值。

优选地,所述扩展刷新处理包括

不完全刷新的原始数据块区域在扩展像素行时,待扩展的像素行中的每一个像素的值为α×p,其中,α为原始数据块区域内部与待扩展的像素处于同一列的被刷新的任意两个相邻像素的比值,且α为一固定值,p为原始数据块区域与待扩展的像素处于同一列的被刷新的相邻像素的值;

不完全刷新的原始数据块区域在扩展像素列时,待扩展的像素列中的每一个像素的值为α×p,其中,α为原始数据块区域内部与待扩展的像素处于同一行的被刷新的任意两个相邻像素的比值,且α为一固定值,p为原始数据块区域与待扩展的像素处于同一行的被刷新的相邻像素的值。

优选地,在步骤s300中,在进行像素行拼合时,

对于扩展后形成的局部刷新区域内的原始数据块区域内的像素行数据,若该像素行位于未经扩展的原始数据块区域内,则该像素行的数据可直接从帧缓存器内读取该原始数据块区域对应的压缩数据解压后获得;

若该像素行位于经扩展的原始数据块区域内,则该像素行中,位于原始局部刷新区域之外的像素可通过帧缓存器内存储的该原始数据块区域上一次刷新的显示图像的压缩数据解压后获得,位于原始局部刷新区域之内的像素可通过局部刷新缓存器内该原始数据块区域对应存储的压缩数据解压后获得。

优选地,在步骤s300中,在进行像素行拼合时,

对于扩展后形成的局部刷新区域之外的原始数据块内的像素行数据,通过该原始数据块区域在帧缓存器内对应存储的压缩数据进行解压获得。

优选地,若局部刷新区域内总的像素所占用的存储空间小于局部刷新缓存器的存储空间容量,则局部刷新区域的像素数据直接存储于局部刷新缓存器中,并在像素行拼合时,直接读取局部刷新缓存器内未经压缩的像素数据进行拼合处理。

优选地,在局部刷新区域内,若不完全刷新的原始数据块区域内刷新的像素的数据量小于局部刷新缓存器的存储空间容量,则直接将不完全刷新的原始数据块区域内刷新的像素的数据存储于局部刷新缓存器,并在像素行拼合时,直接读取局部刷新缓存器内未经压缩的像素数据进行拼合处理。

本发明的有益效果是:

(1)本发明在进行任意区域局部刷新时,通过调整局部刷新区域的范围,使不完全刷新的原始数据块区域扩展成可完全刷新的数据块区域,并将完全刷新的原始数据块区域对应的数据块存储于帧缓存器中与原始数据块对应的存储空间中,及将经扩展形成的完全刷新的原始数据块区域对应的数据块压缩后存储于局部刷新缓存器中,在局部刷新模式时,将帧缓存器和局部刷新缓存器中的压缩数据解压后进行拼合处理,避免显示设备在图像显示过程中出现乱码、花屏等异常效果。

(2)局部刷新区域内的数据块与局部刷新区域之外的数据块使用完全相同的压缩解压算法,无需另外增加新的压缩解压算法和流程,使系统的压缩解压算法处理流程在不同的显示模式下完全统一,降低了系统复杂度,节省显示驱动芯片或者显示桥接芯片的面积、成本及功耗。

附图说明

图1是本发明的流程图示意图;

图2是本发明的支持局部刷新的数据通路结构框图示意图;

图3是本发明的图像分割示意图;

图4是局部刷新区域包含完全刷新的原始数据块区域示意图;

图5是局部刷新区域包含不完全刷新的原始数据块区域示意图;

图6是局部刷新区域扩展范围后形成的局部刷新区域示意图;

图7是局部刷新区域扩展后对应压缩数据存储示意图;

图8是像素行拼合示意图。

具体实施方式

下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。

本发明所揭示的一种支持任意显示区域局部刷新的方法,适用于需要对原始显示图片进行压缩、存储、解压处理的显示系统或者显示数据通路,其通过调整局部刷新区域的范围,使不完全刷新的原始数据块区域扩展成可完全刷新的数据块区域,并将完全刷新的原始数据块区域对应的数据块存储于帧缓存器中与原始数据块对应的存储空间中,及将经扩展形成的完全刷新的原始数据块区域对应的数据块压缩后存储于局部刷新缓存器中,在局部刷新模式时,将帧缓存器和局部刷新缓存器中的压缩数据解压后进行拼合处理,避免显示设备在图像显示过程中出现乱码、花屏等异常效果,使得显示设备能够支持任意显示区域的局部刷新。

结合图1和图2所示,本发明所揭示的一种支持任意显示区域局部刷新的方法,包括如下步骤:

s100,根据待压缩图像的分辨率将待压缩图像划分成m×n个原始数据块,并将所述m×n个原始数据块压缩后存储于帧缓存器中。

具体地,系统初始化时,根据显示需求,设定待压缩的显示图像的原始数据块划分。根据待压缩图像的分辨率将待压缩图像划分成m×n个原始数据块,每个数据块包含p行、q列像素,其中,m、n为大于或等于1的整数,p、q为大于或等于1的整数。本实施例中,以将待压缩图像均匀划分成大小相等的数据块为最佳,如图3所示,待压缩图像的分辨率为48×32,可将待压缩图像划分成12×8个数据块,每个数据块包含4×4个像素。

视频源,如ap(applicationprocessor,应用处理器)等,通过相应接口,如mipi(mobileindustryprocessorinterface,移动产业处理器接口)、dpi(displaypixelinterface,显示像素接口)等,将待显示图片数据逐行传输至显示设备或者显示桥接芯片中。显示设备中的显示驱动芯片(ddic,displaydriveric)或者显示桥接芯片逐行接收视频源发送的待显示图片数据。

进一步地,根据选定的压缩算法,如dsc算法等等,当每接收到一个待显示图片的原始数据块行时,即1×n个原始数据块,就对这些原始数据块逐个进行压缩,压缩数据的大小由压缩比决定,如采用压缩比为3:1进行压缩,则每个原始数据块压缩后的压缩数据的大小为原始数据的三分之一,当然,也可根据需求选择压缩比为4:1进行压缩,也可以选择其他压缩比。

当1×n个原始数据块压缩完成后分别将每个原始数据块对应的压缩数据存储于帧缓存器内相应存储空间中,原始数据块与帧缓存器中的压缩数据是一一对应的关系,每个原始数据块的压缩数据存放在帧缓存器中独立的存储空间,可通过独立的存储空间地址对每个原始数据块的压缩数据进行访问,包括写入和读取。当前1×n个原始数据块压缩完成后,如果下一个1×n个原始数据块行完成接收,可以开始下一个1×n个原始数据块的压缩和存储。

原始数据块的压缩存储与图像数据的接收可以并行执行,也即当前接收完成的1×n个原始数据块在进行压缩存储处理时,可以同时接收下一个原始数据块行的图像数据,这样并行执行直到整个显示图片全部被接收,按照原始数据块压缩完成后,存入帧缓存器中。

本实施例中,在对待压缩图像进行原始数据块区域划分时,原始数据块划分的尺寸大小,需要考虑对原始数据块进行压缩、存储、解压处理的开销及显示效果的同时,还需要考虑对局部刷新区域内要经过扩展处理的数据块在进行扩展时的开销及扩展后再经过压缩解压的显示效果,使得划分出合适尺寸的原始数据块,使系统对显示图像进行扩展处理、压缩、存储、解压等流程的开销尽量小,最终的全屏刷新和局部刷新的显示效果尽量好。

s200,获取局部刷新区域的位置及大小,判断所述局部刷新区域是否包含不完全刷新的原始数据块区域,若是,则接收局部刷新区域的图像数据,并将不完全刷新的原始数据块区域扩展为完全刷新的原始数据块区域,进一步将未经扩展的完全刷新的原始数据块区域所对应的图像数据块压缩后存储于帧缓存器内与原始数据块对应的存储空间中,同时将经过扩展后形成的完全刷新的原始数据块区域所对应的图像数据块压缩后存储于局部刷新缓存器的存储空间中。

具体地,视频源在开始发送局部刷新区域的显示图像前,首先要发送命令设定局部刷新区域的位置,一般为局部刷新区域的起始行和结束行以及起始列和结束列,然后设置系统显示模式为局部刷新模式,此后发送局部刷新区域的显示图像。如图4所示,设定局部刷新区域为15个原始数据块区域s11~s53构成的矩形区域,然后设置系统刷新模式为局部刷新模式,之后视频源发送局部刷新区域的显示刷新图像,也就原始数据块s11~s53的更新图像数据。

进一步地,显示设备,如手机屏幕等,在使用过程中可以通过局部刷新来更新某些信息,如手机主界面内时钟或者信号强度等,这样可以减少传输的显示数据量,降低刷新的功耗。显示设备或者显示桥接芯片首先需获取局部刷新区域的位置及大小,判断局部刷新区域是否包含不完全刷新的原始数据块区域,最后接收局部刷新区域的图像数据,实施时,ap会发送局部刷新区域设定命令,这些命令包括设定局部刷新区域位置的起始行和结束行以及起始列和结束列,通过这些信息可以确定局部刷新区域的位置及局部刷新区域的大小,在获取局部刷新区域的位置及大小后,进一步判断该局部刷新区域是否包含不完全刷新的原始数据块区域,之后接收ap发送的局部刷新区域的更新图像数据。局部刷新区域可仅包含完全刷新的原始数据块区域,如图4所示,局部刷新区域为15个原始数据块区域s11~s53构成的矩形区域,每个原始数据数据块区域内的所有像素可全部被刷新;局部刷新区域也可包含不完全刷新的原始数据块区域,如图5所示,局部刷新区域为15个可完全刷新的原始数据块区域s11~s53与20个部分刷新的原始数据块区域构成的矩形区域,也即:原始数据块区域s11~53与原始数据块区域s11、s12、s13的上侧三行像素、原始数据块区域s11、s21、s31、s41、s51的左侧两列像素、原始数据块区域s51、s52、s53的下侧两行像素,及原始数据块区域s13、s23、s33、s43、s53的右侧一行像素构成的矩形区域。

对于仅包含完全刷新的原始数据块区域的局部刷新区域,无需对该局部刷新区域进行调整,直接接收局部刷新区域所对应的图像数据块,并将接收到的局部刷新区域所对应的数据块通过相应压缩模块并采用相应的压缩算法,如dsc算法等等,进行压缩处理,压缩后存储至帧缓存器中原始数据块区域对应的存储空间中,覆盖掉上一次刷新时存储的原始数据块区域的压缩数据,结合图4和图7所示,局部刷新区域包含15个可完全刷新的数据块,分别对应帧缓存器内原始数据块区域s11~s53,15个可完全刷新的数据块经过压缩后获得15个压缩数据,分别为c11~c53,15个压缩数据分别存储至帧缓存器与原始数据块区域s11~s53对应的存储空间中,如将压缩数据c11存储于原始数据块区域s11对应的存储空间中,以覆盖上一次刷新时存储在原始数据块区域s11对应的存储空间中的压缩数据。

对于局部刷新区域包含不完全刷新的原始数据块区域的情况,则接收局部刷新区域的图像数据,并通过对局部刷新区域进行调整,使调整后的局部刷新区域只包含完全刷新的原始数据块区域,进而使调整后的局部刷新区域内的所有数据块均能够进行正确的压缩、存储和解压处理。调整局部刷新区域包括扩展局部刷新区域范围,使调整后的局部刷新区域只包含完全刷新的原始数据块区域,结合图5和图6所示,对于图5所示的不完全刷新区域,将其上侧向上扩展一行像素,进一步将其左侧向左扩展两列像素,将其下侧向下扩展两行像素,将其右侧向右扩展三行像素,最终形成图6所示的局部刷新区域abcd,经扩展后的局部刷新区域只包含完全刷新的原始数据块区域。

进一步地,扩展局部刷新区域范围时,根据局部刷新区域内位于不完全刷新的原始数据块区域内的数据对该原始数据块区域进行扩展刷新处理,使该不完全刷新的原始数据块区域成为完全被刷新的原始数据块区域,也就是说将不完全刷新的原始数据块区域内没有被刷新的像素行或者像素列也进行刷新,使得不完全刷新的原始数据块区域内的所有像素均能够被刷新,不完全刷新的原始数据块区域成为可完全刷新的原始数据块区域。结合图5和图6所示,使不完全刷新的原始数据块区域s11、s12、s13上侧原始数据块区域内未被刷新的一行像素进行刷新处理,使上侧原始数据块区域成为可完全刷新的原始数据块区域,同样方式,对其他不完全刷新的原始数据块区域进行扩展刷新处理,使得不完全刷新的原始数据块区域内的所有像素均能够被刷新。

进一步地,在对局部刷新区域内不完全刷新的原始数据块区域进行扩展刷新处理时,可采用如下方式对该原始数据块块区域进行扩展刷新处理:不完全刷新的原始数据块区域在扩展像素行时,待扩展的像素行中的每一个像素的值均复制该原始数据块区域内与该像素处于同一列的被刷新的最外侧的像素的值,在扩展像素列时,待扩展的像素列中的每一个像素的值均复制该原始数据块区域内与该像素处于同一行的被刷新的最外侧的像素的值,如图6所示,以数据块内同一行像素的像素值均相同为列进行详细说明,五个数据块区域s00~s04中第一行像素不刷新,第二行至第四行像素的值分别为p2、p3、p4,扩展刷新时,第一行像素的值复制第二行像素的值,而第二行像素为局部刷新区域上侧边界所在数据块的最外侧一行像素,最终使得五个数据块区域s00~s04中像素行的值依次为p2、p2、p3、p4。当待扩展刷新的像素行多于一行时,所有待扩展刷新的像素行的值均复制局部刷新区域最外侧一行的像素值,使得局部刷新区域的最外侧像素行和扩展刷新后的像素行中处于同一列的像素的值相同。

或者,直接设定待扩展的像素行或像素列中每个像素的值,可设置成相同的值或者不同的值,如扩展的像素行中所有像素均设置为全白色[255,255,255]或者黑色[0,0,0]等等,也可设置为中间值,可根据实际需求进行设置。

当然,不完全刷新的原始数据块区域在扩展像素行或像素列时,待扩展的像素行或像素列的值也可设置为该区域内被刷新的行像素或者列像素值的平均值,也即:不完全刷新的原始数据块区域在扩展像素行时,待扩展的像素行中的每一个像素的值为该原始数据块区域内与该像素处于同一列的被刷新的像素的平均值;不完全刷新的原始数据块区域在扩展像素列时,待扩展的像素列中的每一个像素的值为该原始数据块区域内与该像素处于同一行的被刷新的像素的平均值。如上所述,五个数据块区域s00~s04内第一行至第四行的中像素的像素值分别为(p2+p3+p4)÷3、p2、p3、p4;

或者根据该区域内像素值对待扩展的像素行或像素列的值进行线性扩展,也即:不完全刷新的原始数据块区域在扩展像素行时,待扩展的像素行中的每一个像素的值为α×p,其中,α为原始数据块区域内部与待扩展的像素处于同一列的被刷新的任意两个相邻像素的比值,且α为一固定值,p为原始数据块区域与待扩展的像素处于同一列的被刷新的相邻像素的值;不完全刷新的原始数据块区域在扩展像素列时,待扩展的像素列中的每一个像素的值为α×p,其中,α为原始数据块区域内部与待扩展的像素处于同一行的被刷新的任意两个相邻像素的比值,且α为一固定值,p为原始数据块区域与待扩展的像素处于同一行的被刷新的相邻像素的值。如p2/p3≈p3/p4≈α,扩展后的像素行或者像素列中像素的值为α×p2、p2、p3、p4。

本实施例中,对于像素行和像素列均需要扩展的原始数据块区域,可以根据显示需求设定或者根据像素值内容动态计算行扩展和列扩展的先后顺序,如先选择扩展像素行,再扩展像素列,也可以选择先扩展像素列,再扩展像素行,以使该不完全刷新的原始数据块区域成为完全刷新的原始数据块区域。另外,在扩展刷新时,也可选择其他算法,以使扩展后的数据块的像素值比较自然,区域显示比较光滑顺畅。

进一步地,当将局部刷新区域调整为只包含完全刷新的原始数据块区域的局部刷新区域后,对局部刷新区域内的图像数据块进行压缩并存储。对于局部刷新区域内未经扩展的完全刷新的原始数据块区域对应的图像数据块,按照接收顺序,一般从左到右,从上到下的顺序,通过相应压缩模块对每个图像数据块进行压缩并存储,如结合图5和图6所示,对于完全刷新的原始数据块区域s11~s53对应的图像数据经过压缩后,得到每个图像数据块对应的压缩数据为c11~c53,也即原始数据块区域s11对应的图像数据块压缩后得到压缩数据c11,以此类推,原始数据块区域s53对应的图像数据块压缩后得到压缩数据c53。获得压缩数据后,直接将压缩数据存储至帧缓存器内部的对应存储空间中,以覆盖之前的压缩数据。

对于局部刷新区域内经扩展形成的完全刷新的原始数据块区域对应的图像数据块,通过相应压缩模块对每个图像数据块进行压缩,获得相应的压缩数据后存储于局部刷新缓存器中,如结合图5、图6和图7所示,原始数据块区域s00、s01、s02、s03、s04、s10、s14、s20、s24、s30、s34、s40、s44、s50、s54、s60、s61、s62、s63、s64对应的图像数据块经过压缩后,得到的压缩数据为c00、c01、c02、c03、c04、c10、c14、c20、c24、c30、c34、c40、c44、c50、c54、c60、c61、c62、c63、c64。进一步将上述压缩数据存储于局部刷新缓存器内部的对应存储空间中。

本实施例中,局部刷新缓存器用于存放经扩展后形成的完全刷新的原始数据块区域对应的图像数据块的压缩数据,其内存放压缩数据的顺序一般从左到右,从上到下存储,与系统接收图像数据的顺序保持一致。并且局部刷新缓存器的存储空间大小与需要扩展的不完全刷新的原始数据块区域的数量,及每块数据块的规格有关,结合图5、图6和图7所示,每个数据块包括4×4个像素,而需要扩展的不完全刷新的原始数据块区域共20个,具体为s00、s01、s02、s03、s04、s10、s14、s20、s24、s30、s34、s40、s44、s50、s54、s60、s61、s62、s63、s64,此时,局部刷新缓存器的存储空间大小为20(块)×4(行/块)×4(列/行)×3(byte/像素)÷3(压缩比)=320byte,也即局部刷新缓存器的存储空间为320byte时,可支持在该区域下的局部刷新模式。

进一步地,在压缩比保持不变的情况下,数据块的规格越小,局部刷新缓存器的存储空间也越小,如压缩比不变,减小原始数据块的划分规格,将原来的4×4个像素减小到2×2个像素,帧缓存器的存储空间是1536byte,而局部刷新缓存器的存储空间变为76×2×2×3÷3=304byte,局部刷新缓存器的存储空间容量大约为帧缓存器的存储空间容量的五分之一。

为支持任意区域的局部刷新功能,局部刷新缓存器的存储空间需要最大的情况是,局部刷新区域的边界落在显示区域最外侧的原始数据块区域内,也即屏幕显示区域顶部的一行原始数据块区域、下部的一行原始数据块区域、左侧的一列原始数据块区域,及右侧的一列原始数据块区域均需要扩展刷新处理,以图6所示为例,需扩展刷新的原始数据块区域最多为36个,此时,局部刷新缓存器的存储空间大小为576byte,而帧缓存器的存储空间12×8×4×4×3÷3=1536byte,也即局部刷新缓存器的存储空间约为帧缓存器的存储空间的三分之一。

s300,读取帧缓存器中未经扩展的完全刷新的原始数据块区域所对应的压缩数据和经过扩展后形成的完全刷新的原始数据块区域所对应上一帧图像的压缩数据,及读取局部刷新缓存器中经过扩展后形成的完全刷新的原始数据块区域所对应的压缩数据,解压后进行像素行拼合处理,形成待显示图像并显示。

具体地,显示图像时,显示驱动芯片从帧缓存器和局部刷新缓存器中读取相应的压缩数据进行解压并进行像素行的拼合处理。其中,在解压时,对于扩展后形成的局部刷新区域之外的原始数据块区域对应的压缩数据,如图6所示,扩展后形成的局部刷新区域abcd之外的原始数据块区域对应的压缩数据,按照正常的顺序从帧缓存器读取并通过相应解压模块进行解压处理。对于原始局部刷新区域内部包含的完全刷新的原始数据块区域对应的压缩数据,结合图6和图7所示,原始数据块区域s11~s53对应的压缩数据c11~c53,按照正常顺序从帧缓存器读取并通过相应解压模块进行解压处理。对于经扩展后形成的完全刷新的原始数据块区域,其对应的压缩数据包括两种,一种是存储于帧缓存器内的上一帧图像对应这些原始数据块区域的压缩数据,如压缩数据f00、f01、f02、f03、f04、f10、f14、f20、f24、f30、f34、f40、f44、f50、f54、f60、f61、f62、f63、f64(图未示出),另一种是存储于局部刷新缓存器内的经扩展处理的原始数据块区域对应的压缩数据,如图7所示的压缩数据c00、c01、c02、c03、c04、c10、c14、c20、c24、c30、c34、c40、c44、c50、c54、c60、c61、c62、c63、c64,在解压时,同时分别从帧缓存器和局部刷新缓存器中读取同一个原始数据块区域对应的压缩数据并通过相应的解压模块进行独立的解压,获得该原始数据块区域对应的两份显示图像数据。

在局部刷新模式,为得到正确的图像数据,需将从帧缓存器和局部刷新缓存器内读取的压缩数据解压后进行像素行拼合处理,也即从帧缓存器中读取未经扩展的完全刷新的原始数据块区域所对应的压缩数据、从帧缓存器中读取经过扩展后形成的完全刷新的原始数据块区域所对应上一帧图像的压缩数据,及从局部刷新缓存器中读取经过扩展后形成的完全刷新的原始数据块区域所对应的压缩数据,将这些压缩数据解压后进行像素行拼合处理。在进行像素行拼合时,对于扩展后形成的局部刷新区域之外的原始数据块内的像素行数据,可通过该原始数据块区域在帧缓存器内对应存储的压缩数据进行解压获得,结合图6和图7所示,原始数据块区域s00左侧的一个原始数区域,其内第一行像素数据可通过该原始数据块区域在帧缓存器中对应存储的压缩数据进行解压获得。而对于扩展后形成的局部刷新区域内的原始数据块区域内的像素行数据,若该像素行位于未经扩展的原始数据块区域内,则该像素行的数据可直接从帧缓存器内读取该原始数据块区域对应的压缩数据解压后获得,如图7所示,压缩数据c11、c12、c13、c21、c22、c23、c31、c32、c33、c41、c42、c43、c51、c52、c53等,这些压缩数据存储在帧缓存器中,解压时直接从帧缓存器中按顺序读出并解压,使用解压得到的图像数据拼合最终的像素行;若该像素行位于经扩展的原始数据块区域内,则该像素行中,位于原始局部刷新区域之外的像素可通过帧缓存器内该原始数据块区域对应存储的上一帧图像的压缩数据解压后获得,如原始数据块区域s00、s01、s02、s03、s04的第1行像素,位于原始局部刷新区域之外,在像素行拼合时,这些原始数据块区域s00、s01、s02、s03、s04的第1行像素的像素值从帧缓存器中存储的与该原始数据块区域对应的压缩数据解压获得。而位于原始局部刷新区域之内的像素可通过局部刷新缓存器中存储的与该原始数据块区域对应的压缩数据解压后获得,如区域s00,s01,s02,s03,s04的第2、3、4行像素,区域s60、s61、s62、s63、s64的第1、2行像素,可通过局部刷新缓存器中存储的与该原始数据块区域对应的压缩数据解压后获得,其中,区域s00、s04、s60、s64属于交汇区的数据块,这些数据区域内,只有行和列都在原始局部刷新区域内的像素才直接从局部刷新缓存器中获取相应数据。这些区域范围内的像素,均属于原局部刷新区域之内,要被刷新,故像素行拼合时,这些区域的像素值选用从局部刷新缓存器中存放的压缩数据解压得到的图像数据,这些图像数据是局部刷新模式下更新的显示图像数据。

进一步地,如图8所示,对像素行如何拼合进行详细说明:对于压缩前经过扩展处理的原始数据块区域s00、s01、s02、s03、s04,从帧缓存器和局部刷新缓存器中分别读取对应的压缩数据f00、f01、f02、f03、f04和c00、c01、c02、c03、c04,解压得到两份图像数据。从帧缓存器(fb,framebuffer)中读取的压缩数据解压得到的图像数据中,阴影部分的图像数据所对应的显示区域在局部刷新模式下被刷新,但这些图像数据是旧的,因此在像素行拼合时不使用,而其余部分的图像数据不属于原局部刷新区域,因此屏幕上要保持这些区域的显示不变,所以在像素行拼合时要使用,从局部刷新缓存器(pfb,partialframebuffer)读取的压缩数据解压得到的图像数据中,颜色相对较深的阴影部分的图像数据属于数据块扩展时的增加数据,不属于原局部刷新区域,因此在像素行拼合时不使用,颜色相对较浅的灰色区域包含的图像数据都属于原局部刷新区域要更新的像素值,在像素行拼合时要使用。经过选取相应数据,最终拼合成新的数据块行,包括4行像素,如图8中所示,3行像素组成的灰色区域为本次局部刷新过程需要刷新的区域。

本实施例中,对于局部刷新区域仅包含完全刷新的原始数据块区域时,可直接对局部刷新区域对应的图像数据块压缩后直接存入帧缓存器中,显示时,可直接从帧缓存器中读取相应的压缩数据并由相应的解压模块进行解压处理,解压模块解压后得到的图像数据可直接送入像素行拼合模块中进行像素行拼合处理,如图2中虚线1所示的数据处理过程。

对于局部刷新区域包含不完全刷新的原始数据块区域时,需通过相应的扩展模块进行扩展处理,使经扩展后的局部刷新区域只包含完全刷新的原始数据块区域,经扩展的原始数据块区域对应的图像数据块通过相应的压缩模块压缩后存储于局部刷新缓存器中,显示时,可直接从局部刷新缓存器读取相应的压缩数据并由相应的解压模块进行解压处理,解压模块解压后得到的图像数据可直接送入像素行拼合模块中进行像素行拼合处理,如图2中虚线2所示的数据处理过程。

对于未经扩展的局部刷新区域内部包含的完全刷新的原始数据块区域的数量较少时,使得局部刷新区域内像素的总数据量较小,这些原始数据块区域对应的图像数据块压缩后的压缩数据占用的存储空间较小,小于局部刷新缓存器的存储空间大小,可直接将这些压缩数据存储于局部刷新缓存器中,使得系统控制相对简单。同样地,如果原始局部刷新区域内像素的数据量小于局部刷新缓存器的存储空间大小,可直接将图像数据存储于局部刷新缓存器中,无需经过压缩后再存储,在拼合时,直接从局部刷新缓存器中读取原始数据进行拼合,可不用增加一个额外解压模块。如图2中所示的虚线3所示,无需增加额外的解压模块,节约芯片面积和压缩解压功耗。

对于不完全刷新的原始数据块区域内刷新的像素的数据量小于局部刷新缓存器的存储空间容量时,也可将不完全刷新的原始数据块区域内刷新的像素的数据直接存储于局部刷新缓存器中,并在像素行拼合时,直接读取局部刷新缓存器内未经压缩的像素数据进行拼合处理。

本发明在进行任意区域局部刷新时,通过调整局部刷新区域的范围,使不完全刷新的原始数据块区域扩展成可完全刷新的数据块区域,并将未经过扩展的完全刷新的原始数据块区域对应的数据块压缩后存储于帧缓存器中与原始数据块对应的存储空间中,及将经扩展形成的完全刷新的原始数据块区域对应的数据块压缩后存储于局部刷新缓存器中,在局部刷新模式时,将帧缓存器和局部刷新缓存器中的压缩数据解压后进行像素行拼合处理,拼合成正确的图像数据,避免显示设备在图像显示过程中出现乱码、花屏等异常效果。同时,局部刷新区域内的数据块与局部刷新区域之外的数据块使用完全相同的压缩解压算法,无需另外增加新的压缩解压算法和流程,使系统的压缩解压算法处理流程在不同的显示模式下完全统一,降低了系统复杂度,节省显示驱动芯片或者显示桥接芯片的面积、成本及功耗。

本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1