具体实施方式
下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
需要注意的是:除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
发明人在研发本申请技术方案的过程中发现:在现有抖动技术中,由于将图像降位深,并进行抖动处理后,图像无法达到降位深前的全色阶的显示效果。具体来说,现有抖动技术一般将高于显示面板的驱动位深的图像降位深,并进行抖动处理,使得显示面板进行图像显示时能够达到比其驱动位深更高位深的图像显示效果。例如:某一图像的位深为8-bit,而液晶显示器只具有6-bit的驱动位深。那么,在获得8-bit的图像后,先将该图像的位深从8-bit降至6-bit,再对6-bit图像中的某些像素的值进行抖动,使其在具有6-bit驱动位深的液晶显示器上产生8-bit的图像显示效果。在理论上,6-bit能够显示64*64*64种色彩,而8-bit能够显示256*256*256种色彩。这样,在不增加电路驱动成本的基础上,实现了画质提升。
然而,实际上,在对图像进行抖动处理时,抖动后的图像并不能够达到全色阶的显示效果。例如:将图像从8-bit降至6-bit后,在对6-bit图像中的某些像素的值进行抖动处理后,由于高位的色彩饱和,即无论相应的像素的值是否加1,色彩都已经是饱和状态,因此,抖动后的图像最多只能够达到253*253*253种色彩的显示效果。而理论上,8-bit的图像最多能够显示256*256*256种色彩。可见,在对图像进行抖动处理后,画面无法达到全色阶的显示效果,导致画质降低。
有鉴于此,本申请实施例提供了一种解决方案,在该方案中,在降低图像的位深,以及对降位深后的图像进行抖动处理前,先提升图像的位深,再将升位深后的图像的位深降低至显示面板的驱动位深。这样,再对降位深后的图像进行抖动处理时,由于之前提升了位深,图像中像素的值与饱和值之间就会存在一定的差异,此时再对像素的值进行抖动与不进行抖动,在图像的颜色显示上就能够被区分出来,进而能够使抖动后的图像达到全色阶显示效果。
在此之前,先对图像显示装置的架构进行说明。
图1为本申请实施例中液晶显示器的架构示意图,参见图1所示,该架构可以包括:时序控制芯片(Timing Controller,T-CON)101、第一驱动芯片102、第二驱动芯片103、显示面板104、存储设备105。其中,第一驱动芯片102可以是门驱动芯片(Gate DrivingIntegrated Chip),第二驱动芯片103可以是源驱动芯片(Source Driving IntegratedChip),存储设备105可以是动态随机存取存储器(Dynamic Random Access Memory,DRAM)或者静态随机存取存储器(Static Random-Access Memory,SRAM)。
当需要进行图像显示时,图像数据(Video Stream)从源中解码后输入时序控制芯片101。这里的源可以是指系统级芯片(System on Chip,SoC)。时序控制芯片101根据存储设备105中存储的表对图像数据进行处理,产生出第一驱动芯片102和第二驱动芯片103所需的数据。第一驱动芯片102和第二驱动芯片103按照一定的时序将接收到的数据转换成开关信号和电压信号,并驱动显示面板104中每个像素对应的液晶分子进行不同程度的翻转,使光透过液晶后,并经过彩色滤波片,使得显示面板呈现出不同的色阶。
这里需要说明的是:本申请实施例提供的图像显示方法,应用于液晶显示器的时序控制芯片101中。
接下来,具体对本申请实施例提供的图像显示方法进行说明。
图2为本申请实施例中图像显示方法的流程示意图一,参见图2所示,该方法可以包括:
S201:获取图像数据中的像素数据。
其中,像素数据具有第一位深,第一位深高于液晶显示器的驱动位深。
液晶显示器的显示面板上具有多个像素点,在液晶显示器进行图像显示的过程中,每个像素点都需要根据对应的像素数据进行颜色显示,而每个像素点对应的像素数据就是从图像数据中获得的。
一般来说,为了节省驱动成本,液晶显示器往往采用的是较低的驱动位深的方式。而为了提升显示效果,向液晶显示器中输入的图像数据中像素数据的位深往往相对较高。故而,图像数据中像素数据的第一位深高于液晶显示器的驱动位深。例如:液晶显示器的驱动位深为6-bit,而图像数据中像素数据的位深为8-bit、10-bit或者12-bit等。
S202:通过查找第一预设表将像素数据从第一位深升至第二位深。
其中,第一预设表用于表征具有不同位深的像素数据的对应关系。
由于直接将像素数据从第一位深降至液晶显示器的驱动位深,再进行抖动处理,像素数据中高位的像素值已达到饱和而无法通过抖动进行颜色区分,因此,在本例中,对像素数据进行降位深前,先提升像素数据的位深。这样,能够避免像素数据的高位处于饱和状态。接着,后续再降低像素数据的位深,并对像素数据进行抖动处理时,像素数据高位的色阶也能够被区分开来,进而达到全色阶的显示效果。
在具体实施过程中,可以通过查表的方式将像素数据从第一位深升至第二位深,这里所查的表为第一预设表。第一预设表用于表征具有不同位深的像素数据的对应关系。也就是说,在确定像素数据当前的第一位深和需要将像素数据升至的第二位深后,就可以根据第一位深和第二位深确定相应的第一预设表。通过第一预设表,能够确定第一位深的像素数据的每个值在第二位深时的值。
举例来说,第一预设表中包含有8-bit与9-bit、10-bit与12-bit、8-bit与12-bit等的像素数据的对应关系。若当前需要将像素数据从8-bit升至9-bit,则按照8-bit与9-bit的像素数据的对应关系,将当前像素数据从8-bit升至9-bit。对于8-bit像素数据的具体值,通过上述对应关系,都能够找到相应的9-bit像素数据的具体值。
S203:通过查找第二预设表对具有第二位深的像素数据进行抖动处理,使得像素数据从第二位深降至驱动位深。
其中,第二预设表用于表征是否修改降位深后的像素数据的值。
在通过S202将像素数据从第一位深升至第二位深后,由于像素数据的第二位深仍然高于液晶显示器的驱动位深,为了使液晶显示器能够对像素数据进行显示,并且达到更高位深的显示效果,需要将像素数据从第二位深降至液晶显示器的驱动位深,并进行抖动处理。
这里需要说明的是:对像素数据进行降位深以及抖动处理,可以采用现有的降位深以及抖动处理方式进行。例如:将像素数据中的低位丢弃,并通过查表确定是否在丢弃后的像素数据上加1。
在第二预设表中,包含有像素数据中被丢弃的低位的具体值与是否加1的对应关系。在将像素数据的低位丢弃后,根据丢弃的低位的具体值,能够确定是否在丢弃低位后的像素数据上加1。例如:假设将像素数据从9-bit降至6-bit,丢弃后3位。第二预设表中包含有000对应加1、001对应不加1、010对应不加1,等等。若当前丢弃的后3位为000,则在6-bit像素数据上加1。若当前丢弃的后3位为001,则6-bit像素数据保持原状。
图3为本申请实施例中包含第一预设表和第二预设表的表格示意图,参见图3所示,该表左侧两列仅示出了第一预设表中的部分,即8-bit像素数据与9-bit像素数据的部分对应关系。以表中第二行为例,当8-bit像素数据为00000001,转换为9-bit像素数据就是000000010。该表右侧仅示出了第二预设表中的部分。由于本步骤中的抖动为时域-空域抖动,故表中右侧八列为八帧数据对应的抖动查表。以表中第二行为例,在第一帧中,在获得9-bit像素数据000000010后,丢弃后3位,降为6-bit像素数据000000,由于表中第二行第三列为0,故不在6-bit像素数据000000上加1,故而抖动处理后的像素数据为000000。而在第八帧中,由于表中第二行第十列为1,故在6-bit像素数据000000上加1,故而抖动处理后的像素数据为000001。
这里需要说明的是:对于图3中最后一行中的2和1,与前七行中0和1的作用相同。2表示加1,1表示不加1。
图4为本申请实施例中升位深过程的示意图,参见图4所示,像素数据中不同通道的数据,需要分别进行升位深处理。通过查找第二存储模块205中的表5,将红色(Red,R)通道的8-bit像素数据升至9-bit,将绿色(Green,G)通道的8-bit像素数据升至9-bit,将蓝色(Blue,B)通道的8-bit像素数据升至9-bit。
图5为本申请实施例中降位深以及抖动处理过程的示意图,参见图5所示,通过查找不同的表,分别对像素数据中不同通道的数据进行降位深以及抖动处理。通过查找第一存储模块202中的表6、表7、表8,分别将R通道的9-bit像素数据降至6-bit,G通道的9-bit像素数据降至6-bit,B通道的9-bit像素数据降至6-bit。
S204:基于抖动处理后的像素数据进行显示。
在对像素数据进行升位深、降位深、抖动处理后,时序控制芯片就可以继续对像素数据进行处理,处理成驱动芯片所需的数据。进而驱动芯片控制显示面板进行图像显示。这样,就完成了高位深图像数据在低驱动位深的液晶显示器上的全色阶显示。
图6为本申请实施例中图像显示装置的方框示意图一,该显示装置应用图2所示图像显示方法的流程。参见图6所示,该装置不仅包括有:第一抖动模块201、第一存储模块202、驱动芯片203。其中,第一抖动模块201和第一存储模块202位于时序控制芯片101中。驱动芯片203包括第一驱动芯片102和第二驱动芯片103。还包括有:数据映射模块204、第二存储模块205。其中,数据映射模块204和第二存储模块205位于时序控制芯片101中。
当需要进行图像显示时,图像数据(Video Stream)从源中解码后输入数据映射模块204。数据映射模块204通过查找第二存储模块205中的表,对图像数据进行升位深,并将升位深后的图像数据发送至第一抖动模块201。第一抖动模块201将图像数据降位深后,通过查找第一存储模块202中的表,对降位深后的图像数据进行抖动处理,并将抖动处理后的像素数据发送至驱动芯片203。驱动芯片203按照一定的时序将接收到的数据转换成开关信号和电压信号,并驱动显示面板进行显示。这样,就完成了高位深图像数据在低驱动位深的液晶显示器上的全色阶显示。
由上述内容可知,本申请实施例提供的图像显示方法,在对图像数据中的像素数据进行降位深以及抖动处理之前,先对像素数据进行升位深,然后再将像素数据的位深降低至液晶显示器的驱动位深,并进行抖动处理。通过升高像素数据的位深,使得像素数据中高位的值与饱和值之间存在一定的差异,后续再进行抖动处理时,就能够通过抖动将相邻的两个像素之间进行区分,即抖动时加1的像素数据的值为饱和,抖动时不加1的像素数据的值不是饱和。如此,能够实现抖动后的图像达到全色阶的显示效果。并且,先对像素数据进行升位深,在后面降位深的过程中,抖动可操作的比特数就会有所提高,对应的抖动组合会更丰富,相对原始低比特数抖动的效果,色阶会更丰富一些。
进一步地,作为对图2所示方法的细化和扩展,本申请实施例还提供了一种图像显示方法。图7为本申请实施例中图像显示方法的流程示意图二,参见图7所示,该方法可以包括:
S701:获取图像数据中的像素数据。
S702:通过查找第一预设表将像素数据从第一位深升至第三位深。
将像素数据升至第二位深之前,先将像素数据从第一位深升值第三位深,是为了先对像素数据进行颜色校正,以便后续能够在显示面板中达到更好的显示效果。
而步骤S702中升位深的具体方式与步骤S202中升位深的具体方式相同,此处不再赘述。
S703:利用预设色彩曲线对具有第三位深的像素数据进行颜色校正。
在具体实施过程中,可以通过调整像素数据,使像素数据符合gamma曲线,以达到对像素数据进行颜色校正的目的。也可以通过调整像素数据,减小像素数据的色温偏移,以达到对像素数据进行颜色校正的目的。当然,还可以按照其它预设色彩曲线调整像素数据,实现颜色校正。或者,按照上述多种色彩曲线来调整像素数据,以实现颜色校正。对像素数据进行颜色校正的具体参考曲线,此处不做限定。
这里需要说明的是:对像素数据进行升位深,以及进行颜色校正时,需要查询不同的表对像素数据中的每个通道的数据分别进行升位深和颜色校正。图8为本申请实施例中对像素数据进行升位深的过程示意图,参见图8所示,当需要将像素数据从10-bit升至12-bit时,需要分别根据第三存储模块207中的表1、表2、表3将像素数据中R通道的数据、G通道的数据、B通道的数据分别从10-bit升至12-bit。
S704:通过查找第一预设表将像素数据从第三位深升至第二位深。
步骤S704中升位深的具体方式与步骤S202中升位深的具体方式相同,此处不再赘述。
这里需要说明的是:由于先将像素数据从第一位深升至第三位深,再从第三位深升至第二位深,而位深的变化需要以正数来进行,例如:升高1-bit的位深、升高1-bit的位深等。因此,像素数据的第一位深与第二位深之间位数的差值至少需要为2。即,从第一位深升至第三位深至少需要升高1-bit,从第三位深升至第二位深至少需要升高1-bit。
S705:通过查找第二预设表对具有第二位深的像素数据进行抖动处理,使得像素数据从第二位深降至驱动位深。
步骤S705中抖动处理的具体方式与步骤S203中抖动处理的具体方式相同,此处不再赘述。
S706:基于抖动处理后的像素数据进行显示。
图9为本申请实施例中图像显示装置的方框示意图二,该显示装置应用图7所示图像显示方法的流程。参见图9所示,该装置可以包括:第一抖动模块201、第一存储模块202、驱动芯片203、数据映射模块204、第二存储模块205、色彩校正模块206、第三存储模块207。其中,色彩校正模块206和第三存储模块207位于时序控制芯片101中。
当需要进行图像显示时,图像数据(Video Stream)从源中解码后输入色彩校正模块206。色彩校正模块206通过查找第三存储模块207中的表,对图像数据进行升位深和颜色校正,并将颜色校正后的图像数据发送至数据映射模块204。数据映射模块204通过查找第二存储模块205中的表,对图像数据进行升位深,并将升位深后的图像数据发送至第一抖动模块201。第一抖动模块201将图像数据降位深后,通过查找第一存储模块202中的表,对降位深后的图像数据进行抖动处理,并将抖动处理后的像素数据发送至驱动芯片203。驱动芯片203按照一定的时序将接收到的数据转换成开关信号和电压信号,并驱动显示面板进行显示。这样,就完成了高位深图像数据在低驱动位深的液晶显示器上全色阶的、更高品质的显示效果。
在实际应用中,可以将数据映射模块204和色彩校正模块206整合在同一电路中。这样,有利于电路的设计工作。
进一步地,作为对图7所示方法的细化和扩展,本申请实施例还提供了一种图像方法。图10为本申请实施例中图像显示方法的流程示意图三,参见图10所示,该方法可以包括:
S1001:获取图像数据中的像素数据。
S1002:通过查找第一预设表将像素数据从第一位深升至第三位深。
在将像素数据从第一位深升至第三位深之前,需要确定查询的第一预设表。由于第一预设表中包含有不同位深的像素数据的对应关系,因此需要确定本步骤所查询的具体的表。
在具体实施过程中,可以先根据颜色校正的精细程度确定位深提升数量。其中,位深提升数量为第三位深与第一位深的位数差值。位深提升数量与颜色校正的精细程度正相关。颜色校正越精细,位深提升数量越多。一般来说,提升2位即可。而不同的位深提升数量对应不同的表。然后,再根据位深提升数量确定第一预设表。进而通过查找第一预设表将像素数据从第一位深升至第三位深。
在将像素数据从第一位深升至第三位深的过程中,需要查找第一预设表,确定第一位深的像素数据对应的第三位深的像素数据。而第一预设表的形式不同(完整表或部分表),在升位深时的处理步骤上会存在差异。
在具体实施过程中,当第一预设表为完整表时,该完整表能够表征所有不同位深的像素数据的对应关系。那么,直接在表中通过查找就能够获得第一位深的像素数据对应的第三位深的像素数据,从而实现将像素数据从第一位深升至第三位深。
而当第一预设表为部分表时,该部分表仅具有完整表中的部分数据,但部分数据中包括所有不同位深。也就是说,该部分表中某一位深下的具体数值并不完全。例如:部分表中包含有10-bit与12-bit的像素数据的对应关系,但该对应关系中,并没有1024个12-bit的数据,而仅有256个12-bit的数据。那么,需要先通过插值算法补充部分表中缺失的像素数据。缺失的像素数据未记载在部分表中,但会记载在完整表中。再通过查找部分表和补充的像素数据将像素数据从第一位深升至第三位深。
这里需要说明的是:若需要将像素数据从第一位深直接升至第二位深,也可以按照上述查表提升位深。并且,在实际应用中,第二位深与第一位深的位数差值可以是1。这样,在能够进行全色阶显示的基础上,还能够减小数据处理量,进而加快图像的显示速度。
S1003:利用预设色彩曲线对具有第三位深的像素数据进行颜色校正。
步骤S1003中颜色校正的具体方式与步骤S703中颜色校正的具体方式相同,此处不再赘述。
S1004:采用空域抖动的方式将颜色校正后的像素数据从第三位深降至第四位深。
在具体实施过程中,可以采用查表的方式在空域上将像素数据从第三位深降至第四位深。图11为本申请实施例中对像素数据进行降位深的过程示意图,参见图11所示,仍然是针对不同通道的数据分别查询第四存储模块209中的表4进行降位深。假设需要将像素数据从12-bit降至8-bit。以R通道的数据为例。降位前为XXXXXXXXOOOO(二进制),需要丢弃低4-bit,即OOOO。根据当前像素数据在显示面板中的位置,得到查表索引。如第4行、第4列。在表中查询得到5(十进制)。将5(十进制)与丢弃的OOOO(二进制)进行对比,若5(十进制)小于OOOO(二进制),则降位抖动后的输出为YYYYYYYY=XXXXXXXX+1;若5(十进制)大于或等于OOOO(二进制),则降位抖动后的输出为YYYYYYYY=XXXXXXXX。
当然,也可以采用四舍五入的方式在空域上将像素数据从第三位深降至第四位深。具体来说,如果被丢弃的数据的值大于某一数值,那么就在剩下的像素数据的末尾加1。如果被丢弃的数据的值小于或等于某一数值,那么就不在剩下的像素数据的末尾加1。对于降位深的具体方式,此处不做限定。
通过将像素数据从第三位深降至第四位深,能够减小像素数据的数据量,进而加快对像素数据进行抖动处理的速度。
S1005:通过查找第一预设表将像素数据从第四位深升至第二位深。
步骤S1005中升位深的具体方式可以与步骤S1002中升位深的具体方式相同,此处不再赘述。
S1006:通过查找第二预设表对具有第二位深的像素数据进行抖动处理,使得像素数据从第二位深降至驱动位深。
步骤S1006中抖动处理的具体方式与步骤S705中抖动处理的具体方式相同,此处不再赘述。
S1007:基于抖动处理后的像素数据进行显示。
图12为本申请实施例中图像显示装置的方框示意图三,该装置应用图10所示图像显示方法流程。参见图12所示,该架构可以包括:第一抖动模块201、第一存储模块202、驱动芯片203、数据映射模块204、第二存储模块205、色彩校正模块206、第三存储模块207、第二抖动模块208、第四存储模块209。其中,第二抖动模块208和第四存储模块209位于时序控制芯片101中。
当需要进行图像显示时,图像数据(Video Stream)从源中解码后输入色彩校正模块206。色彩校正模块206通过查找第三存储模块207中的表,对图像数据进行升位深和颜色校正,并将颜色校正后的图像数据发送至第二抖动模块208。第二抖动模块208通过查找第四存储模块209中的表,对图像数据进行降位深和空域抖动处理,并将抖动处理后的图像数据发送至数据映射模块204。数据映射模块204通过查找第二存储模块205中的表,对图像数据进行升位深,并将升位深后的图像数据发送至第一抖动模块201。第一抖动模块201将图像数据降位深后,通过查找第一存储模块202中的表,对降位深后的图像数据进行抖动处理,并将抖动处理后的像素数据发送至驱动芯片203。驱动芯片203按照一定的时序将接收到的数据转换成开关信号和电压信号,并驱动显示面板进行显示。这样,就完成了高位深图像数据在低驱动位深的液晶显示器上全色阶、更快、更高品质的显示效果。
在实际应用中,由于第一存储模块、第二存储模块、第三存储模块、第四存储模块用于存储不同的表,因此,第一存储模块、第二存储模块、第三存储模块、第四存储模块具体可以是由双稳态半导体电路、互补金属氧化物半导体(Complementary Metal OxideSemiconductor,CMOS)晶体管或磁性材料的存储元组成的存储器。例如:随机存取存储器(Random Access Memory,RAM)、先进先出(First Input First Output,FIFO)存储器、内存条、安全数码卡(Secure Digital Memory Card,SD卡)等。
由于第一抖动模块、第二抖动模块、数据映射模块、色彩校正模块是用于对不同的像素数据进行处理,因此,第一抖动模块、第二抖动模块、数据映射模块、色彩校正模块具体可以是算数逻辑运算单元(Arithmetic&Logic Unit,ALU)、准逻辑单元(Standard Cell,SC)、可编程逻辑器件(Programmable Logic Device,PLD)等具有数据处理功能的电路。
由于驱动芯片是对处理后的像素数据进行驱动显示的,因此,驱动芯片具体可以是74HC595、74HC595等通用芯片。当然,也可以是使用专用芯片,用以对像素数据的显示进行驱动。对于驱动芯片的具体类型,此处不做限定。
第二方面,在现有技术中,当需要通过查表对像素数据进行抖动处理时,所查询的表是一个完整的表,即基于时域-空域抖动所查询的表。在该表中,包含有所有帧码下、被删除的不同数据对应的指示是否修改降位深后的像素数据值的标识。图13为本申请实施例中抖动查表的示意图,参见图13所示,T0-T15为帧索引(可以看作一个周期),i_data[2:0]表示输入数据的低3-bit。这里的抖动处理为时域-空域抖动,与前述步骤S1006的抖动处理方式相同。假设需要将像素数据从9-bit降至6-bit。以像素数据中某一通道的数据为例。首先,根据像素数据的帧码,确定查表的基础列索引。即根据像素数据的帧码,确定T0-T15中的一个。然后,根据删除的数据,确定查表的基础行索引。即根据删除的是000、001还是010等,确定对应的行。此时,能够在大表中锁定一个8×8的小表。接着,将9-bit像素数据的后3位删除。根据像素数据的空域位置,在8×8的小表中查找出相应的单元格。根据单元格中的标识(可以是1或0),确定是否在6-bit像素数据后加1。即,输出数据=(输入数据>>3)+查表数值。其中,“>>”为比特右移操作,查表数值为“1”或“0”。
但是,上述抖动过程中所查的表体积较大,会占用较多的存储空间,导致查表的存储成本增高。
有鉴于此,本申请实施例还提供了一种图像显示方法,在该方法中,通过将现有查询的完整表进行拆分,得到多个部分表,仅仅将一个或若干个有限的部分表作为基础表保存,而其余未被保存的部分表可以通过已保存基础表经过预设逻辑翻转得到。这样,仅仅存储有限个基础表以及预设逻辑,就能够实现完整表的功能。并且,有限个基础表以及预设逻辑并不会占用过大的存储空间,能够降低存储成本。
接下来,具体对本申请实施例提供的图像显示方法进行说明。
图14为本申请实施例中图像显示方法的流程示意图四,参见图14所示,该方法可以包括:
S1401:获取图像数据中的像素数据。
其中,像素数据具有第一位深,第一位深高于液晶显示器的驱动位深。
步骤S1401中对于像素数据的说明可以参见步骤S201,此处不再赘述。
S1402:通过第二预设表对具有第一位深的像素数据进行抖动处理,使得像素数据从第一位深降至驱动位深。
其中,第二预设表包括至少一个基础表与多个预设逻辑。多个预设逻辑用于处理至少一个基础表,以得到能够组成完整表的多个基础表。完整表是基于时域-空域抖动所查询的表。基础表中单元格的数量大于或等于2的N次幂,N为第二位深与驱动位深的位数差值。
图15为本申请实施例中基础表的示意图,参见图15所示,假设需要将像素数据从9-bit降至6-bit,即降低3-bit。那么,从完整表中拆分出基础表,需要确保基础表中单元格的数量至少为8(23)个。在图15中,拆分出的基础表中单元格的数量为16个。故而在4×4的表格中就可以有2个单元格的标识为“1”,即在降位后的像素数据的值上加1。当然,标识为“2”,在降位后的像素数据的值上加2,也是可以的,此处不做限定。
而对于完整表中除基础表外的其它表,可以通过预设逻辑翻转得到。图16为本申请实施例中通过预设逻辑对基础表进行翻转后的表的示意图,参见图16所示,17a为对基础表进行左右翻转后得到的表,17b为对基础表进行左右、上下翻转后得到的表,17c为对基础表进行上下翻转后得到的表。
通过基础表和多个预设逻辑,就能够对像素数据进行抖动处理。但这里需要说明的是:当查询基础表无法满足对像素数据进行抖动处理时,在实际操作中,可以无需针对基础表进行翻转,得到一个新的表,再根据新的表进行查表。而是可以通过基础表和预设逻辑计算出表格中相应位置的标识,进而基于计算出的标识进行抖动处理。
而步骤S1402中抖动处理的具体方式,与步骤S203相同,此处不再赘述。
S1403:基于抖动处理后的像素数据进行显示。
步骤S1403中对于像素数据显示的说明可以参见步骤S204,此处不再赘述。
由上述内容可知,本申请实施例提供的图像显示方法,通过将完整表进行拆分,仅存储个别的基础表和预设逻辑,进而通过预设逻辑对基础表进行变换,得到完整表中未被保存的表。相比于存储完整表,仅存储基础表以及预设逻辑,能够节省存储空间,降低存储成本。
进一步地,作为对图14所示方法的细化和扩展,本申请实施例还提供了一种图像方法。图17为本申请实施例中图像显示方法的流程示意图五,参见图17所示,该方法可以包括:
S1701:获取图像数据中的像素数据。
S1702:根据像素数据所在图像的帧码和/或像素数据中删除的数据,从多个预设逻辑中确定出目标逻辑。
其中,多个预设逻辑分别对应不同的帧码或删除的不同的数据。
在完整表中,结合像素数据的帧码和删除的数据,就能够在完整表中锁定相应的8×8的小表。同样的,在将完整表拆分,仅保存一个或多个基础表后,未被保存的小表可以与预设逻辑对应,一种小表对应一种预设逻辑。根据像素数据的帧码、像素数据中删除的数据、或者像素数据的帧码和像素数据中删除的数据,就能够找出相应的目标预设逻辑。进而通过目标预设逻辑对基础表进行翻转,就能够确定是否在降位深后的像素数据的值上加1。
仍参见图16所示,假设根据当前像素数据的帧码和像素数据中删除的数据确定目标预设逻辑为左右翻转。那么,对图15中的基础表进行左右翻转,得到17a。进而根据当前像素数据在空域中的位置找到相应的单元格,进而根据该单元格中的标识确定是否在降位深后的像素数据的值上加1。
这里需要说明的是:如果当前像素数据对应的查表就是基础表,那么,根据当前像素数据的帧码和像素数据中删除的数据确定的目标预设逻辑就是不翻转。进而直接通过查找基础表对像素数据进行抖动处理。
S1703:采用目标逻辑对至少一个基础表中单元格的位置进行翻转。
在具体实施过程中,为了增加翻转后的表的多样性,增加抖动的无序性,提升画面质量,可以将基础表的数量设置为两个,即第一基础表base0和第二基础表base1。其中,第一基础表与第二基础表中表征修改降位深后的像素数据的值所在的单元格的位置不同。
图18为本申请实施例中第一基础表和第二基础表的示意图,参见图18所示,第一基础表base0与第二基础表base1中表征修改降位深后的像素数据的值所在的单元格的位置不同。
相应的,图19为本申请实施例中通过预设逻辑对第一基础表和第二基础表进行翻转后的表的示意图,参见图19所示,20a为对第一基础表进行左右翻转后得到的表,20b为对第二基础表进行左右翻转后得到的表,20c为对第一基础表进行左右、上下翻转后得到的表,20d为对第二基础表进行左右、上下翻转后得到的表,20e为对第一基础表进行上下翻转后得到的表,20f为对第二基础表进行上下翻转后得到的表。
这样,能够降低存储成本。例如:从8*7*128*1-bit减小到8*7*16*1-bit。其中,8为时域抖动中的帧数,7为丢弃数据的值的种类,128或16为单元格的数量,1为单元格中标识的数量。
在实际应用中,预设逻辑可以是上翻转、下翻转、左翻转、右翻转、奇偶交换中的一个或多个。对于预设逻辑的具体类型,此处不做限定。
S1704:基于变换后的至少一个基础表中的内容对具有第二位深的像素数据进行抖动处理。
S1705:基于抖动处理后的像素数据进行显示。
第三方面,在现有技术中,当需要通过查表对像素数据进行抖动处理时,若对表中的抖动标识随机配置,在图像显示过程中,各液晶分子在进行翻转时可能会产生极性不平衡,进而导致画面中出现水平或垂直的线条(Horizontal/Vertical Lines)、闪烁(Flickering)、直流残留(Direct Current)等问题,引起画质下降。
有鉴于此,申请人经过研究发现,因抖动处理产生的极性不平衡,进而导致画质下降的主要原因在于对查表中抖动标识的位置对应液晶极性翻转类型表中的不同极性。因此,本申请实施例还提供了一种图像显示方法,在该方法中,需要对查表中的抖动标识的位置重新进行配置,即调整表中标“1”的位置。使表中抖动标识的位置都对应液晶极性翻转类型表中的同一种极性。
一旦液晶显示器的显示面板被生产出来,相应的液晶极性翻转类型表也就确定了。图20为本申请实施例中液晶极性翻转类型表的一种示例,参见图20所示,T0代表偶数帧,T1代表的奇数帧。“+”表示正极性(Positive Polarity),“-”表示负极性(NegativePolarity)。为了便于观看,可以将不同通道的极性进行整合,即图20中箭头所指的表格。
接下来,具体对本申请实施例提供的图像显示方法进行说明。
图21为本申请实施例中图像显示方法的流程示意图六,参见图21所示,该方法可以包括:
S2101:获取图像数据中的像素数据。
其中,像素数据具有第一位深,第一位深高于液晶显示器的驱动位深。
步骤S2101中对于像素数据的说明可以参见步骤S201,此处不再赘述。
S2102:通过第二预设表对具有第一位深的像素数据进行抖动处理,使得像素数据从第一位深降至驱动位深。
其中,第二预设表中指示修改降位深后的像素数据的值的位置都对应液晶极性翻转类型表中的同一种极性。
也就是说,在对第二预设表进行配置时,如果一个加1的标识配置的位置对应液晶极性翻转类型表中的正极时,其它加1的标识也需要配置在液晶极性翻转类型表中正极对应的位置。如果一个加1的标识配置的位置对应液晶极性翻转类型表中的负极时,其它加1的标识也需要配置在液晶极性翻转类型表中负极对应的位置。
图22为本申请实施例中配置的第二预设表的示意图,参见图22所示,根据G通道的液晶极性翻转类型表,对于G通道显示LSB 3-bit 001的表。如果第一个加1的标识配置在表中的第1行第1列中,该位置在液晶极性翻转类型表中对应的是正极,那么,第二个加1的标识就只能够在第1行第2列、第2行第3列、第2行第4列、第3行第1列、第3行第2列、第4行第3列、第4行第4列中任选一个进行配置。而对于其它帧对应的表中加1的标识,也需要按照同一极性进行配置。
而步骤S2102中抖动处理的具体方式,与步骤S203相同,此处不再赘述。
S2103:基于抖动处理后的像素数据进行显示。
步骤S2103中对于像素数据显示的说明可以参见步骤S204,此处不再赘述。
由上述内容可知,本申请实施例提供的图像显示方法,通过调整查表中的配置,使表中指示修改降位深后的像素数据的值的位置都对应液晶极性翻转类型表中的同一种极性。这样,在图像显示过程中,各液晶分子在进行翻转时的极性就能够得到平衡,进而避免画面中出现水平或垂直的线条、闪烁、直流残留等问题,提升画质。
进一步地,作为对图21所示方法的细化和扩展,本申请实施例还提供了一种图像方法。图23为本申请实施例中图像显示方法的流程示意图七,参见图23所示,该方法可以包括:
S2301:获取图像数据中的像素数据。
S2302:根据液晶显示器的液晶极性翻转类型表配置第二预设表中指示修改降位深后的像素数据的值的位置。
当需要对像素数据进行抖动处理时,如果所查询的表已存在,那么就需要检查表中标识加1的位置是否都对应液晶极性翻转类型表中的同一种极性,若是,则按照该表进行抖动处理;若不是,则根据液晶极性翻转类型表重新配置表中标识加1的位置,使得表中标识加1的位置是否都对应液晶极性翻转类型表中的同一种极性。
在具体实施过程中,由于将像素数据降至驱动位深并进行抖动处理时是基于空域-时域的抖动,而为了平衡液晶分子的翻转程度,延长液晶显示器的使用寿命,在一个抖动周期内,可以将第二预设表中指示修改降位深后的像素数据的值的位置对应液晶极性翻转类型表中的一种极性。在下一个抖动周期内,可以将第二预设表中指示修改降位深后的像素数据的值的位置对应液晶极性翻转类型表中的另一种极性。
也就是说,在当前抖动周期内,第二预设表中指示修改降位深后的像素数据的值的位置都对应液晶极性翻转类型表中的第一极性。在下一个抖动周期内,第二预设表中指示修改降位深后的像素数据的值的位置都对应液晶极性翻转类型表中的第二极性。第二极性与第一极性相反。
仍参见图22所示,在第一个8帧的抖动周期(Frame0-Frame7)内,将加1的标识都对应于液晶极性翻转类型表中的正极。在第二个8帧的抖动周期(Frame8-Frame15)内,将加1的标识都对应于液晶极性翻转类型表中的负极。并且,从图22中箭头所指的表中可以看出,“1”表示抖动处理后+1操作落在了正极性位置,“-1”表示抖动处理后+1操作落在了负极性位置。无论是“1”还是“-1”,在一个抖动周期内都能够布满所有位置,从用户的角度是无法看出画面中类似于亮点的干扰,进而提升了画面质量。
此外,通过图22还可以看出,将Frame9中左上角的4×4的表作为第一基础表,将Frame8中右上角的4×4的表作为第二基础表,Frame10-Frame15中的表就可以通过对第一基础表进行上下翻转,对第一基础表进行上下、左右翻转,等等得到。Frame10-Frame15中的表就可以通过对Frame8-Frame15中表的奇偶帧变换得到。
S2303:通过第二预设表对具有第一位深的像素数据进行抖动处理,使得像素数据从第一位深降至驱动位深。
步骤S2303中抖动处理的具体方式,与步骤S203相同,此处不再赘述。
S2304:基于抖动处理后的像素数据进行显示。
步骤S2304中图像显示的具体方式,与步骤S204相同,此处不再赘述。
最后需要说明的是:上述第一方面、第二方面、第三方面中的图像显示方法,可以择一使用,也可以选择至少两个合并使用。对此不做限定。
最后通过一个实例对本申请实施例提供的图像显示方法的效果进行说明。假设需要将10-bit的图像数据在6-bit的显示面板上进行显示。图24为本申请实施例中直接将10-bit图像数据的低4-bit丢弃的显示效果。而图25为本申请实施例中经过抖动处理后的显示效果。图24和图25为同一帧的显示效果。很明显,经过本申请实施例提供的图像显示方法进行抖动处理后的亮暗过渡更平滑,色彩显示更细腻,色阶显示更丰富。
基于同一发明构思,作为对上述方法的实现,本申请实施例还提供了一种图像显示装置。图26为本申请实施例中图像显示装置的结构示意图一,参见图26所示,该装置可以包括:
获取模块2601,用于获取图像数据中的像素数据,所述像素数据具有第一位深,所述第一位深高于所述液晶显示器的驱动位深;
数据映射模块2602,用于通过查找第一预设表将所述像素数据从第一位深升至第二位深,所述第一预设表用于表征具有不同位深的像素数据的对应关系;
第一抖动模块2603,用于通过查找第二预设表对具有所述第二位深的像素数据进行抖动处理,使得所述像素数据从所述第二位深降至所述驱动位深,所述第二预设表用于表征是否修改降位深后的像素数据的值;
驱动模块2604,用于基于抖动处理后的像素数据进行显示。
基于前述实施例,所述第二位深与所述第一位深的位数差值至少为2;所述装置还包括:
色彩校正模块,用于通过查找所述第一预设表将所述像素数据从所述第一位深升至第三位深;利用预设色彩曲线对具有所述第三位深的像素数据进行颜色校正;
所述数据映射模块,用于通过查找所述第一预设表将所述像素数据从所述第三位深升至所述第二位深。
基于前述实施例,所述装置还包括:
第二抖动模块,用于采用空域抖动的方式将颜色校正后的像素数据从所述第三位深降至第四位深,以便于加快对所述像素数据进行所述抖动处理的速度;
所述数据映射模块,用于通过查找所述第一预设表将所述像素数据从所述第四位深升至所述第二位深。
基于前述实施例,所述装置还包括:
确定模块,用于根据颜色校正的精细程度确定位深提升数量,所述位深提升数量与所述颜色校正的精细程度正相关,所述位深提升数量为所述第三位深与第一位深的位数差值;根据所述位深提升数量确定所述第一预设表。
基于前述实施例,所述第一预设表为完整表,所述完整表用于表征所有不同位深的像素数据的对应关系;或者,所述第一预设表为部分表,所述部分表具有所述完整表中的部分数据,所述部分数据包括所有不同位深;
当所述第一预设表为部分表时,所述数据映射模块,用于通过插值算法补充所述部分表中缺失的像素数据,所述缺失的像素数据未记载在所述部分表中,并且记载在所述完整表中;通过查找所述部分表和补充的像素数据将具有所述第一位深的像素数据升至所述第二位深。
基于前述实施例,所述第二位深与所述第一位深的位数差值为1。
基于前述实施例,所述第二预设表为完整表,所述完整表是基于时域-空域抖动所查询的表;或者,
所述第二预设表包括至少一个基础表与多个预设逻辑,所述多个预设逻辑用于处理所述至少一个基础表,以得到能够组成所述完整表的多个基础表;所述基础表中单元格的数量大于或等于2的N次幂,所述N为所述第二位深与所述驱动位深的位数差值。
基于前述实施例,所述第一抖动模块,用于根据所述像素数据所在图像的帧码和/或所述像素数据中删除的数据,从所述多个预设逻辑中确定出目标逻辑,所述多个预设逻辑分别对应不同的帧码或删除的不同的数据;采用所述目标逻辑对所述至少一个基础表中单元格的位置进行变换;基于变换后的至少一个基础表中的内容对具有所述第二位深的像素数据进行抖动处理。
基于前述实施例,所述至少一个基础表包括:第一基础表和第二基础表;所述第一基础表与所述第二基础表中表征修改降位深后的像素数据的值所在的单元格的位置不同。
基于前述实施例,所述多个预设逻辑包括:上翻转、下翻转、左翻转、右翻转、奇偶交换中的一个或多个。
基于前述实施例,所述第二预设表中指示修改降位深后的像素数据的值的位置都对应液晶极性翻转类型表中的同一种极性。
基于前述实施例,在当前抖动周期内,所述第二预设表中指示修改降位深后的像素数据的值的位置都对应所述液晶极性翻转类型表中的第一极性;
在下一个抖动周期内,所述第二预设表中指示修改降位深后的像素数据的值的位置都对应所述液晶极性翻转类型表中的第二极性,所述第二极性与所述第一极性相反。
基于前述实施例,所述装置还包括:
配置模块,用于根据所述液晶显示器的液晶极性翻转类型表配置所述第二预设表中指示修改降位深后的像素数据的值的位置。
在实际应用中,由于获取模块是用于获取像素数据的,因此,获取模块具体可以是读出电路(Sense Circuit,SC)这种具有数据读取功能的电路。
由于确定模块是用于确定位深提升数量,以及确定具体的第一预设表,配置模块是用于对第二预设表中的值进行配置,因此,确定模块和配置模块具体可以是算数逻辑运算单元(Arithmetic&Logic Unit,ALU)、准逻辑单元(Standard Cell,SC)、可编程逻辑器件(Programmable Logic Device,PLD)等具有数据处理功能的电路。
由于第一存储模块、第二存储模块、第三存储模块、第四存储模块用于存储不同的表,因此,第一存储模块、第二存储模块、第三存储模块、第四存储模块具体可以是由双稳态半导体电路、互补金属氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)晶体管或磁性材料的存储元组成的存储器。例如:随机存取存储器(Random AccessMemory,RAM)、先进先出(First Input First Output,FIFO)存储器、内存条、安全数码卡(Secure Digital Memory Card,SD卡)等。
由于第一抖动模块、第二抖动模块、数据映射模块、色彩校正模块是用于对不同的像素数据进行处理,因此,第一抖动模块、第二抖动模块、数据映射模块、色彩校正模块具体可以是算数逻辑运算单元(Arithmetic&Logic Unit,ALU)、准逻辑单元(Standard Cell,SC)、可编程逻辑器件(Programmable Logic Device,PLD)等具有数据处理功能的电路。
由于驱动芯片是对处理后的像素数据进行驱动显示的,因此,驱动芯片具体可以是74HC595、74HC595等通用芯片。当然,也可以是使用专用芯片,用以对像素数据的显示进行驱动。对于驱动芯片的具体类型,此处不做限定。
这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
基于同一发明构思,作为对上述方法的实现,本申请实施例还提供了一种图像显示装置。图27为本申请实施例中图像显示装置的结构示意图二,参见图27所示,该装置可以包括:
获取模块2701,用于获取图像数据中的像素数据,所述像素数据具有第一位深,所述第一位深高于所述液晶显示器的驱动位深;
第一抖动模块2702,用于通过第二预设表对具有所述第一位深的像素数据进行抖动处理,使得所述像素数据从所述第一位深降至所述驱动位深;所述第二预设表包括至少一个基础表与多个预设逻辑,所述多个预设逻辑用于处理所述至少一个基础表,以得到能够组成完整表的多个基础表,所述完整表是基于时域-空域抖动所查询的表;所述基础表中单元格的数量大于或等于2的N次幂,所述N为所述第二位深与所述驱动位深的位数差值;
驱动模块2703,用于基于抖动处理后的像素数据进行显示。
这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
基于同一发明构思,作为对上述方法的实现,本申请实施例还提供了一种图像显示装置。图28为本申请实施例中图像显示装置的结构示意图三,参见图28所示,该装置可以包括:
获取模块2801,用于获取图像数据中的像素数据,所述像素数据具有第一位深,所述第一位深高于所述液晶显示器的驱动位深;
第一抖动模块2802,用于通过查找第二预设表对具有所述第二位深的像素数据进行抖动处理,使得所述像素数据从所述第二位深降至所述驱动位深,所述第二预设表中指示修改降位深后的像素数据的值的位置都对应液晶极性翻转类型表中的同一种极性;
驱动模块2803,用于基于抖动处理后的像素数据进行显示。
这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
基于同一发明构思,本申请实施例还提供了一种芯片,该芯片可以用于执行上述一个或多个实施例中的图像显示方法。
这里需要指出的是:以上芯片实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请芯片实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
基于同一发明构思,本申请实施例还提供了一种液晶显示器,该液晶显示器可以包括显示面板和上述的芯片。
这里需要指出的是:以上液晶显示器实施例的描述,与上述芯片实施例的描述是类似的,具有同芯片实施例相似的有益效果。对于本申请液晶显示器实施例中未披露的技术细节,请参照本申请芯片实施例的描述而理解。
基于同一发明构思,本申请实施例还提供了一种计算机可读存储介质,该存储介质可以包括:存储的程序;其中,在程序运行时控制存储介质所在设备执行上述一个或多个实施例中的图像显示方法。
这里需要指出的是:以上存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。