发明内容
针对上述问题,本发明提供一种Demura Table数据压缩方法以及解压缩方法,实现对Demura Table的数据进行合理有效压缩以节省硬件成本。
为了解决上述技术问题,本发明采用如下技术方案:一种Demura Table数据压缩方法,具体步骤包括:
步骤一、获取显示面板的Demura Table,Demura Table由M行补偿数据和N列补偿数据组成,扩展Demura Table数据使其成为奇数行偶数列的数据,构成第一矩阵;
步骤二、基于第一矩阵的数据,按照每相邻四行为一个提取周期,对Demura Table数据进行提取;
步骤三、将提取到的数据按序依次排列,得到压缩的Demura Table,构成第二矩阵;
步骤四、设定一个阈值,将第二矩阵数据的绝对值与阈值进行比较,如果对应位置数据的绝对值小于阈值,判定为轻微Mura区域,否则,判定为严重Mura区域,判定结果使用1bit进行保存;
步骤五、针对轻微Mura区域,可用较少的m bit数对该位置的数据进行存储;针对严重Mura区域,只对该位置数据的高m bit进行存储;
步骤六、将按照上述方式存储的Demura Table数据保存到存储设备中。
进一步的,步骤一还包括:如果M不是奇数,需要在行方向上添加一行,可通过复制原数据矩阵的最后一行补偿数据得以实现;如果N不是偶数,需要在列方向上添加一列,可通过复制原数据矩阵的最后一列补偿数据得以实现,进而构成第一矩阵。
进一步的,步骤二还包括:如果一个提取周期不足四行数据且只有一行数据,则按照每一个提取周期的第一行数据的提取方式进行数据提取。
进一步的,步骤二还包括:如果这一个提取周期不足四行数据且只有三行数据,则其第一行数据和第三行数据按照每一个提取周期的第一行、第三行数据的提取方式进行数据提取,第二行数据舍弃。
进一步的,步骤五还包括:对第二矩阵数据进行存储的过程中,由于补偿数据有正负之分,因此需要1bit保存补偿数据的符号位。
一种Demura Table数据解压缩方法,具体步骤包括:
步骤一、获取原始Demura Table的总行数M和总列数N;
步骤二、针对保存的Demura Table数据,根据Mura区域标记位的数值,确定该位置Mura的程度;
步骤三、针对轻微Mura区域,直接对数据进行数值转换;针对严重Mura区域,需要对数据进行左移然后进行数值转换;
步骤四、将数值转换后的数据按序依次排列,构成第三矩阵;
步骤五、针对第三矩阵的每一行数据,通过同行两相邻数据计算得到待填充数据;
步骤六、在列方向上,从第一行数据开始,每相邻两行数据之间插入一行待填充数据,进而得到第四矩阵;
步骤七、选取第四矩阵前M行前N列数据得到Demura Table数据。
本发明的有益效果:本发明对Demura Table数据进行了合理有效的压缩,缩小了Demura Table的大小,减少了硬件成本;在解压缩过程中,只涉及数据的加法和移位操作,占用较少的逻辑资源,节省了功耗。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的本实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请说明书、权利要求书和附图中出现的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或者单元,而是可选地还包括没有列出的步骤或者单元,或者可选地还包括对于这些过程、方法、产品或者设备固有的其他步骤、或者单元。此外,术语“第一”、“第二”和“第三”等是用于区别不同的对象,而并非用于描述特定的顺序。
本发明提供一种Demura Table数据压缩方法,具体步骤包括:
步骤一、获取显示面板的Demura Table,Demura Table由M行补偿数据和N列补偿数据组成,扩展Demura Table数据使其成为奇数行偶数列的数据,构成第一矩阵;
具体地,通过相机拍摄显示面板显示不同灰阶画面的Mura形态,利用相关算法得到每个像素的补偿数据,而Demura Table就是由M行补偿数据和N列补偿数据组成的。为了保证可以更好的解压出原数据,最后一行必须进行数据的提取。
为了使第二矩阵每行的数据个数相等,则必须保证有偶数列数据。
本实施例中,步骤一还包括:如果M不是奇数,需要在行方向上添加一行,可通过复制原数据矩阵的最后一行补偿数据得以实现;如果N不是偶数,需要在列方向上添加一列,可通过复制原数据矩阵的最后一列补偿数据得以实现,进而构成第一矩阵。
步骤二、基于第一矩阵的数据,按照每相邻四行为一个提取周期,对Demura Table数据进行提取;
具体地,基于第一矩阵的数据,从其第一行数据开始进行数据的提取。第一个提取周期也即第一矩阵的第1-4行数据,第二个提取周期也即第一矩阵的第5-8行数据,以此类推,一直到第一矩阵的最后一个提取周期。
本实施例中,步骤二还包括:如果一个提取周期不足四行数据且只有一行数据,则按照每一个提取周期的第一行数据的提取方式进行数据提取。
本实施例中,步骤二还包括:如果这一个提取周期不足四行数据且只有三行数据,则其第一行数据和第三行数据按照每一个提取周期的第一行、第三行数据的提取方式进行数据提取,第二行数据舍弃。
在一个提取周期中,对于四行数据中第一行数据,提取奇数列的数据;对于四行数据中第三行数据,提取偶数列的数据;对于四行数据中第二、四行数据,直接舍弃。
步骤三、将提取到的数据按序依次排列,得到压缩的Demura Table,构成第二矩阵;
具体地,将按照上述方式提取的数据按序依次排列,每一行提取的数据依次排在同一行,不同行的数据按照提取次序依次排成列,进而构成第二矩阵。第二矩阵的数据量约为第一矩阵数据量的1/4,从而有利地节省了存储空间。
步骤四、设定一个阈值,将第二矩阵数据的绝对值与阈值进行比较,如果对应位置数据的绝对值小于阈值,判定为轻微Mura区域,否则,判定为严重Mura区域,判定结果使用1bit进行保存;
步骤五、针对轻微Mura区域,可用较少的m bit数对该位置的数据进行存储;针对严重Mura区域,只对该位置数据的高m bit进行存储;
本实施例中,步骤五还包括:对第二矩阵数据进行存储的过程中,由于补偿数据有正负之分,因此需要1bit保存补偿数据的符号位。具体地,设定一个阈值,将第二矩阵数据的绝对值与阈值进行比较,如果对应位置数据的绝对值小于阈值,判定为轻微Mura区域,否则,判定为严重Mura区域,判定结果使用1bit进行保存,比如可用0标记轻微Mura区域,用1标记严重Mura区域;针对轻微Mura区域,可用较少的m bit数对该位置的数据进行存储;针对严重Mura区域,只对该位置数据的高m bit进行存储。假设补偿数据的数值范围-128~127之间,正常情况下需要使用8bit对每个数据进行存储,利用本发明的方法,阈值设为16,轻微Mura区域的数值只需要4bit进行存储,严重Mura区域的数值存储其高4bit。整个显示面板各个像素位置只需要6bit存储即可,进一步地节省了存储空间。以上只是举例说明,并不是对该发明的限定,各个参数需要根据实际情况进行合理的设定。
步骤六、将按照上述方式存储的Demura Table数据保存到存储设备中。
针对本发明提出的一种Demura Table数据压缩方法,本发明还提供了与之对应的一种Demura Table数据解压缩方法,具体步骤包括:
步骤一、获取原始Demura Table的总行数M和总列数N;
步骤二、针对保存的Demura Table数据,根据Mura区域标记位的数值,确定该位置Mura的程度;
步骤三、针对轻微Mura区域,直接对数据进行数值转换;针对严重Mura区域,需要对数据进行左移然后进行数值转换;
具体地,步骤三具体为:保存的Demura Table数据中,使用相同的比特数对每个像素点的数值进行保存,每个数值特定位置的比特值代表该位置Mura的程度。根据保存数据时采用的标记规则,对各个像素点位置的Mura程度进行判定。如果该位置被判定为轻微Mura区域,直接对数据进行数值转换即可;如果该位置被判定为严重Mura区域,需要对数据进行左移特定的位数,然后对移位以后的数值进行数值转换,再加上相对应的偏移值即可。
步骤四、将数值转换后的数据按序依次排列,构成第三矩阵;
其中,第三矩阵和第二矩阵的数据个数近似相等;
具体地,将数值转换后的数据按序依次排列,每一行数据经过数值转换后依次排在同一行,不同行的数据经过数值转换后按序依次排成列,进而构成第三矩阵,第三矩阵和第二矩阵的数据个数近似相等。
步骤五、针对第三矩阵的每一行数据,通过同行两相邻数据计算得到待填充数据;
步骤六、在列方向上,从第一行数据开始,每相邻两行数据之间插入一行待填充数据,进而得到第四矩阵;
具体步骤结合图1详细说明待填充数据的求解过程:P11、P12、P13、P14...P1n代表第三矩阵的第一行数据,P21、P22、P23、P24...P2n代表第三矩阵的第二行数据,P31、P32、P33、P34...P3n代表第三矩阵的第三行数据。需要借助这三行数据得到第四矩阵的前四行数据,这三行数据在第四矩阵的位置如图1所示。针对第四矩阵的第一行数据,已知数据P11、P12、P13、P14...P1n占第一行数据个数的一半,剩下的待填充数据可通过同行两相邻数据计算得到,以X1的计算为例,只需通过移位相加两相邻数据即可得到待填充数据,该行除了最后一个数据X2之外的其他位置的待填充数据计算方法与之相同,针对该行最后一个数据X2可由下式计算得到,/>针对第四矩阵的第三行数据,已知数据P21、P22、P23、P24...P2n占该行数据个数的一半,剩下的待填充数据可通过同行两相邻数据计算得到,以X3的计算为例,/>只需通过移位相加两相邻数据即可得到待填充数据,该行除了第一个数据X4之外的其他位置的待填充数据计算方法与之相同,针对该行第一个数据X4可由下式计算得到,/>针对第四矩阵的第二行数据,可根据已求出的第一行和第三行数据计算得到,以X5、X6的计算为例,只需通过移位相加上下两行相邻数据即可得到待填充数据,该行除了第一个数据X7以及最后一个数据X8之外的其他位置的待填充数据计算方法与之相同,针对该行第一个数据X7可由下式计算得到,/>针对该行最后一个数据X8可由下式计算得到,/>针对第四矩阵的第四行数据的计算需要借助第四矩阵的第五行数据,第五行数据计算方法和第一行数据的计算方法相同,第四行数据计算方法和第二行数据的计算方法相同。第四矩阵每四行为一周期,计算方法与其第一至四行的计算方法相同。针对每个周期第一行的最后一个数据、第三行的第一个数据,可根据实际情况进行简化运算,通过把临近值直接对其赋值即可,以下图数据为例,X2=P1n,X4=P21。在解压缩过程中,只涉及数据的加法和移位操作,占用较少的逻辑资源,节省了功耗。
步骤七、选取第四矩阵前M行前N列数据得到Demura Table数据。
以上所述,仅是本发明较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明以较佳实施例公开如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当利用上述揭示的技术内容作出些许变更或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明技术是指对以上实施例所作的任何简单修改、等同变化与修饰,均属于本发明技术方案的范围内。