背景技术
PDP使用只能是“开”或“关”的、放电光电元件的矩阵阵列。同时,不像其中通过发光的模拟控制来表示灰度级(grey level)的CRT或LCD,PDP通过调制每帧的光脉冲(维持脉冲)数量来控制灰度级。将由眼睛在对应于眼睛时间响应(eye time response)的时间段内合成该时间调制。由于视频幅度由以给定频率发生的光脉冲的数量来描述,所以更大的幅度意味着更多的光脉冲,并且,从而意味着更多的“开”时间。由于这个原因,这种类型的调制又被称为PWM,脉宽调制(pulse width modulation)。
这种PWM要对PDP图像质量问题之一负责:尤其在图像的较暗区域中差的灰度级表现(grey scale portrayal)质量。这是由于这样的事实,显示的亮度与脉冲的数量成线性关系,但眼睛对噪声的响应和敏感度却不是线性的。眼睛在较暗区域中比在较亮区域中更敏感。这意味着:即使当前的PDP可以显示ca.256离散灰度,在较暗区域中量化误差也将是非常明显的。
为了达到更好的灰度级表现,在内部数据处理中,在舍位(truncate)最终视频灰度级幅度分辨率之前,将抖动信号加到经处理的视频信号。抖动是技术文献中的公知技术,用于减少由于所显示的分辨率位数减少而产生的量化噪声的影响。通过在中间人为加入级别,抖动改善了灰度级表现,但也加入了高频率低幅度的抖动噪声,观察者只有在近的观察距离才能察觉该抖动噪声。主要有两种用于PDP的抖动:
-基于光电元件的抖动(EP1269457)及其改进版本:多掩码抖动(EP1262947),其改善了灰度级表现,但是添加了高频率低幅度的抖动模式(例如,交错模式(checker pattern))。两个文档的内容援引于此以供参考。抖动的这个概念是基于眼睛的空间和时间合成功能。换句话说,位于值1和2之间的电平可以通过简单地在空间和时间上混合这些值来显示。然而,不可能给这种方法提供多于3个额外的位而不引入干扰的低频率闪烁。这个概念的主要优点在于,这种方法引入的不自然的抖动模式在正常的观察距离难以看出。此外,这种方法不依赖于图像内容。
-误差扩散:它改善了灰度级表现并且不产生抖动模式。该方法是基于小数部分对相邻光电元件的分布。但它加入了主要在较暗区域中的噪声(对于没有时间噪声的静态图像变得更加明显)。理论上,可以给这种方法提供更多位,但在一定的限制之后,难以看出增益,相反增加了噪声。最后,可以说这种方法具有即使在正常的观察距离也加入可见的噪声的缺点,但其对于运动图像更加自然。此外,该方法依赖于图像内容。
下面将详细指出抖动的必要性。如之前提到的,等离子体使用PWM(脉宽调制)来产生不同的灰度阴影(shade of grey)。和亮度与所施加的阴极电压成近似二次关系的CRT不同,亮度与放电脉冲的数量成线性关系。因此,需要在PWM之前应用近似数字二次反伽马函数(degamma function)。
由于这个反伽马函数,对较小的视频电平,许多输入电平被映射到相同的输出电平。换句话说,对较暗区域,量化位的输出数量小于输入数量,特别地,小于16的值(当视频输入以8位工作时)全部被映射为值0(这对应于视频实际无法接受的4位分辨率)。实际上,在2.2的伽马值(标准视频)的情况下,对应于11的输入视频电平的输出值为:
然而,像PDP这样的8位显示器将不能够提供小数部分。因此,如果没有别的特殊方法的话,低输入电平全部被映射为0等。
然而,如之前所述,抖动是用于避免丢失要舍位的幅度分辨率位的公知技术。只有分辨率在舍位前是可用的时,它才有效,这是当前的情况(如果更多位用于反伽马)。抖动原则上可以恢复与由舍位所丢失的同样多的位。然而,利用抖动位的数量,抖动噪声频率降低,并且因此,变得更容易觉察。
1位的抖动对应于将可用的输出电平数量乘以2,2位的抖动乘以4,而3位的抖动将输出电平数量乘以8。因为
且0.00129×210≥1,所以强制提供第一输入视频电平(1)的所需小数位的数量为10位。
基于光电元件的抖动添加了为面板的每个光电元件而不是为该面板的每个像素(3个光电元件)定义的抖动模式。面板像素由三个光电元件组成:红、绿和蓝。这具有的优点是:提供更细微的抖动噪声,从而观察者更不易觉察。该区别可以从图1中直接看出。
多掩码抖动表示基于光电元件的抖动的改进版本,其根据要提供的小数部分而使用不同种类的抖动函数。例如,对于能够提供值x的8个不同小数部分的3位抖动,将如下使用8个不同的掩码(mask)(比较EP 1 262 947):
在x.000和x.125之间的输入 →掩码0(全0掩码)
在x.125和x.250之间的输入 →掩码1
在x.250和x.375之间的输入 →掩码2
在x.375和x.500之间的输入 →掩码3
在x.500和x.625之间的输入 →掩码4
在x.625和x.750之间的输入 →掩码5
在x.750和x.875之间的输入 →掩码6
在x.875和1之间的输入 →掩码7
在下面的表格中给出了一些掩码的例子,其中每个帧或掩码覆盖4×4=16光电元件。掩码1是为1/8电平定义的掩码,掩码2是为1/4电平定义的掩码,掩码3是为3/8电平定义的掩码,掩码4是为1/2电平定义的掩码,掩码5是为5/8电平定义的掩码,掩码6是为3/4电平定义的掩码,掩码7是为7/8电平定义的掩码。
|
|
帧1 |
帧2 |
帧3 |
帧4 |
电平1/8 |
行1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
行2 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
行3 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
行4 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
|
电平1/4 |
行1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
行2 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
行3 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
行4 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
|
|
电平3/8 |
行1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
行2 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
行3 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
行4 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
|
电平1/2 |
行1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
行2 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
行3 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
行4 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
|
电平5/8 |
行1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
行2 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
行3 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
行4 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
|
电平3/4 |
行1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
行2 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
行3 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
行4 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
|
电平7/8 |
行1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
行2 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
行3 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
行4 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
选择这些模式以便减少噪声静态模式的大小、行闪烁以及由不同抖动模式之间的不对称而引入的噪声。该解决方案的主要优点是:掩码是固定的,并且不依赖于图像的视频内容。然而,只能提供3位,其对应于最小输入值8(丢失了0和8之间的所有值,这可以从反伽马函数的上述等式中推断出来)。
与抖动不同,误差扩散是一种例如通过保留信号值的整数部分来量化当前像素信号且随后将量化误差(小数部分)传送到未来像素上的邻域运算(neighbourhood operation)。Floyd和Steinberg(“An adaptive algorithm forspatial greyscale”in Proc.Soc.Information Display,1976,vol 17,no.2,pp.75-78)通过调节和舍入像素信号(即,输入像素x[n])来定义输出像素y[n],从而y[n]=int(x[n]+xe[n]),其中xe[n]是在之前的迭代期间累积的扩散后的误差(小数部分),如
其中ye[n]表示各种小数部分,诸如ye[n]=(x[n]+xe[n])-y[n]。
尽管误差扩散图像对于眼睛非常舒适(引入的噪声与自然视频噪声相似),但该算法的确产生了一些不期望的纹理(texture)(取决于图像内容),这些纹理可能非常讨厌,且在使用像多掩码抖动这样的矩阵解决方案时从不会发生。
误差扩散处理自身由三个步骤组成。首先,以原始输入值和扩散的过去误差(位于当前像素的上左方)之和形成修改后的输入。在第二个步骤,对该修改后的误差进行舍入来产生输出。作为最后一个步骤,计算作为修改后的输入和最终输出之间的差的量化误差(其余小数部分)。然后,通过用各种方式选择的系数对其进行加权来将该量化误差传播到相邻像素。
图2图解了该原理。在例子的第一阶段,当前像素的值为4.5。然后,该值舍入为4,产生0.5的误差。使用三种不同系数将该误差扩散到三个相邻像素(右边像素为0.5、右下像素为0.3以及下边像素为0.2)。通常,选择系数以便保持能量恒定(系数之和为1)。这对于保持图像中良好的稳定性是必须的。在这些步骤后,改变了三个像素的值:
4.85+0.5×0.5=5.1
4.55+0.5×0.3=4.7
5.10+0.5×0.2=5.2
然后,将对具有值5.1的当前像素继续处理。
该概念的主要缺点在于:其对图像内容的依赖。实际上传播误差依赖于当前像素的值,并且其影响只对其邻近像素是可见的,从而该概念是依赖于图像的。此外,很低电平的再现(rendition)是基于一些相互远离的传播像素的,这是由于传播误差太小以至于不会具有快速效果。最后,该效果与其说是对实际可见的电平,不如说是对低电平的噪声。
另一方面,有一种多掩码基于光电元件的矩阵抖动,能够以很难看出的方式提供3位小数部分,另一方面,必须达到10位以便具有类似CRT标准的灰度级质量。此外,误差扩散自己能够提供更多电平,但是以这种噪声方式:最后的图像质量没有象它所能够的那样得到增强,结果是只有在很远的观察距离才好,这并不是当今很大屏幕的主要应用。
如果可以保留这两个概念的主要优点:使用更多位的很难看出的抖动模式,则误差扩散和多掩码抖动的组合可能帮助提供更多小数部分的位(在本文档的下面部分中将以8位为例进行研究)。
图3显示了组合这些算法的简单可能。
通用表示法“8.8位”意思是8位整数和8位小数部分。由于要分别处理8位的小数部分,将它们分解为跟随着5个LSB的3个MSB,用“3.5”表示。最后,16位的信息以8.3.5位的形式表示。
在图3的情况中,将8位视频信息转发到反伽马方框1。该方框1将以16位分辨率执行二次反伽马函数,以便递送8.3.5位的信息。将在方框2中遵循之前说明的标准误差扩散原理扩散5个最低位。因此,在这个方框2之后,只有8.3位的信息(之前已扩散的5个LSB,由加法器3表示)。3位的小数部分用于从多掩码抖动函数4、5中选择恰当的掩码4,根据帧数量、像素位置和色彩(R、G或B)将所述函数应用于图像。在这个位置,掩码的输出值为000(对应于值“0”)或111(对应于值“1”),其与当前8.3位值相加。这之后,简单的舍位6将发送标准的8位整数到显示器7。
这里所述的概念简单且显而易见。然而,它不能正常工作。实际上,在这个概念中,一个接另一个独立地应用两种抖动。这是由于以垂直或对角线周期性结构的形式的屏幕上的某种干扰。这些周期性结构很讨厌,并且使大部分抖动函数无用,从而最终,小数部分的再现没有实现8个目标位。
发明内容
考虑到这些,本发明的目的是提供用于处理视频数据的方法和设备,其保证了更好的图像质量。
根据本发明,该目的通过一种用于处理在具有多个对应于图像的像素的发光元件的显示设备上显示的视频数据的方法来解决,其中将视频帧或场的时间划分成多个子场,在子场期间可以激活发光元件,以便在对应于n位的子场码字的小脉冲中发光,该子场码字用于编码使像素发光的p个可能的视频电平,该方法包括步骤:执行基于光电元件的抖动、基于像素的抖动或多掩码抖动以减少量化误差,所述抖动为每个像素或光电元件输出抖动值“1”或“0”,光电元件是像素的发光元件;以及对每个像素或光电元件执行误差扩散以减少量化误差,其中在误差扩散期间,如果抖动值等于“1”,则将像素或光电元件的误差扩散加到所述像素或光电元件的值上。
此外,提供一种用于处理在具有多个对应于图像的像素的发光元件的显示设备上显示的视频数据的设备,其中将视频帧或场的时间划分成多个子场,在子场期间可以激活发光元件,以便在对应于n位的子场码字的小脉冲中发光,该子场码字用于编码使像素发光的p个可能的视频电平,该设备包括:抖动装置,用于执行基于光电元件的抖动、基于像素的抖动或多掩码抖动以减少量化误差,所述抖动为每个像素或光电元件输出抖动值“1”或“0”,光电元件是像素的发光元件;和扩散装置,用于同样执行误差扩散,以便减少量化误差;其中,所述抖动装置的输出信号被馈送到所述扩散装置,从而如果抖动值等于“1”,则将像素或光电元件的误差扩散加到所述像素或光电元件的值上。
最好,在基于光电元件的抖动、基于像素的抖动或多掩码抖动的控制下应用误差扩散。从而,可以避免讨厌的赝象(artefact)。
如果抖动值为“1”,则对像素或光电元件执行误差扩散。由于抖动值通常为“0”或“1”,所以这些值也可以用作开关位(switching bit)。
应当以多于n位处理码字,从而可以形成码字的小数部分,并且可以在所有小数部分的位上应用误差扩散。然而,如果基于光电元件的抖动、基于像素的抖动或多掩码抖动的结果用作打开和关闭误差扩散的开关参数,则获得最佳结果。
特别地,小数部分的最高位或一对最高位可以用于确定基于光电元件的抖动、基于像素的抖动或多掩码抖动的值。这样,只有较大的量化误差启动误差扩散,而对于较小的量化误差,可以累加一个光电元件或一个像素的误差扩散。因此,可以根据图像的内容执行误差扩散。如果不扩散误差,则可以将其存储用于将来的像素。
由误差扩散加到像素或光电元件上的误差可以限于最大误差。最好,这个最大误差是1。这种限制保证误差不过度增加。
具体实施方式
组合误差扩散和多掩码/基于光电元件的抖动的主要问题是在保留类似于多掩码的抖动结构的优点的同时实现小数部分的更多位的再现。根据本发明,这通过所有8位小数部分的扩散来实现,但误差仅仅被应用到具有多掩码值1的光电元件。为了确定多掩码的值,将选择小数部分的三个最高位。在图4中图解了该概念。
将输入的8位视频信息转发到反伽马方框1。该方框1将以16位分辨率执行二次函数,以便传送8.3.5位信息。完整的信息由此通过加法器3’,被输入到误差扩散方框2。来自反伽马方框1的输出的小数部分的3个MSB用于定义多掩码抖动4’的输出,输出为1或0。开关8由多掩码方框4’的输出来控制。在1的情况下,接受扩散到该像素的误差,并在送往误差扩散方框2之前由加法器3’将该误差加到该像素上。如果多掩码4’的输出为0,则拒绝扩散的误差,并将通过开关8将该误差再注入误差扩散方框2内部。得到的扩散误差xe’和小数部分ye’为:
将仅以保留本概念的所有优点的多掩码矩阵方式应用误差扩散。另一方面,以多掩码方式应用的值是8位小数,并且遵循误差扩散原理。
如图4所示,由于误差可以在较高数量的迭代上累加(如果经常被丢弃),扩散的误差可以达到1.8位。
如果我们使用由在本说明书的前言中给出的表所定义的掩码,则应当进行循环排列以便将误差加到恰当的位置:
在x.000和x.125之间的输入→掩码1(对应于前言的表中的1/8电平的掩码)
在x.125和x.250之间的输入→掩码2(对应于前言的表中的1/4电平的掩码)
在x.250和x.375之间的输入→掩码3(对应于前言的表中的3/8电平的掩码)
在x.375和x.500之间的输入→掩码4(对应于前言的表中的1/2电平的掩码)
在x.500和x.625之间的输入→掩码5(对应于前言的表中的5/8电平的掩码)
在x.625和x.750之间的输入→掩码6(对应于前言的表中的3/4电平的掩码)
在x.750和x.875之间的输入→掩码7(对应于前言的表中的7/8电平的掩码)
在x.875和1之间的输入→掩码8(全1的掩码)
图5中示出了本发明的改进实施例。由于依赖于多掩码值而可能将扩散到一个像素的误差再注入到误差扩散方框2内部,因此容易理解:误差可能增加很多。因此,本概念的改进是要由限制器9将可以加到当前像素的误差限制为最大值。被再次再注入误差扩散方框内部的其他误差如图5所示。
更新的概念与之前的概念类似,除了事实:将加到像素上的误差限制为1.0,被再次再注入误差扩散方框内部的其他误差如下所示:
上述实施例针对PDP。然而,任何其他种类的数字显示器都可以从本发明中获益。