图像数据的误差累加抖动的制作方法

文档序号:2610394阅读:286来源:国知局
专利名称:图像数据的误差累加抖动的制作方法
技术领域
本发明大体而言涉及基于光栅的图像产生且具体而言涉及用于根据误差累加来抖动图像数据的系统及方法。
背景技术
现代图形处理系统能产生高色彩分辨率的像素数据。举例而言,通常使用一24位(红色、绿色及蓝色彩分量中各8位)的色彩分辨率。在某些情形中,在图形处理系统中可获得的色彩分辨率可能会超过在一特定显示装置上可获得(或所使用)的色彩分辨率。例如,某些LCD装置使用18位的色彩(每一色彩分量中各6位),从而使可获得的色彩变少。
色彩抖动常用于形成一呈现多于一给定显示装置所提供的颜色数量的外观。举例而言,如果要以一强度介于两种可用色彩之间的色彩来显示图像内的一区域,则可通过以较低强度的色彩显示某些像素并以较高强度的色彩显示某些像素来形成所述中间颜色的外观。例如,假定一图像的某些区域应具有一其强度介于一较低可用值CL与一较高可用值CH之间的色彩(或色彩分量)CO。对于一N*N像素块而言,存在一最接近于满足下列方程式的整数“混合因子”PCO=CH*P/N2+CL*(N2-P)/N2可通过将N*N个像素中的P个像素的色彩值设定成较高值CH并将其余像素的色彩值设定成较低值CL来逼近所希望的色彩CO。常常通过对屏幕上的每一像素块应用一N*N“抖动矩阵”来选择将哪P个像素设定成较高值CH。抖动矩阵中的各个元-其分别对应于一不同像素-通常由从0到N2-1的编号组成,所述编号布置成一图案以通过下述方式来产生所希望的色彩效果对于其抖动矩阵的元小于P的像素,将色彩设定成CH,对于其余像素则将色彩设定成CL。对显示器中的每一N*N像素块重复所述抖动矩阵,其中N的一典型值为4。此抖动程序通常分别应用于每一色彩分量。
然而,基于矩阵的抖动可在所显示的图像中产生不期望有的假象。例如,由于对每一像素块重复使用抖动矩阵,因此可能会出现一种可见的“屏幕门”效应,这是因为由明暗像素形成的类似图案往往在图像上的水平及垂直带中重复出现。某些实施方案力图通过下述方式来避免此种现象在相继的帧(例如对一4×4抖动矩阵而言在一4个帧的循环内)上重新排列抖动矩阵中的元,借此使瞬时分辨率变模糊。然而,所述循环往往慢到足以产生可见的闪烁或闪动效应。
作为对固定的抖动矩阵的替代形式,Floyd及Steinberg已提出一种抖动算法,所述抖动算法是基于从扫描输出次序中较早的像素向后续扫描的邻近像素的误差推进。图1中针对一3×3像素块100来图解说明此算法。以光栅次序(扫描各个行,从顶部开始)扫描像素110-118。根据像素114的所希望的的色彩(CO)加上一从先前所扫描的邻近像素110-113的相应误差项ε0至ε3所累加的误差项ε来确定像素114的显示色彩(CD)。例如,如果CO+ε≥CH,则选择CH作为所显示的色彩CO,否则选择CL。然后,确定一残留误差84(例如CO-CD)并将其推进至如图所示的未经扫描的邻近像素115-118。所推进的误差不均等地分布于未经扫描的邻近像素当中;例如ε4的7/16推进至像素115,而ε4的仅1/16推进至像素116。对每一像素使用相同的分布模式。由于每一像素均为几个其它像素的邻近像素,因此一给定像素的误差为先前所扫描的邻近像素的误差之和。例如,用于确定像素114的色彩的误差项ε将为ε=(3/16)*ε0+(5/16)*ε1+(1/16)*ε2+(7/16)*ε3其中ε0至ε3为像素110-113的各自的残留误差。如同基于矩阵的抖动一样,可使用此程序来分别处理R、G及B色彩分量。此种技术会使较高强度(CH)的像素分布在较低强度(CL)的像素当中,以产生所希望的视觉效果,而且所述误差分布会引入可减轻或消除所不希望有的屏幕门效应的准随机变化。
然而,此种分布算法在硬件中构建起来很昂贵。举例而言,在处理一当前行时通常需要使用一个行存储器来记录要加至下一行中每一像素的误差,而且需要对所述行存储器进行频繁的读取-修改-写入操作以累加来自所有邻近像素的误差。
因此,将需要提供一种能避免出现屏幕门效应或其它视觉假象、同时构建起来还不昂贵的抖动技术。

发明内容
本发明各实施例提供用于从较高色彩分辨率的输入图像数据产生较低色彩分辨率的图像的误差累加抖动。根据本发明的一实施例,当所述高色彩分辨率图像的数据为一介于两个低分辨率色彩的之间的像素指定一色彩时,是通过一从先前所处理的像素累加来的误差项来控制在一给定像素的这两种色彩之间的选择。
根据本发明的一个方面,提供一种用以抖动一图像的方法。以一高的色彩分辨率为所述图像的若干像素中的一当前像素接收一目标色彩。所述目标色彩介于处于一低色彩分辨率的一第一色彩与一第二色彩之间。跟踪所述像素中一直到且包括所述当前像素的一累加误差。选择所述第一色彩及所述第二色彩中的一者作为一最终像素色彩,其中在所述累加误差小于一阈值的情况下选择所述第一色彩而在所述累加误差超过所述阈值的情况下选择所述第二色彩;在选择所述第二色彩的情况下将所述累加误差降至所述阈值以下。向所述像素中的下一像素提供一更新的累加误差。
在一些实施例中,跟踪所述累加误差的步骤可包括根据所述第一色彩与所述目标色彩之间的一差来确定一当前误差并将所述当前误差添加至所述累加误差。在选择所述第二色彩的情况下,可使所述累加误差减少一对应于所述阈值的量。
在其它实施例中,选择所述最终像素色彩的步骤可包括将所述累加误差添加至所述目标色彩,由此获得一经修改的目标色彩;在所述经修改的目标色彩介于所述第一色彩与所述第二色彩之间的情况下选择所述第一色彩作为所述最终像素色彩;并在所述经修改的目标色彩不介于所述第一色彩与所述第二色彩之间的情况下选择所述第二色彩作为所述最终像素色彩。可将所述经修改的目标色彩与所述最终像素色彩之间的差存储起来作为一可提供至所述下一个像素的更新的累加误差。
根据本发明的另一方面,一种用于抖动一图像的装置包括一累加器模块、一转换模块及一调节模块。所述累加模块经配置以跟踪所述图像的若干像素中的一累加误差。所述转换模块经配置以为所述图像的一当前像素接收一高分辨率色彩信号并产生一对应的低分辨率色彩信号。所述调节模块经配置以在所述累加误差超过一阈值的情况下对所述当前像素的所述低分辨率色彩信号进行修改。在处理所述当前像素后,将所述累加误差提供至所述像素中的下一像素。
在一些实施例中,所述累加模块可包括一当前误差电路及一第一加法器电路。所述当前误差电路可经配置以从所述当前像素的所述高分辨率色彩信号中提取一当前误差,且所述第一加法器电路可经配置以将所述当前误差加至所述累加误差并将一更新的累加误差提供至所述调节模块。所述调节模块可包括一比较器电路及一第二加法器电路,其中所述比较器电路经配置以将所述更新的累加误差与一阈值相比较,由此产生一抖动控制信号且所述第二加法器电路经配置以自所述转换模块接收所述低分辨率色彩信号并根据所述抖动控制信号调节所接收的低分辨率色彩信号,由此产生一最终色彩信号。
在其它实施例中,所述累加器模块可包括一经配置以存储所述累加误差的寄存器;所述调节电路可包括一经配置以将所述累加误差加至所述高分辨率色彩信号由此产生一中间色彩信号的加法器电路;且所述转换电路可包括一经配置以将所述中间色彩信号减小成一低分辨率色彩信号的截短器。此截短器电路可进一步经配置以通过移除若干最低有效位来减小所述中间色彩信号并将所移除的最低有效位作为一新的累加误差存储于所述寄存器中。
下文详细说明连同附图将提供对本发明的性质及优点的更好了解。


图1图解说明一针对一3×3像素块的常规误差分布抖动方案;图2为一根据本发明一实施例的计算机系统的一方块图;图3为一根据本发明一实施例的扫描输出控制逻辑的方块图;图4为一根据本发明一实施例的误差累加抖动过程的一流程图;
图5为一根据本发明一替代实施例的抖动单元的一方块图;及图6A-D图解说明不同抖动方案的效果,其中图6A显示一高分辨率图像,图6B显示在未抖动的情况下以低分辨率再现的同一图像,图6C显示使用常规的基于矩阵的抖动以低分辨率再现的同一图像,而图6D显示根据本发明的一实施例使用抖动以低分辨率再现的同一图像。
具体实施例方式
本发明的各实施例提供用于从较高色彩分辨率的输入图像数据产生较低色彩分辨率的图像的误差累加抖动。本文所述的“色彩分辨率”(或“分辨率”)通常是指可为一图像的一像素指定的不同色彩的数量,且该术语可适用于一总体色彩或适用于其一特定分量,例如单个RGB分量。在一些实施例中,用值来表示色彩,且这些值的数量(其可例如取决于用于表示所述值的位数)决定色彩分辨率。根据本发明的一实施例,当高分辨率图像的数据为一介于两个低分辨率色彩之间的像素规定一色彩时,一给定像素的这两个低分辨率色彩之间的选择是基于一从先前处理的像素累加来的误差项。
图2为一根据本发明一实施例的计算机系统200的一方块图。计算机系统200包括一中央处理器(CPU)202及一经由一总线206进行通信的系统存储器204。自一个或多个耦接至总线206的用户输入装置208(例如键盘、鼠标)接收用户输入。在一在耦接至系统总线206的图形处理子系统212的控制下运行的基于像素的显示装置210(例如一常规的基于CRT或LCD的监视器)上提供可视输出。一系统盘228及其它组件-例如一个或多个抽取式存储装置229(例如软盘驱动器、光盘(CD)驱动器、及/或DVD驱动器)-也可耦接至系统总线206。系统总线206可使用包括PCI(外围组件互连)、AGP(加速图形端口)及/或PCI Express(PCI E)在内的一种或多种不同的总线协议来构建;可提供例如常规的北桥及南桥(未显示)等适当的“桥接”芯片来互连各种组件及/或总线。
图形处理子系统212包括一图形处理单元(GPU)214及一图形存储器216,图形处理单元214及图形存储器216可(例如)使用例如可编程处理器、特殊应用集成电路(ASIC)及存储装置等一个或多个集成电路装置来构建。图形存储器216包括一为一显示像素阵列存储色彩数据的像素缓冲器218。GPU 214包括一几何处理管线220、一存储器接口模块222、及扫描输出控制逻辑224。几何处理管线220可经配置以实施与根据通过系统总线206所提供的图形数据产生像素数据(例如执行各种2D及/或3D再现算法)相关的任务、与和图形存储器216交互作用以存储及更新像素数据相关的任务等各种任务。与几何管线220及扫描输出控制逻辑224进行通信的存储器接口模块222管理与图形存储器216的所有交互作用。存储器接口模块222还可包括用于将自系统总线206接收的像素数据写入至像素缓冲器218中而无需由几何管线220处理的路径。几何处理管线220及存储器接口模块222的具体配置可视需要而定,且不再对其进行详细说明,因为其对于了解本发明而言并不重要。
如上所述,像素缓冲器218为一显示像素阵列存储色彩数据。在一些实施例中,一像素的色彩数据包括单独的红色(R)、绿色(G)及蓝色(B)色彩强度值,每一色彩强度值均使用若干个(例如8个)位来表示。像素缓冲器218也可存储其它数据,例如某些或所有像素的深度(Z)及/或透明数据。在一些实施例中,像素缓冲器218可为每一像素存储多于一组RGB色彩值,并可在扫描输出操作前或期间对所述色彩值进行组合或进行下一级滤波。应了解,GPU 214可按任一种可使像素数据写入至像素缓冲器218中的方式运行。
扫描输出控制逻辑224-其可集成于一具有GPU 214的单个芯片中或构建于一独立芯片中-从像素缓冲器218中读取色彩数据并将所述数据传送至显示装置210中以供显示。在一实施例中,以一不变的屏幕刷新率(例如80Hz)进行扫描输出;所述刷新率可为一可由用户选择的参数。扫描输出控制逻辑224也可实施其它操作,例如调节特定显示硬件的色彩值;通过将来自像素缓冲器218的像素数据与一例如从图形存储器216、系统存储器204或另一数据源(未显示)中获得的视频或光标覆盖图像或类似图像相结合来产生合成屏幕图像;将数字像素数据转换成用于显示装置的模拟信号;等等。
根据本发明的一实施例,在显示装置具有一低于在像素缓冲器118中所用色彩分辨率的色彩分辨率(例如任一或所有RGB色彩分量的容许值的数量)的情况下,扫描输出控制逻辑224实施色彩抖动。此色彩抖动较佳基于一下文将详细阐述的误差累加技术。
应了解,本文中所述的系统为例示性的且也可具有变化形式及修改形式。GPU可使用任一适当技术构建成例如一个或多个集成电路装置。所述GPU可安装于一可包括一个或多个此种处理器的扩展卡上、直接安装于一系统母板上、或集成至一系统芯片组组件中(例如集成至一常用PC系统架构的北桥芯片中)。图形处理子系统可包括任一数量的专用图形存储器(某些实施方案可没有专用图形存储器)并可以任何组合形式来使用系统存储器及专用图形存储器。具体而言,像素缓冲器可根据需要构建于专用图形存储器或系统存储器中。扫描输出控制逻辑电路可与一GPU相集成或构建成一独立芯片;扫描输出逻辑可使用一个或多个ASIC、可编程处理器元件或其任一组合来构建。
图3为一显示根据本发明一实施例的扫描输出控制逻辑224的更多细节的方块图。像素选择块302-其可为通常的常规设计-选择一当前像素(例如通过扫描一光栅阵列中的各个像素行,其中使所述当前像素根据一像素时钟信号递增)并为像素缓冲器218产生一像素选择信号(PSEL)。此信号使所选择的像素的色彩值(例如表示成RGB分量)通过信号线304传输至扫描输出控制逻辑224。扫描输出控制逻辑224可包括一像素管线306,像素管线306具有一个或多个经配置以对像素实施各种变换的级。此种变换的很多实例在所属领域中为人们所已知,例如使用覆盖图来合成图像、对图像尺寸进行重新换算、可见区域选择、下一级滤波、及类似转换。可在像素管线306中实施所需的任何变换,且不再对其进行详细说明,因为其对于了解本发明而言并不重要。
在像素管线306中实施的任何变换后,将一最终像素色彩经由信号管线310提供至一抖动单元312。在图3所示实施例中,信号线310载送RGB色彩分量值;应了解,也可使用其它色彩表示形式。所述色彩分量是以一“高”分辨率(例如在一实施例中每一色彩分量8位)来提供,其可为在像素缓冲器218中存储色彩数据时所使用的同一分辨率。抖动单元312将每一色彩分量转换成一为显示装置规定的较低分辨率(例如每一分量6位)并经由信号线314将低分辨率色彩分量值(R′,G′,B′)传输至显示装置。
根据本发明的一实施例,抖动单元312执行一误差累加抖动算法。当处理每一像素时,例如通过去掉一个或多个最低有效位(LSB)来将每一色彩分量截短至低分辨率色彩空间中最接近的较低强度色彩值。将目标高分辨率色彩分量值与最接近的较低强度色彩分量值(例如由所去掉的LSB表示的值)之间的差(“误差)自一个像素累加至下一像素。
当累加误差达到某一阈值(例如一对应于所去掉的LSB的数量的值)时,当前像素的色彩分量会向上移至低分辨率色彩空间中的下一较高值,并在处理下一像素前从所述累加误差中减去所述阈值的大小。
图4为一根据本发明的一实施例用于误差累加抖动的过程400的一流程图。在步骤402处,接收一像素的一目标色彩分量CO作为一高分辨率色彩空间中的值。在步骤404处,将低分辨率色彩空间中低于目标值的最接近值识别为一低值CL。此可例如通过从目标值CO中截去或去掉一个或多个LSB或将CO的一个或多个LSB设定成零来实现。在步骤406处,确定一当前误差εcur,其中εcur对应于目标色彩CO与低值CL之间的差。在步骤408处,将当前误差εcur添加至一累加误差εtot。
在步骤410处,将累加误差εtot与一阈值相比较。此阈值可较佳设定成等于在步骤404处识别出其相同低值CL的高分辨率色彩的数量。举例而言,如果高分辨率色彩空间是每一分量提供八位而低分辨率色彩空间是每一分量提供六位,则可将所述阈值设定成一等于4的值。如果累加误差εtot小于所述阈值,则在步骤412处将一校正项D设定成一等于0的值。反之,在步骤414处将校正项D设定成一等于1的值,并在步骤416处从累加误差εtot中减去所述阈值。在这两种情况下,在步骤418处,均通过将校正项D加至在步骤404处所识别的低值CL来确定最终像素色彩。因此,如果在步骤412处将D设定成0,则将以在步骤404处所确定的色彩CL来显示所述像素,而如果在步骤414处将D设定成1,则将以下一较高色彩CH(其对应于低分辨率色彩空间中的CL+1)来显示所述像素。
因此,如果较高的色彩值对应于较高的强度,则以一低于目标值的强度显示各像素直至累加误差达到所述阈值为止。以一高于目标色彩的较高强度显示其误差达到所述阈值的像素,并将累加误差递减所述阈值。因此,在一其中目标色彩CO介于两个低分辨率值CL与CG之间的大体均匀的色彩区内,累加误差达到所述阈值的频率将取决于目标色彩与低值CL之间的差的大小。因此,以高色彩CH显示的像素的比例同样取决于所述大小,从而可产生一中间色彩的所需外观。
还应注意,对于其中高分辨率色彩CO与低分辨率值CL完全相一致的像素而言,由于这些像素的当前误差εcur为零,因而不累加新的误差;以规定色彩显示所有这些像素。可只向前载送任何先前所累加的误差,以便可用于抖动随后所处理的像素。
应了解,本文中所述的过程为例示性的且也可具有变化形式及修改形式。可并行实施按顺序阐述的各步骤,可改变各步骤的次序,并可修改或组合各步骤。
重新参见图3,在抖动单元312内显示与对R色彩分量执行过程400相关的各种功能块。应了解,也可为其它(G及B)色彩分量提供类似功能块。一累加器320包括一当前误差块322、一寄存器324及一加法器电路326。当前误差块322根据在信号线310上接收的输入R色彩分量来计算当前误差εcur。在一实施例中,当前误差块322从输入信号中提取一所选数量的LSB。所提取的LSB数量可为一可配置的参数并可根据像素缓冲器与显示器之间的色彩分辨率之差来动态地确定。例如,如果像素缓冲器是每一色彩分量存储8位而显示器是每一分量只使用6位,则将提取两个LSB。寄存器324存储累加误差εtot。加法器电路326将当前误差εcur加至累加误差εtot并将结果存储回至寄存器324。
来自加法器电路326的结果累加误差εtot还作为一个输入提供至一比较器330。比较器330的另一输入由一存储一阈值(T)的寄存器332提供。阈值T可为一可配置的参数并可根据像素缓冲器与显示器之间的色彩分辨率之差来动态地确定。例如,对于从每一分量8位到每一分量6位的转换而言,可使用T=4。比较器330将累加误差εtot与阈值T相比较并产生一校正信号D。在此实施例中,D=1表示εtot已达到阈值T,而D=0表示εtot尚未达到阈值T。校正信号D返回至累加器320,累加器320使用D的值来确定是否递减存储于寄存器324中的累加误εtot。校正信号D还作为一输入提供至一加法器电路334。
截短器电路336自信号线310接收输入色彩信号R并例如通过去掉一所选数量的LSB而将所述色彩值转换成所需的低分辨率,从而将所述低分辨率信号作为一输入(CL)传送至加法器电路334。在一些实施例中,所去掉的LSB的数量可为一可配置的参数并可根据像素缓冲器与显示器之间的色彩分辨率之差来动态地确定。此数量可设定成与当前误差块322所提取的LSB数量相同的值。截短器电路336也可包括附加定时电路(未显示),以使被截短的色彩信号与来自比较器330的校正信号D同时到达加法器电路334的输入端。
加法器电路334将来自比较器330的校正信号D加至来自截短器电路336的被截短的色彩信号CL,从而将结果作为最终色彩分量R′提供于信号线314上。根据校正信号D的值而定,最终色彩分量R′将具有一为CL或下一较高值CH=CL+1的值。
应了解,本文中所述的抖动单元为例示性的且也可具有变化形式及修改形式。可使用常规集成电路技术来构建各种功能块及寄存器。可为每一色彩分量构建单独的电路,或者不同的色彩分量可根据需要共享电路。另外,色彩数据并非必需以本文中所述的RGB格式提供;而是也可使用其它格式,例如亮度及色度。不同的分量可视需要抖动至不同的分辨率。在一些实施例中,抖动单元可配置成在显示器的色彩分辨率不低于像素缓冲器的色彩分辨率的情况下处于空闲状态。在其它实施例中,当像素缓冲器与显示器具有相同的色彩分辨率时,可在不从输入信号中提取任何误差位的情况下执行抖动操作。由于此种情况下的误差将保持低于所述阈值,因此抖动单元的操作将不对每一像素的色彩产生任何影响。
也可使用上述误差累加抖动算法的变化形式。例如,在一替代算法中,将来自先前像素的累加误差加至所接收的当前像素的高分辨率色彩。然后,将所得到的高分辨率值缩减或截短至较低分辨率(例如通过去掉LSB)并将被截短的部分作为新的累加误差加以存储。如同过程400一样,此替代技术可使像素以一较低强度色彩(CL)显示,直至累加误差εtot达到一足够(阈值)尺寸以使CO+εtot≥CH为止;这时,便以较高强度色彩(CH)显示一个像素,且累加误差降至低于阈值。
图5为一执行此算法的抖动单元500的一方块图。在一加法器电路502的一个输入端处的输入线310上接收一输入色彩分量(例如红色分量R)。一累加误差εtot存储于一寄存器504中并作为另一输入提供至加法器电路502。向截短器电路506提供(以高分辨率)结果值。截短器电路506将一定数量的最高有效位(MSB)作为低分辨率色彩信号R’提供于输出信号线314上。其余位(LSB)则存储于寄存器504中作为一新的累加误差εtot。
如上所述,所述抖动单元也可针对不同的输出色彩分辨率来加以配置。在此类实施例中,可包括附加逻辑以检测所需输出色彩分辨率并确定为将输入色彩分辨率降至所需输出色彩分辨率而要截去的位数。在图3所示实施例中,也可提取该相同的位数作为当前误差并将其用作设定阈值T的基础。例如,如果一8位的色彩分量要减至6位,则截短器336将截去两位,误差确定块322将提取两位作为当前误差,且所述阈值将设定成4。如果显示状态随后发生改变以使所述8位的色彩分量要减至5位,则对各参数加以调节以便截短器336将截去3位,误差确定块322将提取三位,且阈值T将设定成8。
在一些实施例中,不时地将累加误差εtot初始化,例如在一光栅扫描期间的每一像素扫描行开始时进行初始化。可例如通过检测一常规的“水平同步”或水平回扫信号来检测一行的开始。在一实施例中,在每一行开始时将累加误差εtot初始化成相同的值(例如零)。在另一实施例中,部分地根据行编号来确定一给定行的εtot初始值。例如,可将εtot的各个位中的某些或全部设定成等于所述行编号的选定位,以使邻近的扫描行将εtot初始化成不同的值。在一个这样的实施例中,所述行编号的两个LSB用于初始化εtot中低于阈值T的两个MSB,以便在扫描连续的行时εtot的初始值在四个可能值之间循环。(例如在一其中截去3位的实施例中,将εtot中处于21及22位置上的位初始化。)在其它实施例中,可使用其它模式。对不同扫描行使用不同的初始化可有助于消除在呈大体均匀的色彩的区中可能会出现的垂直条带假象。在其它实施例中,εtot值可从一个扫描行的最后一像素载送至下一扫描行的第一像素。
在其它实施例中,累加误差εtot的初始化值可随帧而变化。例如,可例如通过检测一常规的“垂直同步”或垂直回扫信号来检测一新帧。可提供帧双态切换作为在每一新帧开始时在“0”与“1”状态之间反转的单个位。在一实施例中,使用所述帧双态切换及所述行编号的一选定位根据一逻辑XOR(异或)操作来初始化εtot中的选定位。由于帧双态切换,一给定扫描行的初始εtot值在交替的帧上在两个值之间切换。在一具有足够高的屏幕刷新率(例如70个帧/秒)的显示装置上,振荡可足够快地发生,以致于除作为一准静态图像中色彩CL与CH的进一步混合外,其不会为人眼所察觉。
在再其他实施例中,累加误差εtot可逐行及/或逐帧地向前载送。此可在为一给定图像的像素显示的色彩中引入准随机性(或历史相关性)。当不需要此种效果时,可例如如上所述不时地初始化εtot。
图6图解说明根据本发明的抖动效果。图6A显示一由两个梯度灰度级组成的原始图像。此图像使用24位色彩来再现,且所述梯度在人眼看起来大体平滑。图6B显示在未抖动的情况下使用9位色彩(每一RGB分量中3位)再现的同一图像。在此图像中,所述梯度显现成若干离散的色彩块。图6显示使用一2×2抖动矩阵借助常规的基于矩阵的抖动使用9位色彩再现的图6A的图像。虽然所述梯度比在图6B中平滑,但明显的“屏幕门”图案也显而易见。
最后,图6D显示根据本发明一实施例通过误差累加抖动使用9位色彩再现的图6A的图像。所述梯度看起来比在图6C中更为平滑,且基本上不存在几何“屏幕门”图案。应注意,对于一典型的显示装置而言,可通过如上所述在交替的帧上将εtot初始化成一不同值来使可在图像的某些部分中见到的点图案更不可见。
应了解,图6D中的图像为例示性的且可(例如)通过下述方式来对图像质量进行修改改变累加误差εtot的初始化参数,改变输入及/或输出像素数据的色彩分辨率,等等。
虽然已参照具体实施例阐述了本发明,但所属领域的技术人员将认识到,也可具有众多修改形式。举例而言,误差累加抖动也可适用于除RGB空间以外的其他色彩空间,包括其中可将高分辨率空间中的一色彩(或色彩分量)识别成在视觉上介于低分辨率空间中的两种色彩(色彩分量)之间的任何色彩空间。所述色彩空间可包括一个或多个分量,且不同分量的相应分辨率(所规定状态或值的数量)在低分辨率或高分辨率空间中既可相同也可不同。另外,并非必需将色彩以本文中所使用的低-高(或暗-明)尺度表示为值的形式;可根据需要来规定值与色彩的关系。此外,本发明的各实施例也可适用于一其中可为高分辨率色彩空间规定一可能无限的色彩值范围的浮点像素缓冲器。一些实施例可配置成支持不同色彩空间中的抖动。
本文中所述的扫描输出控制逻辑也是例示性的。在一些实施例中,所述扫描输出控制逻辑可配置成在任一级或所有级上(包括在抖动期间)平行处理多个像素。在一些实施例中,最终(经抖动的)色彩信号可在发送至一显示装置前经进一步处理,例如数字-模拟转换及转换后滤波。在其它实施例中,最终色彩信号以数字形式提供至一可由数字信号控制的显示装置。
此外,虽然本文是根据在一扫描输出操作期间实施来阐述误差累加技术,但类似技术也可在其它像素处理阶段中或在一显示装置内部实施。可在硬件装置(例如电路)、可由一个或多个适当处理器执行的软件、及/或其任一组合中支持抖动。
因此,虽然已参照具体实施例阐述了本发明,但应了解,本发明旨在涵盖所有归属于随附权利要求书范围内的修改及等效形式。
权利要求
1.一种用以抖动一图像的方法,所述方法包括下列步骤为所述图像的复数个像素中的一当前像素接收一处于一高色彩分辨率的目标色彩,所述目标色彩介于处于一低色彩分辨率的一第一色彩与一第二色彩之间;跟踪一累加误差,其经过所述复数个像素一直到所述当前像素并包括所述当前像素;选择所述第一色彩与所述第二色彩中的一者作为一最终像素色彩,其中在所述累加误差小于一阈值的情况下选择所述第一色彩,其中在所述累加误差超过所述阈值的情况下选择所述第二色彩,且其中在选定所述第二色彩的情况下将所述累加误差降至低于所述阈值;及将一更新的累加误差提供至所述复数个像素中的下一像素。
2.如权利要求1所述的方法,其中跟踪所述累加误差的所述步骤包括下列步骤根据所述第一色彩与所述目标色彩之间的一差来确定一当前误差;及将所述当前误差添加至所述累加误差。
3.如权利要求2所述的方法,其进一步包括如下步骤在选定所述第二色彩的情况下将所述累加误差减小一对应于所述阈值的量。
4.如权利要求1所述的方法,其中所述选择步骤包括将所述累加误差加至所述目标色彩,由此获得一经修改的目标色彩;在所述经修改的目标色彩介于所述第一色彩与所述第二色彩之间的情况下选择所述第一色彩作为所述最终像素色彩;及在所述经修改的目标色彩不介于所述第一色彩与所述第二色彩之间的情况下选择所述第二色彩作为所述最终像素色彩。
5.如权利要求4所述的方法,其中提供所述累加误差的所述步骤包括存储所述经修改的目标色彩与所述最终像素色彩之间的差以作为一更新的累加误差。
6.如权利要求1所述的方法,其中所述复数个像素对应于一显示装置的一扫描线。
7.如权利要求6所述的方法,其进一步包括在所述扫描线的一开始处来初始化所述累加误差的步骤。
8.如权利要求7所述的方法,其中将所述累加误差初始化成一至少部分地取决于所述扫描线的一行编号的值。
9.如权利要求8所述的方法,其中对于各个连续帧,将所述累加误差初始化成一不同的值。
10.如权利要求1所述的方法,其中所述阈值对应于所述第一色彩与所述第二色彩各自的高分辨率表示形式之间的差。
11.如权利要求1所述的方法,其中所述目标色彩为所述像素的复数个独立色彩分量中的一个分量。
12.一种用以抖动一图像的装置,所述装置包括一累加器模块,其经配置以跟踪经过所述图像的复数个像素的一累加误差;一转换模块,其经配置以接收所述图像的一当前像素的一高分辨率色彩信号并产生一对应的低分辨率色彩信号;及一调节模块,其经配置以在所述累加误差超过一阈值的情况下修改所述当前像素的所述低分辨率色彩信号,其中在处理所述当前像素后,所述累加误差提供至所述复数个像素中的下一像素。
13.如权利要求12所述的装置,其中所述累加模块包括一当前误差电路,其经配置以从所述当前像素的所述高分辨率色彩信号中提取一当前误差;及一第一加法器电路,其经配置以将所述当前误差加至所述累加误差并将一更新的累加误差提供至所述调节模块。
14.如权利要求13所述的装置,其中所述调节模块包括一比较器电路,其经配置以将所述更新的累加误差与一阈值相比较,由此产生一抖动控制信号;及一第二加法器电路,其经配置以自所述转换模块接收所述低分辨率色彩信号并根据所述抖动控制信号来调节所述所接收的低分辨率色彩信号,由此产生一最终色彩信号。
15.如权利要求14所述的装置,其中所述比较器电路进一步经配置以将所述抖动控制信号作为一反馈信号提供至所述累加器模块,且其中所述累加器模块进一步经配置以根据所述抖动控制信号来减小所述累加误差。
16.如权利要求12所述的装置,其中所述累加器模块包括一寄存器,所述寄存器经配置以存储所述累加误差。
17.如权利要求12所述的装置,其中所述调节电路包括一加法器电路,所述加法器电路经配置以将所述累加误差加至所述高分辨率色彩信号,由此产生一中间色彩信号。
18.如权利要求17所述的装置,其中所述转换电路包括一截短器电路,所述截短器电路经配置以将所述中间色彩信号缩减成一低分辨率色彩信号。
19.如权利要求18所述的装置,其中所述截短器电路进一步经配置以通过去掉若干最低有效位来缩减所述中间色彩信号并将所述所去掉的最低有效位作为一新的累加误差存储于所述寄存器中。
20.一种图形处理单元,其包括一经配置以产生一图像的像素数据的几何管线单元;及一经配置以将所述像素数据提供至一显示装置的扫描输出模块,其中所述扫描输出模块包括一抖动单元,所述抖动单元包括一累加器模块,其经配置以跟踪经过所述图像的复数个像素的一累加误差;一转换模块,其经配置以接收所述图像的一当前像素的一高分辨率色彩信号并产生一对应的低分辨率色彩信号;及一调节模块,其经配置以在所述累加误差超过一阈值的情况下修改所述当前像素的所述低分辨率色彩信号。
全文摘要
本发明使用误差累加抖动来从较高色彩分辨率的输入数据产生较低色彩分辨率的图像。以高分辨率为所述图像的一当前像素接收一目标色彩。所述目标色彩介于一低色彩分辨率的一第一色彩与一第二色彩之间。根据一从先前像素确定出的累加误差是高于还是低于一阈值量,选择所述第一色彩及所述第二色彩中的一者来作为一最终像素色彩。在选定所述最终像素色彩后,将一更新的累加误差提供至下一像素。
文档编号G09G3/20GK1950877SQ200580014371
公开日2007年4月18日 申请日期2005年2月28日 优先权日2004年3月8日
发明者韦恩·D·扬 申请人:辉达公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1