专利名称:用于针对假轮廓和抖动噪声补偿来处理视频画面的方法
技术领域:
本发明涉及处理视频画面的方法和设备,特别是针对动态假轮廓效应和抖动噪声补偿。
背景技术:
现在,等离子体显示技术能够实现大尺寸的彩色平板,并且具有有限的深度,而不会有任何视角限制。显示的尺寸可以远大于传统的CRT图像管曾经容许的尺寸。
等离子体显示板(或PDP)使用了只能是“导通”或“截止”的放电单元的矩阵阵列。因此,与其中通过光发射的模拟控制来展示灰度电平的阴极射线管显示器或液晶显示器不同,PDP通过每个单元的脉冲宽度调制来控制灰度电平。人眼在对应于人眼时间响应的周期中合成该时间调制。在给定的时间帧中越频繁地切换单元,则辉度或亮度就越高。我们假设需要处理8位辉度电平,即每个颜色255个电平。在这种情况下,可以通过具有以下权重的8位的组合来表示每个电平1-2-4-8-16-32-64-128为了实现这种编码,可以将帧周期划分为被称作子场的8个发光子周期,每个子场都对应于位和亮度电平。针对位“2”的光脉冲的数目是针对位“1”的二倍,针对位“2”的光脉冲的数目是针对位“1”的二倍,等等。利用这8个子周期,可以通过组合来建立256个灰度电平。观察者的眼睛可以在帧周期中合成这些子周期,从而捕捉正确灰度电平的印象。图1示出了这种具有8个子场的帧。
光发射模式引入了与灰度电平和颜色的分布相对应的图像质量退化的新种类。将这些定义为“动态假轮廓效应”,这是由于当观察点在PDP屏幕上移动时,其对应于画面中彩色边缘的幻象形式的颜色和灰度电平的分布。画面上的这种缺陷导致在均匀区域上出现的强轮廓的印象。当画面具有如皮肤等的平滑灰度时,以及当发光周期超过数毫秒时,增强了这种退化。
当PDP屏幕上的观察点移动时,人眼会跟随该移动。结果,不再合成帧中的相同单元(静态合成),而是合成来自位于移动轨迹上的不同单元的信息,并将所有这些光脉冲混合到一起,这导致了错误的信号信息。
基本上,当存在从一个电平到具有完全不同代码的另一个电平的过渡时,出现假轮廓效应。欧洲专利申请EP 1 256 924提出了具有n个子场的代码,可以实现p个灰度电平,典型地,p=256,并在进行编码时,从2n个可能的子场设置中选择m个灰度电平,m<p,或者在处理视频电平时,从p个灰度电平中选择m个灰度电平,从而接近的电平会具有接近的子场设置。问题在于定义“接近代码”的含义;可以采用不同的定义,但大多数定义会导致相同的结果。另外,保持电平的最大值以便保持优良的视频质量是很重要的。所选择电平的最小值应当等于子场数目的二倍。
如前所述,人眼合成通过脉冲宽度调制而发射的光。因此,如果利用基本代码来编码所有视频电平,则针对子场代码的光产生的时间重心不会随着视频电平增长。这由图2所示。对应于视频电平2的子场代码的时间重心CG2优于对应于视频电平3的子场代码的时间重心CG3,即使3比2亮。这种光发射模式的不连续(增长的电平不具有增长的重心)引入了假轮廓。将重心定义为由其保持权重进行了加权的子场“导通”的重心,其保持权重为CG(code)=Σi=1nsfWi*δi(code)*sfCGiΣi=1nsfWi*δi(code)]]>其中,-sfWi是第i个子场的子场权重;-对于所选择的代码,如果第i个子场“导通”,则δi等于1,否则等于0;以及-SfCGi是第i个子场的重心,即,其时间位置。
图3示出了图1中的帧的前七个子场的重心SfCGi。
因此,利用此定义,能够如图4所示地表示针对具有以下权重1 23 5 8 12 18 27 41 58 80的11个子场代码的256个视频电平的时间重心。如图所示,该曲线并不是单调的,并且示出了多个跳跃。这些跳跃对应于假轮廓。专利申请EP 1 256 924的思想在于通过只选择针对其重心能够平滑增长的某些电平来抑制这些跳跃。通过在之前的图上描出没有跳跃的单调曲线并选择最近的点能够实现此思想。图5示出了这种单调曲线。对于较低的电平,由于可能的电平的数目较少,不可能选择随重心增长的电平,因此,如果只选择了增长的重心电平,则由于人眼对黑电平非常敏感,所以不存在足够多的电平在黑电平中得到优良的视频质量。此外,暗区域中的假轮廓是可以忽略的。在较高的电平中,存在重心的降低。因此,在所选择的电平中也存在降低,但这是不重要的,因为人眼对高电平不敏感。在这些区域中,人眼不能区分不同的电平,并且对于视频电平,假轮廓电平是可以忽略的(如果我们考虑到韦伯-费克纳定律,则人眼只对相对幅度敏感)。出于这些原因,只对于最大视频电平的10%到80%之间的视频电平,曲线的单调性才是必要的。
在这种情况下,例如,在256个可能中选择40个电平(m=40)。这40个电平能够保持优良的视频质量(灰度尺度表现)。由于只有典型是256个的较少灰度级是可用的,因此当处理视频电平时,可以进行该选择。但是,当在编码中进行该选择时,存在2n个不同的子场设置,因此如图6所示,能够选择更多的电平,其中每个点对应于一种子场设置(存在给出了相同视频电平的不同子场设置)。
被称作GCC的重心编码的主要思想在于选择特定量的代码字,以便形成对假轮廓效应的抑制(非常少的代码字)和对抖动噪声的抑制(意味着更少抖动噪声的较多代码字)的较好折中。
问题在于整个画面具有取决于其内容的不同性质。当然,在类似皮肤等具有平滑灰度级的区域中,重要的是具有尽可能多的代码字以减小抖动噪声。此外,如图7所示,这些区域主要基于相邻电平的连续灰度级,这非常适合于图7所示的GCC的一般概念。在此图中,示出了皮肤区域的视频电平。容易看到所有的电平都靠近在一起,并且能够容易地在所示的GCC曲线中找到。图8示出了再现该妇女前额上的平滑皮肤灰度级而必须遵循的针对红、蓝和绿的视频电平范围。在此示例中,GCC基于40个代码字。如图所示,来自一个颜色分量的所有电平都非常接近,这非常适合GCC概念。在这种情况下,如果有足够多的代码字,例如40,则在具有非常好的抖动噪声性质的那些区域内,几乎没有假轮廓效应。
然而,现在分析如图9所示、位于前额和头发之间的边缘的情况。在这种情况下,存在其之间具有强过渡的两个平滑区域(皮肤和头发)。两个平滑区域的情况与前面所示的情况相似。在这种情况下,由于使用了40个代码字,与较好的抖动噪声性质相结合,利用GCC几乎没有出现假轮廓效应。过渡处的性质有很大不同。事实上,产生过渡所需的电平是从皮肤电平到头发电平强烈分散的电平。换句话说,如图10所示,在红色分量的情况下,不再平滑地展开所述电平,而是出现相当严重的跳跃。
在图10中,可以看到红色分量中从86到53的跳跃。没有使用其之间的电平。在这种情况下,不能直接使用限制光的重心改变的GCC的主要思想。当然,电平彼此相差太大,并且在这种情况下,重心概念不再有用。换句话说,在过渡的区域内,假轮廓再次变得可以觉察。此外,还应当说在强灰度级区域中,也将会较少觉察到抖动噪声,这使得能够在这些区域中使用更适合于假轮廓的较少GCC代码字。
发明内容
本发明的目的是公开一种用于处理视频画面的方法和设备,无论画面的内容,都能够减小假轮廓效应和抖动噪声。
通过独立权利要求1和10所要求的解决方案实现以上目的。
本发明的主要思想在于将要显示的画面划分为至少两种类型的区域,例如低视频梯度区域和高视频梯度区域,从而将不同的GCC代码字组分配给每个类型的区域,并利用所分配的GCC代码字组对要显示的每个画面区域的视频电平进行编码,其中分配到一种类型的区域的所述组专用于在该类型的区域中减小假轮廓和抖动噪声。
按照这种方式,能够逐区域地优化画面中的假轮廓效应和抖动噪声的减小。
在附图和以下描述中,更为详细地示出了本发明的典型实施例。
在图中图1示出了包括8个子场的视频帧的子场组织;图2示出了不同代码字的时间重心;图3示出了在图1的子场组织中每个子场的时间重心;图4是示出了针对具有权重1 2 3 5 8 12 18 27 41 58 80的11个子场编码的视频电平的时间重心的曲线;图5示出了其时间重心随着其视频电平平滑增长的代码字组的选择;图6示出了针对包括n个子场的帧,2n个不同子场设置的时间重心;图7示出了画面和该画面的一部分的视频电平;图8示出了用于再现该部分画面的视频电平范围;图9示出了图7的画面和画面的另一部分的视频电平;图10示出了为了再现图9中的部分画面而要执行的视频电平跳跃;图11示出了用于再现低梯度区域的第一代码字组的重心;图12示出了用于再现高梯度区域的第二代码字组的重心;图13示出了根据要显示的画面区域的梯度所选择的多个可能的代码字组;图14示出了画面中梯度提取的结果;以及图15示出了根据本发明的设备的功能图。
具体实施例方式
根据本发明,使用多个GCC代码字组对画面进行编码。将特定的GCC代码字组分配给每个类型的画面区域。例如,将第一组分配给画面上具有低视频梯度的平滑区域,将第二组分配给画面的高视频梯度区域。选择组中的子场代码字的数值和数目,以便减小对应区域中的假轮廓和抖动噪声。
第一组GCC代码字包括与q个不同的视频电平相对应的q个不同的代码字,而第二组GCC代码字包括较少的代码字,例如r个代码字,其中r<q<n。优选地,该第二组是第一组的直接子组,以便使一个编码和另一个编码之间的任何变化都不可见。
选择第一组,使其成为抖动噪声减小和假轮廓减小之间的较好折中。选择作为第一组的子组的第二组,使其对于抵抗假轮廓具有更好的鲁棒性。
下面示出了针对示例的两个组,所述示例基于具有11个子场的帧1 2 3 5 8 12 18 27 41 58 80例如,用于低视频电平梯度区域的第一组包括以下38个代码字。下表中的右侧示出了重心的数值。
电平 0 编码为 0 0 0 0 0 0 0 0 0 0 0 重心 0电平 1 编码为 1 0 0 0 0 0 0 0 0 0 0 重心 575电平 2 编码为 0 1 0 0 0 0 0 0 0 0 0 重心1160电平 4 编码为 1 0 1 0 0 0 0 0 0 0 0 重心1460电平 5 编码为 0 1 1 0 0 0 0 0 0 0 0 重心1517电平 8 编码为 1 1 0 1 0 0 0 0 0 0 0 重心1840电平 9 编码为 1 0 1 1 0 0 0 0 0 0 0 重心1962电平 14 编码为 1 1 1 0 1 0 0 0 0 0 0 重心2297电平 16 编码为 1 1 0 1 1 0 0 0 0 0 0 重心2420电平 17 编码为 1 0 1 1 1 0 0 0 0 0 0 重心2450电平 23 编码为 1 1 1 1 0 1 0 0 0 0 0 重心2783电平 26 编码为 1 1 1 0 1 1 0 0 0 0 0 重心2930电平 28 编码为 1 1 0 1 1 1 0 0 0 0 0 重心2955电平 37 编码为 1 1 1 1 1 0 1 0 0 0 0 重心3324
电平 41 编码为 1 1 1 1 0 1 1 0 0 0 0 重心3488电平 44 编码为 1 1 1 0 1 1 1 0 0 0 0 重心3527电平 45 编码为 0 1 0 1 1 1 1 0 0 0 0 重心3582电平 58 编码为 1 1 1 1 1 1 0 1 0 0 0 重心3931电平 64 编码为 1 1 1 1 1 0 1 1 0 0 0 重心4109电平 68 编码为 1 1 1 1 0 1 1 1 0 0 0 重心4162电平 70 编码为 0 1 1 0 1 1 1 1 0 0 0 重心4209电平 90 编码为 1 1 1 1 1 1 1 0 1 0 0 重心4632电平 99 编码为 1 1 1 1 1 1 0 1 1 0 0 重心4827电平 105 编码为 1 1 1 1 1 0 1 1 1 0 0 重心4884电平 109 编码为 1 1 1 1 0 1 1 1 1 0 0 重心4889电平 111 编码为 0 1 1 0 1 1 1 1 1 0 0 重心4905电平 134 编码为 1 1 1 1 1 1 1 1 0 1 0 重心5390电平 148 编码为 1 1 1 1 1 1 1 0 1 1 0 重心5623电平 157 编码为 1 1 1 1 1 1 0 1 1 1 0 重心5689电平 163 编码为 1 1 1 1 1 0 1 1 1 1 0 重心5694电平 166 编码为 0 1 1 1 0 1 1 1 1 1 0 重心5708电平 197 编码为 1 1 1 1 1 1 1 1 1 0 1 重心6246电平 214 编码为 1 1 1 1 1 1 1 1 0 1 1 重心6522电平 228 编码为 1 1 1 1 1 1 1 0 1 1 1 重心6604电平 237 编码为 1 1 1 1 1 1 0 1 1 1 1 重心6610电平 242 编码为 0 1 1 1 1 0 1 1 1 1 1 重心6616电平 244 编码为 1 1 0 1 0 1 1 1 1 1 1 重心6625电平 255 编码为 1 1 1 1 1 1 1 1 1 1 1 重心6454图11示出了这些代码字的时间重心。
用于高视频电平梯度区域的第二组包括以下11个代码字。
电平 0 编码为 0 0 0 0 0 0 0 0 0 0 0 重心 0电平 1 编码为 1 0 0 0 0 0 0 0 0 0 0 重心575
电平 4 编码为 1 0 1 0 0 0 0 0 0 0 0 重心1460电平 9 编码为 1 0 1 1 0 0 0 0 0 0 0 重心1962电平 17 编码为 1 0 1 1 1 0 0 0 0 0 0 重心2450电平 37 编码为 1 1 1 1 1 0 1 0 0 0 0 重心3324电平 64 编码为 1 1 1 1 1 0 1 1 0 0 0 重心4109电平 105 编码为 1 1 1 1 1 0 1 1 1 0 0 重心4884电平 163 编码为 1 1 1 1 1 0 1 1 1 1 0 重心5694电平 242 编码为 0 1 1 1 1 0 1 1 1 1 1 重心6616电平 255 编码为 1 1 1 1 1 1 1 1 1 1 1 重心6454图12示出了这些代码字的时间重心。
这11个代码字属于第一组。在第一组中,我们从对应于标准GCC方法中的第一组的38个中保留了11个代码字。然而,这11个代码字在位结构方面,基于相同框架,以使其绝对没有假轮廓电平。
对该选择做出评论电平 0 编码为 0 0 0 0 0 0 0 0 0 0 0 重心 0电平 1 编码为 1 0 0 0 0 0 0 0 0 0 0 重心 575电平 4 编码为 1 0 1 0 0 0 0 0 0 0 0 重心1460电平 9 编码为 1 0 1 1 0 0 0 0 0 0 0 重心1962电平 17 编码为 1 0 1 1 1 0 0 0 0 0 0 重心2450由于代码1(1 0 0 0 0 0 0 0 0 0 0)包括在代码4(1 0 1 0 00 0 0 0 0 0)中,因此电平1和4不会在其之间引入假轮廓。由于9和17都是以10开始,因此对于电平1和9以及电平1和17也是如此。由于9和17都是以表示电平4的101开始,因此对于电平4和9以及电平4和17也是如此。实际上,如果比较所有这些电平1、4、9和17,能够发现在其之间都完全不会引入假轮廓。当然,实际上如果电平M大于电平N,则电平N的直到该代码中最后为1的位的前面各位都包括在电平M中。
该规则对于电平37到163也是正确的。第一次与该规则相抵触是电平1到17的组和电平37到163的组之间。当然,在第一组中,第二位是0,而在第二组中是1。于是,在从17到37的过渡的情况下,会出现数值为2(对应于第二位)的假轮廓效应。与37的幅度相比,这是可以忽略的。
对于其中第一位不同的第二组(37到163)和242之间以及其中第一和第六位不同的242和255之间的过渡是相同的。
以下给出的两组是两种极端情况,一种针对平滑区域的理想情况,一种针对具有高视频梯度的非常强的过渡。但是,如图13所示,可以根据要显示的画面的梯度电平来定义GCC编码的多于两个子组。在此示例中,定义了GCC代码字的6个不同子组,从针对低梯度的标准方法(电平1)直到针对非常高对比度(电平6)的强烈减小的代码字组。每次增加梯度电平时,减小GCC代码字的数目,在此示例中,其从40(电平1)减小到11(电平6)。
除了GCC代码字组和子组的定义以外,本发明的概念的主要思想在于分析当前象素周围的视频梯度,以便能够选择合适的编码方法。
下面,能够找出标准滤波器方法,以便提取当前的视频梯度值 或 或 以上示出的三个滤波器只是梯度提取的示例。图14示出了这种梯度提取的结果。黑色区域表示具有低梯度的区域。在这些区域中,能够使用标准GCC方法,例如在示例中的38个代码字的组。另一方面,明亮区域与应当使用减小的GCC代码字组的区域相对应。代码字的子组与每个视频梯度范围相关联。在示例中,定义了6个非重叠的视频梯度区域。
能够使用多种其它类型的滤波器。本发明的概念的主要思想在于只提取局部梯度的值,以便确定应当将哪个代码字组用于对象素的视频电平进行编码。
由于在视频序列中的水平移动大大多于垂直移动,因此水平梯度更为关键。因此,使用已经在水平方向上得到了提高的梯度提取滤波器是有用的。由于只有垂直系数是昂贵的(需要线存储器),因此这些滤波器在芯片方面仍然是相当便宜的。以下示出了这种扩展滤波器的示例。
在这种情况下,针对每个编码组定义了梯度限制,所以,如果当前象素的梯度在一定范围内,则使用合适的编码组。
图15中示出了实现本发明的设备。将输入R、G、B画面输送到执行Out=4095×(InputMAX)γ]]>形式的二次函数的伽马块1中,其中γ是2.2左右,MAX表示输入值的最大可能值。优选地,该块的输出信号多于12位,能够正确地再现低视频电平。将输出信号输送到作为以上示出的滤波器之一的梯度提取块2。理论上,还可以在伽马校正之前执行梯度提取。通过只使用输入信号的最高有效位(MSB)(例如最高的6位)能够简化梯度提取本身。将所提取的梯度电平发送到选择要使用的合适的GCC编码组的编码选择块3。根据该所选择的模式,更新尺度改变LUT 4和编码LUT 6。在其之间,抖动块7添加了多于4位的抖动,以便正确地再现视频信号。应当注意的是,尺度改变块4的输出是p×8位,其中p表示所使用的GCC代码字的总量(在本示例中,从40到11)。将8个附加位用于抖动目的,以便在针对编码块的抖动之后只有p个电平。
权利要求
1.一种处理视频画面的方法,特别针对动态假轮廓效应和抖动噪声补偿,每个视频画面由具有至少一个颜色分量(RGB)的象素组成,利用以下被称为子场代码字的数字代码字对所述颜色分量数值进行数字编码,其中将以下被称为子场的特定持续时间分配给子场代码字的每个位,在所述子场期间,能够激活象素的颜色分量,用于光产生,所述方法的特征在于包括以下步骤—根据画面的视频梯度,将每个视频画面划分为至少两种类型的区域,将特定的视频梯度范围分配给每种类型的区域,—针对每种类型的区域,确定特定的子场代码字组,专用于减小所述类型的区域中的假轮廓和/或抖动噪声,以及—利用相应的子场代码字组对画面的每个区域的象素进行编码。
2.根据权利要求1所述的方法,其特征在于在每组子场代码字中,用于子场代码字的光产生的时间重心(CGi)随着对应视频电平而连续地增长,所述视频电平不包括范围到第一预定限制的低视频电平和/或范围从第二预定限制开始的高视频电平。
3.根据权利要求2所述的方法,其特征在于视频梯度范围是非重叠的,并且子场代码字组中的代码数随着对应视频梯度范围的平均梯度变高而减小。
4.根据权利要求3所述的方法,其特征在于针对具有最高梯度数值的视频梯度范围定义第一组,并且其它组是所述第一组的子组。
5.根据权利要求4所述的方法,其特征在于针对特定视频梯度范围而定义的组是针对具有较低梯度值的相邻视频梯度范围而定义的组的子组。
6.根据权利要求2到5之一所述的方法,其特征在于按照以下方式确定分配给具有最高视频梯度的视频梯度范围的子场代码字组,所述方式为在所述组的连续视频电平的至少一个子组中,视频电平的子场代码字至少包括组中相邻较低视频电平的子场代码字中到最后为“1”的位之前的各位。
7.根据权利要求2到6之一所述的方法,其特征在于对于根据画面的视频梯度将视频画面划分为区域,通过梯度提取滤波器来滤波画面。
8.根据权利要求7所述的方法,其特征在于梯度提取滤波器是水平滤波器。
9.根据权利要求2到8之一所述的方法,其特征在于第一预定限制大约是最大视频电平的10%,和/或第二预定限制大约是最大视频电平的80%。
10.一种处理视频画面的设备,特别针对动态假轮廓效应补偿,每个视频画面由具有至少一个颜色分量(RGB)的象素组成,所述设备包括—第一装置(1,4),用于利用以下被称为子场代码字的数字代码字对所述颜色分量数值进行数字编码,其中将以下被称为子场的特定的持续时间分配给子场代码字的每个位,在所述子场期间,能够激活象素的颜色分量,用于光产生,所述设备的特征在于还包括—梯度提取块(2),用于根据画面的视频梯度,将每个视频画面分解为至少两种类型的区域,将特定的视频梯度范围分配给每种类型的区域,—第二装置(3),用于针对每个类型的区域Ti,i是整数,在针对至少一个颜色分量的p个可能的子场代码字中选择mi个子场代码字的组Si,用于编码此类型的区域的至少一个颜色分量,每个组Si专用于减小所述类型的区域中的假轮廓和/或抖动噪声,以及—第三装置(4,6),用于利用相关的子场代码字组,对每个视频画面的不同区域进行编码。
11.根据权利要求10所述的设备,其特征在于第一装置包括抖动块(5),其中将抖动值添加到针对至少一个颜色分量的视频画面的代码字中,以便增大灰度尺度表现。
12.根据权利要求10或11所述的设备,其特征在于第一装置包括解伽马块(1),其中放大画面的输入视频电平,从而补偿视频源中的伽马校正。
全文摘要
本发明涉及一种用于处理视频画面的方法和设备,特别是针对假轮廓效应和抖动噪声补偿。本发明的主要思想在于将要显示的画面划分为至少两种类型的区域,例如低视频梯度区域和高视频梯度区域,从而将不同的GCC(重心编码)代码字组分配给每个类型的区域,分配给该类型区域的GCC代码字组专用于减少此类区域中的假轮廓和抖动噪声,并利用所分配的GCC代码字组对要显示的画面的每个区域的视频电平进行编码。按照这种方式,能够逐区域地优化画面中的假轮廓效应和抖动噪声的减小。
文档编号H04N11/04GK1606362SQ20041008319
公开日2005年4月13日 申请日期2004年9月29日 优先权日2003年10月7日
发明者塞巴斯蒂安·魏特布吕克, 塞德里克·泰博, 卡洛斯·科雷亚 申请人:汤姆森许可贸易公司