用于改变像素值的图像处理电路及方法 【技术领域】
本发明一般涉及电子和计算机电路,尤其涉及用于改变像素值的图像处理电路及方法。例如,可用此种电路和方法消除经过“有损耗”压缩的电子图像的轮廓线痕迹。本发明背景
在被解压的电子图像中有时会出现诸如轮廓线痕迹之类不希望有的可见痕迹。图像压缩中的量化常常导致图像信息的丢失;即术语“有损耗压缩”之谓。不幸的是,这种失真可能引起图像解压过程中的像素值错误,并且这些错误会产生解压图像中的可见痕迹。轮廓线痕迹是类似于地理图画中等高线的线条图案,并且其典型特征是它在被解压图像的低亮度区域(即较暗处)比高亮度区域(即较亮处)更为明显。
遗憾的是,有些图像处理技术如伽玛纠正法(gamma correction)会使此类轮廓线痕迹更为明显。通常地,伽玛纠正法增强图像中亮处与暗处的对比度。亦即,在较亮区域的亮度变化相对于较暗区域的亮度变化被扩大。例如,在较亮区域的1流明的亮度变化被伽玛纠正到1.5流明,而在较暗区域的1流明的亮度变化可能不变化或被伽玛纠正到小于1.5流明。实际所用的伽玛纠正算法有赖于图像显示设备地特征参数之类的变量。图像处理电路使用伽玛纠正法来补偿人眼的非线性亮度反应。人眼对较暗图像区域的亮度变化比较亮图像区域的亮度变化更为敏感。亦即,人眼对较暗区域的1流明变化的感觉要比对较亮区域的1流明变化要强。因此,伽玛纠正法使人眼对图像的整个亮度区域能以一线性或近似线性的对比度来感知。但遗憾的是,伽玛纠正法实际上常常增大较暗区域相对于较亮区域的量化级别,从而可能增加现有的轮廓痕迹的可见性。图像压缩/解压技术综述
为帮助读者了解以上所讨论和以下在“本发明描述”中将要讨论的概念,以下对图像压缩/解压技术作一基本综述。
为了在一相对的低带宽通道中发送相对高分辨的图像,或在一相对较小的存储器空间中存储这样的图像,常常有必要压缩代表此图像的数字数据。例如,高清晰度电视(HDTV)视频图像被压缩到能在现有电视通道中发送。若不压缩,HDTV视频图像将需要比现有电视通道带宽要宽得多的发送通道。此外,为了将数据量和发送时间减少到可接受的水平,图像只有经过压缩才能在互联网上发送。或者,为增加CD-ROM或计算机服务器的图像存储空间,图像在存储前也必须被压缩。
典型地,此类图像压缩包括减少代表图像所必须的数据位的数量。遗憾的是,许多压缩技术常常会有损失。亦即,在原有图像中包含的视频信息有可能在压缩中被丢失。如以上所述,这种信息的丢失可能会在解压的图像中导致明显的区别,这常常被称作视觉痕迹。很多时候,这些痕迹是我们所不希望有的,因为与原有图像的视觉质量相比,它降低了解压图像的视觉质量。
参考图1-3,对目前流行的基于块的运动图像专家组(MPEG)压缩标准的基本原理作一些讨论。该标准包括MPEG-1和MPEG-2。为示范之目的,本讨论基于使用MPEG4:2:0格式压缩图像来进行,该图像用色标空间Y、CB、CR来表示。然而,所讨论的基本概念也适用于其它MPEG格式、以其它色标空间来表示的图像及其它基于块的压缩标准,例如常用于压缩静止图像的联合图形专家组(JPEG)标准。而且,尽管为简明起见,MPEG标准和Y、CB、CR色标空间的许多细节被省略,但这些细节已是众所周知的,且在大量可获得的参考文献中已经公开了。
参看图1-3,MPEG标准常被用于压缩图像的瞬时序列,即在例如电视播放中常有的视频帧。每个视频帧被划分为被称作宏块的区域,每个宏块包括一个或多个像素。图1A是一具有256个像素12的16×16像素大小的宏块10。在MPEG标准中,一个宏块总是16×16像素大小,而其它压缩标准可能会使用具有其它尺寸的宏块。在原有的视频帧中,每个像素12具有各自的亮度值Y和各自的颜色对(即色差对),也就是不同的CB和CR值。
参看图1A-1D,在帧压缩前,即将被用于压缩的数字亮度值(Y)和色差(CB和CR)值,亦即预压缩值,都是由原有帧的原有Y、CB和CR值所生成。在MPEG4:2:0格式中,预压缩的Y值与原有Y值相同。因此,每个像素12维持原有的亮度值Y。但为了减少将被压缩的数据量,MPEG4:2:0格式对四个像素12组成的每个组14仅允许保留一个预压缩的CB值和一个预压缩的CR值。这些预压缩的CB和CR值中的每个都分别取自于每个组14中四个像素12的原有CB和CR值。例如,可将预压缩的CB值设置为与每个组14中四个像素12的原有CB的平均值相等。参看图1B-1D,为宏块10所生成的预压缩的Y、CB和CR值被排列成一个16×16矩阵17的预压缩Y值(等于每个像素12的原有Y值)、一个8×8矩阵18的预压缩CB值(等于取自四像素12的每个组14的一个CB值)、一个8×8矩阵20的预压缩CR值(等于取自四像素12的每个组14的一个CR值)。然而,在工业领域中,常将矩阵18和20及矩阵17的8×8象限称作“块”值。而且,由于在像素值8×8块而不是16×16块的基础上进行压缩变换更为方便,因此,预压缩Y值的宏块17被进一步划分为四个8×8的块22a-22d,它们分别对应于宏块10中像素12的8×8块A-D。仍然参看图1B-1D,对每个宏块10生成预压缩像素值的六个8×8块:预压缩Y值的四个8×8块22a-22d、预压缩CB值的一个8×8块18、预压缩CR值的一个8×8块20。
图2是MPEG压缩器30的通用方块图,MPEG压缩器30一般被更广泛地称作编码器30。通常,编码器30将帧或帧序列的预压缩数据转换成代表同样帧或帧序列、但比预压缩数据所含比特数显著减少的编码数据。为完成这种转换,编码器30将预压缩数据中多余数据减去或消除,并使用有效的变换和编码技术重新格式化剩余数据。
更具体地说,编码器30包括一帧重排序缓冲器32,它接收一个或多个帧序列的预压缩数据,并以适宜的序列对帧进行重新排列以供编码。因此,重新排序的序列常常与产生帧或将被显示的序列不同。编码器30将每个存储的帧分配到各自的组,称作图像组(GOP),并将每个帧标识为内部(I)帧或非内部(非I)帧。例如,对一全部15个的帧,每个GOP可能包括三个I帧和12个非I帧。编码器30对I帧编码时不用参考另外的帧,但在对非I帧编码时常常参考同一GOP中的一个或多个其它帧。然而,编码器30在对非I帧编码时并不参考不同GOP中的帧。
参看图1和2,在一I帧编码时,代表该I帧的预压缩Y、CB和CR值的8×8块(图1B-1D)通过一求和器34后进入一离散余弦变换器(DCT)36,它将这些值的块变换成具有一个DC(频率为零)系数和63个AC(频率不为零)系数的不同的8×8块。亦即,当编码器30编码一I帧时不需要求和器34,这样,预压缩值通过求和器34,却不与任何其它值求和。(然而,如下所述,当编码器30对一非I帧编码时常常必须有求和器34。)量化器38将每个系数限定到各自的量化值范围内,并在路径40和42处分别提供量化的AC和DC系数。一预测编码器44对DC系数进行预测编码,而可变长度编码器46将量化的AC系数和量化且预测的编码DC系数转化成可变长度的码字。这些码字构成代表编码I帧像素值的编码数据。随后,发送缓冲器48暂时存储这些码字,以便对解码器(下面将通过参考图3一同讨论)同步发送编码数据。相反,若要存储而不是发送编码数据,则编码器46直接对诸如CD-ROM的存储介质提供可变长度的码字。
若I帧要被用于同一GOP中的一个或多个非I帧的参考(其常被如此运用),则由于以下原因,编码器30将运用与解码器所用的近似或相同的解码技术来对编码的I帧进行解码而得到相应的参考帧(图3)。当对参考I帧的非I帧进行解码时,解码器别无选择,只能将解码的I帧用作参考帧。由于MPEG编码会失真-由于AC和DCDCT系数的量化而丢失某些信息-解码的I帧像素值通常与原有I帧的预压缩像素值不同。因此,在编码中将预压缩I帧用作参考帧将会导致解码非I帧时产生附加痕迹,因为,用于解码的参考帧(解码的I帧)与用于编码的参考帧(预压缩的I帧)不同。
因此,为了给编码器30产生一与解码器(图3)的参考帧近似或相同的参考帧,编码器包括一解量化器50(dequantizer)和一反向DCT52,它们被设计用于模拟解码器的解量化器和反向DCT。解量化器50将来自量化器38的量化DCT系数进行解量化,而反向DCT52将解除量化的DCT系数变换成Y、CB和CR像素值的对应8×8块,它们一起构成该参考帧。然而,因为失真发生于量化中,这些解码像素值中的某些或全部可能会不同于它们所对应的预压缩像素值,因此,该参考帧可能会不同于如上所述的预压缩的帧。然后,这些解码的像素值通过一求和器54-如下所述,当由非I帧生成参考帧时所用一一随后进入一参考帧缓冲器56,将参考帧存储于其中。
当对非I帧编码时,编码器30以至少两种方式对非I帧的每个宏块进行最初的编码:一种是以前述的I帧方式,另一种是以下面将要论述的运动预测方式。然后,编码器30将具有最少比特数的结果码字进行存储和发送。因此,这种技术保证非I帧的宏块被以最少的比特数来编码。
关于运动预测,若一帧中的某个物体在前面的或后续的帧中发生位置变化,则该物体显示出运动特性。例如,若一匹马疾驰过屏幕,则其显示出相对运动。或者,若照相机跟随马而运动,则背景相对于马呈现相对运动。通常,物体在其中能显示出的每个后续的帧中至少都包含有与前面的帧一些相同的宏块。然而,这些相匹配的宏块在后续的帧中占有的各自的帧位置与它们在前面的帧中所占有的帧位置不同。另外,包括部分静止物体(如树)或背景(如天空)的宏块占有每个连续帧中相同的帧位置,因而显示出零位移。在任意一种情况下,都是用较少的数据位告之解码器“帧1(非I帧)的宏块R和Z分别与帧0(参考帧)的位置S和T的宏块相同或近似”,而不是独立编码每个帧。(帧0和1及宏块R、S、T和Z未示出)这一“论断”被编码为各个运动向量(一个从R到S,另一个从T到Z)具有各自的位移值,其分别指明各自的宏块从一帧到另一帧的相对运动。对于一相对运动较快的物体,其相对运动及其相对位移值就会相对较大。相反,对于一静止的或相对运动较慢的物体或背景,其相对运动及其相对位移值就会相对较小或等于零。
仍然参看图2,在对非I帧编码的过程中,运动预测器58将非I帧中宏块的预压缩Y值(在运动预测中未用于CB和CR)与参考I帧中宏块的解码Y值进行比较,并找出匹配的宏块。对每个非I帧中的宏块,若发现其中有一个非I帧与参考I帧中匹配,则运动预测器58生成一运动向量,其指明参考帧和参考帧内匹配的宏块的位置。因此,如以下结合图3将要论述的那样,在解码非I帧的这些运动编码宏块的过程中,解码器使用运动向量来由参考帧中匹配的宏块获得运动编码宏块的像素值。预测编码器44对编码运动向量进行预测,编码器46为编码的运动向量生成各自的码字,并将这些码字提供给发送缓冲器48。
进一步,由于非I帧中的宏块和参考I帧中的匹配宏块常常相近而非完全一样,编码器30将它们的差异与运动向量一起进行编码,以便解码器能结合其进行解码。更具体地,运动预测器58对求和器34提供参考帧中匹配宏块的解码Y值,而求和器34在像素×像素的基础上,从被编码的非I帧宏块的预压缩Y值中减去解码Y值。这些被称作剩余的区别被设置为8×8的块,并在DCT36、量化器38、编码器46和缓冲器48中被以上述相似的方式处理,只是剩余块的量化DC系数通过线路40直接输入编码器46,因此其不被预测编码器44预测编码。
此外,还可以使用非I帧作为参考帧。当非I帧被用作参考帧时,来自量化器38的量化剩余被解量化器50和反向DCT52分别解除量化和进行反向变换,以便由于上述的原因,使该非I参考帧能与以上所述被解码器所用的一样。
运动预测器58对求和器54提供参考帧的解码Y值,并由此生成剩余。求和器54将来自反向DCT52的剩余分别加到参考帧的这些解码Y值上,以便生成非I参考帧各自的Y值。然后,参考帧缓冲器56将参考非I帧与参考I帧一同存储,以用于运动编码序列非I帧。
仍然参看图2,编码器30还包括一速率控制器60,以便保证发送缓冲器48(它一般以固定速率发送编码的帧数据)既不会溢出,也不会下溢即存储量不够。若发生上述任何一种情况,编码的数据流中将被引入错误。例如,若缓冲器48溢出,来自编码器46的数据便会丢失。因此,速率控制器60基于发送缓冲器48的存储程度来调整量化器38所用的量化比例因子。具体就是,缓冲器48愈满,则比例控制器60使得比例因子愈大,从而编码器46产生愈少的数据位。相反,缓冲器48愈空,则比例控制器60使得比例因子愈小,从而编码器46产生愈多的数据位。连续的调整确保缓冲器48既不溢出,也不会下溢。
图3是常用MPEG解压缩器60的方框图。解压缩器更经常地被称作解码器,它能对图2的编码器30所编码的帧进行解码。
对于I帧和未被运动预测的非I帧的宏块,变长解码器62对从编码器30(图2)所接收到的变长码字进行解码。预测解码器64对预测的解码DC系数进行解码,而解量化器65(其与图2中的解量化器50近似或相同)对解码的AC和DC系数进行解量化。反向DCT电路66(其与图2中的反向DCT52近似或相同)将解量化的系数变换成像素值。解码的像素值通过求和器68(如下所述,它在非I帧运动预测宏块的解码中被使用)后进入帧重排序缓冲器70。帧重排序缓冲器70存储被解码的帧,并以适宜的顺序重新排列帧,以便在视频显示单元72上显示出图像。如果被编码的I帧用作参考帧,它也将储存在参考帧缓冲器74中。
对于非I帧运动预测宏块,解码器62、解量化器65和反向DCT68用如上所述的I帧系数处理方法处理剩余系数。此外,预测解码器64解码运动向量,而运动插值器76对求和器68提供来自运动向量所指向的参考帧宏块的像素值。求和器68将这些指向的像素值与剩余像素值相加而生成解码宏块的像素值,并将这些解码的像素值提供给帧重排序缓冲器70。若编码器30(图2)使用解码的非I帧作为参考帧,则该解码的非I帧被存储于参考帧缓冲器74中。
参看图2和3,尽管如上所述,编码器30和解码器60都包括多功能电路块,它们均可被硬件、软件或软、硬件的结合来实现。例如,编码器30和解码器60常常分别被完成相应电路块功能的处理器所实现。
在许多出版物中可见到图2和3所示的MPEG编码器30和MPEG解码器60以及一般MPEG标准的详细论述,例如Peter D.Symes于1998年所著的“视频压缩”(McGraw Hill出版)即可被引作参考。进一步,还有其它众所周知的基于块的压缩技术被用于编码和解码视频和静止图像。本发明概述
本发明的一个方面是:图像处理电路将像素值与阈值进行比较,且当像素值与阈值有一预定的关系时将像素值进行更改。
本发明的另一方面是:图像处理电路产生一随机数,并将该随机数与像素值合成。
这样的图像处理电路可被用于从解码的电子图像中消除诸如轮廓痕迹的痕迹。附图的简单描述
图1A是像素的常规的宏块。
图1B是分别对应于图1A的宏块中像素的预压缩Y值的常规的块。
图1C是分别对应于图1A的宏块中像素组的预压缩CB值的常规的块。
图1D是分别对应于图1A的宏块中像素组的预压缩CR值的常规的块。
图2是常规MPEG编码器的方块图。
图3是常规MPEG解码器的方块图。
图4是根据本发明一实施例的像素电路的方块图。
图5是根据本发明一实施例的像素电路的操作流程图。
图6是根据本发明一实施例的图4的像素电路可处理的两序列视频帧各自部分的方块图。本发明的详细描述
图4是根据本发明一实施例的像素电路100的方块图。像素电路100在解码的电子图像中更改像素值,以便减小诸如轮廓痕迹的痕迹的可见性。具体地,人眼对诸如量化的图像干扰(以上结合图1和2所讨论的)比随机的干扰更为敏感。由于量化导致轮廓痕迹,像素电路100将随机干扰引入图像中,以便使得轮廓痕迹对于人眼来说不太显著或不可见。如上所述,由于轮廓痕迹在较暗的图像区域比较亮的图像区域更为显著,则电路100的所述实施例仅对较暗的图像区域引入随机干扰以减少处理时间。但在另一实施例中,电路100也对较亮的图像区域引入随机干扰。
电路100包括一阈值比较电路102,它将图像中的每个像素的像素值(包括色差值与亮度值两者)都与各自的阈值进行比较。电路102对合成器106(它在一实施例中是求和器)的第一输入端104提供低于阈值的像素值(暗像素值),并对图像缓冲器110的第一输入端108提供高于阈值的像素值(亮像素值)。
随机数发生器112具有输入和输出端114和116,且对电路102正处理其像素值的图像中的每个像素位置产生一特别的随机数。在一实施例中,输出端116连接到输入端114而形成反馈回路。可选的截短器电路120将随机数截短到合适的长度。截短器120(或当截短器120被省略时,随机数发生器112对合成器106的第二输入端122提供随机数。因此,对每个像素位,随机数发生器112都对合成器106提供一相应的随机数,而合成器106将随机数与各自的暗像素值结合来产生一更改的暗像素值。若一像素位置有一亮像素值而不是一暗像素值,则随机数发生器112仍然对该像素位置产生一随机数,尽管合成器106并不使用该随机数来更改像素值。
剪切器电路124通过输入端126接收来自合成器106的更改的暗像素值,并判断更改的像素值是否落在像素值的预定范围之外。若更改的像素值确实落在像素值的预定范围之外,则剪切器电路124“剪切”更改的像素值以使其落在预定范围之内,从而防止寄存器溢出而产生错误的更改的像素值。若更改的像素值未落在像素值的预定范围之外,则剪切器电路124不改变更改的像素值。剪切器电路124对图像缓冲器110的第二输入端128提供剪切的或未剪切的更改的像素值,而图像缓冲器110以合适的顺序存储亮像素值和更改的暗像素值,以供在显示装置(未示出)上进行图像显示。
参看图4和图5的流程图,讨论根据本发明实施例的像素电路100的操作过程。
参看图5的程序块138,阈值比较器102接收像素值(可能是像素的亮度值,也可能是像素的色差值)。在一实施例中,像素值是8位的,故其大小范围是0-255。而且,比较器102可接收任意顺序的像素值。例如,比较器102可接收和处理一图像的全部亮度像素值之后再处理该图像的全部色差像素值。或者,比较器102先接收和处理第一像素位置的全部像素值(亮度值和色差值),再接收和处理第二像素位置的全部像素值,如此等等。
以下,参看程序块140,比较器102判断像素值是否小于其对应的阈值。在一实施例中,比较器102将全部的亮度像素值与一亮度阈值进行比较,而将全部的色差像素值与一色差阈值进行比较。在另一实施例中,电路102将亮度和色差像素值均与同样的阈值进行比较。在又一实施例中,比较器102对每个像素位置使用不同的阈值。进一步,尽管阈值可以是任意数,在一实施例中它在50-80的范围之内。另外,尽管上述是判断像素值是否小于其阈值,电路102也可被构造来判断像素值是否小于等于、大于、或大于等于其阈值,具体取决于需要被减轻的痕迹的类型。
参看程序块142,若像素值不小于阈值,则比较器102判断该像素值为一亮像素值,并有效生成一等于该亮像素值的更改的像素值(为保持流程图中的统一,尽管更改的像素值实际与未更改的亮像素值相等,而仍将其称作更改的像素值)。参看程序块144,比较器102将更改的像素值提供给缓冲器110的输入端108,以供存储。
然而,若像素值小于阈值,则参看程序块146,比较器102判断该像素值为一暗像素值,而合成器106将该暗像素值与来自随机数发生器112(以及可选的截短器120,如果有的话)的随机数结合,来生成更改的像素值。在一实施例中,合成器106将暗像素值与随机数求和而生成更改的像素值。随机数发生器112的操作过程在以下被详细描述。
以下,参看程序块150,剪切器电路124判断来自合成器106的更改的暗像素值是否在合适的范围之内。若更改的暗像素值在范围内,则参看程序块144,电路124将更改的暗像素值输出到缓冲器110的输入端128以供存储。然而,若更改的暗像素值不在范围之内,则参看程序块152,电路124将更改的像素值设置为范围内的值,然后再将其提供给缓冲器110。例如,在一实施例中,若合适的像素值范围是0-255,而更改的像素值小于0,则电路124将更改的像素值设置为0。同样地,若更改的像素值大于255,则电路124将更改的像素值设置为255。
参看程序块154,像素电路100判断是否有更多的像素值需处理。若没有,像素电路100结束其流程直到被提供更多的像素值。若有更多的像素值需处理,则参看程序块138,阈值比较器接收下一个像素值并重复执行以上描述的始于程序块140的步骤。
再参看图4,讨论根据本发明一实施例的随机数发生器112的操作过程。发生器112根据一随机数等式生成随机数,一实施例中的随机数等式是:
(1)随机数=(1664525×种子值+1013904223)mod232
尽管发生器112有可能对每个像素值产生一不同的随机数,在一实施例中,发生器112对图像内的每个像素位置产生一不同的随机数。因此,在这样的实施例中,每个随机数被用于更改一像素位置的所有暗像素值(亮度和色差)。为生成这些不同的随机数,每个像素位置被提供给一不同的种子值。在一实施例中,初始种子值被提供给发生器的输入端114,以便为第一图像生成第一随机数。该第一随机数随后通过反馈路径118被反馈到输入端114,并以此被当作种子值来生成下一个随机数。这种反馈持续到为图像中的每个像素位置都生成了随机数为止。与给输入端114提供新的非反馈种子值而得到每个随机数相比,这种反馈方式减少了处理时间和处理量。为了给下一个图像生成第一随机数,可以提供一新初始种子值或是将为前一个图像生成的最后一随机数反馈而生成。
由于随机数发生器112所生成的随机数相当大,电路100中可包含一可选的截短器120,以便在将随机数提供给合成器106之前将其减小到一合理的大小。例如,在一实施例中,截短器120将所有的随机数减小到三位(两位幅值及一位符号),则截短的随机数为以下值之一:-3、-2、-1、0、1、2、3。
参看图4和6,讨论随机数发生器112的操作过程,以生成随时的变化随机干扰和随时的不变随机干扰。图6是来自视频帧的同一序列的两个视频帧160和162的像素图。为允许像素电路100使用随时的变化随机干扰处理视频帧,发生器112为不同视频帧中的同样像素位产生不同的随机数。例如,发生器112为像素位置a00和b00产生不同的随机数,为像素位置a01和b01产生不同的随机数,如此等等。因此,随机干扰图每帧与每帧不同。由于帧代表不同时刻的一景物,则随机干扰图随时间而变化,因此是随时变化的。相反,为允许像素电路100使用随时的不变随机干扰处理视频帧,发生器112为不同视频帧中的同样像素位产生相同的随机数。例如,发生器112为像素位置a00和b00产生相同的随机数,为像素位置a01和b01产生相同的随机数,如此等等。因此,随机干扰图从帧到帧是相同的,因此不随时间而变化。尽管用不随时间变化的随机干扰与用随时间变化的随机干扰处理视频图像的序列所产生的视觉效果不同,但两种技术基本上能同样程度地减少轮廓痕迹。
在一实施例中,随机数发生器112使用上述的反馈技术来生成随时的变化随机干扰,并对每个视频帧提供不同的初始种子值。例如,假定像素电路100在处理帧162前处理帧160。发生器112使用第一个初始种子值为像素位a00生成随机数,将a00随机数反馈用作像素位置a01的种子值,如此等等。在电路100完成处理帧160后,发生器112使用不同于第一个初始种子值的第二个初始种子值为像素位b00生成随机数,再将b00随机数反馈用作像素位b01的种子值,如此等等。由于发生器112对帧160和162使用不同的初始种子值,则a00的随机数不同于b00的,a01的随机数不同于b01的,如此等等。因此,帧160的随机干扰图不同于帧162的随机干扰图。即使可选的截短器120使得帧160的某些像素位置与帧162的某些像素位置的具有同样截短的随机数,两者的随机干扰图也基本不同。
在另一实施例中,随机数发生器112使用上述的反馈技术生成随时不变的干扰,并对每个视频帧使用同样的种子值。例如,假定像素电路100在处理帧162前处理帧160。发生器112使用一初始种子值为像素位置a00生成随机数,将a00随机数反馈用作像素位a01的种子值,如此等等。在电路100完成处理帧160后,发生器112使用同样的初始种子值为像素位置b00生成随机数,再将b00随机数反馈用作像素位置b01的种子值,如此等等。由于发生器112对帧160和162使用相同的初始种子值,则a00的随机数等同于b00的,a01的随机数等同于b01的,如此等等。因此,帧160的随机干扰图与帧162的随机干扰图相同。
从前述的可见,尽管为了达到说明之目的而描述了本发明的特定实施例,但可以在不背离本发明精神和范围的情况下作出不同的变化。例如,像素电路100(图4)可变更所有像素值,包括亮的和暗的,而不是仅改变暗的像素值。进一步,尽管像素电路100被描述为使用不同的功能电路块,它也可由软件、硬件或两者的结合来实现。例如,像素电路100可以是一处理器,也可以是由一个或多个处理器所实现的大的图像处理电路的一部分。可用于实现电路100的处理器包括由Equator Technologies开发的Map1000处理器、Intel开发的Pentium或Celeron处理器和Advanced Micro Devices(AMD)开发的K-6处理器。