动态对比度提高的方法 【技术领域】
本发明涉及视频数据的动态对比度提高(“DCI”)。
背景技术
在视频显示器中对图像对比度有很强的需求,但是每种显示器具有有限的动态范围。通常,通过简单增加图像信号幅度,不能提高图像对比度,因为超过显示动态范围会导致不良的后果。另外,像液晶显示器(“LCD”)和等离子显示器(“PDP”)的更新的平板显示器可以具有比更传统的阴极射线管(“CRT”)设计更小的动态范围。然而,根据图像内容有效使用显示动态范围可以增加图像对比度和质量。如在由Akbayir(“Akbayir”)公开的美国专利号6285413 B1中公开了那种动态对比度增强(“DCI”),在此并入作为参考。
Akbayir示教对于最主观的图像质量如何逐帧地分析图像和如何根据分析结果来调整双段传递函数的参数。图1示出了由Akbayir公开的双段传递函数的图。对于每个图像帧分析四个不同的特性:图像平均亮度、暗采样分布、帧峰值、以及信噪比。该传递函数由具有自适应支点的两个段组成(对于暗采样的较低段,和对于亮采样的较高段)。信噪比适应信号准备(噪声估计器不是DCI的一部分),而图像平均亮度、暗采样分布和帧峰值控制传递函数。较低段地增益自适应暗采样分布。较高的增益导致较小数量的暗采样,较低的增益导致较大数量的暗采样。较低段的增益限制为下列范围:
1.0≤Segment1_Gain≤Max_Gain1
传递函数的较高段的增益自适应帧峰值。计算该较高段的增益,从而低于额定值的检测的峰值将变成额定峰值。如果所检测的峰值等于或高于额定峰值,则使用1.0的增益(没有变化)。随后为了避免异常后果,将所计算的理论增益限定为最大值:
1.0≤Segment2_Gain≤Max_Gain2
传递函数的第三个参数是支点。该支点自适应为平均图像亮度,并且使暗图像变得更具有对比度并且亮。低平均亮度将支点移动到低电平,高平均亮度将支点移动到高电平。最小支点值大约为7 IRE,最大支点值大约为40 IRE,其中100 IRE(无线电工程学会)亮度表示标准视频信号的白电平,0IRE亮度表示消隐电平。
Akbayir示教在垂直消隐时间内计算DCI传递函数(请参考Akbayir,第8栏,第43-45行)。垂直消隐时间或垂直消隐间隔(“VBI”)是视频CRT中的电子束从帧的末尾移动到屏幕的顶部所需的时间。在基于软件的视频处理系统中,微处理器在VBI期间应当必须执行许多操作。例如,可以使用电视信号的VBI部分(“VBI”信号)来发送除了传统节目视频或音频的信息,例如闭路字幕文本和股票市场数据。在VBI期间执行DCI计算减少了微处理器必须接收和处理VBI信号和/或在VBI期间执行其他操作的时间量。
本发明旨在克服这个问题。
【发明内容】
一种用于视频数据的动态对比度提高(“DCI”)的方法包括步骤:分析视频帧的一部分(200);以及响应所述视频帧的所述部分(200)的分析结束,而强制开始DCI传递函数计算。
【附图说明】
附图中:
图1是由Akbayir公开的美国专利号6285413 B1公开的双段(dualsegment)传递函数的图;
图2是根据本发明的DCI的示例性方法和装置的顶层功能性方框图;
图3是示例性分析窗口的图解;
图4是图2的示例性分析窗口块的功能性方框图;
图4a和图4b是由示例性分析窗口块产生的ANALYSISI_RESET和END_ANLY的示例性时序图;
图5是示例性普通IIR过滤器和参数计算块的查找表工具的功能性方框图;以及
图6是示例性普通IIR过滤器和参数计算块140的除法工具的功能性方框图。
【具体实施方式】
通过下列示例的方式给出的描述,本发明的特征和优点将变得更加明显。
图2是根据本发明的DCI 100的示例性方法和装置的顶层功能性方框图。如图2所示,DCI 100包括6个主要块:分析窗口块110、自适应信号分解块120、图像分析块130、普通无限脉冲响应(“IIR”)过滤器和参数计算块140、双段传递函数块150、以及颜色饱和补偿块160。从由Akbayir公开的美国专利号6285413 B1中可以得知自适应信号分解块120、双段传递函数块150、以及颜色饱和补偿块160的适当的实现。本发明包括传统微处理器250(参考图4)和适当的软件,如以下更详细的讨论,该适当的软件用于提高分析窗口块110、图像分析块130、以及参数计算块140的功能性。为此,微处理器250(参考图4)是一种执行软件的共享资源,这里用本领域的技术人员容易理解的相应的功能性方框图和时序图对微处理器进行描述。然而,还要注意,这里使用方框图/时序图方式只是为了描述清楚,而且本领域的技术人员应当理解,可以以相应的流程图或其他合适的方式来替换描述软件。
图3是示例性分析窗口200的图解。众所周知,可以在没有显示整个图像的应用中用类似缩放和格式转换来改变图像格式。分析窗口200定义所显示的图像大小的一部分,用以DCI分析。在窗口200内可以实现对DCI函数的分析,而在窗口200之外不能实现对DCI函数的分析。以这种方式,在子标题和图标中也能够使分析无法进行。在本发明的示例性实施例中,微处理器250(参考图4)在格式控制之后得到用于分析窗口200的用户设置和显示的图像的大小,计算分析窗口200的大小,并且将窗口200的参数作为开始行、结束行、开始像素和结束像素写入寄存器SLINE、ELINE、SPIXEL、和EPIXEL。将行和像素计数器与窗口200的参数进行比较提供一种对于分析窗口200内的采样的使能信号。用与显示图像大小相关的偏量来定义分析窗口200的用户设置。下列等式示出了用户设置与相应的像素与行数之间的关系:
SPIXEL=LEFT_OFS
EPIXEL=PIXEL_PER_LIN-RIGHT_OFS-1
SLINE=TOP_OFS
ELINE=LINE_PER_FIELD_BOTTOM_OFS-1
LEFT_OFS 分析中忽略的图像左边的像素量
RIGHT_OFS 分析中忽略的图像右边的像素量
TOP_OFS 分析中忽略的图像顶部的像素量
BOTTOM_OFS 分析中忽略的图像底部的像素量
图4是图2的示例性分析窗口块110的功能性方框图;图4a和图4b是由示例性分析窗口块110产生的ANALYSIS_RESET和END_ANLY的示例性时序图。本发明在不耗尽垂直消隐间隔的情况下对在执行每帧DCI计算中使用的软件寄存器进行更新。这样就允许微处理器250使用垂直消隐间隔来执行其他必要的系统计算。这样也使在提供DCI的视频信号处理系统中使用的微处理器250具有较不复杂的功能。为了使微处理器250有更多时间来执行其他计算,强制本发明使DCI寄存器的更新出现在信号END_ANLY与垂直消隐间隔之间。信号END_ANLY通过使用传统中断输入来中断微处理器250。执行DCI计算,直到垂直消隐间隔开始,或在垂直消隐间隔开始之后不久。人们期望在垂直消隐间隔开始时结束DCI计算。然而,在ANALYSISI_RESET激活之前没有什么强制计算结束。在ANALYSISI_RESET激活时,必须将新的DCI数据写入DCI寄存器。如果不是所有的垂直消隐间隔执行其他计算和控制,通过以这种方式强制DCI计算发生,微处理器250有大多数时间。由于每一帧在分析窗口200的末尾激活END_ANLY,则每一帧更新DCI寄存器。
为了进行测试,也包括寄存器FREEZE_ANLY。它允许图像分析的帧同步冻结,从而总是完成当前处理的帧的分析,并且随后不能进行该分析。这将由ANALYSIS_RESET信号控制。ANALYSIS_RESET信号由微处理器250产生。在读取分析结果之后的一段短时间(几个时钟周期)激活该ANALYSIS_RESET信号(设置为高),并且将其再次设置为低。对于ANALYSIS_RESET信号没有固定的时间点。然而,ANALYSIS_RESET在正常的范围(即,基于帧,在读取分析结果之后的垂直消隐时间内)内有效(请参考图4a和4b)。当FREEZE_ANLY寄存器被设定为“开”时,冻结分析,并且ANLY_RESET信号无效(被设定为低)。只要寄存器“开”,则对于进一步图像处理,取出最近的分析结果。
分析窗口块110也提供END_ANLY信号,用来暗示分析的结束。对于暗采样分布计算所需的精确分析,必须检查寄存器中的剩余数据,并且纠正结果。当END_ANLY信号为高时,则可以执行所需的操作,以便完成暗采样分布分析。
图5示出了示例性普通IIR过滤器和参数计算块140的查找表工具300的功能性方框图。图像分析是对逐个帧(framewise)进行的。因此,对于隔行扫描,图像分析块130(参考图2)在第二场(请参考,例如图4a中的END_ANLY信号)的结尾提供分析结果。实际上,仅在分析窗口200内部进行分析(请参考图3)。如果分析窗口200比有效图像大小更小,通常就是这种情况,则初始看起来分析在分析窗口200就结束了。来自分析窗口块110的END_ANLY信号(请参考图4)就暗示这种情况。
图像分析块130(参考图2)为每个帧提供有关平均亮度(AVRG_BR)、暗采样分布(DRKS_DIST)、以及帧峰值(FR_PEAK)的信息。这些值用于确定下一帧所使用的传递函数的特性。用IIR过滤器对每一帧的所有这三个值进行过滤。通过对于平均亮度的AB_ATT、AB_DEC,对于暗采样分布的DS_ATT、DS_DEC,以及对于峰值的PK_ATT、PK_DEC的设置,来确定过滤的时间常数。对于过滤每个分析信息使用两个时间常数设置允许独立控制上升和下降时间(xx_ATT:上升时间常数;和xx_DEC:下降时间常数)。
帧平均亮度确定双段传递函数的支点。将该值限定到适当的范围,并且随后用IIR过滤器对该值进行过滤。根据当前和先前值,使用下降或上升时间常数来过滤。以5个分数位的精度将过滤的值存储在帧平均亮度寄存器AVRG_BR中。首先计算间隔支点值,TF_DPPI。这在较高段增益计算部分是必须的。该间隔支点值是无符号格式并包括3个分数位。该间隔支点值必须匹配亮度(1uma)格式。最后支点值是通过将间隔值转换成有符号格式并且舍去最低有效位(“LSB”)而获得的。通过限制较低值用户设置PP_LIM(如果期望)来减小支点的有效动态范围。
将来自帧峰值分析部分的峰值计数值相加,并且用因子2^N对其标准化。如果所有计数器PKCNT_00...PKCNT15都完全填满,则结果是255。根据计数器状态,标准化值在0与255之间。这个值的精度是8位。将最小峰值限制为185(对于8位亮度信号采用无符号格式),以便将较高段的增益限制到期望的最大值。该最大峰值为240。确定较高段的增益,以便如果所检测的峰值小于240,则将它拉伸到240。值55是最大峰值与最小峰值之间的差。将它与标准化峰值相乘。使用8位的移位操作,舍去分数位。相对于最小值185,该结果是帧峰值。通过用户设置AP_LIM(如果期望)来限制最小值,从而较高段的增益不超过预定最大值。如下定义最大增益,以便保持自然图像质量:
1.0≤GAIN_SEG2≤1.699
将所计算的相对峰值增加到最小值,以便获得绝对帧峰值。在用IIR过滤器对该峰值过滤之后,根据当前和先前的峰值,使用下降或上升时间常数进行过滤。在帧峰值寄存器FR_PEAK中存储带有精度为5个分数位的过滤值。如下列等式所给出的,通过过滤的峰值和支点位置来确定较高段增益:
GAIN_SEG2=Y100IRE-TF_DPPIFR_PEAK_FILT-TF_DPPI]]>
其中GAIN_SEG2表示:双段传递函数的Segment-2增益;以及
其中Y100IRE表示:亮度信号100IRE值
对于进一步的计算,3个分数位的精度是足够的;因此可以舍去两个LSB。从峰值中减去从平均亮度分析(它具有相同的格式和精度)传递的支点。这就是确定段增益的等式的分母。
段增益的计算包括用查找表350和乘法器400实现的除法器。查找表350包括计算结果1FR_PEAK_FILT-TF_DPPI,]]>它具有n位的精度,如下表所给出:
X=FR_PEAK_FILT-TF_DPPI
Xmin=FR_PEAK_FILTmin-TF_DPPImax
Xmax=FR_PEAK_FILTmax-TF_DPPImin
ROM_Address=X-Xmin
ROM_Value=2nX]]>n:分数的位数
对于 FR_PEAK_FILTmin=185 FR_PEAK_FILTmax=240
TF_DPPImin=32 TF_DPPImax=106 X=(FR_PEAK_FILT-TF_DPPI) ROM_Address= (X-Xmin) 对于n=14, ROM_Value=(2^n/X+0.5)79 0 20780 1 20581 2 202· · ·· · ·
206 127 80 207 128 79 208 129 79
表1.查找表
由下列公式给出大于支点的亮度信号的传递函数:
Yout=gain_seg2*(Yin-TF_DPP)+TF_DPP Yin>TF_DPP
其中Yout表示:输出亮度信号;和
其中Yin表示:输入亮度信号
将段增益分割成整数和分数部分,其中整数部分总是1:
GAIN_SEG2=GAIN_SEG2_INT+GAIN_SEG2_FRC=1+GAIN_SEG2_FRC
Yout=GAIN_SEG2_FRC*(Yin-TF_DPP)+Yin Yin>TF_DPP
仅使用分数部分会节约一个位。因此,从所计算的增益中减去整数部分。将结果写入寄存器GAIN_SEG2。
由于查找表进行了1/x的近似,降低了值的精度,并且释放了偏差79,以便作为查找表地址使用。
用查找表数据与相同等式的分子(Y100IRE-TF_DPPI)相乘,并且通过5位的移位操作将分数位舍去。
帧暗采样分布值确定较低段的增益。也以相同的方式来过滤其他参数,并且随后通过舍去2LSB将其他参数转换成期望的格式。
也以相同的方法来处理由外部装置测量的DCI之外的信噪比,从而可以以已知的方式使用该信噪比来控制自适应信号分解块120中的核心值。
图6是示例性普通IIR过滤器和参数计算块140的除法工具600的功能性方框图。除了用合适的分解块650(例如以C语言编程的整数除法)代替查查找表350和复用器400(近似1/x),除法工具600执行与查找表工具300相同的操作。
因此,在操作中(用查找表工具300或除法工具600),DCI 100产生信号END_ANLY来表示分析的结束,并且用END_ANLY来中断微处理器,以便在分析数据可获得时就读取该分析数据。根据分析窗口200的大小,分析的结束比垂直消隐间隔的开始容易得多。结果,微处理器在有效视频期间(而不是在垂直消隐间隔期间)执行DCI计算,并且仅需要在垂直消隐期间将结果写入双段传递函数的段寄存器。之后,在垂直消隐时间期间,为其他任务将微处理器可靠地释放出来。另外,用软件实现本发明的DCI算法考虑到将来仅通过重新编程对该算法的调整,反之,典型地需要重新配置基于硬件的处理系统的步骤则更昂贵和更复杂。