CN101742087A - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN101742087A CN101742087A CN200910209869A CN200910209869A CN101742087A CN 101742087 A CN101742087 A CN 101742087A CN 200910209869 A CN200910209869 A CN 200910209869A CN 200910209869 A CN200910209869 A CN 200910209869A CN 101742087 A CN101742087 A CN 101742087A
- Authority
- CN
- China
- Prior art keywords
- output
- pixel
- sample value
- value
- filter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title description 7
- 238000000034 method Methods 0.000 claims abstract description 58
- 238000001514 detection method Methods 0.000 claims description 23
- 238000013459 approach Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 13
- 230000003121 nonmonotonic effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
一种数据处理方法。该方法包括将滤波器应用于包括选自输入样本值的输入序列的样本值的输入样本集,以便生成相应的输出样本值,其中该输出样本值具有关于输入样本集的输出样本值位置,其中,该滤波器具有最大输出范围。该方法还包括从输入样本集中环绕输出样本值位置的两个或者更多个输入样本值的输入组得出允许的输出值范围,检测滤波器的输出是否超出允许的输出值范围,如果是,则限制滤波器的输出使之处于允许的输出值范围内。
Description
技术领域
本发明涉及数据处理方法及装置。
背景技术
进来,诸如液晶显示器(LCD)的数字显示屏日益流行用于观看广播媒体内容,例如电视节目和电影。另外,此类显示器也可以用来观看存储于诸如DVD-ROM或盘的存储介质上的、预先录制的媒体内容。典型地,数字显示器使用逐行扫描方法显示图像,其中,图像像素扫描行被顺序地显示在屏幕上。
然而,广播媒体内容一般以隔行扫描格式广播以显示于诸如阴极射线管(Cathode Ray Tube,CRT)显示器的模拟显示器上。模拟显示器一般使用隔行扫描方法,其中,图像像素的奇数行和偶数行被连续地显示。
为了在诸如LCD的数字显示器上显示媒体内容,隔行扫描的媒体内容需要被内插,从而生成内插的像素以分别显示在奇数行和偶数行之间。另外,当媒体内容具有与将要在其上显示该内容的显示器不同的分辨率时,则需要进行图像内插,以便生成比例图像(scaled image)。
例如,当以标准清晰度(SD)广播电视节目并将在高清晰度(HD)显示器上显示该电视节目时,在标准清晰度电视节目的输入像素之间进行图像内插,从而生成以高清晰度格式显示的输出像素。可替代地,当将要显示的内容具有比将要在其上显示该内容的显示器更高的分辨率时,进行像素抽取(decimation),以便压缩图像,从而以较低分辨率显示。
存在多种公知的实现图像内插的方法。然而,当使用公知的内插方法时,某些类型的图像可能导致图像伪影的产生。一种该类型的图像是包括像素值中的非连续性的图像。例如,非连续性可能存在于从黑像素到白像素的突然转变的地方。
在公知的图像内插方法中,双立方滤波器(bi-cubic filter)被应用于输入像素,以便生成内插的像素。然而,由于双立方滤波器执行抽取操作而不是过滤操作,故双立方滤波器不适合用于执行图像缩放(imagescaling)操作,特别是压缩操作。这可以通过使用正弦滤波器(sinc filter)生成内插的像素而被解决,使得图像压缩和放大操作均能够被执行。
然而,在一些情况下,正弦滤波器的使用可能会导致被称之为振铃(ringing)的图像伪影在输出图像中变得明显。振铃一般发生在图像中存在非连续性的地方,诸如对应于目标边沿的地方。正弦滤波器是慢衰减周期性滤波器,因此,当该滤波器应用于源像素时,滤波器特征可能在输出图像中变得可见。因此,振铃可以在输出图像中显示为非连续处附近的一系列周期性图像特征。将在后面更详细描述振铃的详细实例。尽管通过使用不同长度正弦滤波器或者窗口滤波器(windowed filter)可以弱化这个问题,但在输出图像中振铃可能仍然是明显的。
US-A-2005/0286804公开了一种图像内插方法,用于通过检测源像素中的频率并且当在源像素中检测到高频时执行滤波器输出的加权限幅(weighted clip)来减少当使用正弦滤波器产生内插的源像素时的振铃。然而,当压缩图像时,该系统不能较好工作,并可能仅在某些图像中减少振铃。
尽管正弦滤波器可以被用于执行图像缩放,使用正弦滤波器生成内插的像素可能导致在输出图像中出现振铃形式的图像伪影。
发明内容
本发明寻求减轻并缓和上述问题。
本发明的目的是提供一种改进的数据处理方法和装置。
在第一方面,提供了一种数据处理方法,该方法包括:将滤波器应用于包括选自输入样本值的输入序列的样本值的输入样本集,以生成对应的输出样本值,该输出样本值具有相关于输入样本值集的输出样本值位置,所述滤波器具有最大输出范围;从所述输入样本集中环绕所述输出样本值位置的两个或多个输入样本值的输入组得出允许的输出值范围;检测滤波器的输出是否超出所述允许的输出值范围,如果是,则将所述滤波器的输出限制在处于所述允许的输出值范围内。
在第二方面,提供了用于数据处理的装置,所述装置包括:滤波单元,用于将滤波器应用于包括选自输入样本值的输入序列的样本值的输入样本集,以生成对应的输出样本值,该输出样本值具有相关于所述输入样本集的输出样本值位置,所述滤波器具有最大输出范围;生成器(deriver),用于从所述输入样本集中环绕所述输出样本值位置的两个或多个输入样本值的输入组得出允许的输出值范围;检测器,用于检测所述滤波器的所述输出是否超出所述允许的输出值范围;以及限幅器,用于如果所述检测器检测到所述滤波器的所述输出超出所述允许的输出值范围,则将所述滤波器的所述输出限制在处于所述允许的输出值范围内。
通过从所述输入样本集中环绕所述输出样本值位置的两个或多个输入样本值的输入组得出允许的输出值范围并且如果检测器检测到所述滤波器的所述输出超出所述允许的输出值范围时将所述滤波器的输出限制在处于所述允许的输出值范围内,可以在不需要使用较大的处理资源的情况下,以极好的方式、有利地减少输出图像中的振铃形式的图像伪影。
本发明的其他各个方面和特征在所附权利要求中被定义。
附图说明
通过以下结合附图阅读的详细描述的示例性实施方式,本发明的上述及其它目的、特征和优点将变得清晰,其中:
图1是当正弦滤波器被应用于包括脉冲的输入像素序列时,输出像素序列中的振铃的示意图;
图2是根据本发明实施方式的可以从其中得出允许的输出值范围的源像素示意图;
图3是显示了根据本发明实施方式的数据处理方法的流程图;
图4是根据本发明实施方式的得出允许的输出范围值的方法的流程图;
图5是根据本发明实施方式的与呈现出大于非线性阈值量的非线性度的源像素相关的内插的像素的示意图;
图6是根据本发明实施方式的与呈现出大于非线性阈值量的非线性度的源像素相关的内插的像素值的示意图;
图7是根据本发明实施方式的与呈现出小于非线性阈值量的非线性度的源像素相关的内插的像素的示意图;
图8是根据本发明实施方式的用于数据处理的装置的示意图;
图9是根据本发明实施方式的与环绕内插的像素且呈现出大于非线性阈值量的非线性度的源像素相关的内插的像素的示意图;
图10是显示了根据本发明实施方式的执行邻域检查(neighbourhoodcheck)的方法的流程图;
图11A、11B、11C和11D是根据本发明实施方式的指示环绕内插的像素的像素的像素值是否已被限制在处于允许的输出值范围内的示意图;
图12是根据本发明实施方式的用于环绕内插的像素的像素的已计算的α值的示意图;
图13是根据本发明实施方式的用于环绕内插的像素的像素的已计算的α值的示意图,其中中心α值已经被限制;以及
图14是根据本发明实施方式在图像边缘的像素的示意图,其中相邻像素值已经被用于边缘像素。
具体实施方式
尽管此处结合相关附图详细描述了本发明的示例性实施方式,应该理解,本发明不限于这些确切的实施方式,并且本领域技术人员在没有脱离所附权利要求所限定的发明的范围和精神实质的情况下,可以实现各种改变和修改。
一种数据处理方法和装置被公开。在随后的描述中,为提供对本发明实施方式的全面理解,提供了许多具体细节。然而,对本领域技术人员来说不需要使用这些具体细节来实施本发明是显而易见的。相反地,为了清楚地显示实施方式的目的,本领域技术人员所公知的具体细节被省略。
现在将参考图1而描述振铃的实例。图1显示了十一抽头(tap)、数字正弦滤波器特征10,其已经被应用于多个源像素(source pixel)15,所述多个源像素15具有以8位形式来表示的在0-255范围内的像素值。在图1所示的实例中,具有像素值为0的源像素显示为白色,同时,源像素16具有像素值255并且被涂覆为黑色。应该理解,在图1所示的实例中,白色取值为255、黑色取值为0的通常惯例被反置,以便提高附图的清晰度。滤波器特征10已经被应用于源像素15以生成输出像素20。在图1所示的实例中,对每个源像素生成4个输出像素。换句话说,源像素15被放大4倍以生成输出像素20。
应该理解,可以使用其它合适的像素值范围来表示像素值,诸如像素值范围的16位或者32位表示。另外,应该理解,像素值不必限于单色的颜色空间,而是,每个源像素和输出像素可以被表示在合适的颜色空间内,诸如RGB(红绿蓝)、CMYK(青品红黄黑,Cyan Magenta YellowBlack)、YCbCr(分量视频,component video)、HSV(色度饱和度纯度,Hue Saturation Value)等。
为生成每个输出像素,在圆点18a-18g指示出的每个抽头位置处每个源像素的源值乘以滤波器的滤波器系数。随后,将所得乘积相加在一起,以在滤波器特征10的中心位置25处产生输出像素值。对每个输出像素位置,重复进行此过程。为了理解附图的目的,应该理解,从图1的右边,省略了3个抽头。换句话说,如上所述,图1所示的滤波器特征10包括十一个抽头,并且关于滤波器特征10的中心位置25对称。应当理解,图1中未示出的抽头对应于抽头18a、18b和18c,并与其关于中心位置25对称。另外,应该理解,尽管所示为十一抽头正弦滤波器,也可以使用任何其它合适数目的抽头。
然而,在某些滤波器位置,其中中心位置25位于两个具有0值的源像素之间,滤波器的输出可以为非零。如果在对应于具有非零像素值的源像素(例如源像素16)的位置处存在非零滤波器系数,将会发生滤波器的非零输出。例如,输出像素30、32和34应当具有零像素值,以便它们显得与周围的源像素相似,诸如源像素36和38。然而,由于源像素16的像素值被乘以非零滤波器抽头值,因此在对乘积求和中存在非零乘积,输出像素30、32和34具有非零像素值并显示灰色。因此,可以看到,滤波器特征在输出像素20中变得明显。滤波器特征在输出像素20中的表现是振铃的一个实例。
为解决该问题,本发明的实施例将滤波器输出限制在允许的输出值范围内。参考图2,允许的输出值范围被示出。
图2显示了相对于源像素15配置的滤波器特征10。滤波器特征10包括主瓣(central lobe)50(斜纹影),其被关于中心位置25的滤波器系数的包络线和X轴所限定。允许的输出值范围包括最大值MAX_VAL和最小值MIN_VAL,所述MAX_VAL定义了允许的输出值范围的上限,所述MIN_VAL定义了允许的输出值范围的下限。优选地,允许的输出值范围的最大和最小值从对应于在滤波器特征10的主瓣50内的位置的源像素得出。在图2所示的实施方式中,源像素52、54和56被主瓣50覆盖。因此,源像素52、54和56形成源像素输入组,其环绕对应于滤波器特征10的中心位置25的输出像素位置。
在实施方式中,检测主瓣范围内的、被认为为一组的源像素52、54和56的最大和最小像素值,以便得出源像素值范围。随后,允许的输出值范围被设置以与源像素值范围相对应。
为减少或者抑制输出图像中的振铃,本发明的实施方式检测滤波器的输出是否超出允许的输出值范围。如果检测到超出允许的输出值范围,则随后将滤波器的输出限制在处于允许的输出值范围内。换句话说,滤波器的输出被限制在位于范围MIN_VAL≤输出≤MAX_VAL内。在特定实例中,如果滤波器的输出大于MAX_VAL,其可以被设置为等于MAX_VAL。相似地,在实例中,如果滤波器的输出小于MIN_VAL,其可以被设置为等于MIN_VAL。这有利于减少内插的输出像素具有超出在主瓣25中的源像素的像素值的像素值的可能性。因此,通常内插的输出像素的像素值更可能与接近输出像素的源像素的像素值相一致。尽管图2示出了3个像素的测试组,应该理解理解,任何2个或更多源像素的输入组可以被用于得出允许的输出值范围。
现在将参考图3的流程图描述实现本发明的实施方式的方法。
在步骤S100,将源像素输入到滤波器,作为输入样本值的输入序列。如上所述,在源像素位置处,源像素乘以相应的滤波器抽头值,并将结果值相加在一起以便生成输出像素值。在正弦滤波器的情况下,在对应于滤波器的中心位置25的位置处生成输出像素值。然后,在步骤S110,从环绕输出像素位置的源像素得出允许的输出值范围。返回参考图2,可以看到,源像素52、54和56环绕滤波器特征10的中心位置25,从而环绕输出像素的输出位置。然而,应该理解,在本实例中,术语“环绕(surround)”是指其位置对应于主瓣50的源像素、而不必是仅指那些相邻于输出像素位置的源像素。
在步骤S120,检测滤波器的输出是否超出允许的输出值范围。如果滤波器的输出处在允许的输出值范围内,则随后,在步骤S130,通过将在源像素位置处的滤波器系数和在源像素位置处的源像素的像素值的乘积进行求和而相应地生成输出像素。滤波器的输出处于允许的输出值范围内的情况的实例是:当滤波器的中心位置25对应于图1所示的源像素的时候。
然而,如果在步骤S120检测到滤波器的输出位于允许的输出值范围之外,则在步骤S140,滤波器的输出被设置为处于允许的输出值范围内。然后,在如上所述的步骤S130中相应地生成输出像素。
参考图1所示的实例,当滤波器特征10的中心位置25对应于输出像素32的输出像素位置时,将可能发生像素在允许的输出值范围之外的情况。在此情况下,源像素36和38对应于滤波器特征10的主瓣50内的位置。然而,源像素36和38具有零像素值,并且因此MIN_VAL和MAX_VAL都被设置为零。然后,滤波器的输出被限制而处于该范围内,即滤波器的输出被设置为零。因此,输出像素32的输出像素将为零,并且在输出像素中的滤波器特征的出现将被减少,而不是输出像素32具有非零像素值,其在输出图像中会被看成振铃。
然而,在某些实施方式中,根据滤波器的最大输出范围,将允许的输出值范围设置为大于输入像素值范围是有利的。例如,当输入像素序列呈现大于非线性阈值量的像素值非线性度时,这种情况可能发生。通过允许内插的像素取输入像素值范围(如相关于滤波器特征10的主瓣50所限定的)之外的像素值,可以提高整体图像质量。在一些实施方式中,非线性阈值量是:如果像素值的非线性度大于非线性阈值量,则可以说输入像素序列呈现了像素值的非单调的变化。然而,应该理解,可以使用任何其它合适的非线性阈值量。这将在下面更详细的描述。
为了便于如此,本发明的实施方式检测选自于像素值输入组的源像素(这些源像素对应予滤波器特征10的主瓣50)测试组是否呈现大于非线性阈值量的像素值内的非线性度。然后,相应地设置允许的输出值范围。换句话说,根据滤波器的总的最大或最小输出值,输出像素可以被允许取大于在输入像素值范围内的像素值的像素值(过冲,overshoot)或小于在输入像素值范围内的像素值的像素值(下冲,undershoot)。滤波器的最大和最小输出值限定滤波器的最大输出范围(例如,8位系统示例中的0-255)。
在一个实施方式中,以对应于环绕滤波器特征10的中心点25的源像素的预定数目,从源像素输入组选择测试组。优选地,测试组包括3个源像素。在一个实施例中,测试组被选择以包括在输入样本值的输入序列中的两个在输出像素位置之前的源像素以及一个在输出像素位置之后的源像素。然而,应该理解,也可以选择在输入样本值的输入序列中的一个在输出像素位置之前的源像素以及两个在输出像素位置之后的源像素以组成测试组。另外,应该理解,可以使用用于选择合适大小的测试组的任何其它合适的方法。
参考图4至图6,将更详细描述如上所述的根据检测呈现比非线性阈值量更大的非线性度测试组而先前所得的允许的输出值范围的修改。
图4示出根据检测源像素测试组是否在像素值中呈现比非线性阈值量更大的非线性度而设置允许的输出值范围的方法的流程图(即,测试组在像素值中是否呈现明显的非线性度)。
在步骤S200,从以上所描述的源像素测试组中检测最大像素值和最小像素值。在源像素和输出像素具有像素值使得该像素在诸如RGB的颜色空间中被表示的情况下,对每个像素值分量(例如红、绿和蓝),检测最大和最小像素值。如上所述,源像素测试组包括选自于其位置对应于滤波器特征10的主瓣50的输入组的源像素。然后,输入像素值范围被限定在测试组中被检测到的最大和最小像素值之间。在存在几个像素值分量的情况下,诸如具有RGB颜色空间,每个分量将具有用于该分量的各自的输入像素值范围,该范围被定义在用于该颜色分量的测试组中检测到的最大和最小像素值之间。
在步骤S200,允许的输出值范围被设置为对应于输入样本值范围。然后根据在步骤S210和步骤S230关于测试组是否满足第一或第二预定条件的检测,在步骤S220或者步骤S240修改允许的输出值范围的MAX_VAL和MIN_VAL的限值。如果检测到测试组在像素值内呈现比非线性阈值量大的非线性度(即满足第一预定条件或者满度第二预定条件),则不修改所述允许的输出值范围。下面将对这些步骤作更详细的描述。
如果步骤S210和步骤S230中的任一个揭示源像素的测试组在像素值上呈现比非线性阈值量更大的非线性度,则本发明的实施方式允许根据滤波器的最大输出范围设置允许的输出值范围,使其大于源像素输出范围。如上所述,这可以提高输出图像可感知到的输出质量。例如,当输入图像包括周期性图像特征(例如相当于池塘上的波纹)时,将滤波器的输出限制在处于滤波器主瓣所定义的输入像素值范围内可能会导致源图像的一些细节在输出图像中变得模糊。因此,允许内插的像素值取在源像素输入范围之外的像素值可以防止这些细节被丢失或者退化。
为了将允许的输出值范围的MAX_VAL和MIN_VAL设置为合适的值,在步骤210,本发明的实施方式检测源像素测试组是否满足第一预定条件。在某些实施方式中,检测测试组的平均像素值是否明显小于最近的像素值,以便于检测在测试组中的像素值的非线性度。这里,“最近的(proximate)”像素值用来表示最接近于输出样本值位置的源像素的像素值。换句话说,如果测试组的平均像素值比最近的像素值小过冲(overshoot)阈值量(调整,adjustment),则可以认为测试组呈现出比非线性阈值量更大的非线性度,并且可以认为满足了第一预定条件。一般地,所述过冲阈值量使得像素值中的非单调的变化将对应于测试组的非线性度大于非线性阈值量的情形。然而,应该理解,所述过冲阈值量可以为任何合适的值。
当存在与输出样本值位置距离相等的两个源像素时,按照惯例选择最近的像素值,以对应于在输入样本值的输入序列中紧靠输出样本值位置之前的源像素。然而,应该理解,在输入样本值的输入序列中紧随输出样本值位置之后的源像素也可以被选择作为最近的像素,最近的像素值可以选自于在输入样本值的输入序列中的在源像素之前或之后的源像素的任意的选择,或者可以使用选择最近的像素值的其它任何合适的方法。
如上所述,在一个实施方式中,测试组包括三个源像素。这有利于减少处理资源,使其低于如果处理更多的源像素可能需要的资源,同时仍允许所述允许的输出值范围被设置为使得内插的像素可以取大于输入像素值范围的像素值,。当内插的像素与两个源像素等距、并且测试组包括三个源像素时,则从三个源像素的组中选择最近的像素值作为中心源像素。然而,应当理解,可以使用其它合适的选择最近的像素值的方法。
图5示出了测试组平均像素值小于最近的像素值的实例。
图5示出了源像素200、205和210以及内插的输出像素215。对应于输入样本值的序列的像素位置在X轴上标出,并且像素值在Y轴上标出。在图5所示实例中,可以看出,源像素200、205和210的像素值呈现非线性度,使得源像素的像素值在像素值内呈现非单调的变化,在本示意性实例中,其意味着非线性度大于阈值量。这里,检测的输入像素值范围在源像素200和源像素205的像素值之间。源像素的像素值在像素值内呈现非单调的变化,并且在本实例中假设源像素的非线性度大于阈值量。因此,内插的输出像素215允许取位于输入像素值范围之外的像素值。尽管内插的输出像素215与源像素205和210等距离,但是由于源像素205是该测试组的中央源像素,故最近的像素值被选择以对应于源像素205。
在一个实施方式中,在步骤S210,检测图6所示的实例中的源像素的像素值是否满足如下方程:
这里,a为源像素200的像素值,b为源像素205的像素值(最近的像素值),c为源像素210的像素值,其中,adjusment=q×range+p和range=Max(a,b,c)-Min (a,b,c)。换句话说,range的值被设置为对应于测试组中像素的绝对像素值范围。这里,q和p是正常数。在本发明的实施方式中,一般地,p被设置为200,q被设置为0。然而,应当理解,可以使用p和q任何的其它合适的值。
如果满足方程1,则随后,在步骤S220,修改步骤S200中所设置的MAX_VAL的值,以便对应于滤波器的最大输出像素值(即本实例中的255),同时不改变参考图3而在前面描述的在步骤S110所得的MIN_VAL值。这有利地允许内插的输出像素215的像素值取位于输入像素值范围之外的像素值。因此,输出内插的输出像素215的像素值,以便跟随如图5中的实线220所示的测试组中的像素值的趋向,或者跟随在输入图像中其它地方的像素值的趋向。
在可替代的实施例中,在步骤210检测测试组的平均像素值是否小于最近的像素值的步骤包括检测测试组中的像素值是否满足如下方程:
这里,a、b和c如之前的定义,i为在滤波器输出被限制之前的内插的输出像素215的像素值,r为正常数。一般地,r被设置为0.05,尽管应该理解,可以使用任何其它合适的正数。
现在返回至图4,如果在步骤210,检测到测试组的平均像素值没有比最近的像素值小过冲阈值量(即测试组不满足第一预定条件),则随后,在步骤230,检测测试组是否满足第二预定条件。在本发明的实施方式中,如果测试组的平均像素值比最近的像素值大下冲阈值量(“调整”,“adjustment”),则可以认为满足了第二预定条件。换句话说,如果测试组的平均像素值比最近的像素值大下冲阈值量,则可以认为测试组呈现出比非线性阈值量更大的非线性度(明显的非线性度),并且可以认为满足了第二预定条件。一般地,下冲阈值量使得像素值中的非单调的变化将对应于测试组的非线性度大于非线性阈值量的情况,尽管可以理解,可以使用任何其它合适的下冲阈值量。
在图6中,示出了测试组平均像素值大于最近的像素值的情况的实例。
图6示出了源像素300、305和310以及内插的输出像素315。这里,对应于输入样本值序列的像素位置在X轴上标出,并且像素值在Y轴上标出。在图6所示的实例中,选择最近的像素值,以便对应于源像素305的像素值。
在一个实施方式中,在步骤S230,检测源像素的像素值是否满足如下方程:
参考图6,a为源像素300的像素值,b为源像素305的像素值,c为源像素310的像素值。换句话说,a、b和c对应于例如在图5和图6中示出的测试组中的左、中、右源像素的像素值,其中,中心源像素是指被定义为具有最近的像素值的像素,并且左源像素和右源像素是指源像素值的输入序列中的分别在具有最近的像素值的源像素之前和之后的源像素。这里,以与前述方程1中同样的方式定义adjustment,尽管不需要求两个示例中的adjustment、或者q和p的具体值相同。
在可替代的实施方式中,检测源像素的像素值是否满足如下方程:
这里,r和i与如前述参考图5所定义的相同,i为内插的输出像素的像素值。
如果在步骤S230,检测到测试组的平均像素值比最近的像素值大下冲阈值量,则随后,在步骤S240,修改步骤S200所设置的允许的输出值范围的MIN_VAL,以便对应于滤波器的最小输出像素值(即当前实例中的0)。不改变如前述参考图3在步骤S110所得的MAX_VAL的值。
然而,如果在步骤S230,检测到测试组的平均像素值没有比最近的像素值大下冲阈值量(即不满足第二预定条件),则随后,在步骤S250,不修改允许的输出值范围,并且因此,所述允许的输出值范围对应于在步骤S200所设置的范围。换句话说,如果在步骤S210和S230所测试的条件一个都不满足,则假设测试组中的源像素序列呈现了小于非线性阈值量的非线性度。因此,步骤S210和S230一起构成了关于测试组中的源像素序列是否呈现大于非线性阈值量的非线性度的测试。
应该理解,并不需要按照以上所描述的顺序执行步骤S210和步骤S230,并且可以在步骤S210之前执行步骤S230。在某些实施方式中,adjustment的值可以被设置为0(在两个测试中的任一个或者在两个测试中)。
因此,为检测在测试组中的源像素序列是否呈现大于非线性阈值量的非线性度,在实施方式中检测测试组中的源像素是否满足第一预定条件或者第二预定条件。如果任一条件都不满足,则检测到测试组中的源像素序列呈现小于非线性阈值量的非线性度(非明显的非线性度)。在上述实施方式中,第一预定条件对应于前述方程1或者方程2所定义的条件,同时第二预定条件对应于前述方程3或方程4所定义的条件。
图7示出了没有呈现明显非线性度的像素的测试组的实例。
图7是内插的像素和具有小于非线性阈值量的非线性度的源像素的测试组的示意图。在图7所示的实例中,对应于输入像素值序列的像素位置在X轴上标出,并且像素值在Y轴上标出。
图7示出了源像素100、105和110以及内插的像素115,所述内插的像素115在滤波器特征10的中心位置25处被输出。可以看到,由于源像素100、105和110呈现像素值内的单调的增长,故源像素100、105和110并不呈现明显的非线性度。这里,源像素100将被检测作为最小源像素值,并且源像素110被检测作为最大源像素值。因此,由于测试组中的源像素因其呈现像素值内的单调的变化而不满足第一预定条件或者第二预定条件,故允许的输出值范围被设置为对应于最大源像素值和最小源像素值之间的范围。因此,在所示的实例中,内插的输出像素115具有位于允许的输出值范围内的像素值,并且从而实际上并不需要限制。
如上所述,源像素测试组优选地包括三个源像素。在该情况下,选择最近的像素值以对应于测试组中三个源像素序列中的中间(中心)源像素。然而,应该理解,所述测试组并不必须要包括三个源像素,并且可以包括从输入源像素集中选择出的两个或者更多的源像素。
现在参考图8,描述实现上述方法的装置。
图8是用于执行根据本发明的实施方式的如前述参考图1至图7所描述的数据处理的装置的示意图。该装置包括:滤波器500;允许的输出值范围生成器(POVR生成器)510;滤波器输出检测器520;以及滤波器输出限幅器530。
滤波器500用于从诸如交织的视频图像的图像源处接收源像素。在本发明的实施方式中,滤波器包括正弦滤波器,尽管应该理解,也可以使用其它合适的滤波器。滤波器500用于将内插的输出像素值540输出到滤波器输出检测器520和滤波器输出限幅器530。此外,滤波器500用于将滤波器数据550输出到POVR生成器510。所述滤波器数据包括参数,诸如相关于源像素的滤波器的位置、以及相关于源像素的与滤波器的包络线相关的数据。
POVR生成器510用于从源像素源和滤波器500所生成的滤波器数据550处接收源像素。在实施方式中,通过检测对应于由滤波器的包络线所定义的过滤波器的主瓣范围内的关于中心位置(即在环绕内插的输出像素位置的滤波器系数的包络线和X轴之间)的源像素的像素值,POVR生成器510生成允许的输出值范围。
在实施方式中,POVR生成器510也生成像素值的测试组。在该实施方式中,POVR生成器510参考前述图4和步骤S210、S230用于处理源像素,以便检测测试组是否呈现大于非线性阈值量的非线性度。换句话说,POVR生成器510用于检测测试组是否满足第一预定条件和第二预定条件,并相应地参考前述图4修改允许的输出值范围。
另外,POVR生成器510用于将允许的输出值范围作为允许的输出值范围数据560输出至滤波器输出检测器520和滤波器输出限幅器530。
然后,滤波器输出检测器520检测从滤波器500接收的内插的输出像素值540是否在允许的输出值范围之外。因此,滤波器输出检测器520执行内插的输出像素值540和从POVR生成器510所接收的允许的输出值范围数据560之间的比较,以便生成指示出滤波器的输出是否应该被限制在允许的输出值范围内的滤波器输出数据570。滤波器输出数据570被滤波器输出检测器520输出至滤波器输出限幅器530。
滤波器输出限幅器530用于根据滤波器输出数据570和允许的输出值范围数据560限制滤波器的输出。如果滤波器输出数据570指示出内插的输出像素值540在允许的输出值范围内,则内插的输出像素值被滤波器输出限幅器530作为输出像素输出。然而,如果滤波器输出数据570指示出内插的输出像素值540超出允许的输出值范围,则滤波器输出限幅器530限制内插的输出像素值540、以使其处于从POVR生成器510所接收的允许的输出值范围数据560所指示的允许的输出值范围内。滤波器输出限幅器530然后相应地生成输出像素。
如上所述,本发明的实施方式检测环绕输入像素的像素是否呈现大于非线性阈值量的非线性度、并相应地限制滤波器的输出。然而,在某些情况下,通过如上所述的限制滤波器的输出以使输出值位于源像素值范围内,会将图像伪影引入图像中。
例如,这可能会发生于如下情况:输入图像包括与水平线成小角度的三条平行线,其中,所述平行线以如下方式布置:即在一条较明的线的任一侧存在两条较暗的线。如果大的水平比例因子(scaling factor)被应用于该图像,则所述线将显示阶梯状的特征,使得较明的线和较暗的线的一些部分可能融合在一起。这意味着:由于呈现大于非线性阈值的非线性程度,一些测试像素的组将不满足两个预定条件的任一个,并且因此,输出值将被限制(限幅)在处于参考前述图2所述的主瓣50所定义的源像素值范围内。因此,在这些像素位置,由于较亮的线未必能正确地显示在两条较暗的线之间,故图像显示可能会不正确。
因此,本发明的实施方式通过将参考图4、图5和图6的前述测试应用到其它环绕内插的像素位置的像素,减少了此类图像伪影的发生。另外地,为解决该问题,本发明的实施方式对环绕测试中的像素的像素执行邻域检测,以尝试和确保内插的像素的内插的输出值与相邻像素相一致。这将在下面参考图9、图10、图11A-D、图12和图13而被更详细的描述。
图9是关于环绕内插的像素并呈现大于非线性阈值量的非线性度的源像素的内插的像素的示意图。具体地,图9示出了源像素600、605、610、615和620以及内插的像素625。
如前面参考图5的描述,如果满足方程1(或者可替代地,方程2),则MAX_VAL被修改以对应于滤波器的最大输出值(即本实例中的255)。在实施方式中,POVR生成器510用于检测对应于相邻于内插的像素位置的像素的滤波器系数(例如,与图9中的源像素615相关联的系数)是否在相关于与最近的像素(例如,图9中的源像素610)相关联的系数的预定系数阈值内。如果与相邻像素相关联的系数在预定系数阈值之内、并且执行了放大操作,则如下面所描述的,方程1(或者可替代地,方程2)也被应用于内插的像素的邻域中的源像素的像素值。一般地,预定系数阈值是与最近的像素相关联的的系数的90%,尽管应该理解,可以使用其它任何合适的值。
如上所述,在执行放大,以及检测内插的像素左边的两个源像素以及内插的像素右边的源像素(例如,环绕内插的像素625的源像素605、610和615)是否满足方程1的实施例中,如果与相邻的像素相关联的系数在关于与最近的像素相关联的系数的预定系数阈值内,则POVR生成器510也用于检测内插的像素左边的一个源像素的像素值和内插的像素右边的两个源像素的像素值(例如,环绕内插的像素625的源像素610、615和620)是否满足方程1。
例如,参考图9和前述方程1,a对应于源像素610的像素值,b对应于源像素615的像素值,c对应于源像素620的像素值。换句话说,在此情况下,取最近的像素值为对应于被测试的三个源像素的组的中心源像素的像素值。如果对源像素605、610和615的测试组或者源像素610、615和620的测试组的任一个满足方程1(或者可替代地,方程2),则MAX_VAL被修改为对应于滤波器的最大输出值(即本实例中的255)。
对同一源像素,关于方程3和方程4以相似的方式重复以上关于源像素和方程1及方程2的测试,,并且,如果满足方程3(或者可替代地,方程4),则相应地参考前面所描述的以及图6设置MIN_VAL。
在实施方式中,如果图像数据被缩放以使图像的大小在垂直或水平或者两个方向上被压缩,则内插的像素左边的三个源像素也被测试,以确认其是否满足方程1和3(或相应地方程2和4),并且相应地修改MAX_VAL和MIN_VAL。在图9所示的实例中,a取对应于源像素600的像素值的值,b取对应于源像素605的像素值的值,c取对应于源像素610的像素值的值。换句话说,POVR生成器510检测环绕内插的像素的源像素的多个测试组是否满足方程1和3(或者可替代地,方程2和4),并相应地修改允许的输出值范围。这里,应该理解,测试组环绕内插的像素,并且测试组中的源像素并不必须环绕内插的像素。
应该理解,上述测试可以应用于其它合适的源像素排列,诸如对应于内插的像素625的内插的像素位置在源像素610的左边,并具有相应地被安排的包括3个源像素的不同测试组的分组方式的排列。
除如上所述的检测是否满足参考图5和图6所描述的方程外,在某些实施方式中,在内插的输出像素值被限制位于允许的输出值范围内之后,滤波器输出被限制为滤波器500所生成的内插的输出像素值与内插的输出像素值的数值的混合(即内插值与MAX_VAL、MIN_VAL中适当一个的加权平均)。
在本发明实施方式中,环绕被测试的像素的像素使用邻域测试(以下作更详细的描述)而被测试,以判断输出像素值是否应该被混合,使得所产生的输出像素值与相邻的输出像素值相一致。因此,根据邻域测试的结果修改参考图3以及前面所描述的在步骤S130中所生成的输出样本值。一般地,使用包括被测试的像素的3×3像素邻域测试组,尽管应该理解,可以使用其它合适的邻域测试组排列。以下参考图10、图11A-D、图12和图13而更详细描述邻域测试。
在以下描述中,根据本发明的实施方式,为了易于理解邻域测试,提出以下值:
i -滤波器500所生成的内插的输出像素值;
MIN_VAL -如以上为被测试的像素所定义的;
MAX_VAL -如以上为被测试的像素所定义的;
ClippedValue(限幅值)-当限制(限幅)位于允许的输出值范围之内时的内插的输出像素值(即限制位于MIN_VAL和MAX_VAL之间的内插的输出像素值i)。
图10是展示了根据本发明的实施方式执行邻域测试的方法的流程图。
在步骤S300,作为前述步骤S130的结果所生成的图像中的每个输出样本值被检查,以检测内插的输出像素值是否位于以下范围:
MIN_VAL≤i≤MAX_VAL 方程5
用于被测试的像素的值(ClippedValue)被分配给具有指示出内插的输出像素值i是否满足方法5的标记(即ValueWasClipped)的像素。如果满足方程5,则ValueWasClipped设置为FALSE(0)。然而,如果不满足方程5,则ValueWasClipped设置为TRUE(1)
然后,在步骤S305,POVR生成器510与滤波器输出检测器520和滤波器输出限幅器530合作以累加在以被测试的像素为中心的3×3像素邻域中的ValueWasClipped为TURE的像素的数目。在图11A至图11D中示出了3×3像素邻域的实例。3×3像素邻域中具有ValueWasClipped=TRUE的像素的数目被称作ClippedCount。例如,如果3×3像素邻域中的每个像素具有ValueWasClipped=TRUE,则ClippedCount=9。ClippedCount值用于生成用于修改被测试的像素的输出样本值的混合值。这将在下面被详细的描述。
为提供以下描述的过程中的经验上的更好结果,有时理想地设置ClippedCount=0,即使3×3像素邻域中的某些像素具有ValueWasClipped=TURE。例如,如果被测试的像素是靠近其MAX_VAL和/或MIN_VAL已经被修改为对应于滤波器的最大输出范围的像素区域(即那些像素已经被允许振铃),则很有可能,被测试的像素的MAX_VAL和/或MIN_VAL也应该被设置为与滤波器的最大输出范围相一致(即允许振铃)。
图11A到图11D示出了3×3像素邻域的实例,其中即使3×3像素邻域包括几个ValueWasClipped=TURE的像素,ClippedCount被设置为0。例如,图11A示出了3×3像素(共9个像素)的邻域测试组700,其包括在邻域测试组中心的被测试的像素705。在图11A所示的实例中,ValueWasClipped=TURE的像素的个数为5,因此ClippedCount应当为5。然而,由于存在如图11A中左边的0像素列所示的指示出被测试的像素705靠近被允许振铃(或者在像素值中呈现单调的变化)的图像区域的ValueWasClipped=FALSE的邻域测试组区域,故ClippedCount的实际值被设置为0。
在本发明的实施方式中,如果检测到在邻域测试组中存在ValueWasClipped=FALSE的三个像素的水平组或者垂直组,则POVR生成器510将ClippedCount设置为0。图11B到图11D进一步示出了ClippedCount被设置为0的邻域测试组的实例。
图11B示出了具有ClippedCount为4的邻域测试组,但是,由于在组的顶部存在三个像素的水平组,故ClippedCount将被设置为0。图11C示出了具有ClippedCount为3的邻域测试组,但是,由于在组的中部存在三个像素的水平组,故ClippedCount将被设置为0。图11D示出了具有ClippedCount为4的邻域测试组,但是,由于存在贯穿组的中心的三个像素的水平组以及三个像素的垂直组,故ClippedCount将被设置为0。应该理解,还存在除了图11A至图11D所示的实例之外的ClippedCount被设置为0的其他像素排列。而且,应该理解,可以使用任何其它合适的生成ClippedCount值的方法。
在步骤S310,POVR生成器510与滤波器输出检测器520、滤波器输出限幅器530合作,从而生成邻域测试组中的每个像素的α值。在本发明的实施方式中,根据如下方程生成α值:
α=MIN(1.0,ClippedCount/ClippedCountThreshold)方程6
其中,ClippedCount在步骤S310中生成,且ClippedCountThreshold是预定的阈值。在实施方式中,ClippedCountThreshold=8,尽管应当理解,可以使用任何其它合适的值。例如,根据上面的方程6,如果像素的ClippedCount为9,则α=1.0。在另一个实例中,根据上面的方程6,如果ClippedCount=5,则α=0.625。如果ClippedCount=0,则α=0。
当每个像素具有多个颜色分量时,对每个颜色分量计算α值。在一个实施方式中,POVR生成器510与滤波器输出检测器520和滤波器输出限幅器530合作并使用与颜色分量相关联的各个ClippedCount值而生成每个颜色分量的α值。在另一个实施方式中,POVR生成器510与滤波器输出检测器520、滤波器输出限幅器530合作,以便从与被测试的像素相关联的颜色分量的ClippedCount值中检测最小ClippedCount值。然后,与被测试的像素相关联的颜色分量的最小ClippedCount值被用来生成该像素的α值。用户可以按适用条件或软件中的预定选择来选择这些实施方式。
图12示出了与邻域测试组中的像素相关联的α值的实例。图12示出了与被测试的像素805相关联的像素的邻域测试组800(用深色虚线表示)。邻域测试组800中的每个像素的α值显示为被舍入到一位小数,尽管应该理解,POVR生成器510可以为其它计算存储或使用为α值所计算的更高的分辨度值或全浮点值。
作为生成α值的一个实施例,考虑在邻域测试组800中的像素810。根据前述步骤S305所描述的方法,从邻域测试组815(用虚线表示)生成像素810的ClippedCount值。然后,相应地,如以上所描述的,生成像素810的α值。
在步骤S315,被测试的像素的α值与和被测试的像素相关联的邻域测试组中的其它像素的α值相比较,以便尝试或者确保相邻α值之间的平滑过渡。因此,在步骤S315,根据如下方程,POVR生成器510生成在被测试的像素和每个相邻像素之间的梯度值:
ThisGrad=(dx+dy)×AllowedGradient+TestNeighbourAlpha方程7
其中,ThisGrad是被测试的像素(邻域测试组中的中心像素)和相邻像素之间的梯度,dx和dy是邻近的像素相对于被测试的像素的位置偏移量的绝对值,AllowedGradient是可以被用户定义或者在软件中预先设置的常数,TestNeighbourAlpha是邻近的像素的α值。在一实施方式中,AllowedGradient=0.5,尽管应该理解,可以使用任何其它合适的值。
现在将参考图12而示例性的描述ThisGrad的计算。在该实例中,如双头箭头825所指示出的,计算在被测试的像素805和邻近的像素820之间的ThisGrad。在此情况下,邻近的像素的α值为0.2,并且因此TestNeighbourAlpha=0.2。另外,由于邻近的像素820是位于被测试的像素805的右边的像素,故dx=1并且dy=0。因此,ThisGrad=(1+0)×0.5+0.2=0.7。
POVR生成器510为每个邻近的像素执行ThisGrad的计算。为避免疑问,“邻近的像素”是指以水平地、垂直地或者对角地任一方式环绕并邻近被测试的像素(即邻域测试组中的中心像素)的那些像素。
然后,在步骤S320,POVR生成器510与滤波器输出检测器520、滤波器输出限幅器530合作以检测任一被计算的与每个邻近的像素相关联的ThisGrad值是否超过阈值梯度(在图10的步骤S320中由ThresholdGradient所代表)。换句话说,POVR生成器510对每个邻近的像素检测是否ThisGrad>ThresholdGradient。一般地,阈值梯度被设置为与前面所定义的AllowedGradient相等,尽管应该理解,可以使用任何其它合适的值。
如果任一ThisGrad值大于任一邻近的像素的ThresholdGradient值,则在步骤S325,POVR生成器510与滤波器输出检测器520、滤波器输出限幅器530合作,以便从为邻域测试组中的每个邻近的像素所计算的梯度值中检测最小的ThisGrad值。然后,POVR生成器510将被测试的像素的α值设置为与检测到的最小ThisGrad值相一致。
图13示出了限制α值以对应于检测到的最小ThisGrad值的实例。图13示出了图12的邻域测试组800,其中,被测试的像素的α值被设置为0.7,因为对于邻域测试组800而言这是最小的ThisGrad值。如果对于任何邻近的像素,ThisGrad的值不大于ThresholdGradient的值,则在步骤S310中被计算的被测试的像素的α值被用作被测试的像素的α值。
然后,如图10中的虚线所指示出的,为比例图像以及相关联的邻域测试组中的每个像素适当地重复步骤S310至步骤S325。当被测试的像素没有被3×3像素邻域所环绕时(例如,在图像的边缘处,像素没有被其它像素完全环绕),边缘像素的源像素值和/或α值与相邻像素的相同。换句话说,源像素值和/或α值相关于邻近的像素而被重复。图14示出了这样的例子,图14是在图像边缘处的像素的示意图,其中,邻近的像素值已被用于边缘像素。图14中的虚线指示出源图像的边缘出现的地方。
为了对每个像素生成输出值,在步骤S330,POVR生成器510将在步骤S320或者步骤S325中按适用条件生成的α值与α阈值(AlphaThreshold)相比较。在一个实施方式中,AlphaThreshold=ClippedCountThreshold/9,尽管应该理解,可以使用其它合适的α阈值。
如果α大于AlphaThreshold(α>AlphaThreshold),则在步骤S335,滤波器输出限幅器530将输出值设置为与对应于该输出像素的限幅值(clipped value)相一致。换句话说,Output=ClippedValue,并且参考前述图2至图8所描述的,当被限制(限幅)而位于允许的输出值范围内时,输出像素值被设置为内插的输出像素值。
然而,如果该像素的α值不大于α阈值,则在步骤S340,根据以下公式,通过由,内插的像素的限幅值根据如下方程与滤波器500所生成的内插的输出像素值i进行混合:
Output=α×ClippedValue+(1-α)×i 方程8
其中,α为按适用条件在步骤S320或步骤S325中所计算出的α值,ClippedValue和i如前面所定义。换句话说,可以认为α值为混合值(mixing value),并且在步骤S340所生成的输出值可以被认为是限幅输出值与非限幅内插的输出像素值的线性混合,其根据混合值α进行混合。
因此,可以看到,执行步骤S330到S340,以便对每个输出样本值检测滤波器的输出是否被限制而位于允许的输出值范围内。滤波器的输出被限制而位于允许的输出值范围内的输出样本值可以被认为是限幅输出值,并且滤波器的输出没有被限制而位于允许的输出值范围内的输出样本值可以被认为是非限幅输出值。然后,依据邻域测试组中限幅输出值和非限幅输出值的各自的数量,从邻域测试组得出混合值(α值)。然后,依据从邻域测试组中所得的混合值修改被测试的像素的输出样本值。
以此方式,可以有利地减少内插的输出图像中的振铃伪影,同时,由于在判断当前输出值是否应该被限幅时也考虑了邻近的像素,故也可以减少由限制内插的输出像素值于允许的输出值范围所导致的伪影。
应该理解,图8所示的装置可以通过现场可编程门阵列(FPGA)或者专用集成电路(ASIC)而被实现,尽管可以使用其它形式的硬件。而且,应该理解,上述装置和方法不是必须被用于处理图像像素,而是可以被用于执行其它样本值上的数据处理,诸如音频样本。
应该理解,在本发明的实施方式中,方法要素可以在计算设备中以任何合适的方式执行。因此,对于传统的等同设备的现存部件所需的适应性改变,可以以计算机程序产品或者其它可配置的或可定制的适合于用来改变传统等同设备的电路的形式执行,该计算机程序产品包括处理器可执行的指令,该指令存储于数据载体上或者通过数据信号在网络上传输或者在如ASIC(专用集成电路)或者FPGA(现场可编程门阵列)的硬件中实现,其中该数据载体诸如为软盘、光盘、硬盘、PROM、RAM、闪存、或者这些或者其它存储媒介的任意组合,所述网络诸如为以太网、无线网、因特网或者这些网络和其它网络的任意组合。
Claims (20)
1.一种数据处理的方法,所述方法包括:
将滤波器应用于包括选自输入样本值的输入序列的样本值的输入样本集,以便生成相应的输出样本值,所述输出样本值具有关于所述输入样本集的输出样本值位置,所述滤波器具有最大输出范围;
从所述输入样本集中环绕所述输出样本值位置的两个或者更多个输入样本值的输入组得出允许的输出值范围;
检测所述滤波器的输出是否超出所述允许的输出值范围,如果是,
则限制所述滤波器的所述输出使之处于所述允许的输出值范围内。
2.根据权利要求1所述的方法,其特征在于,所述方法包括:
检测所述输入组中的所述输入样本值的属性;以及
依据所述输入组中的所述输入样本值的所述属性的检测,设置所述允许的输出值范围。
3.根据权利要求1所述的方法,其特征在于,所述方法包括:
在所述输入组中检测最大输入样本值和最小输入样本值;
从所述检测到的最大输入样本值和所述检测到的最小输入样本值得出输入样本值范围;以及
设置所述允许的输出值范围,以对应于所述输入样本值范围。
4.根据权利要求3所述的方法,其特征在于,其中:
所述输入组包括选自于所述输入组的输入样本值测试组;以及
所述方法包括:
检测所述输入样本值测试组是否呈现大于非线性阈值的非线性度;以及
依据所述输入样本值测试组序列是否呈现大于非线性阈值量的非线性度的所述检测,修改所述允许的输出值范围。
5.根据权利要求4所述的方法,其特征在于,其中,如果检测出所述输入样本值测试组呈现大于所述非线性阈值量的非线性度,所述方法包括:根据所述滤波器的所述最大输出范围,设置所述允许的输出值范围使得所述允许的输出值范围大于所述输入样本值范围。
6.根据权利要求5所述的方法,其特征在于,其中:
所述滤波器的所述最大输出范围包括限定所述最大输出范围的上限的最大输出样本值;
所述允许的输出值范围包括限定所述允许的输出值范围的上限的第一值;以及
所述方法包括:
检测所述输入样本值测试组是否满足第一预定条件,并且,如果是,
则修改所述允许的输出值范围使得所述第一值对应于所述滤波器的所述最大输出样本值。
7.根据权利要求5所述的方法,其特征在于,其中:
所述滤波器的所述最大输出范围包括限定所述最大输出范围的下限的最小输出样本值;
所述允许的输出值范围包括限定所述允许的输出值范围的下限的第二值;以及
所述方法包括:
检测所述输入样本值测试组是否满足第二预定条件,并且,如果是,
则修改所述允许的输出值范围使得所述第二值对应于所述滤波器的所述最小输出样本值。
8.根据权利要求6所述的方法,其特征在于,其中:
所述输入样本值测试组包括最接近于所述输出样本值位置的最近的输入样本值;以及
所述方法包括:
从所述输入样本值序列得出平均输入样本值,所述平均输入样本值是从排除了所述最近的输入样本值的所述测试组中的输入样本值得出的。
9.根据权利要求8所述的方法,其特征在于,其中,所述测试组是否满足所述第一预定条件的所述检测包括:
检测所述平均输入样本值是否小于第一预定样本值,
其中,如果所述平均输入样本值小于所述第一预定样本值减去调整值,则满足所述第一预定条件,所述调整值得自所述测试组中的所述像素值。
10.根据权利要求9所述的方法,其特征在于,其中,所述第一预定样本值包括所述最近的输入样本值。
11.根据权利要求8所述的方法,其特征在于,其中,所述测试组是否满足所述第二预定条件的所述检测包括:
检测所述平均输入样本值是否大于第二预定样本值,
其中,如果所述平均输入样本值大于所述第二预定样本值加上调整值,则满足所述第二预定条件,所述调整值得自所述测试组中的所述像素值。
12.根据权利要求1所述的方法,其特征在于,其中,所述第二预定样本值包括所述最近的输入样本值。
13.根据权利要求9所述的方法,其特征在于,其中,所述调整值包括第一预定数字因子加上第二预定数字因子后乘以所述测试组中的所述像素的所述绝对像素值范围。
14.根据权利要求8所述的方法,其特征在于,所述方法包括:
检测邻近于所述输出样本值位置的任意输入样本值与所述输出样本值位置的距离、是否与邻近于所述输出样本值位置的其它输入样本值与所述输出样本值位置的距离相等;并且,如果是,
则选择所述邻近的输入样本值中的一个作为所述最近的输入样本值。
15.根据权利要求4所述的方法,其特征在于,其中,所述方法关于选自于所述输入组的输入样本值的多个测试组而被执行。
16.根据权利要求1所述的方法,其特征在于,其中,在所述输入样本集上执行所述方法,以便生成包括多个输出样本值的输出样本集,以及
所述方法包括:
对每个输出样本值,检测所述滤波器的所述输出是否被限制而位于所述允许的输出值范围内,对于所述滤波器的所述输出被限制而位于所述允许的输出值范围内的那些输出样本值被限幅输出值,对于所述滤波器的所述输出没有被限制而位于所述允许的输出值范围内的那些输出样本值不被限幅输出值;
从选自所述输出样本集的输出样本值的邻域测试组中,得出混合值,所述邻域测试组与被测试的输出样本相关联,并且依据所述邻域测试组中限幅的输出值和非限幅的输出值的各自数量得出所述混合值;以及
依据得自所述邻域测试组的所述混合值,修改所述被测试的输出样本的所述输出样本值。
17.根据权利要求1所述的方法,其特征在于,其中:
所述滤波器包括图像滤波器;以及
所述输入样本集包括图像输入像素。
18.一种数据载体,所述数据载体包括计算机可读指令,当所述计算机可读指令被计算机执行时,所述计算机可读指令使所述计算机执行如权利要求1所述的方法。
19.一种计算机软件,当所述计算机软件被计算机执行时,所述计算机软件使所述计算机执行如权利要求1所述的方法。
20.一种数据处理装置,所述数据处理装置包括:
滤波单元,用于将滤波器应用于包括选自输入样本值输入序列的样本值的输入样本集,以便生成相应的输出样本值,所述输出样本值具有关于所述输入样本集的输出样本值位置,所述滤波器具有最大输出范围;
生成器(deriver),用于从所述输入样本集中环绕所述输出样本值位置的两个或者更多个输入样本值的输入组得出允许的输出值范围;
检测器,用于检测所述滤波器的所述输出是否超出所述允许的输出值范围;以及
限幅器,用于如果所述检测器检测到所述滤波器的所述输出超出所述允许的输出值范围,限制所述滤波器的所述输出使之处于所述允许的输出值范围内。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0820254A GB2465158A (en) | 2008-11-05 | 2008-11-05 | Image data filtering |
GB0820254.1 | 2008-11-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101742087A true CN101742087A (zh) | 2010-06-16 |
Family
ID=40138358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910209869A Pending CN101742087A (zh) | 2008-11-05 | 2009-11-04 | 数据处理方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8468185B2 (zh) |
CN (1) | CN101742087A (zh) |
GB (1) | GB2465158A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992405A (zh) * | 2016-10-27 | 2018-05-04 | 中兴通讯股份有限公司 | 应用软件测试方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140192266A1 (en) * | 2013-01-04 | 2014-07-10 | Qualcomm Incorporated | Method and apparatus of reducing compression noise in digital video streams |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6148116A (en) * | 1996-11-29 | 2000-11-14 | Samsung Electronics, Co., Ltd. | Method and circuit for adaptively enhancing contour components of a luminance signal |
CN1652606A (zh) * | 2003-12-16 | 2005-08-10 | 创世纪微芯片公司 | 用于减小mpeg伪像的方法和设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5910751A (en) * | 1997-02-14 | 1999-06-08 | International Business Machines Corporation | Circuit arrangement and method with temperature dependent signal swing |
US7152081B2 (en) * | 2001-08-07 | 2006-12-19 | Ohoneywell International Inc. | Methods for efficient filtering of data |
KR100611179B1 (ko) * | 2004-06-23 | 2006-08-10 | 삼성전자주식회사 | 영상처리장치 |
KR101311817B1 (ko) * | 2005-09-30 | 2013-09-26 | 티피 비전 홀딩 비.브이. | 이미지 디테일 향상 |
-
2008
- 2008-11-05 GB GB0820254A patent/GB2465158A/en not_active Withdrawn
-
2009
- 2009-10-02 US US12/572,784 patent/US8468185B2/en active Active
- 2009-11-04 CN CN200910209869A patent/CN101742087A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6148116A (en) * | 1996-11-29 | 2000-11-14 | Samsung Electronics, Co., Ltd. | Method and circuit for adaptively enhancing contour components of a luminance signal |
CN1652606A (zh) * | 2003-12-16 | 2005-08-10 | 创世纪微芯片公司 | 用于减小mpeg伪像的方法和设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992405A (zh) * | 2016-10-27 | 2018-05-04 | 中兴通讯股份有限公司 | 应用软件测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US8468185B2 (en) | 2013-06-18 |
GB2465158A (en) | 2010-05-12 |
US20100115015A1 (en) | 2010-05-06 |
GB0820254D0 (en) | 2008-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7245326B2 (en) | Method of edge based interpolation | |
US8810675B2 (en) | Image processing apparatus having a plurality of image processing blocks that are capable of real-time processing of an image signal | |
EP3017594B1 (en) | Method and processor for efficient video processing in a streaming environment | |
US7477319B2 (en) | Systems and methods for deinterlacing video signals | |
US20020140854A1 (en) | Scalable resolution enhancement of a video image | |
US7362378B2 (en) | Method of edge based pixel location and interpolation | |
CN101621704B (zh) | 用于图形图像的颜色增强的方法和装置 | |
US8712191B2 (en) | Method for detecting directions of regularity in a two-dimensional image | |
EP1924097A1 (en) | Motion and scene change detection using color components | |
US20020057362A1 (en) | System and method for scaling images | |
CN106504281A (zh) | 应用于cmos图像传感器的图像画质增强和滤波方法 | |
CN104299185A (zh) | 一种图像放大方法、图像放大装置及显示设备 | |
US11546562B2 (en) | Efficient and flexible color processor | |
EP3855387A1 (en) | Image processing method and apparatus, electronic device, and readable storage medium | |
CN101854462B (zh) | 图像处理设备、图像处理方法和计算机程序 | |
TWI544785B (zh) | 影像縮減取樣裝置與方法 | |
CN101283585B (zh) | 用于在隔行与逐行扫描视频之间进行转换的设备和方法 | |
US5828366A (en) | Non-linear interline flicker reducer | |
CN101742087A (zh) | 数据处理方法及装置 | |
US20070139527A1 (en) | Method and system for video noise reduction based on moving content detection | |
US8666162B1 (en) | Advanced sensor binning correction | |
KR100700017B1 (ko) | 조정 가능한 임계값을 이용한 컬러 보간 장치 | |
Chan | Toward better chroma subsampling: Recipient of the 2007 SMPTE student paper award | |
US9076230B1 (en) | Circuitry and techniques for image processing | |
US20100079668A1 (en) | Video de-interlacing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20151118 |
|
C20 | Patent right or utility model deemed to be abandoned or is abandoned |