具体实施方式
以下结合附图和具体实施例,对本发明进行详细说明。
在LED控制系统中,显示频率,或者称为完整灰阶的显示频率,对应着完整的灰阶显示周期,是完整灰阶的显示时间所对应的频率,其与整个控制系统的最高开关响应频率、LED灰阶数据数位有关。其中,完整灰阶显示周期,是灰阶数据的每一位数值都经历明确对应输出过程所需要全部时间的总长度。对于若干有效位的点亮频率,是灰阶数据的某位对应的LED每秒点亮次数;第i位数值的输出有效次数,是指显示周期内,第i位数值所对应且相互间隔在一个基本时钟变化时间以上的有效输出次数。第i位数值的输出有效频率,是指第i位数值的输出有效次数乘以其所对应完整灰阶显示频率。本说明书中,串行传送即串行移位,串行周期的时间即串移周期,即串行移位长度数据的时间,串移周期即1个串移时间。并且,输出使能时间即输出使能信号时间。
本发明的一个实施例是,一种均匀分配提高显示频率的方法,其包括以下步骤:对于待显示数据,将完整的、大于一个串移周期的有效输出使能时间,分成若干单位串移周期,均匀分配有效输出使能时间进行显示。例如,对于一个有128个完整串移周期的待显示数据,将其分成128个串移周期,在其对应的整个显示时间段内均匀输出。例如,其对应的整个显示时间段为256个串移周期,则在第1个串移周期输出该待显示数据的第1部分,第3个串移周期输出该待显示数据的第2部分,第5个串移周期输出该待显示数据的第3部分,……第255个串移周期输出该待显示数据的第128部分;或者,在第2个串移周期输出该待显示数据的第1部分,第4个串移周期输出该待显示数据的第2部分,第6个串移周期输出该待显示数据的第3部分,……第256个串移周期输出该待显示数据的第128部分。
这样,每一高于一次串行传送次数的对应显示灰阶都有多于一次的显示有效输出次数;而这多于一次的显示有效输出次数,有效提升了显示输出的频率。
优选的,所述的方法中,采用脉宽调控方式,以串移链长为单位,均匀分配有效输出使能时间进行显示。例如,将原有连续PWM算法,以串行传送链长为单位均匀化方式分配显示有效输出时间。例如,1个串移链长对应一个有效OE时间,将各个串移链长均匀分配在各个有效OE时间内进行显示,从而获得更高的显示刷新频率和更好的显示效果。
应用于上述各个技术方案,所述的方法中,包括以下步骤:取待显示串行数据链上的K个待显示数据,各待显示数据位数为N;将所述K个待显示数据,按对应位数自高至低排列为N个K位数的待串移数据链;例如4个16位待显示数据分别为1010 0011 1010 1010、1010 1010 0011 1011、0010 1001 10101000、1000 0011 1010 0101;将这4个数据的对应位数自高至低排列为16个4位的待串行传送数据链:1010、0011、1010、1010、1010、1010、0011、1011、0010、1001、1010、1000、1000、0011、1010、0101。对于某一具有Z个串移周期的显示灰阶,按照每一待传送次数,以串移时间为单位,将其分割为Z个独立的待传送动作;按预设置顺序进行排序,使得同一灰阶内的待传送动作被其它灰阶内的待传送动作所间隔。
应用于上述各例,一个例子是,所述的方法中,包括以下步骤:
A1、根据总串移位数和最短开关响应时间,确定每一串移周期的时间;例如,总串移位数为16位,最短开关响应时间为20ns,则每一串移周期的时间为16×20ns=320ns;又如,总串移位数为256位,最短开关响应时间为50ns,则每一串移周期的时间为256×50ns=12.8μs。在系统中,例如,通常的,整个控制系统的时钟,最高开关响应频率为20MHz,即其最短开关响应时间为50ns。又如,当最高开关响应频率为40MHz时,即其最短开关响应时间为25ns。又如,当最高开关响应频率为50MHz时,即其最短开关响应时间为20ns。优选的,所述步骤A1之前,还执行步骤A0:根据芯片串移位数以及芯片串移个数确定所述总串移位数。例如,16位×16片,或8位×32片,即总串移位数为256位。又如,16位×32片,或32位×16片,即总串移位数为512位。
A2、根据二进制的显示数据位数,确定灰阶数量以及高至低位的数据串移次数;例如,二进制的显示数据位数为16位,则灰阶数量为65536,因此,高至低位的数据串移次数依次为:32768、16384、8192、4096、2048、1024、512、256、128、64、32、16、8、4、2、1。
对于二进制的显示数据位数,计算机显示数据常用标准为8bits,也有16bits、24bits、32bits等等。例如,LED灰阶数据数位为16bits,即在伽马校正后的物理显示可分辨灰阶为16bits,也就是说,灰阶数量为65536。又如,当LED灰阶数据数位为8bits时,灰阶数量为256。又如,当LED灰阶数据数位为24bits时,灰阶数量为16777216。
A3、根据灰阶数量和最短开关响应时间,确定显示频率,得到同等灰阶条件下的计划串移次数总额,按二进制取整数位得到一调整值;其中,LED灯的开关频率,即物理刷新频率,包括:显示数据中较高位的高灰阶物理刷新频率,显示数据中较低位的低灰阶物理刷新频率。完整灰阶刷新频率,是指完整灰阶对应的LED每秒点亮次数。
例如,灰阶数量为65536,最短开关响应时间为50ns;65536×50ns=3.2768ms;则显示频率为1/3.2768ms=305Hz。同等灰阶条件下的计划串移次数总额为3.2768ms/12.8μs(每一串移周期的时间)=260,按二进制取整数位得到一调整值为256。
例如,灰阶数量为65536,最短开关响应时间为50ns;也就是说,灰阶总额为65535,实现灰阶的时间方式中,高至低位数串移次数依次为:32768、16384、8192、4096、2048、1024、512、256、128、64、32、16、8、4、2、1,此时无需考虑串行移动时间;实际时间利用为50ns,则有65535×50ns=3.2768ms,即显示频率条件约为300Hz。
又如,灰阶总额65536,高至低位数串移次数依次为:32768、16384、8192、4096、2048、1024、512、256、128、64、32、16、8、4、2、1、1,实际时间利用为50ns,65536×50ns=3.2768ms,即显示频率条件约为300Hz。
又如,实现灰阶的时间方式,高至低位数串移次数依次为:128、64、32、16、8、4、2、1,总额255,实际时间利用为40ns,255×40ns=10.2μs,即显示频率条件约为98000Hz。
因此,要提升同等灰阶分辨率条件下的显示频率,需减少每位灰阶的串移次数,即通过OE信号将低灰阶的时间缩短至单一串移周期以内。
或者,提高物理刷新频率,因为单位时间的次数就是频率,因此仅需增加有效显示输出的次数、且再均匀分配显示时间;本发明各实施例通过均匀分配,提高了显示刷新频率,从而达到良好显示效果。
其中,最低物理刷新频率等同于显示频率,例如,最低物理刷新频率为1/(12.8μs×263)=297.05Hz。这样,使能信号最短输出长度,为1/256个完整串行周期,即50ns。
对于物理刷新频率问题,一个例子是,将各级数据均为均匀分布于整个显示周期内。其中,能够被整除的高灰阶数据,或者说,高灰阶数据都能被整除,因此,直接均匀分配高灰阶数据。例如,第一高位32768经256倍缩减得到128。然后,在263次串移输出中,263/128=2.055,取整得到N=2,采用每间隔N-1次输出的方式,即为所述均匀分配方式。也就是说,在263次串移输出中,最高位为128时,每间隔1次就输出1次最高位的数据。对于不能够整除的低灰阶数据,例如,1/2、1/4、1/8等等,使能信号分别相应缩短为原本的1/2、1/4、1/8等等。即单位时间及其以下显示频率,等同于显示频率,即单位时间所对应的频率。又如,单位时间以下显示时间,唯一区别在于使能信号不同程度缩短。具体地说,实现单位时间以下灰阶实现办法为:通过对使能信号的使用,实现单位时间以下亮度输出,即,有效显示输出是在有效数据串行传送且成功加载后,OE信号有效的条件下,方可能产生;因此具有实现单位时间以下的输出可能。
所述LED系统的实现,例如,最小开关时间为50ns,时钟频率为20MHz,串行数据传送频率为20MHz,其中20MHz为常用值,且同当前50ns的最小打开时间匹配。串行传送数据链长度,N×16,或N×8,即恒流驱动芯片的不同串行传送位数种类,例如:16×16=256。串行传送位数即串移位数,其中,恒流芯片信号结构为串行数据输入、数据时钟、加载信号、使能信号、串行数据输出。例如,显示输出有效条件为整个串行数据传送完成,数据加载成功,使能信号有效时间内。
因此,例如,在16位×16片,或8位×32片,即256位条件下,有256×50ns=12.8μs,也就是说,一个串移周期为12.8μs,即300Hz显示频率条件下,1秒/300/12.8μs=260.42;因此,可实现260个完整串行周期,从而形成一个完整的显示周期。
或者,在16位×8片,或8位×16片,即128位条件下,有128×50ns=6.4μs,300Hz显示频率条件下,可实现520个完整串行周期,或者,600Hz显示频率条件下,可实现260个完整串行周期。
其中,串行传送时间同显示输出时间实际是重叠关系,并非独立。显示输出时间与串行传送时间相等,假设有某一个显示输出时间,则需要相同的串行传送时间,这两个时间均处于两个加载信号之间。
并且,对于OE使能信号(简称使能信号)的有效时间,存在着时间约束,使能信号有效时间不能长于一个串行数据传送时间段,串行数据传送时间段即显示输出时间,其不能跨越加载信号;也就是说,使能信号有效时间可能短于一个串行传送时钟。
A4、根据所述调整值缩减灰阶数量,凡不足1的数值均设置为1,得到缩减后的高至低位数据串移次数,并将各不足1的数值,其输出使能信号的有效时间对应降为其数值乘以输出使能信号的完整时间;计算缩减后的总串移次数;例如,采取步骤A3得到的调整值256,以256倍缩减时间方式,高至低位数串移次数依次为:128、64、32、16、8、4、2、1、1(1/2)、1(1/4)、1(1/8)、1(1/16)、1(1/32)、1(1/64)、1(1/128)、1(1/256),求和得到263;因此,缩减后的总串移次数为263。其中,后八位为低灰阶数据,其实际OE信号的有效时间依次为原OE信号完整时间的1/2、1/4、1/8、1/16、1/32、1/64、1/128、1/256,合计为255/256显示输出周期。
A5、采用缩减后的总串移次数分别除以缩减后的各高至低位数据串移次数,取整并减1,依序排列,得到各高至低位数据在缩减后的总串移次数中的串移显示方式;例如,将各级数据均为均匀分布于整个显示周期内。或者,输出使能信号的有效时间短于一个显示输出时间。或者,采用OE信号进行控制,将低灰阶的时间缩短至单一周期以内。
例如,在每显示刷新周期内的260个完整串行周期条件下,最高位周期数值缩短至128,低8位周期数值缩短至单周期以内。一个例子是,如上所述,256倍缩减时间方式,高至低位数串移次数依次为:128、64、32、16、8、4、2、1、1(1/2)、1(1/4)、1(1/8)、1(1/16)、1(1/32)、1(1/64)、1(1/128)、1(1/256),总额为263。其中,后八位为低灰阶数据,其实际OE信号的有效时间依次为原OE信号时间的1/2、1/4、1/8、1/16、1/32、1/64、1/128、1/256,合计为255/256显示输出周期。
这样,当需要提升物理刷新频率时,即增强拍摄效果,必须增加单位时间数量,即增加单位时间内的开关数量,并使之均匀分布于整个显示周期,以确保增加的开关数量不致于因距离过近而合并。例如,最高位为16位的串移次数均分办法,在每完成一次最高位16位的串移后,才能够做一次其它位的串移动作,例如,32能被16整除,如上所述,隔一次输出一次。
应用于上述各例,所述的方法中,设置最高有效数据位的串移次数为Q,其后数据位的串移次数依次减半,至1之后,凡不足1的均设置为1,以至完成所述数据位数为止,并将各不足1的部分,其输出使能信号的有效时间对应降为其数值乘以输出使能信号的完整时间,以使所述显示周期内输出使能的有效时间总和相同。例如,显示次数增加R倍至最高128倍,同时OE有效时间为其R分之一,即总时间为R×1/R=1,故OE最小时间不变,仍为50ns。例如,显示次数最低为1次时,显示次数可以增加至128次;当然,本发明以下各实施例对此均无限制,显示次数可增加至256倍、512倍、888倍、1500倍乃至更高。
应用于上述各例,所述的方法中,所述芯片串移位数、所述芯片串移个数和所述二进制的显示数据位数均为16,所述总串移位数为256,所述最短开关响应时间为50ns,所述每一串移周期的时间为12.8μs,所述灰阶数量为65536,以及高至低位的数据串移次数依次为:32768、16384、8192、4096、2048、1024、512、256、128、64、32、16、8、4、2、1;所述显示频率条件为300Hz,所述计划串移次数总额为260,所述调整值为256,缩减后的高至低位数据串移次数依次为:128、64、32、16、8、4、2、1、1、1、1、1、1、1、1、1,缩减后的总串移次数为263;其中,后八位为低灰阶数据,其输出使能信号的有效时间时间依次为输出使能信号完整时间的1/2、1/4、1/8、1/16、1/32、1/64、1/128、1/256;高至低位数据在缩减后的总串移次数中的串移显示方式依次为间隔1次显示1次、间隔3次显示1次、间隔7次显示1次、间隔15次显示1次、间隔31次显示1次、间隔64次显示1次、间隔130次显示1次、仅显示1次、仅在1/2OE时间显示1次、仅在1/4OE时间显示1次、仅在1/8OE时间显示1次、仅在1/16OE时间显示1次、仅在1/32OE时间显示1次、仅在1/64OE时间显示1次、仅在1/128OE时间显示1次、仅在1/256OE时间显示1次。
一个完整的例子是,一种提高显示频率的方法,其包括以下步骤:A1、根据芯片串移位数16位以及芯片串移个数16个确定总串移位数256位;A2、根据总串移位数256位和最短开关响应时间50ns,确定每一串移周期的时间256位×50ns=12.8us;A3、根据二进制的显示数据位数16位确定灰阶数量65536,以及高至低位的数据串移次数依次为:32768、16384、8192、4096、2048、1024、512、256、128、64、32、16、8、4、2、1;A4、根据灰阶数量65536和最短开关响应时间50ns,确定显示频率条件1/(65536×50ns)=305Hz,得到同等灰阶条件下的计划串移次数总额1秒/305/12.8μs=256.14,按二进制取整数位得到一调整值256;A5、根据所述调整值同比例缩减灰阶数量,32768/256=128,16384/256=64,8192/256=32……凡不足1的数值均设置为1,得到缩减后的高至低位数据串移次数128、64、32、16、8、4、2、1、1(实际结果为1/2)、1(实际结果为1/4)、1(实际结果为1/8)、1(实际结果为1/16)、1(实际结果为1/32)、1(实际结果为1/64)、1(实际结果为1/128)、1(实际结果为1/256),并将各不足1的数值1/2、1/4、1/8……1/256,其输出使能的有效时间对应降为其数值乘以输出使能完整时间的1/2、1/4、1/8……1/256;计算256倍缩减条件下,缩减后的总串移次数为263次;采用缩减后的总串移次数263分别除以缩减后的各位数据串移次数128、64、32、16、8、4、2、1、1(1/2)、1(1/4)、1(1/8)、1(1/16)、1(1/32)、1(1/64)、1(1/128)、1(1/256),取整并减1,依序排列,得到各位数据在缩减后的总串移次数中的串移显示方式依次为间隔1次显示1次、间隔3次显示1次、间隔7次显示1次、间隔15次显示1次、间隔31次显示1次、间隔64次显示1次、间隔130次显示1次、仅显示1次、仅在1/2完整OE时间显示1次、仅在1/4完整O E时间显示1次、仅在1/8完整OE时间显示1次、仅在1/16完整OE时间显示1次、仅在1/32完整OE时间显示1次、仅在1/64完整OE时间显示1次、仅在1/128完整OE时间显示1次、仅在1/256完整OE时间显示1次。
或者说,对于上一例,初始化系统数据,取待显示数据,将其待显示数据缩减后的各位数据串移次数128、64、32、16、8、4、2、1、1(1/2)、1(1/4)、1(1/8)、1(1/16)、1(1/32)、1(1/64)、1(1/128)、1(1/256),也就是说,假设在一个显示周期中,总显示次数为263,对于由高至低的第1位,在完整的OE时间显示1次之后,每间隔1次,就再次在完整的OE时间显示1次,直到显示128次为止,对于由高至低的第2位,在完整的OE时间显示1次之后,每间隔3次,就再次在完整的OE时间显示1次,直到显示64次为止,……对于1/2,1/4、1/8、……1/256,顺次在间隔中依序显示1次,对应的显示时间为1/2完整OE时间、1/4完整OE时间、1/8完整OE时间……1/256完整OE时间。
应用于上述各例,所述的方法中,获取待显示数据,在缩减后将最高位不为一的待显示数据左移C位作为修改后显示数据进行显示,使修改后显示数据的最高位为一,并设置其输出OE的有效时间为原显示数据对应输出OE完整时间的2的C次幂分之一。或者,获取待显示数据,直接将最高位不为一的待显示数据左移C位作为修改后显示数据进行显示,使修改后显示数据的最高位为一,并设置其输出OE的有效时间为原显示数据对应输出OE完整时间的2的C次幂分之一。例如,获取待显示数据,判断其最高非零位M,将待显示数据左移C位,所述C位为所述显示数据位数与所述最高非零位M的差值,并设置输出使能信号的有效时间为输出使能信号完整时间的2的C次方分之一。例如,在缩减后执行上述操作,即判断其最高非零位M,将待显示数据左移C位作为修改后显示数据进行显示。
将所述待显示数据的位数N设为N-C,作为修改后显示数据的位数。或者,保持所述待显示数据的位数N,作为修改后显示数据的位数;其中,所述保持所述待显示数据的位数N,包括在所述待显示数据左移C位后,在所述待显示数据右侧空出的C位,随机填充、全部填充为1或者全部填充为0。例如,在数据缩减之前或者数据缩减之后,包括如下步骤:B1、获取待显示数据,判断其最高非零位M;B2、采用待显示数据的位数N,减去所述最高非零位M,得到差值C;B3、将待显示数据左移C位,作为修改后显示数据进行显示,并设置其输出使能信号的有效时间为输出使能信号完整时间的2的C次方分之一。优选的,步骤B3之前,还执行步骤B30:根据所述待显示数据的位数N设置或选择有效位数L;并且,步骤B3中,将待显示数据左移C位,从最高位截取L位数据,作为修改后显示数据进行显示。
一个例子是,如图1所示,初始化系统数据,对应显示16位数据,总计263周期,高8位:128,64,32,16,8,4,2,1;低8位:1,1,1,1,1,1,1,1;取待显示数据X(包括有16位的二进制数据),判断最高非零位M,C=16-M,取显示周期内总串行传送次数263,将X左移C位,得到待显示数据Y,将Y送往16位显示,使OE输出为完整时间段的1/C或2的C次方分之一,依次显示。
又一个例子是,所述的方法中,在数据缩减之前或者数据缩减之后,还包括以下步骤,预设置步骤:根据所述待显示数据的位数N设置有效位数L;以及截取送显步骤:对于显示数据,将其数据链长度缩短为L,作为修改后的显示数据进行显示,并设置其输出使能信号时间为原待显示数据对应输出使能信号完整时间的2的C次幂分之一。
应用于上述各例,所述的方法中,将低灰阶数据输出使能信号的有效时间缩短为小于一个显示输出时间,将各级数据均为均匀分布于整个显示周期内。应用于上述各例,所述的方法中,对于高至低位数据,仅从最高非零位M开始,保留P位数据。应用于上述各例,所述的方法中,仅选取缩减灰阶数量大于等于1的数值,得到所述P位数据。
关于上述各例的显示亮度损失率,对于非单位显示时间以下显示,理论上没有损失;单位显示时间以下显示,以使能信号的有效时间比率为有效率,反之为损失率。例如,最高开关响应频率为20MHz,LED灰阶数据数位为16bits,以256倍缩减时间方式,高至低位数串移次数依次为:128、64、32、16、8、4、2、1、1、1、1、1、1、1、1、1,其中、高八位128、64、32、16、8、4、2、1无损失,低八位1、1、1、1、1、1、1、1存在一定亮度损失,则总额为128+64+32+16+8+4+2+1+1+1+1+1+1+1+1+1=263,即需要263个完整串移周期时间为12.8μs×263=3.37ms,对应的低位显示频率为294.74Hz则显示频率为294.74Hz;最高位可能的最短显示时间间隔为12.8μs×263/128=26.3μs,对应的显示频率为38022.8Hz,最小OE时间为12.8μs/256=50ns。下面计算其损失率,低八位损失依次为:1/2、3/4、7/8、15/16、31/32、63/64、127/128、255/256,其和约为7。因此,最高亮度损失率为7/263=2.66%。
又一个例子,对于静态倍频显示方式,256倍缩减再低位16倍增频时间方式,高至低位数串移次数依次为:128、64、32、16、16、16、16、16、16、16、16、16、16、16、16、16,总和为432,此时频率增加到1×16/(12.8μs×432)=2893.5Hz。下面计算其损失率,高四位128、64、32、16不变,其余低十二位损失依次为:8、12、14、15、15+1/2、15+3/4、15+7/8、15+15/16、15+31/32、15+63/64、15+127/128、15+255/256,总和约为170。因此,最高亮度损失率为170/432=39.35%。
下面对算法进一步说明。观众肉眼的有效灰阶分辨率不超过10位,例如8位,因此,理论上,肉眼无法分辨2%以下的亮度差异,当高位存在有效数位时,显示频率较高,视频记录设备或人眼难以捕捉其低位亮度的低频效果,根据上述计算所得频率可知,频率可上升至超过37000Hz。
具体地说,一种动态自适应算法,或称为动态数据链长度显示算法。即仅仅保留从最高有效位开始的数位数据,用于显示,在缩短整个显示周期时间的基础上,提升显示刷新频率。例如,数据最高有效位永远为128,其它低位依次往下自动顺次延长显示分辨精度。其中,数据最高有效位为自最高位依次往下,首位非零的数位。或者,数据最高有效位永远为256,其它低位依次往下自动顺次延长显示分辨精度。以此类推。上述各例中,动态自适应算法增加了显示串移次数,必然增加响应的显示时间,需要在每一显示时间段内,相应地予以减除,从而确保显示周期内的有效积分时间相同。例如,具体实现方法为:增加N倍至128倍的显示串移次数,就在有效显示时间中以OE的方式扣除,即OE时间为原先的N分之一。
又如,应用于上述各例,对于高至低位数据,仅从最高非零位M开始,保留P位数据。例如,仅选取缩减灰阶数量大于等于1的数值,得到所述P位数据。
具体地说,一种有效灰阶分辨率算法:数据最高有效位往下自动顺次延长显示分辨精度至8位或10位止。或,也可称为固定数据链长度显示算法:即仅仅保留高M位,或者仅仅保留从最高有效位开始的高M位,用于显示,从而在缩短整个显示周期时间的基础上,提升显示刷新频率。
例如,采用256倍缩减时间方式,最高有效位为假设16,采用动态自适应算法,高至低16位数串移次数依次为:128、64、32、16、8、4、2、1、1、1、1、1、1、1、1、1,总串移次数为263。则高有效位显示时间为,12.8μs×263/128=26.33μs,高有效位显示频率为37979.5Hz。同上所述,低八位损失依次为:1/2、3/4、7/8、15/16、31/32、63/64、127/128、255/256,其和约为7,因此,最高亮度损失率为7/263=2.66%。
或者,采用有效灰阶分辨率算法,以高八位有效为例。高至低位数共8位的串移次数依次为:128、64、32、16、8、4、2、1,总串移次数缩减到255。此时,高有效位显示时间缩减到12.8μs×255/128=25.5μs,高有效位显示频率39215.7Hz。计算其损失率,低位为0,因此,最高亮度损失率为0。
又一个例子,采用256倍缩减时间方式,最高有效位假设为13,采用动态自适应算法,16-13=3,因此总串移次数从263缩减少3位至260,高至低位数串移次数依次为:128、64、32、16、8、4、2、1、1、1、1、1、1。高有效位显示时间缩减到,12.8μs×260/128=26.μs,高有效位显示频率为38461.5Hz。此时,最高亮度损失率为,4/260=1.54%。
或者,采用有效灰阶分辨率算法,高至低位数串移次数依次为:128、64、32、16、8、4、2、1,总串移次数缩减到255。高有效位显示时间缩减到,12.8μs×255/128=25.5μs,高有效位显示频率39215.7Hz。计算其损失率,低位为0,因此,最高亮度损失率为0。
又一个例子,采用256倍缩减时间方式,最高有效位假设为8,采用动态自适应算法,总串移次数缩减少3位至260,高至低位数串移次数依次为:128、64、32、16、8、4、2、1。高有效位显示时间缩减到,12.8μs×255/128=25.5μs,高有效位显示频率39215.7Hz。此时,最高亮度损失率为0。
或者,采用有效灰阶分辨率算法,总串移次数缩减到255,高至低位数串移次数依次为:128、64、32、16、8、4、2、1。高有效位显示时间缩减到,12.8μs×255/128=25.5μs,高有效位显示频率39215.7Hz。计算其损失率,低位为0,因此,最高亮度损失率为0。
与上述各例相结合,还可以结合上述固定链长方法,进一步提升刷新频率,获得更优显示效果,具体说明如下。本发明的一个实施例是,一种固定链长提高显示频率的方法,是一种固定显示数据精度的显示方式,其包括以下预设置步骤与截取送显步骤。
其中,预设置步骤包括:A1、设置有效位数L;例如,有效位数L为4、5、6……255范围内的一个自然数。又如,有效位数L为4、5、6……128、129……255、256……510、511……65535范围内的一个自然数。优选的,根据所述显示数据的位数设置所述有效位数L;例如,所述显示数据的位数为16,则L可以设置为12、10、8或7等等,又如,所述显示数据的位数为256,则L可以设置为200、180、150或100等等。在此基础上,一个优选的例子是,所述步骤A1之前,还执行步骤A0:获取所述显示数据的位数N;并且,所述步骤A1中,根据N值设置所述有效位数L;此时,通常所述有效位数L小于N。或者,根据一定的最高亮度损失率,设置所述有效位数L;例如,假设最高亮度损失率不得高于10%,则据此设置所述有效位数L。上述各例中,还可以建立一张N值与L值的关系表,根据N值选择所述有效位数L。或者,还可以建立一张最高亮度损失率与L值的关系表,根据最高亮度损失率选择所述有效位数L。
截取送显步骤包括:B1、对于显示数据,将其数据链长度缩短为L,作为修改后的显示数据进行显示。需要指出的是,限于篇幅,下面的示例通常选用24位以下的数据进行说明,但是,本发明及其各个实施例对显示数据的位数不做额外限制,只需能够缩短其数据链长度即可。
一个例子是,所述步骤B1中,对于显示数据,从高位截取L位数据输出,作为修改后的显示数据进行显示。例如,对于显示数据,从最高位截取L位数据输出,作为修改后的显示数据进行显示。假设某一显示数据为16位,如下表所示:
位数 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
L为13时,则原显示数据的最低3位被弃置,修改后的显示数据为13位,如下表所示:
位数 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
L为其它数值时,以此类推,不做赘述。又如,对于显示数据,从次高位截取L位数据输出,作为修改后的显示数据进行显示。假设某一显示数据为12位,如下表所示:
位数 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
L为10时,则原显示数据的最低3位被弃置,修改后的显示数据为13位,如下表所示:
位数 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
L为其它数值时,以此类推,不做赘述。又一个例子是,所述步骤B1中,根据所述有效位数L,对于N位长度的所述显示数据,从第一个高位为1开始,顺次截取L位数据输出。例如,某一显示数据为16位,即N=16,如下表所示:
位数 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
第一个高位为1的位数是第13位,当L为9时,则原显示数据的最高3位和最低4位被弃置,修改后的显示数据为9位,如下表所示:
位数 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
又如,N=8,某一显示数据为8位,如下表所示:
位数 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
第一个高位为1的位数是第6位,当L为6时,则原显示数据的最高2位和被弃置,修改后的显示数据为6位,如下表所示:
位数 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
1 |
1 |
0 |
0 |
1 |
0 |
应用于上述各例,所述步骤B1之前,还执行步骤B0:对于显示数据,判断其最高非零位M;并且,所述步骤B1中,对于显示数据,从M位开始截取L位数据输出。此时,修改后显示数据的显示时间远低于原显示数据的显示时间。
例如,某一显示数据为18位,如下表所示:
位数 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
其最高非零位M为第14位,当L为8时,所述步骤B1中,对于显示数据,从第14位开始截取8位数据输出,则原显示数据的最高4位和最低6位被弃置,修改后的显示数据为8位,如下表所示:
应用于上述各相关例,所述步骤B0之后,所述步骤B1之前,还执行步骤B01:判断所述显示数据的位数N是否大于L,否则直接输出所述显示数据进行显示。也就是说,如果L的数值大于所述显示数据的位数N时,无须执行截取送显步骤,直接输出所述显示数据进行显示。如果L的数值小于所述显示数据的位数N时,则可以执行步骤B1。
例如,某一显示数据为12位,如下表所示:
位数 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
当L为20时,所述步骤B1中,对于显示数据,输出所述显示数据进行显示,修改后的显示数据即为原显示数据。或者无须修改,直接输出。
应用于上例,所述步骤B01之后,所述步骤B1之前,还执行步骤B02:判断M是否大于L,否则直接从L位开始截取L位数据输出。也就是说,如果L的数值大于所述显示数据的最高非零位M时,直接从L位开始截取L位数据输出。例如,某一显示数据为24位,如下表所示:
位数 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
其最高非零位M为第19位,当L为20时,所述步骤B1中,对于显示数据,直接从第20位开始截取20位数据输出,修改后的显示数据为20位,如下表所示:
位数 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
如果L的数值小于所述显示数据的位数M时,则可以从M位开始截取L位数据输出。
应用于上述任一例,所述的方法中,所述步骤B1之后,还执行步骤B2:采用所述修改后的显示数据进行显示,例如,修改后的显示数据送到驱动芯片,由其驱动相应的LED灯发光或不发光,从而在LED显示屏上进行显示,获得显示效果。例如,步骤B2中,在一时间段内,根据修改后缩短了数据链长的显示数据,缩短对应显示数据的显示时间,增加数据显示的有效次数,从而提高了显示刷新频率。
这样,在低位将会损失部分亮度,但是亮度损失率较低,从而可以在显示精度始终保持不变的前提下提升低灰阶显示能力。
下面对本发明及其各个实施例作进一步说明。对于观众而言,其肉眼的有效灰阶分辨率不超过10位,例如8位,因此,理论上,肉眼无法分辨2%以下的亮度差异,因此,可以适当删减部分显示数据,在最高的亮度区域或者最低亮度区域承受一定的损失,而提高显示刷新频率。
优选的例子是,对于高至低位数据,仅从最高非零位M开始,保留P位数据,具体地说,数据最高有效位往下自动顺次延长显示分辨精度至8位或10位止;或者仅仅保留最高有效位M开始的高L位,用于显示;从而在缩短整个显示周期时间的基础上,提升显示刷新频率。
例如,对应于65536级显示灰阶,假设串行显示数据链上对应的4个16位显示数据,以二进制代码显示,分别为1010 1110 1010 1010、0110 1010 10101011、0010 1110 1010 1100、0000 0011 1010 1101。因为肉眼对于亮度的相对适应性机能,不同亮度仅是高有效位数实现显示功能;选取视觉效果足够充分的8位长的显示格式;分别从这些显示数据的最高非零位开始,截取得到4个8位数据:1010 1110,1101 0101,1011 1010,1110 1011。其余显示数据以此类推,这样,由于显示数据链长被缩短,所以使得显示时间被缩短,因此,同等时间段内,显示有效次数增加,显示刷新频率提高。
与上述各例相结合,还可以结合上述动态自适应方法,进一步提升刷新频率,获得更优显示效果,具体说明如下。一种提高显示频率的方法,其包括以下步骤:将最高位不为一的待显示数据左移C位作为修改后显示数据进行显示,使修改后显示数据的最高位为一,并设置其输出使能信号时间为原显示数据对应输出使能信号完整时间的2的C次幂分之一。例如,预设置C的数值。例如,C设为1、2、3、……32768。优选的,根据所述待显示数据的位数N,预设置C的数值。例如,N=256,C=128;又如,N=256,C=3;又如,N=128,C=15;又如,N=65536,C=3000;又如,N=16,C=2;又如,N=8,C=3等等;本发明及其各实施例对此不作限制。
其中,LED灯的开关频率,即物理刷新频率,包括:显示数据中较高位的高灰阶物理刷新频率,显示数据中较低位的低灰阶物理刷新频率。完整灰阶刷新频率,是指完整灰阶对应的LED每秒点亮次数。也就是说,要提高物理刷新频率,因为单位时间的次数就是频率,因此仅需增加有效显示输出的次数,即可达到良好显示效果。
上述各实施例中,修改后显示数据的输出使能信号时间分别相应缩短为原本的1/2、1/4、1/8等等。由于单位时间的因素,等同于显示频率,即单位时间所对应的频率。又如,单位时间以下的显示时间,唯一区别在于使能信号不同程度缩短。具体地说,实现单位时间以下灰阶实现办法为:通过对使能信号的使用,实现单位时间以下亮度输出,即,有效显示输出是在有效数据串行传送且成功加载后,OE信号有效的条件下,方可能产生;因此具有实现单位时间以下的输出可能。从而,使输出使能信号的有效时间短于一个显示输出时间,当需要提升物理刷新频率时,即增强拍摄效果,就可以增加单位时间数量,即增加单位时间内的开关数量。
应用于上述各实施例,一个例子是,保持所述待显示数据的位数N,作为修改后显示数据的位数;其中,所述保持所述待显示数据的位数N,包括在所述待显示数据左移C位后,在所述待显示数据右侧空出的C位,随机填充、全部填充为1或者全部填充为0。例如,在待显示数据左移C位后,在右侧空出的C位可任意设置、随机填充、全部填充为1或者全部填充为0,使得修改后的显示数据保持为N位,即原先待显示数据的位数。
应用于上述各相关实施例,又一个例子是,将所述待显示数据的位数N设为N-C,作为修改后显示数据的位数。例如,当所述待显示数据的位数为16位、C为4时,修改后显示数据的位数为12位。对于观众而言,其肉眼的有效灰阶分辨率不超过10位,例如8位,因此,理论上,肉眼无法分辨2%以下的亮度差异,当高位存在有效数位时,显示频率较高,视频记录设备或人眼难以捕捉其低位亮度的低频效果。因此,优选的,修改后显示数据的位数为10位或8位。
应用于上述各实施例,又一个例子是,所述的方法具体包括以下步骤:
A1、获取待显示数据,判断其最高非零位M;假设某一显示数据为16位,如下表所示:
位数 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
则其最高非零位M为11。
A2、采用待显示数据的位数N,减去所述最高非零位M,得到差值C;即C=N-M=16-11=5。
A3、将待显示数据左移C位,得到N-C位的数据,作为修改后显示数据进行显示,并设置其输出使能信号的有效时间为输出使能信号完整时间的2的C次方分之一。修改后显示数据如下表所示:
位数 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
设置上述修改后显示数据的OE有效时间S1为OE完整时间S0的2的5次方分之一,即S1=S0/32。又如,假设C为3时,修改后显示数据的OE有效时间S1为OE完整时间S0的2的3次方分之一,即S1为S0的1/8。
又如,将待显示数据左移C位,保持所述待显示数据的位数N,在所述待显示数据右侧空出的C位,随机填充、全部填充为1或者全部填充为0;得到N位的数据,作为修改后显示数据进行显示,并设置其输出使能信号的有效时间为输出使能信号完整时间的2的C次方分之一。即如果不改显示数据的位数,则修改后显示数据如下表所示:
位数 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
又一个例子是执行以下步骤:获取待显示数据,判断其最高非零位M,取待显示数据的位数N,减去所述最高非零位M,得到差值C,将待显示数据左移C位,在所述待显示数据右侧空出的C位,随机填充0或1,得到N位的修改后显示数据,设置其OE信号有效时间为OE信号完整时间的2的C次方分之一,输出显示。
又一个例子是,初始化系统数据,从串行显示数据链顺次获取待显示数据,对任一待显示数据X,判断其最高非零位M,设置C=16-M,将待显示数据X左移C位,得到修改后显示数据Y,送往16位显示,并设置输出使能信号的有效时间为输出使能信号完整时间的2的C次方分之一,从而依次修改并显示所述串行显示数据链的待显示数据。例如,待显示数据X如下表所示:
位数 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
其最高非零位M=14,C=16-M=2。将待显示数据X左移C位,得到修改后显示数据Y如下表所示:
位数 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
将上述修改后显示数据Y送往16位显示,并设置输出使能信号的有效时间为输出使能信号完整时间的1/4,从而依次修改并显示所述串行显示数据链的待显示数据。或者,如上所述,还可以缩短其数据链长,得到修改后显示数据Y如下表所示:
位数 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
将上述修改后显示数据Y送往显示,并设置输出使能信号的有效时间为输出使能信号完整时间的1/4,从而依次修改并显示所述串行显示数据链的待显示数据。
应用于上述各例,优选的,在步骤A3之前,还执行步骤A310:根据所述待显示数据的位数N设置有效位数L;并且,步骤A3中,将待显示数据左移C位,从最高位截取L位数据,作为修改后显示数据进行显示。例如,N为16时,L为4至16之间的自然数,或者为5至15之间的自然数,如9或10。例如L为8,当C为3时,步骤A3中,将待显示数据左移3位,从最高位截取8位数据,作为修改后显示数据进行显示。
例如,假设待显示数据如下表所示:
位数 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
其最高非零位M=13,C=16-M=3。将待显示数据左移3位,从最高位截取8位数据,得到修改后显示数据如下表所示:
位数 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
此时,原先的待显示数据的最高3位和最低5位被弃置,采用修改后显示数据进行显示。又如,某一显示数据为24位,如下表所示:
位数 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
其最高非零位M为第19位,C=24-M=5。当L为16时,将待显示数据左移5位,从最高位截取16位数据,得到修改后显示数据如下表所示:
位数 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
数据 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
此时,原先的待显示数据的最高5位和最低4位被弃置,采用修改后显示数据进行显示。
应用于上述各个相关实施例,步骤A3之前,还执行以下步骤:A321、预设置所述待显示数据的位数N与有效位数L的对应关系表;可以建立一张N值与L值的关系表,通常设置N大于L,优选的,L为N的1/2;根据N值选择所述有效位数L。或者,还可以建立一张最高亮度损失率与L值的关系表,根据最高亮度损失率选择所述有效位数L。A322、根据所述待显示数据的位数N,从所述对应关系表中选择有效位数L;并且,步骤A3中,将待显示数据左移C位,从最高位截取L位数据,作为修改后显示数据进行显示。
应用于上述任一例,又一个例子是,步骤A3之后,还执行步骤A4:采用所述修改后的显示数据,根据其输出使能信号的有效时间进行显示。例如,步骤A4中,采用非完整时间周期的输出使能信号,作为有效输出信号,增加2的C次幂分倍数的显示输出次数。
具体地说,又一个实施例是,仅仅保留从最高有效位M开始的数据,用于显示,从而在缩短整个显示周期时间的基础上,提升显示刷新频率。上述各例中,动态自适应算法增加了显示次数,必然增加响应的显示时间,需要在每一显示时间段内,相应地予以减除。例如,具体实现方法为:OE时间为原先的2的C次方分之一,或者C分之一等等。又如,应用于上述各例,所述的方法中,对于高至低位数据,仅从最高非零位M开始,保留L位数据。
又一个实施例是,将最高位不为一的显示数据向左移动N位,使最高位为一,然后数据送显示,并使得同周期OE折减至原对应时间的2的N次幂分之一。例如,取待显示串行数据链上对应的4个16位数据,以二进制代码显示,分别为数据一0010 1110 1010 1010、数据二0110 1010 1010 1011、数据三0001 1110 1010 1100、数据四000 00011 1010 1101;将所有最高位不为1的显示数据向左移动,使得最高位为1,最后的空位任意设置、全部填充为1或者全部填充为0,使得修改后的数据保持16位;例如,全部填充为0得到4个16位数据,分别为数据一1011 1010 1010 1000、数据二1101 0101 0101 0110、数据三1111 0101 0110 0000、数据四1110 1011 0100 0000;然后将数据送显示;并且,在每一对应显示输出周期,使得其OE使能信号时间为正常OE使能信号完整时间S0的2的C次幂分之一;数据一的OE使能信号时间S1=S0/4,数据二的OE使能信号时间S2=S0/2,数据三的OE使能信号时间S3=S0/8,数据四的OE使能信号时间S4=S0/64;这样,由于OE使能信号的不完整时间作用使得有效输出信号被打断,增加了2的C次幂倍数的显示输出次数,从而增加了刷新频率。
又一个实施例是,将最高位不为一的显示数据向左移动N位,使最高位为一,然后数据送显示,并使得同周期OE折减至原对应时间的2的N次幂分之一。例如,取待显示串行数据链上对应的4个16位数据,以二进制代码显示,分别为数据一0010 1110 1010 1010、数据二0110 1010 1010 1011、数据三0001 1110 1010 1100、数据四0000 0011 1010 1101;将所有最高位不为1的显示数据向左移动,使得最高位为1;得到4个位数不等的数据,分别为14位的数据一10 1110 1010 1010、15位的数据二110 1010 1010 1011、13位的数据三1 1110 1010 1100、10位的数据四11 1010 1101;然后将数据送显示;并且,在每一对应显示输出周期,使得其OE使能信号时间为正常OE使能信号完整时间S0的2的C次幂分之一;数据一的OE使能信号时间S1=S0/4,数据二的OE使能信号时间S2=S0/2,数据三的OE使能信号时间S3=S0/8,数据四的OE使能信号时间S4=S0/64;这样,由于OE使能信号的不完整时间作用使得有效输出信号被打断,增加了2的C次幂倍数的显示输出次数,从而增加了刷新频率。
需要说明的是,上述各技术特征的相互组合,形成各个实施例,应视为本发明说明书记载的范围。应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。