发明内容
针对现有技术存在的技术缺陷,本发明的目的是提供一种对AMOLED面板进行数据补偿及压缩的控制方法,其用于通过压缩算法实现数据补偿的高压缩率,包括如下步骤:
a.将AMOLED面板的亮度信息转换为以像素点为单位的R、G、B三分量的分量亮度,并确定所述R、G、B三分量的分量亮度相对应的实际灰阶值,其中,所述以像素点为单位的R、G、B三分量的分量亮度分别对应于AMOLED面板显示的RGB单色画面各关键灰阶数据采集亮度信息;
b.以M行像素点为基本单位对所述AMOLED面板进行第一区域划分,并将每个第一区域的平均亮度作为与之相对应关键灰阶点的目标亮度,确定所述目标亮度相对应的目标灰阶值;
c.以M行M列像素点作为基本单位对所述AMOLED面板进行第二区域划分,并确定每个区域内的每个像素点的实际灰阶值与与所述像素点所在第一区域的目标灰阶值的补偿趋势、趋势补偿值以及相邻区域间的补偿趋势差值;
d.对所述补偿趋势、所述趋势补偿值以及所述补偿趋势差值进行压缩存储。
优选地,在所述步骤a中,基于gamma曲线公式实现以像素点为单位的亮度信息与实际灰阶值的转换,所述gamma曲线公式为:
其中,所述L
data为实际亮度,所述L
255为灰阶255的亮度,所述data_out为实际灰阶值;
其中,L255的亮度求取方法为,已知平均亮度和当前关键灰阶点,则根据gamma曲线公式得到:
其中,L
data为平均亮度,data
in为当前关键灰阶点数值。
优选地,在所述步骤b中,设面板行数为N
row,以M行像素点作为单位区域,将面板亮度值划分为
段,其中,第K
row段为N
row-(K
row-1)×M行,对每段的亮度进行求和平均,将每个第一区域的平均亮度作为与之相对应关键灰阶点的目标亮度。
优选地,在所述步骤b中,确定所述目标亮度相对应的目标灰阶值通过如下公式:
其中,所述L
Z为实际亮度,所述L
255为灰阶255的亮度,所述data_T为目标灰阶值。
优选地,所述步骤c包括如下步骤:
c1:以M行M列像素点作为基本单位对所述AMOLED面板进行第二区域划分;
c2:确定每个区域内的每个像素点的实际灰阶值与与所述像素点所在第一区域的目标灰阶值的补偿趋势以及与所述补偿趋势相对应的趋势补偿值;
c3:在所述AMOLED面板的第二区域划分中确定基准关键点灰阶图像,并确定与所述基准关键点灰阶图像相对应的趋势补偿值;
c4:对任意相邻的关键点灰阶图像的趋势值进行做差处理,遍历所有关键点灰阶图像,并形成以基准关键点灰阶图像相对应的趋势值、任意相邻的关键点灰阶图像的补偿趋势差值为策略的数据压缩。
优选地,所述步骤c1包括:
设所述AMOLED面板的列数为N
col,行数为N
row,对所述AMOLED面板进行第二区域划分,区域大小为M×M,1行被划分为
个区域,其中,第K
col个区域的大小为M×(N
col-(K
col-1)×M);同时,第K
row段的区域的大小为(N
row-(K
row-1)×M)×M,其中,第K
row段、第K
col个的区域大小为(N
row-(K
row-1)×M)×(N
col-(K
col-1)×M)。
优选地,在所述步骤c2中,确定每个区域内的每个像素点的实际灰阶值与与所述像素点所在第一区域的目标灰阶值的补偿趋势包括:
在构造的矩阵区域中,当所述实际灰阶值与所述目标灰阶值在[-range,range]区间内,则对应像素点用1表示;
当所述实际灰阶值小于所述目标灰阶值且绝对值差值大于range时,补偿正值,对应像素点用0表示;
当所述实际灰阶值大于所述目标灰阶值且绝对值差值大于range时,补偿负值,对应像素点用2表示。
优选地,在所述步骤c2中,确定每个区域内的每个像素点的实际灰阶值与所述像素点所在第一区域的目标灰阶值的趋势补偿值包括:
将每个区域内所有需要正值补偿的像素点,即标记为“0”像素点,其所有实际灰阶值与目标灰阶值做绝对值差后进行求和平均,得到平均值Mean0,将其作为所述区域内标记为正值补偿值;
将每个区域内所有需要负值补偿的像素点,即标记为“2”的像素点,其所有实际灰阶值与目标灰阶值做绝对值差后进行求和平均,得到平均值Mean2,将其作为所述区域内标记为负值补偿值;
每个区域内补偿值存在1个正值补偿1个负值补偿,在Nrow×Ncol中存在Krow×Kcol个正值补偿值和负值补偿值。
优选地,在所述步骤c4中,通过如下方式对任意相邻的关键点灰阶图像的趋势值进行做差处理:
相邻关键点灰阶图像的趋势值做差,其差值diff范围为[-2,2];
当两个相邻关键点灰阶图像中的同一像素点趋势值分别为“0”和“2”时,将(关键灰阶)数值大的对应像素点趋势值修正为“1”,不做补偿,使得差值diff的范围在[-1,1];
当差值diff为负数时存储值S=-(diff*2)-1;当差值为正数时,存储值S=(2*diff)。
优选地,所述步骤d包括如下步骤:
d1:对所有所述趋势补偿值进行存储;
d2:与所述基准关键点灰阶图像相对应的趋势值采用Huffman编码存储;
d3:对非基准关键点灰阶图像与相邻关键点的对应补偿趋势差值,以4个数据为1组,通过压缩码进行压缩存储。
优选地,所述步骤d3中:
当所述数据为4个0时,代码为“1”=1bit;
当所述数据为3个0时,代码为“01”+“xx”+“y”=5bit,其中“xx”表示3个0的具体位置,有4种情况,“y”表示该非0为“1”/“2”;
当所述数据为2个0时,代码为“001”+“xxx”+“yy”=8bit,其中“xxx”表示2个0的具体位置,有6种情况,“yy”表示其余两个非0为“1”/“2”;
当所述数据为1个0时,代码为“0001”+“xx”+“yyy”=9bit,其中“xx”表示1个0的具体位置,“yyy”表示3个非0为“1”/“2”;
当所述数据为0个0时,代码为“0000”+“yyyy”=8bit,其中“yyyy”表示4个非0为“1”/“2”。
本发明还提供了一种对AMOLED面板进行数据补偿及压缩的控制系统,其通过接收CCD相机的亮度数据并采用上述的控制方法输出压缩后的补偿数据,包括数据转换模块、趋势生成模块、数据存储模块、趋势值计算模块以及数据压缩模块。
优选地,所述数据转换模块接入R、G、B关键点亮度数据、目标灰阶,对AMOLED面板进行区域性统计并做统计平均,得到各区域内的目标亮度,将目标亮度转换为目标灰阶值。
优选地,所述趋势生成模块接入数据转换模块的实际灰阶值,接入目标灰阶值,对所述AMOLED面板进行区域划分,计算区域内各像素点的补偿趋势和趋势补偿值。
优选地,所述数据存储模块接入趋势生成模块的各像素点的补偿趋势和趋势补偿值,存储容量为1个关键点灰阶图像的趋势值,存储内容为当前关键点的相邻关键点灰阶图像的趋势值。
优选地,所述趋势值计算模块接入趋势生成模块输出的趋势值,接入数据存储模块输出的相邻关键点的趋势值,计算两个相邻关键点的补偿趋势差值。
优选地,所述数据压缩模块接入趋势生成模块输出的基准关键点灰阶图像趋势值,接入趋势值计算模块输出的补偿趋势差值。
本发明提供了一种对AMOLED面板进行数据补偿及压缩的控制方法,通过接入R、G、B的亮度信息,将亮度信息转换为灰阶数值,获得各关键点灰阶图像的补偿趋势、趋势补偿值以及补偿趋势差值,对趋势补偿值使用Huffman编码进行压缩,对补偿趋势差值使用修改的Huffman编码进行压缩,本发明还涉及一种对AMOLED面板进行数据补偿及压缩的控制系统,包括数据转换模块,趋势生成模块,数据存储模块,趋势值计算模块,数据压缩模块。本发明对AMOLED面板进行数据补偿及压缩的控制方法和控制系统通过计算灰阶图像趋势补偿值和补偿趋势差值减少了冗余信息,并且通过压缩算法实现了补偿数据的高压缩率,在完成了对Mura面板修正的同时,大大的减少了硬件存储资源。
具体实施方式
为了更好的使本发明的技术方案清晰地表示出来,下面结合本发明的优选实施例及其附图对本发明作进一步说明。
图1示出了本发明的具体实施方式的,一种对AMOLED面板进行数据补偿及压缩的控制方法的具体流程示意图,具体地,包括如下步骤:
首先,进入步骤S101,将AMOLED面板的亮度信息转换为以像素点为单位的R、G、B三分量的分量亮度,并确定所述R、G、B三分量的分量亮度相对应的实际灰阶值,其中,所述以像素点为单位的R、G、B三分量的分量亮度分别对应于AMOLED面板显示的RGB单色画面各关键灰阶数据采集亮度信息,R、G、B各分量亮度相互独立,处理思路相同,在0~255灰阶点内均匀选择多个关键灰阶点亮度,获得对应亮度信息。
进一步地,基于gamma曲线公式实现以像素点为单位的亮度信息与实际灰阶值的转换,所述gamma曲线公式为:
其中,所述L
data为实际亮度,所述L
255为灰阶255的亮度,所述data-out为实际灰阶值;
其中,L255的亮度求取方法为,已知平均亮度和当前关键灰阶点,则根据gamma曲线公式得到:
其中,L
data为平均亮度,data
in为当前关键灰阶点数值。
然后,进入步骤S102,以M行像素点为基本单位对所述AMOLED面板进行第一区域划分,并将每个第一区域的平均亮度作为与之相对应关键灰阶点的目标亮度,确定所述目标亮度相对应的目标灰阶值。
进一步地,设面板行数为N
row,以M行像素点作为单位区域,将面板亮度值划分为
段,其中,第K
row段为N
row-(K
row-1)×M行,对每段的亮度进行求和平均,将每个第一区域的平均亮度作为与之相对应关键灰阶点的目标亮度。
进一步地,确定所述目标亮度相对应的目标灰阶值通过如下公式:
其中,所述L
Z为实际亮度,所述L
255为灰阶255的亮度,所述data_T为目标灰阶值。
现结合附图4的示例AMOLED面板作如下阐述,AMOLED面板的参考分辨率为2430*1125,对面板进行区域统计,获得区域内的目标亮度,包括:
面板行数为2436,将以100行作为1区域,将面板亮度值划分为
段,其中第24段为2436-(24-1)×100=136行;
对每段的亮度进行求和平均,可以确定面板的绝大部分子像素显示功能是正常的,其亮度分布数据可参考图5,亮度向中间集中,其靠近平均亮度,向两边递减,低于平均亮度和高于平均亮度,因此可以将每个区域的平均亮度为该关键灰阶点对应的目标亮度;
R、G、B为3个独立通道,因此每个区域有关于R、G、B共3个目标亮度La。
将亮度信息转换为灰阶值,根据gamma曲线公式和目标亮度Ldata,目标灰阶值data_in,灰阶255的亮度L255,计算每个像素点亮度数据Ldata对应的灰阶值:
再然后,进入步骤S103,以M行M列像素点作为基本单位对所述AMOLED面板进行第二区域划分,并确定每个区域内的每个像素点的实际灰阶值与与所述像素点所在第一区域的目标灰阶值的补偿趋势、趋势补偿值以及相邻区域间的补偿趋势差值。本领域技术人员理解,本发明将在后述的具体实施方式中对步骤S103作进一步详细的描述,在此不予赘述。
最后,进入步骤S104,对所述补偿趋势、所述趋势补偿值以及所述补偿趋势差值进行压缩存储,本申请旨在对所述AMOLED面板进行补偿以及压缩存储,所述压缩存储需要存储三方面的数据,即有前述步骤中确定的所述补偿趋势、所述趋势补偿值以及所述补偿趋势差值,这些将在后述的具体实施方式中作进一步的阐述。
图2示出了本发明第一实施例的,进一步地,步骤S103的具体流程示意图,本领域技术人员理解,所述图2为所述图1中步骤S103的子步骤,具体地,包括如下步骤:
首先,进入步骤S1031,以M行M列像素点作为基本单位对所述AMOLED面板进行第二区域划分,进一步地,设所述AMOLED面板的列数为N
col,行数为N
row,对所述AMOLED面板进行第二区域划分,区域大小为M×M,1行被划分为
个区域,其中,第K
col个区域的大小为M×(N
col-(K
col-1)×M);同时,第K
row段的区域的大小为(N
row-(K
row-1)×M)×M,其中,第K
row段、第K
col个的区域大小为(N
row-(K
row-1)×M)×(N
col-(K
col-1)×M)。
例如附图4的示例AMOLED面板的参考分辨率为2430*1125,面板的列数为1125,行数为2436,对面板进行区域划分,区域大小为100×100,1行被划分为
个区域,其中第11个区域的大小为100×(1125-(11-1)×100)=100×125;
同时,第24段的区域的大小为(2436-(24-1)×100)×100=136×100,其中第24段、第11个的区域大小为(2436-(24-1)×100)×(1125-(11-1)×100)=136×125。
紧接着,进入步骤S1032,确定每个区域内的每个像素点的实际灰阶值与与所述像素点所在第一区域的目标灰阶值的补偿趋势以及与所述补偿趋势相对应的趋势补偿值。
进一步地,在构造的矩阵区域中,趋势示意图请参照图6,确定每个区域内的每个像素点的实际灰阶值与与所述像素点所在第一区域的目标灰阶值的补偿趋势包括:
在构造的矩阵区域中,当所述实际灰阶值与所述目标灰阶值在[-range,range]区间内,则对应像素点用1表示;
当所述实际灰阶值小于所述目标灰阶值且绝对值差值大于range时,补偿正值,对应像素点用0表示;
当所述实际灰阶值大于所述目标灰阶值且绝对值差值大于range时,补偿负值,对应像素点用2表示。
进一步地,确定每个区域内的每个像素点的实际灰阶值与所述像素点所在第一区域的目标灰阶值的趋势补偿值包括:
将每个区域内所有需要正值补偿的像素点,即标记为“0”像素点,其所有实际灰阶值与目标灰阶值做绝对值差后进行求和平均,得到平均值Mean0=a,将其作为所述区域内标记为正值补偿值;
将每个区域内所有需要负值补偿的像素点,即标记为“2”的像素点,其所有实际灰阶值与目标灰阶值做绝对值差后进行求和平均,得到平均值Mean2=b,将其作为所述区域内标记为负值补偿值;
每个区域内补偿值存在1个正值补偿1个负值补偿,在Nrow×Ncol中存在Krow×Kcol个正值补偿值和负值补偿值。
再然后,进入步骤S1033,在所述AMOLED面板的第二区域划分中确定基准关键点灰阶图像,并确定与所述基准关键点灰阶图像相对应的趋势补偿值,选择一个关键点灰阶图像作为基准关键点灰阶图像,基准关键点数值图像保留其对应趋势值和趋势补偿值,其余关键灰阶的数值图像仅保留趋势补偿值。在这样的实施例中,本申请为了更进一步地提高压缩效果以及处理效率,优选地仅保留基准关键点灰阶图像,所述基准关键点灰阶图像为在进行存储时作为参考数据的参考图像,而其他关键点灰阶图像的存储仅需保存与所述基准关键点灰阶图像之间的差值,即可以在进行数据补偿的数据还原时,根据差值以及基准关键点灰阶图像推导出其他关键点灰阶图像的原始数据,故在本申请中,选择一个关键点灰阶图像作为基准关键点灰阶图像,基准关键点数值图像保留其对应趋势值和趋势补偿值,而其余关键灰阶的数值图像仅保留趋势补偿值,所述关键点灰阶图像优选地选择第一行、第一列或第一区域的图像数据,其可以存在随机性,也可以被指定,这都不影响本发明技术方案的具体实施,在此不予赘述。
最后,进入步骤S1034,对任意相邻的关键点灰阶图像的趋势值进行做差处理,遍历所有关键点灰阶图像,并形成以基准关键点灰阶图像相对应的趋势值、任意相邻的关键点灰阶图像的补偿趋势差值为策略的数据压缩。
进一步地,通过如下方式对任意相邻的关键点灰阶图像的趋势值进行做差处理:
相邻关键点灰阶图像的趋势值做差,其差值diff范围为[-2,2];
当两个相邻关键点灰阶图像中的同一像素点趋势值分别为“0”和“2”时,将(关键灰阶)数值大的对应像素点趋势值修正为“1”,不做补偿,使得差值diff的范围在[-1,1];
当差值diff为负数时存储值S=-(diff*2)-1;当差值为正数时,存储值S=(2*diff)。
图3示出了本发明第一实施例的,进一步地,步骤S104的具体流程示意图,本领域技术人员理解,所述图3为所述图1中步骤S104的子步骤,具体地,包括如下步骤:
首先,进入步骤S1041,对所有所述趋势补偿值进行存储,各关键点的趋势补偿值直接存储。
然后,进入步骤S1042,与所述基准关键点灰阶图像相对应的趋势值采用Huffman编码存储。
最后,进入步骤S1043,对非基准关键点灰阶图像与相邻关键点的对应补偿趋势差值,以4个数据为1组,通过压缩码进行压缩存储,非基准关键点的趋势差值的数值为“0”、“1”、“2”,以Huffman为基础,4个为一组进行压缩存储,使用4个为一组进行判断的前提条件是,关于趋势差值的数据中应当大部分为“0”,且0越多压缩率越好,而在同一个子像素点中,其相邻关键灰阶点的趋势应当是一致的,由此可以推断趋势差值的数值大部分为“0”,判断流程请参照图7,具体判断条件请参照图8:
进一步地,当所述数据为4个0时,代码为“1”=1bit;
当所述数据为3个0时,代码为“01”+“xx”+“y”=5bit,其中“xx”表示3个0的具体位置,有4种情况,“y”表示该非0为“1”/“2”;
当所述数据为2个0时,代码为“001”+“xxx”+“yy”=8bit,其中“xxx”表示2个0的具体位置,有6种情况,“yy”表示其余两个非0为“1”/“2”;
当所述数据为1个0时,代码为“0001”+“xx”+“yyy”=9bit,其中“xx”表示1个0的具体位置,“yyy”表示3个非0为“1”/“2”;
当所述数据为0个0时,代码为“0000”+“yyyy”=8bit,其中“yyyy”表示4个非0为“1”/“2”。
图9示出了本发明的另一具体实施方式的,一种对AMOLED面板进行数据补偿及压缩的控制系统的具体模块示意图,本领域技术人员理解,本发明提供了一种对AMOLED面板进行数据补偿及压缩的控制系统,其通过接收CCD相机的亮度数据并采用上述所述的控制方法输出压缩后的补偿数据,包括数据转换模块1、趋势生成模块2、数据存储模块3、趋势值计算模块4以及数据压缩模块5。
进一步地,数据转换模块1接入R、G、B关键点亮度数据、目标灰阶,对AMOLED面板进行区域性统计并做统计平均,得到各区域内的目标亮度,将目标亮度转换为目标灰阶值,输出灰阶数值、目标灰阶。
进一步地,趋势生成模块2接入数据转换模块1的实际灰阶值,接入目标灰阶值,对所述AMOLED面板进行区域划分,计算区域内各像素点的补偿趋势和趋势补偿值,输出趋势值和目标灰阶至其余模块,直接输出趋势补偿值。
进一步地,数据存储模块3接入趋势生成模块2的各像素点的补偿趋势和趋势补偿值,存储容量为1个关键点灰阶图像的趋势值,存储内容为当前关键点的相邻关键点灰阶图像的趋势值。
进一步地,趋势值计算模块4接入趋势生成模块2输出的趋势值,接入数据存储模块3输出的相邻关键点的趋势值,计算两个相邻关键点的补偿趋势差值,负数为绝对值乘以2减1,正数乘以2,使得在所有正数中奇数为负数,偶数为正数,0仍然为0,输出补偿趋势差值。
进一步地,数据压缩模块5接入趋势生成模块2输出的基准关键点灰阶图像趋势值,接入趋势值计算模块4输出的补偿趋势差值,基准关键点灰阶图像趋势值使用Huffman编码,通过相邻关键点计算的补偿趋势差值使用修改后的Huffman编码,输出压缩数据。
需要说明的是,上述各装置实施例的具体实施方式与前述对应方法实施例的具体实施方式相同,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实施例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
此外,本领域技术人员理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域技术人员理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。词语“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。