专利名称:图象去抖动设备和方法
技术领域:
本发明涉及一种方法和设备,用于改变数据流中的数据字的比特数,这在本领域中常被称作抖动和去抖动(undithering)。该方法和设备对诸如可表示数字视频图象的数据流既可执行抖动操作又可执行去抖动操作。
背景技术:
美国专利US-A-5,754,707中描述了一种去抖动方法,用以把图象的抖动表示转换为图象的连续色调表示。该方法把抖动图象区域与抖动图形(dither pattern)部分相比较。当发现这种图形时,图象的相应部分被转换为适当的连续色调表示。抖动图象的区域可通过应用窗口来形成。
美国专利US-A-5,598,184描述了一种用于在计算机图形系统中增强彩色恢复的方法和设备,其中由于通过抖动来编码数据而丢失的彩色信息可通过使编码数据经过与用于编码数据的抖动矩阵具有相同有效形状和尺寸的滤波器来恢复。利用这种方法可从已经通过使用2N个单元的抖动矩阵进行抖动的数据流来恢复N比特彩色信息。此专利还公开了抖动表示图象的数据流的方式,从而在所产生的抖动数据流中产生棋盘格图形。无论是抖动还是去抖动法都比较数据流中的相同像素数目。
美国专利US-A-5,164,717描述了一种用于消除混叠矢量的抖动的方法和设备。抖动图象与独立的去抖动图象结合。此方法特别适用于计算机图形显示设备上的行再现。要显示的矢量首先在第一分辩率消除混叠并在随后与数字图象的相应背景像素相结合。接着,该结合处理的像素数据输出被抖动为较低的分辨率以进行保存和显示。
迄今为止,尚未公开过能够执行一般的抖动及去抖动功能的通用方法或设备。通常,专用的抖动功能针对每个应用而在硬件或软件中执行,专用的去抖动功能也是如此。
本发明的一个目的是提供一种用于处理如表示数字图象的数据流的数据流中的数据字的方法和设备,它适于既提供抖动功能又提供去抖动功能。本发明应当在诸如表示数字图象的数据流的数据流中的现有不同数据尺寸(8到9,5到8,6到8或9到8比特数据尺寸)之间提供单接口。这将涵盖目前流行的所有数据尺寸。
本发明的第二目的是提供一种在其中抖动只被应用到数据流的均匀且恒定值部分的抖动功能,目的是为了防止边缘或细节的失真。
发明概述根据本发明的一个方案提供了一种用于抖动和去抖动数据流中的数据字的方法,它包括处理数据流中的第一数据字以获得输出数据字的步骤计算第二数据字减第一数据字的第一差值;计算第三数据字减第一数据字的第二差值;把第一差值和第二差值与比较值S相比较;以第一比特数左移第一数据字,该第一比特数等于移位值(shiftvalue)G减一;并且只在第一差值和第二差值均等于比较值S时才把偏移值(offset value)D加入第一数据字中。
利用此方法可同时提供抖动功能和去抖动功能,也就是说,既能够以一种可恢复的方式减少每个数据字的比特数,又可以把每个数据字的比特数增加到原始比特数。
在另一个实施例中,移位值G等于或大于一,比较值S等于一,并且该方法还包括步骤当第一差值和第二差值均等于负比较值S时从第一数据字中减去偏移值D。偏移值D最好选为等于2G-1。这个实施例实现了去抖动功能,从而把每个数据字的比特数恢复为抖动之前的原始数目。
在一个优选实施例中,第一数据字是数据流中的当前数据字;第二数据字是数据流中的之前数据字;第三数据字是数据流中的之后数据字。以此方式,数据流中的数据字的反转(toggling)的最低有效比特可被检测并恢复为其原始格式。
在另一个优选实施例中,该方法适用于抖动功能,即以可恢复方式减少数据流中的每个数据字的比特数。在本实施例中,比较值S等于零,移位值G等于零,偏移值D等于一,并且在以第一比特数执行右移操作且增加值一的加法操作之后,第二数据字等于输出数据字。优选地,第一数据字是数据流中的当前数据字且第三数据字是数据流中的之后数据字,从而引起抖动功能的逐字应用。本实施例的固有反馈回路在数据流中产生反转图形(toggling pattern),并在数据流表示图象时还保证抖动只被应用到不呈现诸如边缘或图象细节的细节信息的图象内容中。因而不会出现边缘或图象细节的失真。
当数据流表示以多行数据字形成的二维图象时,还设想了另一个实施例。在此实施例中,在第一差值和第二差值均等于比较值时把偏移值D加入第一数据字的步骤与多行数据字的第一行的像素频率反转信号(pixel frequent toggling signal)同相应用并与多行数据字的第二行的像素频率反转信号异相应用。以此方式,将在图象中产生棋盘格图形,视觉上隐藏了抖动图形。对于逐行扫描图象来说(例如,VGA计算机图象),多行数据字的第一和第二行是连续行。对于隔行图象来说,多行图象的第一和第二行相隔一场(半个图象)。
基于本发明的方法的抖动和去抖动操作可被重复应用,而不会增加失真或降低质量。
通过使用通用的功能和有限的参数(移位值G,偏移值D和比较值S),本方法既可提供抖动功能又可提供去抖动功能。使用通用功能能够实现在硬件及软件中实施本方法的一种非常有效的方式。本方法可有效且有益地应用于数字TV信号,但也可用于其它应用中,如音频数据流中。
在第二方案中,本发明涉及一种计算机程序,在将其装入计算机系统中之后,它向计算机系统提供本方法的功能。该计算机系统可以是通用计算机或如专用的视频处理计算机。
本发明的第三方案涉及一种用于抖动和去抖动数据流中的数据字的设备。该设备用以处理数据流中的第一数据字以获得输出数据字,该设备包括第一、第二和第三缓冲器,分别用于存储第一、第二和第三数据字;连接第一和第二缓冲器的第一计算装置,用于计算第二数据字减第一数据字的第一差值;与第一和第三缓冲器连接的第二计算装置,用于计算第三数据字减第一数据字的第二差值;与第一和第二计算装置均连接的第一比较装置,用于把第一差值和第二差值与比较值S相比较;第一移位装置,用于以第一比特数左移第一数据字,该第一比特数等于移位值G减一;和第一加法装置,用于把偏移值D加入第一数据字中,该第一加法装置只在第一差值和第二差值均等于比较值S时才可操作。
对于本设备的去抖动操作来说,该设备还包括第二加法装置,用于在第一差值和第二差值均等于负比较值S时从第一数据字中减去偏移值D。
对于本设备的抖动操作来说,该设备还包括环回装置,用于在以第一比特数执行右移操作及增加一的加法操作之后把输出数据字耦合至第三缓冲器。
为了使能抖动操作的相位控制模式,该设备还包括相位控制装置,用于提供像素频率反转信号以便以下面的方式控制第一加法装置,即当数据流表示以多行数据字形成的二维图象时,与多行数据字的第一行的像素频率反转信号同相且与多行数据字的第二行的像素频率反转信号异相来使能第一加法装置。
附图描述
图1表示根据本发明的方法的去抖动模式的流程图;图2表示根据本发明的方法的抖动模式的流程图;图3表示根据本发明的方法的硬件实施方案的电路图。
本发明优选实施例描述随着视频处理应用的发展,出现了越来越多的不同数据尺寸。集成电路变得更小且更快,这样,为了提高精确度,用以表示图象数据的比特数不断增加。随着PICNIC(SAA4978)的引入,在现有的8-比特取样之后引入了9-比特取样。为了与只有8比特的其它ASIC兼容且不完全丢失额外的LSB,实际上编码和恢复第9比特的专用抖动和专用去抖动功能得到了发展。
除了标准视频之外,还有源自PC的图象数据归入了具有其VGA标准的图象。引入(接着8-和9-比特格式)源自分别由5、6和5比特表示R、G和B的所谓16-比特高彩色模式的5-和6-比特格式。另外,VGA标准也熟识抖动操作。
根据本发明的方法和设备可在所有这些不同数据尺寸之间进行连系。它只要以一些参数进行略微的编程即可。如果基本数据尺寸是N,则可输出N-1至N+x的数据尺寸。在一个最佳实施例中,为了适应8到9,5到8、6到8或9到8比特数据尺寸,应用目标是以x=3来实施该方法或设备。这将涵盖目前流行的所有数据尺寸。所有这些都可利用基于本发明的一个功能来执行。
较小的数据尺寸被限制为N-1,因为只有1LSB才能被适当地编码为其左相邻位。如果希望更多地减小数据尺寸,则最好就在使用本方法之前应用普通的舍入。例如(从10到8);首先从10舍入9比特,随后使用本方法从9到8比特。
本发明方法的抖动模式的目标是使数据流中的像素的最低有效比特只在水平方向上在均匀且恒定图象部分上反转。以此方式,在像素的边缘不会出现失真。抖动操作引起数据流的像素值中的特定图形,并且此特定图形可被识别为允许原始信号的恢复,即去抖动操作。
在一个实施例中,仅超出量化电平一个比特的像素值通过在减少每个像素的比特数之后对最低有效比特进行像素频率反转来表示。为了识别通过这个抖动操作产生的图形,诸如数据流中的三个连续像素的三个像素值需要比较。
本方法的去抖动模式把若干比特加入数据流的每个数据字中,以便在应用抖动之前把每个数据字的比特数恢复为原来的数目。为此,通过比较三个连续像素的相应值来搜索数据流中由抖动操作引起的特定图形。当发现这种图形时,当前像素值被恢复为抖动之前的原始像素值。
首先,参考图1将描述根据本发明的方法的去抖动模式,图1表示去抖动模式的流程图。
该方法开始于去抖动模式中的初始化块10,它初始化要进行比较的三个像素值中的两个像素值。在所示实施例中,两个像素是诸如形成数字TV数据流的串行数据流中的当前和之后像素。在块11中,第三像素值被初始化,它在去抖动模式的情况下是数据流中的之前像素。
在块12中,变量TmpPx在左移G比特且右移一比特之后获得当前像素的值,其中G为移位值。由此产生的像素TmpPx因而具有比当前像素大G-1的比特数。
在以下的块中,三个像素值(之前,当前,之后)彼此比较以确定抖动模式是否存在于数据流的该部分中。
在块14、16中,之前像素值和当前像素值的第一差值、之后像素值和当前像素值的第二差值分别与比较值S相比较。当第一差值和第二差值均等于比较值S时,在块18把偏移值D加入变量TmpPx中。
在块20、22中计算第一和第二差值的负等效值。当前像素值和之前像素值的第三差值、当前像素值和之后像素值的第四差值分别与比较值S相比较。当第三差值和第四差值均等于比较值S时,在块24中把偏移值D从变量TmpPx中减去。
通过适当地选择比较值S、参数移位值G和偏移值D,可实现该方法的适当功能的去抖动模式。数据流中的像素抖动的目标在于只超出量化电平一比特的值可通过对像素的最低有效比特进行像素频率棋盘格化来表示(或者反转串行数据流中的随后像素)。原始数据流则可通过比较随后像素与比较值S来恢复,比较值S在去抖动模式中应当取为‘1’。
如果之前和之后像素均恰比当前像素大1,则在将其左移一比特之后,+1的偏移应当加到当前像素中,即G=2且D=1。这在两个所述像素均比当前像素小1时也能以-1的偏移来进行。
当输出像素大了2比特时,则左移2个比特并且使用+2和-2的偏移,即G=3且D=2。
当输出像素大了3比特时,则左移3个比特并且使用+4和-4的偏移,即G=4且D=4。
对于透明的情况来说(每个像素的比特数没有变化),则不必向左移动并且偏移应当被设置为0,即G=1且D=0。在这种情况下比较值S并不重要。
作为最终操作,本实施例的去抖动模式的输出通过在块26对变量TmpPx执行削波(clipping)操作来确定,以便限制最大和最小值之间的输出值。
参考图2的流程图将讨论根据本实施例的方法的抖动模式。本发明方法的抖动模式的目标是使数据流中的像素的最低有效比特只在水平方向上在均匀且稳定的图象部分上反转。利用这种方式不会在像素的边缘出现失真。
抖动模式中的方法也开始于初始化块10,它初始化要进行比较的三个像素值中的两个。在所示实施例中,之后和当前像素类似于块10的去抖动模式进行初始化,即通过数据流输入。但是,之前像素在块28中通过一个返回环路使用之前时钟步骤的输出像素而初始化。在块28中,对输出像素执行操作以将其恢复为输入数据流的输入格式,即在抖动操作之前,但仅仅在原始输入像素具有奇数值时。这在块28中得以实现,其中输出像素首先左移一比特并在随后右移G比特,G是移位值。在抖动模式的情况下,G应当等于0,以便有效地使输出像素左移一比特,或者每个像素的比特数均加一。此后,增加值‘1’,这样只有未进行抖动的奇像素值被准确恢复。如果之前像素被抖动或抖动的区域为偶像素值,则恢复的之前像素将不会匹配。
在下一个步骤(块12,与图1的流程图具有相同标号,其功能也相同),当前像素左移G比特且右移一比特。在抖动模式的情况下,移位值G被设置为0值,从而使当前像素右移一比特,从而有效地把每个像素的比特数减少一。
抖动偶数值并不是所需的,因为它能够以少一个比特来准确表示。当且仅当之前像素未被抖动时,抖动奇数值是所希望的。这可通过判定块14、16和块18(也具有与图1的去抖动模式相同的标号)来实现。
在块14、16中,之前像素值和当前像素值的第一差值、之后像素值和当前像素值的第二差值再次分别与比较值S相比较。当第一差值和第二差值均等于比较值S时,在块18把偏移值D加入变量TmpPx中。但是,在抖动模式的情况下,比较值S被设置为`0`,目的是检测恒定且均匀的像素序列。
而且,在所示实施例中,本实施例的抖动模式的输出通过在块26中对变量TmpPx执行削波操作来确定,为的是限制最小和最大值之间的输出值。
从图1和2可以看出,通过使用有限的参数(移位值G、偏移值D和比较值S),用在去抖动模式的流程图中的大部分块(块10、12、14、16、18和26)也可用在抖动模式的流程图中。这将允许针对基于本发明的方法的软件实施方案的非常有效的编程,从而允许去抖动操作模式和抖动操作模式。
在一个优选实施例中,流程图包括如图2所示的两个附加块,以便能够使用相位控制以确保表示诸如隔行电视图象的二维图象的抖动数据流中的棋盘格图形。在块28和判定块14之间存在附加块30,用以确定相位控制信号。在判定块16之后和块18之前是附加判定块32。这些附加块30和32用于在数据流表示二维图象时确保输出数据流中的棋盘格图形。
附加块30确定要在附加判定块32中使用的相位控制信号。相位控制信号可以是2比特信号,其最低有效比特用于停用附加判定块32,以允许抖动模式的‘自由运行’操作模式,其中抖动总是被应用到均匀且恒定的顺序像素。
把相位控制信号设置为‘0’或‘1’促使抖动图形为其相应的相位。相位控制信号将使判定块14和16的判定到达块18或否。如果判定奇像素值被拒绝抖动,则附加判定块32将确定抖动下一个像素。
尤其对于图形来说,相位加强(enforcement)从视觉上隐藏了抖动图形。对于逐行扫描图象来说,相位控制信号应当改变行频。对于隔行图象来说,相位控制信号应当改变场频。图象内容中的水平细节和边缘通过抖动功能将不会失真,因为其无疑是局部自适应的。
上述方法可在软件中容易地实施,其一个实施例遵循熟知的C程序设计语言。
<pre listing-type="program-listing">#include ″types.h″#define UNDITHER 0#define DITHER 1void Viper(line In,aperture*ap,vipar*vp,line Out){looper px;short prev,curr,succ;/*pixelbuffers*/short TmpPx;int G,S,D,P,MX,MN;/*controls*/char chessbrd;/*forces phase of dither on chessboard*/G=vp->growth
;S=vp->search
;D=vp->delta
;<!-- SIPO <DP n="8"> --><dp n="d8"/>P=vp->phase;MX=vp->maxout
;MN=vp->minout
;for(px=0;px<ap->nrpx;px++){ if(vp->mode
==0)prev=(px-1<0)?(0)(In[px-1]); elseprev=(px-1<0)?(0)(TmpPx<<1>>G)+1; curr= (In[px]); succ=(px+1>=ap->nrpx)?(0)(In[px+1]); TmpPx=(In[px]<<G>>1);chessbrd=(vp->phase>=2)?(1)(vp->phase^(px%2));if(((prev-curr)==S)&amp;&amp;((succ-curr)==S)) if(chessbrd‖vp->mode
==UNDITHER)TmpPx+=D;if(((curr-prev)==S)&amp;&amp;((curr-succ)==S)&amp;&amp;(vp->mode
==UNDITHER)) TmpPx-=D;Out[px]=CLIP(MN,TmpPx,MX); }}</pre>根据本发明,用于抖动和去抖动的方法可有益地在包括诸如数字电路的硬件中实施。如图3所示,该数字电路包括缓冲器、加法器、比较器和多路复用器和若干其它逻辑元件。在图3中,一些信号以后缀指示,该后缀表示信号的比特数。
该设备的操作通过有限的参数来控制。一比特‘模式’信号表示是使用抖动功能(模式=‘1’)还是去抖动功能(模式=‘0’)。数字电路的路由选择通过第一多路复用器80、第一反相器91、三门“或”门93、第二反相器97和“与”门95和98而由模式信号控制。
另外,三个参数如上所述来使用,它们包括移位值G(比特形式)、比较值S和偏移值D。
参考图3将首先讨论用于去抖动功能的元件。该数字电路包括第一缓冲元件50,用于存储数据流的之后像素(succ);第二缓冲元件51,用于存储数据流的当前像素(curr)和第三缓冲元件52,用于存储数据流的之前像素(prev)。
第一缓冲器50的输出连接第二缓冲器51、第一加法元件或加法器60的正输入和第三加法器62的负输入。第二缓冲器51的输出连接第一加法器60的负输入、第二加法器61的负输入、第三加法器62的正输入和第四加法器63的正输入。另外,第二缓冲器的输出连接第一移位元件40和第一多路复用器80的第一输入。第一多路复用器80的输出连接第三缓冲器52的输入。多路复用器80在模式信号等于`0`(去抖动功能)时用以将其输出连接第一输入,从而有效地将第二缓冲器51的输出与第三缓冲器52的输入连接。第三缓冲器52的输出连接第二加法器61的正输入和第四加法器63的负输入。
第一加法器60输出之后像素值减当前像素值的第一差值并且第二加法器61输出之前像素值减当前像素值的第二差值。第一比较器70连接第一加法器60的输出并比较第一差值和比较值S。同样,第二比较器71与第二加法器61的输出连接并比较第二差值与比较值S。第一和第二比较器70、71的结果通过“与”门94组合。
第三加法器62输出当前像素值减之后像素值的第三差值并且第四加法器63输出当前像素值减之前像素值的第四差值。第三和第四差值因而分别是第一和第二差值的负值。第三比较器72连接第三加法器62的输出并比较第三差值和比较值S。同样,第四比较器73与第四加法器63的输出连接并比较第四差值与比较值S。第三和第四比较器72、73的结果通过“与”门96组合。
“与”门94的输出经“与”门95(随后讨论)连接第二多路复用器81的控制输入。具有值`0`的信号和具有三比特值D的信号被提供给第二多路复用器81的输入。第二多路复用器81以下面的方式配置,即当第一比较器70或第二比较器71提供负结果时,第二多路复用器81的输出表示值`0`,且当第一比较器70和第二比较器71均提供正结果时则表示值D。
同样,“与”门96的输出经“与”门98(随后进行讨论)连接第三多路复用器82的控制输入。具有值`0`的信号和具有值D的信号也被提供给第三多路复用器82的输入。第三多路复用器82以下面的方式配置,即当第三比较器72或第四比较器73提供负结果时,第三多路复用器82的输出表示值`0`,且当第三比较器72和第四比较器73均提供正结果时则表示值D。
第二缓冲器51的当前像素值提供给第一移位元件40的输入,第一移位元件执行G比特的左移和一比特的右移。当前像素因而增加了G-1比特。移位元件40的输出连接第五加法器64。第五加法器的输出连接第六加法器65的输入。
根据第一、第二、第三和第四比较器70..73的结果,在第一移位元件40的输出端,值D、0或-D被加到当前像素值上。
在一个实施例中,第六加法器65的输出连接削波元件99,削波元件99把输出信号限制为最小和最大值之间的值。
对于去抖动功能来说,该设备使用等于`1`的比较值S。如果之前和之后像素的值均恰恰比当前像素值大1,则+1的偏移值应当加到使其左移一比特的当前像素中。这在两个所述像素值均比当前像素值小1时也能以-1的偏移值来进行。这通过把偏移值D设置为1且移位值G设置为2来实现。当输出大了2比特时,移位值G被设置为3且偏移值D被设置为2。当输出大了3个比特时,移位值G被设置为4且偏移值被设置为4。
在去抖动模式中,也可以象所谓的透明模式一样传送数据,从而保持每个像素的比特数不变。在这种情况下,移位值G被设置为1,以便有效地在第一移位元件40中不产生移位,并且偏移值D被设置为0。比较值S在这种情况下并不重要。
对于基于本发明的设备的抖动功能来说,所使用的大部分元件也用于去抖动功能。
在这种情况下,数字电路中的信号的路由选择通过模式信号和第一多路复用器80、反相元件93、97和“与”门95和98来改变。
当以抖动模式操作时,模式信号设置为1,从而有效地使第一多路复用器80转换和利用返回环路。其输出连接“与”门98的另一个输入的反相器97有效地使数字电路的一少半,包括第三和第四加法器62、63,第三和第四比较器72、73和“与”门96不起作用。模式信号也提供给反相器91,其输出连接“或”门93的输入。在抖动模式中(模式信号`1`),反相器91的输出将较低,从而有效地使“或”门93的输出依据其另两个输入而定。
返回环路把输出信号(与在削波元件99的输入端呈现的相同)提供给第二移位元件41的输入,第二移位元件41把信号左移一个比特,并将其右移G比特并增加值1。有效地是,第二移位元件准确且只恢复未进行抖动的当前像素的原始奇数值。如果之前像素被抖动或者抖动的区域为偶像素值,则恢复的之前像素将不会匹配。抖动当前像素的偶数值并不是所需的,因为正如第一移位元件40所实现的,它能够以少一比特来准确表示。只有当之前像素未被抖动时,抖动奇数值才是所需的,这通过第一和第二比较器70、71确立。
利用移位、偏移和比较值的正确设置,此返回环路无疑将使输出的LSB只在水平方向上在奇数、均匀且恒定的图象部分上反转。
在图3所示的优选实施例中,数字电路还包括相位控制块,它包括负反馈耦合D-触发器90,被配置为除2除法器,其输出连接EXOR(异或)门92的输入之一。
相位控制块在数据流表示诸如电视或VGA图象的图象时可用于保证棋盘格图形。相位控制块由两比特相位信号(相位)控制,其最高有效比特提供给了3-端口“或”门93的输入,且最低有效比特提供给了EXOR(异或)门92的输入。通过向“与”门95的输入端提供高信号,只根据图象的内容,把相位信号设置为‘2’或‘3’(最高有效比特=1)就可停用相位强制,且使抖动图形自由运行。
把相位信号设置为‘0’或‘1’促使抖动图形为其相应的相位。负反馈耦合D-触发器90起到具有因数为2的时钟除法器的作用。因而产生像素频率反转信号。通过视频信号的行脉冲重置D-触发器90确保了信号总是与图象具有相同的相位。异或-门92作为使能的反相器进行操作。根据相位信号的最低有效比特,它将使像素频率信号反相。相位信号的最高有效比特是`0`,因而(反相的)像素频率信号将允许或拒绝(通过“与”-门95)比较器70、71的结果至第二多路复用器81的控制输入端以抖动当前像素。如果奇数像素被拒绝抖动,则比较器将确定再次抖动下一个像素。此时,像素频率反转信号已被反转且同意比较器的决定。结果,抖动图形被锁定在反转信号。像素频率反转信号可由相位信号影响以得到棋盘格图形。
上述数字电路可在ASIC中实现,以提供用于抖动/去抖动应用的多用集成电路,其中只需要使用少量参数就可控制ASIC的详细功能,即9到8比特抖动或5到8,6到8或8到9比特去抖动。
特别是在数据流表示图形图象的情况下,相位强制从视觉上隐藏了抖动图形。对于逐行扫描图象来说(如VGA计算机图象),相位信号应当改变行频。对于隔行图象来说(例如电视图象),该相位应当改变场频。图象内容中的水平细节和边缘通过抖动功能将不会失真,因为抖动功能无疑是局部自适应的。
本专业技术人员将会清楚,根据本发明的方法和设备将会有很多改进和变化。所述的实施例仅仅表示本发明的例子,本发明的范围由所附的权利要求来确定。
权利要求
1.一种用于抖动和去抖动数据流中的数据字的方法,包括处理数据流中的第一数据字以获得输出数据字的步骤计算(14)第二数据字减第一数据字的第一差值;计算(16)第三数据字减第一数据字的第二差值;把第一差值和第二差值与比较值S相比较(14,16);以第一比特数左移(12)第一数据字,该第一比特数等于移位值G减一;和只在第一差值和第二差值均等于比较值S时才把偏移值D加入(18)第一数据字中。
2.根据权利要求1的方法,其中移位值G等于或大于一,比较值S等于一,并且该方法还包括步骤当第一差值和第二差值均等于负比较值S时从第一数据字中减去(24)偏移值D。
3.根据权利要求2的方法,其中偏移值D最好选为等于2G-1。
4.根据权利要求2或3的方法,其中第一数据字是数据流中的当前数据字;第二数据字是数据流中的之前数据字;第三数据字是数据流中的之后数据字。
5.根据权利要求1的方法,其中比较值S等于零,移位值G等于零,偏移值D等于一,并且在以第一比特数执行(28)右移操作且增加值一的加法操作之后,第二数据字等于输出数据字。
6.根据权利要求5的方法,其中第一数据字是数据流中的当前数据字且第三数据字是数据流中的之后数据字。
7.根据权利要求5或6的方法,其中数据流表示以多行数据字形成的二维图象,并且在第一差值和第二差值均等于比较值时把偏移值D加入第一数据字的步骤与多行数据字的第一行的像素频率反转信号同相应用并与多行数据字的第二行的像素频率反转信号异相应用。
8.根据前述权利要求之一的方法,其中第二数据字的输出值被限制在最小值和最大值之间。
9.包括代码的计算机程序,在将其下载到计算机系统之后,它能够使计算机系统执行根据权利要求1至8之一的方法。
10.一种用于抖动和去抖动数据流中的数据字的设备,该设备用以处理数据流中的第一数据字以获得输出数据字,该设备包括第一(50)、第二(51)和第三(52)缓冲器,分别用于存储第一、第二和第三数据字;连接第一和第二缓冲器(51,50)的第一计算装置(60),用于计算第二数据字减第一数据字的第一差值;与第一和第三缓冲器(51,52)连接的第二计算装置(61),用于计算第三数据字减第一数据字的第二差值;与第一和第二计算装置均连接的第一比较装置(70,71),用于把第一差值和第二差值与比较值S相比较;和第一移位装置(40),用于以第一比特数左移第一数据字,该第一比特数等于移位值G减一;第一加法装置(64),用于把偏移值D加入第一数据字中;第一加法装置(64),只在第一差值和第二差值均等于比较值S时才可操作。
11.根据权利要求10的设备,还包括第二加法装置(65),用于在第一差值和第二差值均等于负比较值S时从第一数据字中减去偏移值D。
12.根据权利要求10的设备,还包括环回装置(41,80),用于在以第一比特数执行右移操作及增加一的加法操作之后把输出数据字耦合回到第三缓冲器(52)。
13.根据权利要求12的设备,还包括相位控制装置(90,92,93),用于提供像素频率反转信号以便以下面的方式控制第一加法装置(64),即当数据流表示以多行数据字形成的二维图象时,与多行数据字的第一行的像素频率反转信号同相且与多行数据字的第二行的像素频率反转信号异相来使能第一加法装置(64)。
全文摘要
用于抖动和去抖动数据流中的数据字的方法和设备。该方法包括处理数据流中的数据字以获得输出数据字的步骤:计算(14)第一差值;计算(16)第二差值;把第一差值和第二差值与比较值S相比较(14,16);以第一比特数左移(12)第一数据字,该第一比特数等于移位值G减一;并且只在第一差值和第二差值均等于比较值S时才把偏移值D加入(18)第一数据字中。该设备包括用到执行本方法步骤的元件。本方法和设备允许使用通用的步骤、相应的元件来执行抖动及去抖动操作。
文档编号H04N1/405GK1344471SQ00805316
公开日2002年4月10日 申请日期2000年10月30日 优先权日1999年11月22日
发明者P·G·梅维森 申请人:皇家菲利浦电子有限公司