波域中的图像增强

更新时间:2024-03-25 作者:用户投稿原创标记本站原创 点赞:22651 浏览:105988

文章编号:1006-6268(2008)09-0005-07

摘 要 :通常,消费类电子产品已为用户提供一种调节亮度、对比度、色调、饱和度以及显示清晰度的方式.通过解码被压缩的数字视频流数据,这些图像增强方式可以应用到图像域.本文描述一种在波域实现这些增强效果的方法,其结果是每个像素运算较少,但却是一种效率更高的方案.

关 键 词 :波域;图像增强;消费电子

中图分类号:TN957.52文献标识码:A

Image Enhancements in the Welet Domain

Barry E.Mapen

(Connecticut,USA)

Abstract: Conventionally, consumer electronics has provided a way for the user to adjust the brightness, contrast, hue, saturation, and sharpness of a display. These types of image enhancements can be applied in the image domain after decoding a pressed digital video stream. This article describes a method to perform these enhancements efficiently in the welet domain. The result is fewer operations per pixel and, therefore, a more power-efficient solution.

Keywords:welet domain, image enhancement, consumer electronics

消费类电子产品往往通过按动亮度、对比度、色调、饱和度以及显示清晰度等按钮,从而为用户提供了调节显示器上基本图像品质的选择.实现方法之一是在像素输送到显示器之前调整其值,包括实现缩放和像素补偿,由于这类作用直接实现在显示图像上,故被认为是图像域或者空间域法.另外,在频域或者更具体的波域对压缩图像运算更少能得到一样的增强效果.本文简述基于波域的图像压缩,以方便理解一幅图像如何在波域变换,并且描述了在波域怎样实现同样的图像增强.

压缩

压缩算法(编码)是通过去除冗余信息而只采用较少的位数来表示原始视频序列的,其实现途径是通过占用更多的计算周期(时间)来得到更少的位数(空间),这通常按照一些可倒转的处理器步骤来完成(见图1).解压缩后恢复的图像或许不是同一个原始图像,但是观察统计表明却是非常接近原始图像.这种放宽精确度的方式能够减少编码量,比如MPEG模式可以获得非常高的压缩比.

图1 常规解码流程

通用压缩步骤是转换、量化和熵编码.其他步骤还有运动补偿、增加压缩比,但在波域完成图像增强均不需要做这些.

单个视频帧可定义成无数个代表着图像的像素,通常称为空间分辨率.像素可定义很多能表示的颜色,这称为色深或者是光谱分辨率.在下一帧出现前该帧存在的时限表示了帧频或者时间的分辨率.任何一维(空间、光谱或者时间)的分辨率越高,需要用来表示视频序列的位数就越多.每年随着照相机和信息显示器件在三维上的加强导致数据大膨胀.

为了更好地体会这一点,想想看在一场普通电影中出现在观众眼前的像素数.大多数标准是定义每秒钟视频处理并显示30帧空间分辨率为720×480个像素(0.35M像素)的图像(fps).检测设电影长达2hr(7,200s),那么出现的像素数将是74,649,600,000(~750亿).高清显示器(HDTV)的空间分辨率为1,920×1,080(2.07M像素),这就使像素数量增加5倍.把这些像素存储到DVD或者通过网络传送,则要求压缩以适合有效空间.我们顺着原始图像的处理步骤看下去,就能理解到编码是如何确定冗余信息的.

大多数人都熟悉三通道红-绿-蓝(RGB)色彩空间,但还有很多等效色彩空间能够表示同一个图像(见图2).常用的压缩方式是YCbCr,其中采用一个亮度通道和两个色度通道.由于人眼对图像的黑-白信息部分非常敏感,那么降低对色度信号的分辨也不会影响所再现图像的质量.这样可以把数据流长度减小50%.

图2 等效RGB和YCbCr彩色空间

这些通道一旦进入YCbCr色彩空间,就传入转换器并在转换器中从图像域变换到波域.简单地说,较小的图块占据更少的存储空间.如果转换器能够简并图像并把其图块送入,那将是最理想的.然而在简并图像过程中存在信息丢失现象.当简并后的图像在复原,重新得到的图像将会变得模糊不清.但编码器有可能让图像复原,可以把从原始图像中抽出的那些因简并而丢失的细节,如图3所示那样送入.

图3 缩放过程中细节丢失

在中小块图像恢复到原始尺寸,丢失的细节重新加入,而波分图像的巧妙之处在于保留了丢失细节的纪录.

波域根据空间频率按组编排转换值,为了让这些空间频率可视化,我们把显示的图像看成3-D图线,其中每个像素的高度就是其转换值,从正上方向下看,3-D图线看起来像一幅2-D图像,但偏离一个角度看,则发现高台与谷底(见图4).平坦的区域为低空间频率,而尖锐区域则是高空间频率.

转换器运用高通滤波器和低通滤波器交替处理图像的行和列(见图5),这些滤波器分离出图像的高频区和低频区.

图4 空间频率可视化

图5 波分解过程

结果是得到更小的原始图像块和包含最大水平、垂直以及对角线频率的三组数,这些数组称为子带.该分解处理图像方式循环应用到更小的图形上(见图6).大部分图像包含很少的高频信息,也就是说子带中的大部分系数为零(图中黑色区域),这些接近零的非零系数可以用零代替,也就不必为每个像素设置一个值.

图6 反复分解


图7 完成图像分解

当图像的所有通道参数转变过来时转换器就完成其功能了(见图7),更多的波域分解材料请见参考文献[1].

接下来进行量化,以减小带宽内系数的不一致,对大多数编码来说这一步会丢失大量信息.最简单的量化技术是线性运算,即每个系数用恒定参数来除并删简结果.解码过程为量化的逆运算,即用同一个恒定参数乘以每个系数,所得结果非常接近原始数据,但由于在量化过程中有删简肯能会带来误差(见图8).

图8 线性等效误差

图像增强

在解码过程中有两个重要区域可以完成图像增强计算.第一个区域为量化的逆运算级,我们摒弃了用量化阶段的同一个恒定参数乘以子带每个系数的做法,而是用新值取代该恒定参数完成图像增强,简单地说,如果图像增强需要改变最终图像中每个像素的值,那么可以修改与原始图像(LL0)类似的最小子带中的像素.在解码过程中这会波及整个图像,可参见图9和图10.

图9 原始颜色

图10 原始黑白图像

图11 正值(+16,384)增加亮度

亮度

亮度是一个附加到波域中每个像素的固定值,它能引起图像的平均电平(直流电平)变动.附加的正值可以提高亮度(见图11),而负值则减弱亮度(见图12).典型的波域变动是在±255的范围内有±31的变化.在波域中这个能量分布到亮度通道Y(见图13)上的最终近似子带值(LL0).可通过对子带中的每个像素附加值来改变该值,附加值的范围比图像域的要大,这有赖于分解的电平值.然而,不考虑已经计入的值,每加一次就是一次运算,由于Y- LL0子带比最终图像具有更小的系数,因此波域中的增强效果更佳.如图13中的校正区域(A所示区域)给出了相关的修正点.

图12 负值(-16,384)减小亮度

图13 亮度调节图

对比度

对比度是指把一个恒定倍增因子加到波域中各通道的每个像素中.为了避免颜色飘动,相同的对比度倍增因子必须加到每个通道中.乘上大于1的值增加对比度(见图14),而乘上小于1的值减小对比度(见图15).典型的倍增因子范围是0~1.992.正如前面所提到的,倍增必须作为逆量化级的一部分来实施,一旦用户设置了对比度,则相关的变化值就已确定下来,在解码和显示时就没有附加运算了.

图14 乘上大于1的值(×1.5)增加对比度

图15 乘上小于1的值(×0.5)减小对比度

图16正角(+10°)产生趋向蓝色的旋转

色调

考虑一个色轮的情形,色调通常定义为按角度色轮的旋转.在YCbCr色彩空间等效为:

C’b等于Cbcos(θ)+Crsin(θ)

C’r等于Crcos(θ)+Cbsin(θ)

正角度产生指向蓝色的旋转(见图16),而负角度产生指向的旋转(见图17),典型的色调角度在±30°的范围.色调应用到整个图像上,因此相关信息存储到Cb-LL0和色度通道的子带Cr-LL0之中.要想改变色调,只需按照上述的公式计算Cb-LL0和Cr-LL0之中的系数就可以了.说要求角度的cos函数和sin函数只要在刚建立关系的时候计算一次,就可以作为固定比值带入后续的演算过程中,只要后续相同的系数用来在波域进行亮度调节(见图18),这步运算就能省略.

图17 正角(-10°)产生趋向的旋转

图18 色调调节图

图19 乘上大于1的值(×1.5)增加饱和度

图20 乘上小于1的值(×0.5)减小饱和度

饱和度

在图像域中饱和度是一个只作用到色度通道的恒定倍增因子.乘上大于1的值增加饱和度(见图19),而乘上小于1的值则减小饱和度(见图20).与对比度相对应,典型的倍增因子范围是0~1.992.

在波域当中,这等效于把倍增因子作用到Cb-LL0和Cr-LL0之上,与对比度的情形相类似,通过修改逆量化常数就可以省略这步运算.

清晰度

通过增加高频亮度的幅值可感觉到清晰度的提高.这是因为Y通道中每个子带除LL0外也都被一个常数等量划分.乘上大于1的值增加清晰度(见图21),而乘上小于1的值减小清晰度(见图22).典型的清晰度倍增因子范围是0~1.992.由于子带划分相互依赖,所以每个子带必须使用同一个常数.

图21 乘上大于1的值(×1.5)增大清晰度

图22 乘上小于1的值(×1.5)减小清晰度

结果

这项工作的目标是提供从压缩的数据流得到更高效的图像增强方法.检测设数据流要解码,在解码及其应用增强与波域中的应用增强之间进行比较.表1总结出忽略单次初始运算的每个像素附加运算.部分结果有赖于LL0子带中的系数量,这与分解次数因子g有关.简单地说,这些值总是小于1的.考虑到每秒钟必须处理的像素,加快了传统处理的附加运算.

表1 每个像素的附加运算

应该注意到的是,传统算法还包括附加的用于读入存储结果的存储器,因此如果使用多通道的话,其成本将高于波域算法,比如波域算法中亮度和对比度可以用单通道实现,也就只需要一个读入和一个存储.

通常这些处理步骤是在视频图像处于模拟状态下完成,即在数字化前,这时候不需要处理功耗.彩色电视机和视频放大器中的模拟电路根据用户的按钮设置进行调节.但是,现代的视频处理系统升级迅速,在附加处理作用之前,直接就把输入的视频信号数字化,这是一种减小处理负担而增大通量的巧妙方法.

结论

这里所描述的技术、基本图像增强几乎不增加运算负担,与传统编解码技术相比降低了功耗.

应当注意的是这项工作可以应用于其他包括MPEG使用的离散余弦变换(DCT)方式中,对图像增强更多的讨论可见参考文献[2],波域等效增强见参考文献[3].

另外,使用该项技术在解码时可以独立调制多数据流,这可能是如安全产品等应用所心仪的,此类应用中多个摄像机在同一个监视器上显示,这时候不是不同显示器而是不同摄像机的差异得到图像增强补偿.