具体实施方式
在下面详细描述中,为了提供相关公开内容的彻底的理解,通过实例的方式阐述了多个具体细节。然而,本公开内容可以不需要这样的细节而被实践出来,这对本领域普通技术人员来说是明显的。在其它实例中,广为所知的方法、程序、系统、组件、和/或电路已经在相对高的层次上被描述而没有描述细节,这是为了避免不必要地模糊本公开内容的方面。
图1示出了含有显示器102和控制逻辑104的装置100。装置100可以是任何合适的设备,例如,电视机、膝上电脑、台式电脑、笔记本电脑、媒体中心、手持设备(例如,非智能电话或智能手机、平板电脑等)、电子广告牌、游戏机、机顶盒、打印机、或其它任何合适设备。在这个实例中,显示器102可操作地连接到控制逻辑104并是装置100的一部分,例如但是不限于,电视屏幕、电脑显示器、仪表板、头戴式显示器或电子广告牌。显示器102可以是LCD、OLED显示器、电泳墨水E-ink显示器、ELD、具有白炽灯的广告牌显示器、或其它任何合适种类的显示器。控制逻辑104可以是任何合适的硬件、软件、固件或其组合,其被配置成接收显示数据106并将接收到的显示数据106转化为控制信号108用以驱动显示器102的子像素阵列。例如,用于各种子像素排列的子像素渲染算法可以是控制逻辑104的一部分或通过控制逻辑104实现。控制逻辑104可含有任何其它合适的组件,包括编码器、解码器、一个或多个处理器、控制器(例如,时序控制器)和存储设备。控制逻辑104的一个实例和通过控制逻辑104实现的显示器102的子像素渲染方法分别参考图9和10详细地进行了描述。装置100也可以含有任何其它合适的组件,例如但不限制于,扬声器118和输入设备120,例如,鼠标、键盘、遥控器、手写设备、相机、麦克风、扫描仪等。
在一个实例中,装置100可以是具有显示器102的膝上电脑或台式电脑。在这个实例中,装置100也含有处理器110和存储器112。例如,处理器110可以是,图形处理器(例如,GPU)、通用处理器(例如,APU、即,加速处理单元;GPGPU,即,GPU上的通用目的计算处理器)、或者任何其它合适的处理器。例如,存储器112可以是独立帧缓存或统一的存储器。处理器110被配置成以显示帧的形式产生显示数据106并在显示数据106被送到控制逻辑104之前暂时将显示数据106存储在存储器112中。处理器110也可以产生其它数据,例如但不限制于,控制指令114或测试信号,并直接地或通过存储器112将它们提供给控制逻辑104。控制逻辑104然后从存储器112或直接地从处理器110接收显示数据106。
在其它实例中,装置100可以是具有显示器102的电视机。在这个实例中,装置100还含有接收器116,例如但不限制于,天线、射频接收器、数字信号调谐器、数字显示连接器(例如,HDMI、DVI、DisplayPort、USB)、蓝牙、WiFi接收器、或以太网口。接收器116被配置为装置100的输入以接受显示数据106,并向控制逻辑104提供原始的或调制的显示数据106。
在又一个实例中,装置100可以是手持设备,例如智能手机或平板电脑。在这个实例中,装置100含有处理器110、存储器112和接收器116。装置100可以通过它的处理器110产生显示数据106,同时也可以经过它的接收器116接收显示数据106。例如,装置100可以是手持设备,其既可以作为便携式电视机,同时又可以作为便携式计算设备工作。无论如何,装置100至少含有带有如下面详细描述的特别设计的子像素排列的显示器102和为显示器102的子像素排列特别设计的控制逻辑104。
图2示出了含有子像素202、204、206、208的阵列的显示器102的一个实例。例如,显示器102可以是任何合适类型的显示器,比如扭曲向列(TN)LCD、平面转换(IPS)LCD、高级边缘场开关(AFFS)LCD、垂直配准(VA)LCD、高级超视野(ASV)LCD、蓝相模式(bluephasemode)LCD、无源矩阵(PM)LCD的LCD或其它任何合适的显示器。显示器102可以含有显示面板210和背光面板212,显示面板210和背光面板212都可操作地被连接到控制逻辑104。背光面板212含有为显示面板210提供光的光源,例如但不限制于,白炽灯泡、LED、EL面板、冷阴极荧光灯(CCFL)和热阴极荧光灯(HCFL)、等等。
例如,显示器面板210可以是,TN面板、IPS面板、AFFS面板、VA面板、ASV面板或其它任何合适的显示器面板。在这个实例中,显示器面板210含有滤光器基板220、电极基板224和设置在滤光器基板220和电极基板224之间的液晶层226。如图2所示,滤光器基板220含有多个滤光器228、230、232、234,它们分别对应于多个子像素202、204、206、208。图2中的A、B、C和D表示四种不同类型的滤光器,例如但不限制于,红色、绿色、蓝色、黄色、青色、洋红色或者白色滤光器。滤光器基板220也可以含有如图2所示的置于滤光器228、230、232、234之间的黑底236。作为子像素202、204、206、208的边界,黑底236被用来遮挡从滤光器228、230、232、234之外的部分发出的光线。在这个实例中,电极基板224含有多个带有例如薄膜晶体管(TFT)的开关元件的电极238、240、242、244,其分别对应于多个子像素202、204、206、208的多个滤光器228、230、232、234。带有开关元件的电极238、240、242、244可以被来自控制逻辑104的控制信号108分别定址,并被配置成通过根据控制信号108控制透过各自的滤光器228、230、232、234的光去驱动相应的子像素202、204、206、208。显示面板210可以含有任何其它合适的组件,例如一个或多个如本领域中已知的玻璃基板、偏振层或触控面板。
如图2所示,多个子像素202、204、206、208中的每个由至少一个滤光器、相对应的电极、以及在相对应的滤光器和电极之间的液晶区构成的。滤光器228、230、232、234可以由树脂膜形成,在树脂膜中包含具有期望颜色的染料或颜料。根据各个滤光器的特性(例如,颜色、厚度等),子像素可以呈现不同的颜色和亮度。在这个实例中,两个相邻的子像素可以构成一个用于显示的像素。例如,子像素A202和B204可以构成像素246,并且子像素C206和D208可以构成另一个像素248。在这里,因为显示数据106通常在像素级被编程,,如在显示数据106中指定的,在子像素渲染的帮助下,每个像素的两个子像素或几个相邻像素的多个子像素可以被集体定址以通过子像素渲染呈现每个像素的亮度和颜色。然而,可以理解的是,在其它实例中,显示数据106可以在子像素级被编程,使得显示数据106能够直接定址各个子像素。因为通常需要三原色(红色、绿色和蓝色)来呈现全色彩,具体地指定的子像素排列在下面被详细提供用于使显示器102达到适当的视在颜色分辨率。
图3示出了含有子像素302、304、306、308的阵列的显示器102的另一个实例。例如,显示器102可以是任何合适种类的显示器,比如有源矩阵(AM)OLED显示器、无源矩阵(PM)OLED显示器的OLED显示器,或者其它任何合适的显示器。显示器102可以含有显示面板310,其可操作地连接到控制逻辑104。与图2不同,背光面板对于图3中的OLED显示器102来说可以不是必需的,因为显示面板310可以经由其中的OLED发光。
在这个实例中,显示面板310含有发光基板318和电极基板320。如图3所示,发光基板318含有各自对应于多个子像素302、304、306、308的多个OLED322、324、326、328。图3中的A、B、C和D表示4种不同类型的OLED,比如但不限于,红色、绿色、蓝色、黄色、青色、洋红色、或者白色OLED。如图3所示,发光基板318也可以含有置于OLED322、324、326、328之间的黑底330。作为子像素302、304、306、308的边界,黑底330被用来阻挡从OLED322、324、326、328之外的部分发出的光线。与图2不同,滤光器基板对于OLED显示器102不是必需的,因为在发光基板318上的每个OLED都能发出具有预定颜色和亮度的光。在这个实例中,电极基板320含有带有比如TFT的开关元件的多个电极332、334、336、338,其分别对应于多个子像素302、304、306、308的多个OLED322、324、326、328。带有开关元件的电极332、334、336、338可以分别地被来自控制逻辑104的控制信号108定址,并被配置成通过根据控制信号108控制从各个OLED322、324、326、328发出的光去驱动相对应的子像素302、304、306、308。显示面板310可以含有任何其它合适的组件,例如如本领域已知的一个或多个玻璃基板、偏振层或触控面板。
如图3所示,多个子像素302、304、306、308中的每个由至少一个OLED和一个相应的电极构成。每个OLED可以由如本领域已知的夹层结构的阳极、发光层和阴极形成。根据各个OLED的发光层的特性(例如,材料、结构等),子像素可以呈现不同的颜色和亮度。在这个实例中,两个相邻的子像素可以构成一个用于显示的像素。例如,子像素A302和B304可以构成像素340,并且子像素C306和D308可以构成另一个像素342。在这里,因为显示数据106通常在像素级被编程,如在显示数据106中指定的,在子像素渲染的帮助下,每个像素的两个子像素或几个相邻像素的多个子像素可以被集体定址,以通过子像素渲染呈现每个像素的亮度和颜色,。然而,可以理解的是,在其它实例中,显示数据106可以在子像素级被编程,使得显示数据106能够直接定址各个子像素。因为通常需要三原色(红色、绿色和蓝色)来呈现全色彩,具体地指定的子像素排列在下面被详细提供用于使显示器102达到适当的视在颜色分辨率。
尽管图2和3分别被图解为LCD显示器和OLED显示器,但是可以理解的是图2和3只是出于示例性的目的被提供并没有限制性的目的。如上所述,除了LCD和OLED显示器,显示器102可以是电泳墨水E-ink显示器、ELD、带有白炽灯的广告牌显示器、或其它任何合适种类的显示器。
图4A和4B描述了由子像素重复组402定义的显示器400的子像素排列。显示器400含有具有有规律的平铺在显示器400上的子像素重复组402的子像素阵列。图4A和4B中的A、B、C和D表示四种不同类型的子像素,例如但不限于,红色、绿色、蓝色、黄色、青色、洋红色、或者白色子像素。例如,图4B可以是显示器102的顶视图并描绘了显示器400的子像素排列的一个实例。参考图4A,在该实例中的子像素重复组402是4乘4的矩阵,其含有四行和四列子像素。在该实例中的子像素重复组402的每行含有四种子像素,也就是A、B、C和D。换句话说,子像素重复组402的每行的子像素是互相不同的。并且,在该实例中的子像素重复组402的每列含有四种子像素,也就是A、B、C和D。换句话说,子像素重复组402的每列的子像素也是互相不同的。相应地,沿水平或垂直方向上的任意两个相邻的子像素互相是不同的。此外,沿着子像素重复组402的每条对角线方向的子像素含有四种子像素(A、B、C和D)中的至少两种。换句话说,沿着子像素重复组402的任意对角线方向的子像素不能全部相同。在该实例中,沿着子像素重复组402的第一条对角线方向(例如,从左上角到右下角的A-A-D-B)的子像素含有三种子像素,也就是,A、B和D,并且沿着子像素重复组402的第二条对角线方向(例如,从右上角到左下角的D-B-C-C)的子像素含有三种子像素,也就是B、C和D。
参考图4B,显示器400的子像素排列可以由图4A所示的子像素重复组402定义。在显示器400的水平方向和垂直方向上,子像素排列可以被描述为子像素重复组402重复自身。换句话说,子像素重复组402有规律的平铺在显示器400上。
在该实例中,显示器400的全部子像素具有相同的形状和尺寸,并且两个相邻的子像素构成一个用于显示的像素。例如,如图4B所示,每个子像素可以含有具有约2:1的长宽比的大致长方形形状。换句话说,每个正方形像素404在水平方向被等分成两个长方形子像素406、408。可以看出,显示器400的每个像素可以含有具有不同颜色的子像素,这是由于其具体设计的子像素排列。例如,像素404含有子像素A和子像素B,而在右边的另一个像素含有子像素C和子像素D。
图5描述了由图4A中的子像素重复组定义的图4B中的显示器400的子像素排列的一个实例。在该实例中,子像素A是红色子像素,子像素B是白色子像素,子像素C是蓝色子像素,并且子像素D是绿色子像素。在显示器400是LCD的情况下,每种子像素可以含有不同的滤光器。在显示器400是OLED显示器的情况下,每种子像素可以含有发出不同颜色光的OLED。在水平和垂直方向上,红色、绿色、蓝色和白色子像素的数目是均匀分布的,即在各自方向上每种子像素具有所有子像素总数的1/4。此外,如图5所示,具体设计的子像素排列保证了沿着显示器400的任意对角线方向的像素不是全部相同的。因此,这个子像素排列的颜色分布的均匀性相对于上述的现有解决方案是有所改进的。在这个实例中,白色子像素用来有效地增加显示器102的亮度而并没增加能耗。
图6A-6Q描述了子像素重复组的各种实例。这些实例包含,但是不限制于下面的模式:
ABCDABCDABCDABCDABCD
BDACCDABCDABDCABCDAB
CADBBADCBCDABADCDABC
DCBA,DCBA,DABC,CDBA,BCDA,
ABCDABCDABCDABCDABCDABCD
DABCBCDADCBABADCBDACDCBA
BCDADABCBADCDCBADCBABDAC
CDAB,CDAB,CDAB,CDAB,CADB,CADB,
ABCDABCDABCDABCDABCDABCD
CADBDCBACDABDCBACDBADCAB
DCBACADBDCBACDABDCABCDBA
BDAC,DBAC,BADC,BADC,BADC,和BADC,
其中A、B、C和D表示四种不同类型的子像素,例如但不限制于,红色、绿色、蓝色、黄色、青色、洋红色、或者白色子像素。
图6A-6Q中的所有实例满足了上述关于图4A的需要。也就是说,(1)每个子像素重复组含有四行子像素和四列子像素;(2)子像素重复组的每行含有四种子像素;(3)子像素重复组的每列含有四种子像素;并且(4)沿着子像素重复组的每条对角线方向的子像素含有四种子像素中的至少两种。
尽管图6A-6Q所示的所有示例性子像素重复组是4乘4矩阵,但是应该理解的是,子像素重复组可以是更大的矩阵,例如,5乘5矩阵、6乘6矩阵等。因此,一般规则都可以应用到定义子像素重复组。例如,(1)每个子像素重复组含有n行子像素和n列子像素;(2)子像素重复组的每行含有n种子像素;(3)子像素重复组的每个n含有n种子像素;和(4)沿着子像素重复组的每条对角线方向的子像素包括n种子像素中的至少两种。n可以是大于三的任意整数。换句话说,沿着子像素重复组的水平或垂直方向上的任何两个相邻的子像素互相是不相同的,并且沿着子像素重复组的任意对角线方向上的子像素不是全部相同的。
图4-6中的所有子像素含有具有约2:1的长宽比的大致长方形形状。就是说,每个正方形像素被水平且相等地划分成两个长方形子像素。然而,要理解的是在其它实例中每个正方形像素可以被以不同地方式划分。例如,图7描述了由图4A中的子像素重复组402定义的显示器700的另一个子像素排列。与图4B不同,这个实例中的每个子像素大体上含有具有大致约1:2的长宽比的长方形形状。换句话说,每个正方形像素702被垂直且相等地划分成两个长方形子像素704、706。
在图4-7中的实例中,每个子像素具有大致长方形的形状。然而,可以理解的是在其它实例中每个子像素的形状是可以变化的。例如,图8描述了含有带弯曲拐角的大致的长方形形状的子像素的子像素重复组800的一个实例。其它子像素的形状含有,但是不限于,大致的圆形、三角形、五边形、六边形、七边形、八边形、或其它任何合适的形状。如上所述子像素802之间的区域可以用黑底804填充。
图9描述了用于渲染带有上面提供的子像素排列的显示器102的子像素的装置100的控制逻辑104的一个实例。本文提到的“逻辑”和“模块”被定义为能够执行所需功能的任何合适的软件、硬件、固件、或其任何合适的组合,比如可编程处理器、比如状态机的离散逻辑等。在这个实例中,控制逻辑104含有配置为识别显示器102的子像素排列904的识别模块902,例如上面提供的子像素排列的任何一个或与本公开一致的任何其它合适的子像素排列。在这个实例中,储存设备906,例如作为显示器102一部分的ROM,存储关于显示器102的子像素排列904的信息。识别模块902因此从储存设备906获得关于子像素排列904的信息。在另一个实例中,储存设备906不是显示器102的一部分,而是控制逻辑104或装置100的任何其它合适组件的一部分。在又一个实例中,储存设备906在装置100的外面,并且识别模块902可以从例如远程数据库加载子像素排列904的信息。
图9中的控制逻辑104也含有可操作地连接到识别模块902的转换模块908。转换模块908被配置成基于所识别的显示器102的子像素排列904将从处理器110、存储器112、和/或接收器116接收到的显示数据106转换为经转换的显示数据910。如上所述,显示数据106可以在像素级进行编程,并因此含有用于为显示器102的每个像素使用不同颜色(例如,红色、绿色和蓝色的三原色)渲染三个子像素的三部分数据。
例如,转换模块908可基于每个像素的显示数据106中的红色、绿色和蓝色的原始的原色首先计算出经转换的白色子像素数据。在一个实例中,经转换的白色子像素数据分量(W)的值可以通过下面的公式计算:
W=min(R,G,B)/x(1),
其中,x是预定的校正值,x≥1,并且R、G和B分别代表在每个像素的显示数据106中的红色、绿色和蓝色子像素分量的值。
转换模块908然后可以基于经转换的白色子像素数据和原始的红色、绿色和蓝色子像素数据计算出经转换的红色、绿色和蓝色子像素数据。在一个实例中,经转换的红色、绿色和蓝色子像素数据分量(R’、G’和B’)的值可以通过下面的公式计算:
R’=R-W(2)
G’=G-W(3)
B’=B-W(4)。
转换模块908还可以将经转换的子像素数据分配到显示器102的每个像素。例如,如果显示器102的第一个像素(例如,左上角的像素)可以含有白色和红色子像素,那么转换模块908可以将基于显示数据106中的第一像素的R、G和B分量计算出的W和R’的值各自分配到显示器102上的白色和红色子像素。转换模块908为显示器102上的所有像素重复这个过程并为显示器102的具体地设计的子像素排列904产生经转换的显示数据910。应该理解的是任何其它合适的渲染算法都可以由转换模块908用于将显示数据106转换为经转换的显示数据910。
图9中的控制逻辑104也含有可操作地连接到转换模块908的渲染模块912。渲染模块912被配置成基于经转换的显示数据910为渲染显示器102的子像素阵列提供控制信号108。如上所述,例如,控制信号108可以通过与经转换的显示数据910一致的电压和/或电流信号控制显示器102的每个单独的子像素的状态。
图10描述了用于渲染显示器102的子像素的方法的一个实例。该方法可以通过装置100的控制逻辑104实现或在具有至少一个处理器的其它任何合适的机器上实现。在方框1000处开始,显示器102的子像素阵列的排列被识别出。如上描述,方框1000可以由控制逻辑104的识别模块902执行。在方框1002处,接收显示数据,所述显示数据对于要显示的每个像素含有用于渲染显示器102的三种子像素的三部分原始子像素数据。如上描述,方框1002可以由控制逻辑104的转换模块908执行。进行到方框1004,基于所识别出的子像素阵列的排列,将接收到的显示数据转换为经转换的显示数据。如上描述,方框1004可以由控制逻辑104的转换模块908执行。在一个实例中,方框1004可以含有方框1008、1010和1012。在方框1008处,基于显示数据中的原始的红色、绿色和蓝色的子像素数据计算出经转换的白色子像素数据。然后在方框1010处,基于经转换的白色子像素数据和原始的红色、绿色和蓝色的子像素数据计算出经转换的红色、绿色和蓝色子像素数据。在方框1012处,产生含有对应于构成各个像素的相邻子像素的经转换的子像素数据的经转换的显示数据。进行到方框1006,基于经转换的显示数据,提供用于渲染显示器102的子像素阵列的控制信号。如上描述,方框1006可以由控制逻辑104的渲染模块912执行。
尽管图10的处理框图以特定的顺序被阐述说明,但是本领域的普通技术人员将领会到这些处理可以以不同的顺序被执行。例如,方框1002可以先于方框1000执行或实质上同时执行。就是说,显示数据可以在显示器102的子像素排列被识别出之前或被识别出的同时被接收。
显示器的子像素渲染方法的方面,如上文所述,可以体现在编程中。技术的程序方面可以被典型地认为是如以可执行代码和/或相关数据的形式的“产品”或“制品”,可执行代码和/或相关数据被承载在或体现在某种机器可读介质中。有形的非暂时性“储存器”类介质包括任何或所有存储器或用于计算机、处理器或类似设备的其它储存器,或其中相关的模块,例如各种半导体存储器、磁带驱动器、磁盘驱动器等等,它们可以在任何时刻为软件编程提供存储。
软件的全部或部分有时可以通过诸如因特网或各种其它电信网络的网络进行通信。这种通信,例如,可以将软件从一个电脑或处理器加载到另一个电脑或处理器之中。因此,可以承载软件元件的其它种类的介质包括光波、电波和电磁波,例如在本地设备之间通过有线网络和光陆线网络以及经过各种空中链路跨物理接口使用的光波、电波和电磁波。承载这些波的物理元件,例如有线或无线链路、光链路等,也可以被认为是承载软件的介质。如本文使用的,除非限制为有形的“储存器”介质,否则例如计算机或机器“可读介质”等术语指的是参与将指令提供给处理器用于执行的任何介质。
因此,机器可读介质可以采用很多形式,包括但不限于,有形的储存介质、载波介质或物理传输介质。例如,非易失的储存介质含有光盘或磁盘,比如在任何计算机中的任何存储设备或类似设备,其可以被用来实现附图中示出的系统或其任何组件。易失的储存介质包括动态存储器,例如这样的计算机平台中的主存储器。有形的传输介质包括同轴电缆;铜线和光纤,包括形成计算机系统中的总线的导线。载波传输介质可以采用诸如那些在射频(RF)和红外(IR)数据通信时产生的电信号或电磁信号、或声波或光波的形式。计算机可读介质的普通形式因此含有例如:软盘、软磁盘、硬盘、磁带、任何其它磁性介质、CD-ROM、DVD或DVD-ROM、任何其它光介质、打孔卡纸带、任何其它带有孔模式的物理储存介质、RAM、PROM和EPROM、FLASH-EPROM、任何其它存储芯片或内存盒、载波传输数据或指令、传输这种载波的电缆或链路、或计算机能从其中读取编程代码和/或数据的任何其它介质。这些计算机可读介质形式中的很多可以参与到传送一个或多个指令的一个或多个序列到处理器用于执行。
文中描述的公开内容和实例的上述详细描述的提出只是出于解释和说明的目的而不是出于限制目的。因此可以预期的是本公开涵盖落入本文在上面公开的和所要求保护的基本的潜在原理的精神和范围内的任何和所有修改、变动或等价物。