CN107993213A - 一种去锯齿图像缩放器及其去锯齿方法 - Google Patents
一种去锯齿图像缩放器及其去锯齿方法 Download PDFInfo
- Publication number
- CN107993213A CN107993213A CN201711337454.8A CN201711337454A CN107993213A CN 107993213 A CN107993213 A CN 107993213A CN 201711337454 A CN201711337454 A CN 201711337454A CN 107993213 A CN107993213 A CN 107993213A
- Authority
- CN
- China
- Prior art keywords
- score
- vertical
- comb
- result
- sawtooth
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000001914 filtration Methods 0.000 claims abstract description 68
- 230000003139 buffering effect Effects 0.000 claims abstract description 7
- 235000013399 edible fruits Nutrition 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 12
- 239000000203 mixture Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- ZFMITUMMTDLWHR-UHFFFAOYSA-N Minoxidil Chemical compound NC1=[N+]([O-])C(N)=CC(N2CCCCC2)=N1 ZFMITUMMTDLWHR-UHFFFAOYSA-N 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- 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
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
- G06T2207/20032—Median filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20192—Edge enhancement; Edge preservation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明提供一种去锯齿缩放器及其去锯齿方法。去锯齿缩放器包括输入、输出、缩放器交叉总线、水平缩放器、垂直缩放器和输入输出缓冲。其中垂直缩放器或水平缩放器中包含去锯齿模块。去锯齿模块包括抽头单元、中值滤波单元、得分单元和混合单元。抽头单元包括用于存储当前待处理的图像点像素值的抽头;抽头供中值滤波和得分所共用。中值滤波单元用于计算水平中值滤波结果和垂直中值滤波结果。得分单元用于分别计算水平得分和垂直得分,并获得最终得分。水平和垂直得分都包括第一得分和第二得分,水平和垂直得分分别用于判断是近水平边缘还是近垂直边缘。混合单元根据最终得分将水平得分、水平中值滤波结果或垂直得分、垂直中值滤波结果与多相缩放器结果相互混合得到最终去锯齿的结果。
Description
技术领域
本发明涉及图像处理领域,尤其涉及一种去锯齿图像缩放器及其去锯齿方法。
背景技术
随着显示器、高清电视、视频终端等设备的多样化发展,视频图像的源分辨率往往与显示设备的目标分辨率不同,为了达到更佳的显示效果,必须对图像进行缩放。而在缩放器中对图像进行缩放时能会在图像边缘看到明显的锯齿,尤其是在放大过程中。而当前缩放器普遍不具有去锯齿功能或者去锯齿效果不明显。
本发明提供一种用于电视、移动终端、投影仪、机顶盒等芯片组中的图像去锯齿缩放器及其去锯齿方法。
发明内容
为了解决上述技术问题,本发明采用如下技术方案:提供一种图像去锯齿方法,其特征在于:包括以下步骤:步骤一、采集原始图像像素数据;步骤二、抽头,用于存储当前待处理的图像像素;供中值滤波和得分所共用;步骤三、中值滤波,基于抽头分别计算水平中值滤波结果Result1和垂直中值滤波结果Result2,中值滤波包括取中值和线性插值两部分;步骤四、得分,得分comb_score=MAX(comb_score_h,comb_score_v),其中comb_score_h是水平得分,comb_score_v是垂直得分;如果comb_score=comb_score_h,说明是近水平边缘;如果comb_score=comb_score_v说明是近垂直边缘;水平得分comb_score_h包括第一得分first_score_h和第二得分second_score_h,first_score_h表示为近水平边缘可能性的得分,second_score_h表示为完全水平边缘可能性的得分;垂直得分comb_score_v也包括第一得分first_score_v和第二得分second_score_v;first_score_v表示为正向近垂直边缘可能性的得分,second_score_v表示为逆向近垂直边缘可能性的得分;步骤五、混合,如果comb_score=comb_score_h,则将水平得分、水平中值滤波结果与多相滤波缩放器结果相互混合,从而得到去锯齿结果;如果comb_score=comb_score_v,则将垂直得分、垂直中值滤波结果与多相滤波缩放器结果相互混合,从而得到去锯齿结果。
其中,步骤一具体为:采集原始图像像素数据,按照时钟顺序依次将待处理的图像像素存储在输入输出缓冲单元的L存储行和C存储列。
其中,步骤二具体为:每一个抽头记作(i,j),用于存储当前待处理的图像像素;抽头是从输入输出缓冲单元的N行存储中抽取第i行第j列所在的像素点,L≥i,C≥j;对于垂直缩放i=1,2,3,4为行数,j=1,2,3,4,5为列数;对于水平缩放i=1,2,3,4,5为行数,j=1,2,3,4为列数。
其中,步骤三具体为:对4×5个抽头数据,水平中值滤波的计算为,选取中间第2、3行的10个抽头,获取像素中值median1,然后进行线性插值:如果Phase<=2n-1,Result1=(Phase×Median1+(2n-1-Phase)×(2,3))/2n-1;否则,Result1=((Phase-2n-1)×(3,3)+(2n-Phase)×Median1)/2n-1;
对4×5个抽头数据,垂直中值滤波的计算为,选取中间第2、3、4列的12个抽头,获取像素中值median2,然后进行线性插值:如果Phase<=2n-1,Result2=(Phase×Median2+(2n-1-Phase)×(2,3))/2n-1;否则,Result2=((Phase-2n-1)×(3,3)+(2n-Phase)×Median2)/2n-1;
其中,2n为多相滤波缩放器的相位精度,Phase为多相滤波缩放器当前输出点的相位。
步骤四中水平得分和垂直得分的计算具体为:
(1)计算水平得分:
取4×3抽头,令抽头(1,1)、(1,2)、(1,3)、(2,2)为上部组,抽头(4,1)、(4,2)、(4,3)、(3,2)为下部组,分别取上部组四个抽头中的最大值和最小值,即MAX_top1和MIN_top1;分别取下部组四个抽头中的最大值和最小值,即MAX_bottom1和MIN_bottom1;则第一得分first_score_h=MAX{(MIN_top1-MAX_bottom1),(MIN_bottom1-MAX_top1);
取4×3抽头,令抽头(2,1)、(2,2)、(2,3)、(1,2)为上部组,抽头(3,1)、(3,2)、(3,3)、(4,2)为下部组,分别取上部组四个抽头中的最大值和最小值,即MAX_top2和MIN_top2;分别取下部组四个抽头中的最大值和最小值,即MAX_bottom2和MIN_bottom2;则第二得分second_score_h=MAX{(MIN_top2-MAX_bottom2),MIN_bottom2-MAX_top2);
horizontal_score=MAX(first_score_h*DJAG_GAIN-second_score_h*DJAG_HOR,0);则最终水平得分Comb_score_h为:如果phase<=2n-1,Comb_score_h=(phase*horizontal_score)/2n-1,否则Comb_score_h=((2n-phase)*horizontal_score)/2n-1;其中,DJAG_GAIN和DJAG_HOR分别为第一得分和第二得分的权重因子,是可编程的;
(2)计算垂直得分comb_score_v:
取4×5抽头,令抽头(2,1)、(3,1)、(3,2)、(3,3)、(4,1)、(4,2)、(4,3)为左下组,抽头(1,3)、(1,4)、(1,5)、(2,3)、(2,4)、(2,5)、(3,5)为右上组,分别取左下组7个抽头中的最大值和最小值,即MAX_left1和MIN_left1;分别取右上组7个抽头中的最大值和最小值,即MAX_right1和MIN_right1;则第一得分first_score_v=MAX{(MIN_right1-MAX_left1),(MIN_left1-MAX_right1)};
取4×5抽头,令抽头(1,1)、(1,2)、(1,3)、(2,1)、(2,2)、(2,3)、(3,1)为左上组,抽头(2,5)、(3,3)、(3,4)、(3,5)、(4,3)、(4,4)、(4,5)为右下组,分别取左上组7个抽头中的最大值和最小值,即MAX_left2和MIN_left2;分别取右下组7个抽头中的最大值和最小值,即MAX_right2和MIN_right2;则第二得分second_score_v=MAX{(MIN_right2-MAX_left2),(MIN_left2-MAX_right2)};
vertical_score=MAX{[MAX(first_score_v,second_score_v)-DJAG_VERT_CORE]*DJAG_GAIN_VERT,0};则垂直得分为:如果phase<=2n-1,comb_score_v=(phase*vertical_score)/2n-1,否则comb_score_v=((2n-phase)*vertical_score)/2n-1;
其中,DJAG_VERT_CORE是垂直去锯齿核化因子,DJAG_GAIN_VERT是垂直得分的权重因子,是可编程的;2n为多相滤波缩放器的相位精度,Phase为多相滤波缩放器当前输出点的相位。
步骤五具体为:根据判断水平得分和垂直得分的大小,若水平得分大则将水平中值滤波的结果result1作为中值滤波的结果median_pix,若垂直得分大则将垂直中值滤波的结果result2作为中值滤波的结果median_pix:
令diff1=median_pix-scaler_pix;
如果diff1>=0,则进行修正取diff=diff1-DJAG_CORE,如果修正后的diff<0,则取diff=0;
如果diff1<0,则进行修正取diff=diff1+DJAG_CORE,如果修正后的diff>0,则取diff=0;
clamp_diff=CLAMP(diff,-comb_score,comb_score);
final_result=scaler_pix+clamp_diff;
其中,DJAG_CORE为去锯齿核化因子,是可编程的;CLAMP为钳位运算,表示将diff的值钳位在-comb_score和comb_score之间;final_result为最终输出的去锯齿结果。
本发明还公开了一种去锯齿缩放器,包括输入、输出、缩放器交叉总线、水平缩放器、垂直缩放器和输入输出缓冲;其中,输入:用于输入原始图像像素;输出:用于输出处理后的图像像素;缩放器交叉总线:按照时钟顺序依次存储待处理的图像像素;水平缩放器:用于对图像进行水平缩放处理;垂直缩放器:用于对图像进行垂直缩放处理;输入输出缓冲:用于缓存当前输入后待处理的图像像素或缓存当前处理后待输出的图像像素;垂直缩放器或水平缩放器中包括多相滤波缩放器和去锯齿模块;去锯齿模块包括抽头单元、中值滤波单元、得分单元和混合单元;抽头单元包括用于存储当前待处理的图像点像素值的抽头;抽头供中值滤波和得分所共用;中值滤波单元用于计算水平中值滤波结果Result1和垂直中值滤波结果Result2,中值滤波包括取中值和线性插值两部分;得分单元用于分别计算水平得分comb_score_h和垂直得分comb_score_v,并获得最终得分;其中水平得分包括第一得分first_score_h和第二得分second_score_h,first_score_h表示为近水平边缘可能性的得分,second_score_h表示为完全水平边缘可能性的得分;垂直得分也包括第一得分first_score_v和第二得分second_score_v,first_score_v表示为正向近垂直边缘可能性的得分,second_score_v表示为逆向近垂直边缘可能性的得分;最终得分comb_score=MAX(comb_score_h,comb_score_v),反映是近水平边缘还是近垂直边缘的可能性,如果comb_score=comb_score_h,说明是近水平边缘;如果comb_score=comb_score_v;混合单元用于将水平得分、水平中值滤波结果或垂直得分、垂直中值滤波结果与多相缩放器结果scaler_pix相互混合得到最终去锯齿的结果;如果comb_score=comb_score_h,则将水平得分、水平中值滤波结果与多相滤波缩放器结果相互混合,从而得到去锯齿结果;如果comb_score=comb_score_v,则将垂直得分、垂直中值滤波结果与多相滤波缩放器结果相互混合,从而得到去锯齿结果。
其中,去锯齿模块采用上述图像去锯齿方法实现其去锯齿功能。
本发明达到了如下有益效果:
通过本发明水平得分和垂直得分的计算,知道了哪些是近水平边缘哪些是近垂直边缘,可以在这些地方施加去锯齿算法,使得去锯齿的位置更准确。
通过本发明的混合步骤,对结果进行了去核化和钳位补偿处理,使得去锯齿的结果更准确。
本发明的去锯齿缩放器在对图像进行缩放处理时获得了明显的去锯齿效果。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的优点从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1去锯齿缩放器的结构框图;
图2垂直缩放器的结构框图;
图3垂直缩放器中去锯齿模块的框图;
图4抽头(4行5列);
图5.1水平中值滤波图解;
图5.2垂直中值滤波图解;
图6水平第一得分基础图解;
图7水平第二得分基础图解;
图8水平第一得分的计算过程;
图9水平第二得分的计算过程;
图10垂直第一得分的计算过程;
图11垂直第二得分的计算过程;
图12去核化和钳位补偿示意图;
图13应用去锯齿算法前后的测试结果。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
图1为本发明的去锯齿缩放器的结构框图。本发明在常规缩放器中加入了包含去锯齿算法的去锯齿模块,达到了改善图像缩放过程中出现锯齿的问题。本发明以在垂直缩放器中加入去锯齿模块为例,其中抽头选取4行5列,但该去锯齿同样适用于水平缩放器中,只是选择的抽头改为5行4列,其他算法相同。
本发明的去锯齿缩放器包括输入、输出、缩放器交叉总线、水平缩放器、垂直缩放器和输入输出缓冲。垂直缩放器包括多相滤波缩放器和去锯齿模块。
其中,输入:用于输入原始图像像素;输出:用于输出处理后的图像像素;缩放器交叉总线:以行列交叉的方式定义像素点,输入和输出的图像像素点依次按照固定时钟通过该交叉总线单元以覆盖整幅图像;水平缩放器:用于对图像进行水平缩放处理;垂直缩放器:用于对图像进行垂直缩放处理;输入输出缓冲:用于缓存当前输入待处理的图像像素或缓存当前处理后待输出的图像像素。
从硬件实体位置上看,为了适应硬件结构以及减少硬件开销,本实施例将去锯齿模块放在了垂直缩放器中,但是其中的去锯齿模块同样也适用于水平缩放器单元,可以实现水平缩放时的去锯齿。
其中需要注意几点:(1)去锯齿与垂直缩放器并行运行;(2)去锯齿结果与多相滤波缩放器结果相混合而产生最终输出;(3)去锯齿要求与多相滤波缩放器所使用的分数相位信息相同。
图2为图1所示缩放器中的垂直缩放器的结构框图。采用4行抽头缓存(也可以是8行,可以根据具体需要设置),从缓存中获取当前图像4行像素点,供去锯齿和垂直缩放器多相滤波共用。最后,根据分数相位混合去锯齿结果和垂直缩放器多相滤波结果从而获得最终的输出。对于去锯齿算法,不需要额外的行缓冲,现有的四行缓冲对于去锯齿算法是足够的。
图3为图二所示的去锯齿模块中去锯齿过程的框图。去锯齿过程主要涉及4个方面,第一、抽头,用于储存水平和垂直像素;第二、中值滤波,进行取中值和插值处理;第三、计算得分,确定在何处(近水平或近垂直边缘)应用去锯齿,例如我们不希望柔化完全水平边缘、边角或内部细节等等;第四、混合,根据得分将垂直缩放器多相滤波结果与中值滤波结果混合。其中第二点的中值滤波和第三点的得分是并行计算的。下面具体描述这四个方面。
第一、抽头
图4描述了4行5列抽头(4×5Taps)。将输入的图像以Clock的节奏pipe line进入4×5Taps,从而实现对整个图像的遍历。这20个抽头供中值滤波和计算得分所共用。每个抽头用(i,j)表示,其中i=1,2,3,4为行数,j=1,2,3,4,5为列数。
第二、中值滤波
图5.1和图5.2分别为水平中值滤波和垂直中值滤波的图解。
在某一时刻,对4×5抽头中存储的像素进行水平中值滤波,其过程为:选取中间两行的10个抽头,取这10个点的像素中值(Median),即将这10个点按照像素大小依次排序,取中间两个像素值的平均值最为中值;然后利用分数相位信息进行线性插值,输出水平中值滤波结果。
对4×5抽头中存储的像素进行垂直中值滤波,选取中间三列的12个抽头,取这12个点的像素中值(Median),即将这12个点按照像素大小依次排序,取中间两个像素值的平均值作为中值;然后利用分数相位信息进行线性插值,输出垂直中值滤波结果。
假设,对于64=26相位的垂直缩放器单元(即垂直缩放器的精度为64相位),上述线性插值可描述为:
If(phase<=32=25)
{Result=(phase*median+(32-phase)*(2,3))/32}
Else{Result=((phase-32)*(3,3)+(64-phase)*median)/32},即:
当被处理的当前像素点的相位小于等于32时,线性插值的结果为:(Phase×Median+(32-Phase)×(2,3))/32;否则,线性插值的结果为:((Phase-32)×(3,3)+(64-Phase)×Median)/32。该结果即为中值滤波的结果Median_pix。其中Phase为多相滤波缩放器当前输出点的相位,即分数相位,取值在0~(26-1)之间;(2,3)和(3,3)表示所在点对应的像素值。
第三、计算得分
得分也分为水平得分和垂直得分,根据得分可以确定在何处应用去锯齿。
第3.1、水平得分
水平得分分为第一得分和第二得分。第一得分表示为近水平边缘可能性的得分,第二得分表示为完全水平边缘可能性的得分。第一得分越大且第二得分越小表示存在锯齿的可能性越大。
首先,我们希望对近水平边缘(可能是锯齿)使用中值滤波,而不是柔化边角、线条、细节或任何其它素材。对于一个4×3像素单元,通过图6所示的观察可以根据第一得分知道哪些是近水平边缘。图6第一行描述了图像中属于近水平边缘的情况。图6第二行描述了图像中属于边角、线条或其他细节的情况。从第一行前三个图可以看出,对于可能是锯齿的近水平边缘,上部组和下部组之间应该有一个大的像素差异,该差异即为第一得分,上述情况可以总结为图6第一行最后一个图所示的情况。而对于如图6第二行所示的那些边角、线条或其他细节,上部组和下部组之间的像素差异更小(常常为负),可以总结为图6第二行最后一个图所示的情况。
在确定了哪些是近水平边缘后,我们希望将中值滤波应用于其中的锯齿,而不是其中的水平边缘。通过图7所示的观察可以根据第二得分知道那些近水平边缘中哪些是完全水平边缘哪些是锯齿。图7第一行描述了近水平边缘图像中属于锯齿的情况。图7第二行描述了近水平边缘图像中属于水平边缘的情况。从第一行前三个图可以看出,对于锯齿边缘,上部组和下部组之间有一个小的像素差异(常常为负),可以总结为图7第一行最后一个图所示的情况。而对于如图7第二行所示的水平边缘,上部组和下部组之间的像素差异更大,可以总结为图7第二行最后一个图所示的情况。
根据图6和图7的分析,可以得到图8和图9所示的第一得分和第二得分的计算过程。参见图8,其是与图6中最后一列的情况对应的,可知第一得分的计算过程为:
分别取上部组四个抽头中的最大值和最小值,即MAX_top和MIN_top;分别取下部组四个抽头中的最大值和最小值,即MAX_bottom和MIN_bottom;则第一得分等于上部组最小值与下部组最大值的差和下部组最小值与上部组最大值的差中的最大值,即:
first_score_h=MAX{(MIN_top-MAX_bottom),(MIN_bottom-MAX_top)。
参见图9,其是与图7中最后一列的情况对应的,可知第二得分的计算过程为:
分别取上部组四个抽头中的最大值和最小值,即MAX_top和MIN_top;分别取下部组四个抽头中的最大值和最小值,即MAX_bottom和MIN_bottom;则第二得分等于上部组最小值与下部组最大值的差和下部组最小值与上部组最大值的差中的最大值,即:second_score_h=MAX{(MIN_top-MAX_bottom),(MIN_bottom-MAX_top)
下面计算最终水平得分
horizontal_score=
MAX(first_score_h*DJAG_GAIN-second_score_h*DJAG_HOR,0);//取最大值
If(phase<=32);
Comb_score_horiz=(phase*horizontal_score)/32;
else
Comb_score_horiz=((64-phase)*horizontal_score)/32;//进行线性插值
其中,DJAG_GAIN和DJAG_HOR分别为第一得分和第二得分的权重,是可编程可配置的;Phase为多相滤波缩放器当前输出点的相位,即分数相位。
第3.2、垂直得分
垂直得分也分为第一得分和第二得分。第一得分表示为正向近垂直边缘可能性的得分,第一得分表示为逆向近垂直边缘可能性的得分。如图10所示左右两个虚线框交接处显示为正向近垂直边缘,图11所示左右两个虚线框交接处显示为逆向近垂直边缘。
对于一个4×5像素单元,参见图10,计算第一得分,选取图中虚线所示的左下组7个点和右上组7个点,分别取左下组7个点中像素的最大值和最小值,即MAX_left和MIN_left;分别取右上组7个点中像素的最大值和最小值,即MAX_right和MIN_right;则第一得分等于右上组最小值与左下组最大值的差和左下组最小值与右上组最大值的差中的最大值,即:
first_score_v=MAX{(MIN_right-MAX_left),(MIN_left-MAX_right)
参见图11,计算第二得分,选取图中虚线所示的左上组7个点和右下组7个点,分别取左上组7个点中像素的最大值和最小值,即MAX_left和MIN_left;分别取右下组7个点中像素的最大值和最小值,即MAX_right和MIN_right;则第二得分等于左上组最小值与右下组最大值的差和右下组最小值与左上组最大值的差中的最大值,即:
second_score_v=MAX{(MIN_right-MAX_left),(MIN_left-MAX_right)
下面计算最终的垂直得分(comb_score_vert):
取vertical_score=
MAX{[MAX(first_score_v,second_score_v)-DJAG_VERT_CORE]*DJAG_GAIN_VERT,0};//取最大值
if(phase<=32)
comb_score_vert=(phase*vertical_score)/32;
else
comb_score_vert=((64-phase)*vertical_score)/32;//进行线性插值
其中,Phase为多相滤波缩放器当前输出点的相位,即分数相位;DJAG_VERT_CORE是垂直去锯齿核化因子,DJAG_GAIN_VERT是垂直得分的权重因子,是可编程可配置的。
第四、混合,将水平得分&水平中值结果和垂直得分&垂直中值结果与多相滤波缩放器结果相互混合。
首先判断水平得分Comb_score_horiz和垂直得分comb_score_vert的大小,如果水平得分大则取median_pix为水平中值滤波的结果,如果垂直得分大则取median_pix为垂直中值滤波的结果。
令diff=中值滤波的结果median_pix和多相滤波缩放器输出的结果scaler_pix之间的差值,即diff=median_pix-scaler_pix;
if(diff>=0)
{diff-=DJAG_CORE;
if(diff<0)diff=0};//如果diff大于等于0,则修正diff=diff-DJAG_CORE,如果修正后的diff小于0,则取diff=0
else
{diff+=DJAG_CORE;
if(diff>0)diff=0;}//否则,如果diff小于0,则修正diff=diff+DJAG_CORE,如果修正后的diff大于0,则取diff=0
其中,median_pix为水平或垂直中值滤波后的像素,scaler_pix为垂直缩放器的真实像素,DJAG_CORE为去锯齿核化因子,是可编程可配置的;
令comb_score=MAX(comb_score_h,comb_score_v);
clamp_diff=CLAMP(diff,-comb_score,comb_score);
final_result=scaler_pix+clamp_diff;
其中,CLAMP为钳位运算,即将diff的值钳位在(-comb_score,comb_score)之间;final_result即为图像最终去锯齿后的输出结果。
混合的过程本质上就是去核化(即上述对diff的修正)和钳位补偿(对diff的钳位运算)的过程。图12为diff、DJAG_CORE和comb_score之间的关系图,即去核化和钳位补偿示意图。图13为应用去锯齿算法处理前后图像像素比较,可以看出经过本发明的去锯齿之后,明显改善了图像边缘出现锯齿的情况。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种图像去锯齿方法,其特征在于:包括以下步骤:
步骤一、采集原始图像像素数据;
步骤二、抽头
用于存储当前待处理的图像像素;供中值滤波和得分所共用;
步骤三、中值滤波
基于抽头分别计算水平中值滤波结果Result1和垂直中值滤波结果Result2,中值滤波包括取中值和线性插值两部分;
步骤四、得分
得分comb_score=MAX(comb_score_h,comb_score_v),其中comb_score_h是水平得分,comb_score_v是垂直得分;如果comb_score=comb_score_h,说明是近水平边缘;如果comb_score=comb_score_v说明是近垂直边缘;
水平得分comb_score_h包括第一得分first_score_h和第二得分second_score_h,first_score_h表示为近水平边缘可能性的得分,second_score_h表示为完全水平边缘可能性的得分;
垂直得分comb_score_v也包括第一得分first_score_v和第二得分second_score_v;first_score_v表示为正向近垂直边缘可能性的得分,second_score_v表示为逆向近垂直边缘可能性的得分;
步骤五、混合
判断水平得分和垂直得分的相对大小,如果水平得分大即comb_score=comb_score_h,则将水平得分、水平中值滤波结果与多相滤波缩放器结果相互混合,从而得到去锯齿结果;如果垂直得分大即comb_score=comb_score_v,则将垂直得分、垂直中值滤波结果与多相滤波缩放器结果相互混合,从而得到去锯齿结果。
2.根据权利要求1所述的图像去锯齿方法,其特征在于:步骤一具体为:
采集原始图像像素数据,按照时钟顺序依次将待处理的图像像素存储在输入输出缓冲单元的L存储行和C存储列。
3.根据权利要求2所述的图像去锯齿方法,其特征在于:步骤二具体为:
记每一个抽头为(i,j),用于存储当前待处理的图像像素;抽头是从输入输出缓冲单元的N行存储中抽取第i行第j列所在的像素点,L≥i,C≥j;对于垂直缩放i取1,2,3,4为行数,j取1,2,3,4,5为列数;对于水平缩放i取1,2,3,4,5为行数,.j取1,2,3,4为列数。
4.根据权利要求3所述的图像去锯齿算法,其特征在于:步骤三具体为:
对4×5个抽头数据,水平中值滤波的计算为,选取中间第2、3行的10个抽头,获取像素中值median1,然后进行线性插值:如果Phase<=2n-1,Result1=(Phase×Median1+(2n-1-Phase)×(2,3))/2n-1;否则,Result1=((Phase-2n-1)×(3,3)+(2n-Phase)×Median1)/2n-1;
对4×5个抽头数据,垂直中值滤波的计算为,选取中间第2、3、4列的12个抽头,获取像素中值median2,然后进行线性插值:如果Phase<=2n-1,Result2=(Phase×Median2+(2n -1-Phase)×(2,3))/2n-1;否则,Result2=((Phase-2n-1)×(3,3)+(2n-Phase)×Median2)/2n-1;
其中,2n为多相滤波缩放器的相位精度,Phase为多相滤波缩放器当前输出点的相位。
5.根据权利要求3所述的图像去锯齿算法,其特征在于:步骤四中水平得分和垂直得分的计算具体为:
(1)计算水平得分:
取4×3抽头,令抽头(1,1)、(1,2)、(1,3)、(2,2)为上部组,抽头(4,1)、(4,2)、(4,3)、(3,2)为下部组,分别取上部组四个抽头中的最大值和最小值,即MAX_top1和MIN_top1;分别取下部组四个抽头中的最大值和最小值,即MAX_bottom1和MIN_bottom1;则第一得分first_score_h=MAX{(MIN_top1-MAX_bottom1),(MIN_bottom1-MAX_top1);
取4×3抽头,令抽头(2,1)、(2,2)、(2,3)、(1,2)为上部组,抽头(3,1)、(3,2)、(3,3)、(4,2)为下部组,分别取上部组四个抽头中的最大值和最小值,即MAX_top2和MIN_top2;分别取下部组四个抽头中的最大值和最小值,即MAX_bottom2和MIN_bottom2;则第二得分second_score_h=MAX{(MIN_top2-MAX_bottom2),(MIN_bottom2-MAX_top2);
取horizontal_score=MAX(first_score_h*DJAG_GAIN-second_score_h*DJAG_HOR,0);则最终水平得分Comb_score_h为:如果phase<=2n-1,Comb_score_h=(phase*horizontal_score)/2n-1,否则Comb_score_h=((2n-phase)*horizontal_score)/2n-1;其中,DJAG_GAIN和DJAG_HOR分别为第一得分和第二得分的权重因子,是可编程的;
(2)计算垂直得分comb_score_v:
取4×5抽头,令抽头(2,1)、(3,1)、(3,2)、(3,3)、(4,1)、(4,2)、(4,3)为左下组,抽头(1,3)、(1,4)、(1,5)、(2,3)、(2,4)、(2,5)、(3,5)为右上组,分别取左下组7个抽头中的最大值和最小值,即MAX_left1和MIN_left1;分别取右上组7个抽头中的最大值和最小值,即MAX_right1和MIN_right1;则第一得分first_score_v=MAX{(MIN_right1-MAX_left1),(MIN_left1-MAX_right1)};
取4×5抽头,令抽头(1,1)、(1,2)、(1,3)、(2,1)、(2,2)、(2,3)、(3,1)为左上组,抽头(2,5)、(3,3)、(3,4)、(3,5)、(4,3)、(4,4)、(4,5)为右下组,分别取左上组7个抽头中的最大值和最小值,即MAX_left2和MIN_left2;分别取右下组7个抽头中的最大值和最小值,即MAX_right2和MIN_right2;则第二得分second_score_v=MAX{(MIN_right2-MAX_left2),(MIN_left2-MAX_right2)};
取vertical_score=MAX{[MAX(first_score_v,second_score_v)-DJAG_VERT_CORE]*DJAG_GAIN_VERT,0};则垂直得分为:如果phase<=2n-1,comb_score_v=(phase*vertical_score)/2n-1,否则comb_score_v=((2n-phase)*vertical_score)/2n-1;
其中,DJAG_VERT_CORE是垂直去锯齿核化因子,DJAG_GAIN_VERT是垂直得分的权重因子,是可编程的;2n为多相滤波缩放器的相位精度,Phase为多相滤波缩放器当前输出点的相位。
6.根据权利要求1所述的图像去锯齿算法,其特征在于:步骤五具体为:
根据判断水平得分和垂直得分的大小,若水平得分大则将水平中值滤波的结果result1作为中值滤波的结果median_pix,若垂直得分大则将垂直中值滤波的结果result2作为中值滤波的结果median_pix;
令diff1=median_pix-scaler_pix;
如果diff1>=0,则进行修正取diff=diff1-DJAG_CORE,如果修正后的diff<0,则取diff=0;
如果diff1<0,则进行修正取diff=diff1+DJAG_CORE,如果修正后的diff>0,则取diff=0;
clamp_diff=CLAMP(diff,-comb_score,comb_score);
final_result=scaler_pix+clamp_diff;
其中,DJAG_CORE为去锯齿核化因子,是可编程的;CLAMP为钳位运算,表示将diff的值钳位在-comb_score和comb_score之间;final_result为最终输出的去锯齿结果。
7.一种去锯齿缩放器,包括输入、输出、缩放器交叉总线、水平缩放器、垂直缩放器和输入输出缓冲;其中,输入:用于输入原始图像像素;输出:用于输出处理后的图像像素;缩放器交叉总线:按照时钟顺序依次存储待处理的图像像素;水平缩放器:用于对图像进行水平缩放处理;垂直缩放器:用于对图像进行垂直缩放处理;输入输出缓冲:用于缓存当前输入后待处理的图像像素或缓存当前处理后待输出的图像像素;其特征在于:
垂直缩放器或水平缩放器中包括多相滤波缩放器和去锯齿模块;
去锯齿模块包括抽头单元、中值滤波单元、得分单元和混合单元;
抽头单元包括用于存储当前待处理的图像点像素值的抽头;抽头供中值滤波和得分所共用;
中值滤波单元用于计算水平中值滤波结果Result1和垂直中值滤波结果Result2,中值滤波包括取中值和线性插值两部分;
得分单元用于分别计算水平得分comb_score_h和垂直得分comb_score_v,并获得最终得分;其中水平得分包括第一得分first_score_h和第二得分second_score_h,first_score_h表示为近水平边缘可能性的得分,second_score_h表示为完全水平边缘可能性的得分;垂直得分也包括第一得分first_score_v和第二得分second_score_v,first_score_v表示为正向近垂直边缘可能性的得分,second_score_v表示为逆向近垂直边缘可能性的得分;最终得分comb_score=MAX(comb_score_h,comb_score_v),反映是近水平边缘还是近垂直边缘的可能性,如果comb_score=comb_score_h,说明是近水平边缘;如果comb_score=comb_score_v;
混合单元用于将水平得分、水平中值滤波结果或垂直得分、垂直中值滤波结果与多相缩放器结果scaler_pix相互混合得到最终去锯齿的结果;如果comb_score=comb_score_h,则将水平得分、水平中值滤波结果与多相滤波缩放器结果相互混合,从而得到去锯齿结果;如果comb_score=comb_score_v,则将垂直得分、垂直中值滤波结果与多相滤波缩放器结果相互混合,从而得到去锯齿结果。
8.根据权利要求7所述的一种去锯齿缩放器,其特征在于:去锯齿模块采用权利要求1-6任意一项所述的图像去锯齿方法来实现去锯齿功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711337454.8A CN107993213B (zh) | 2017-12-14 | 2017-12-14 | 一种去锯齿图像缩放器及其去锯齿方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711337454.8A CN107993213B (zh) | 2017-12-14 | 2017-12-14 | 一种去锯齿图像缩放器及其去锯齿方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107993213A true CN107993213A (zh) | 2018-05-04 |
CN107993213B CN107993213B (zh) | 2021-08-27 |
Family
ID=62037863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711337454.8A Expired - Fee Related CN107993213B (zh) | 2017-12-14 | 2017-12-14 | 一种去锯齿图像缩放器及其去锯齿方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107993213B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107993213B (zh) * | 2017-12-14 | 2021-08-27 | 天津鹿鹿通健康科技有限公司 | 一种去锯齿图像缩放器及其去锯齿方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090201427A1 (en) * | 2008-02-12 | 2009-08-13 | Brian Heng | Method and system for pixel adaptive weighted median filtering for block motion vector decomposition |
CN101677358A (zh) * | 2008-09-15 | 2010-03-24 | 索尼株式会社 | 用于高质量图像和视频升频的系统和方法 |
CN102129667A (zh) * | 2011-02-25 | 2011-07-20 | 华中科技大学 | 一种图像缩放方法 |
CN104794692A (zh) * | 2015-04-16 | 2015-07-22 | 中国科学院自动化研究所 | 一种图像去锯齿的系统 |
CN107123086A (zh) * | 2017-03-22 | 2017-09-01 | 建荣半导体(深圳)有限公司 | 图像缩放方法、图像缩放装置及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107993213B (zh) * | 2017-12-14 | 2021-08-27 | 天津鹿鹿通健康科技有限公司 | 一种去锯齿图像缩放器及其去锯齿方法 |
-
2017
- 2017-12-14 CN CN201711337454.8A patent/CN107993213B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090201427A1 (en) * | 2008-02-12 | 2009-08-13 | Brian Heng | Method and system for pixel adaptive weighted median filtering for block motion vector decomposition |
CN101677358A (zh) * | 2008-09-15 | 2010-03-24 | 索尼株式会社 | 用于高质量图像和视频升频的系统和方法 |
CN102129667A (zh) * | 2011-02-25 | 2011-07-20 | 华中科技大学 | 一种图像缩放方法 |
CN104794692A (zh) * | 2015-04-16 | 2015-07-22 | 中国科学院自动化研究所 | 一种图像去锯齿的系统 |
CN107123086A (zh) * | 2017-03-22 | 2017-09-01 | 建荣半导体(深圳)有限公司 | 图像缩放方法、图像缩放装置及电子设备 |
Non-Patent Citations (2)
Title |
---|
孔繁庭等: "一种新的基于中值的图像插值算法", 《计算机应用与软件》 * |
谢将相等: "H.264/AVC中去块效应滤波系统的结构设计", 《电视技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107993213B (zh) * | 2017-12-14 | 2021-08-27 | 天津鹿鹿通健康科技有限公司 | 一种去锯齿图像缩放器及其去锯齿方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107993213B (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69933496T2 (de) | Bildverarbeitungsvorrichtung und -verfahren | |
US8335394B2 (en) | Image processing method for boundary resolution enhancement | |
KR100727992B1 (ko) | 순차주사방식에서의 바이섹션 패턴 검출 방법 및 시스템 | |
EP1336852A2 (en) | Apparatus for and method of equalizing output pixel intensities of a histogram collected from rasterised image data | |
CN107993213A (zh) | 一种去锯齿图像缩放器及其去锯齿方法 | |
EP2555165B1 (en) | Method and device for packing multiple images | |
EP1840821A1 (en) | Method for sharpness enhanging an image | |
CN118135714A (zh) | 用于智慧物流中存放柜体的智能定位系统 | |
CN1317884C (zh) | 一种实现图像整数倍放大的方法 | |
Sun et al. | Lowcomplexity content-aware image retargeting | |
CN104853059A (zh) | 超分辨率图像处理方法及其装置 | |
CN103440637B (zh) | 用于图像序列增强的方法和装置 | |
GB2478401A (en) | System, method, and computer program product for image re-scaling | |
US20220261971A1 (en) | Image drawing method, display apparatus, and storage medium | |
Sun et al. | An edge-based adaptive image interpolation and its VLSI architecture | |
CN101710938B (zh) | 图像信号处理器、图像处理系统和图像处理方法 | |
JP4104475B2 (ja) | 輪郭補正装置 | |
Zemčík et al. | Accelerated image resampling for geometry correction | |
US7567733B2 (en) | Image resolution conversion apparatus | |
US20150310595A1 (en) | Local contrast enhancement method and apparatus | |
CN102609922A (zh) | 基于fpga的图像锐化系统及图像锐化方法 | |
US8891903B2 (en) | Method, arrangement, computer program and computer readable storage medium for scaling two-dimensional structures | |
JP3783815B2 (ja) | 画像処理装置 | |
CN103714512B (zh) | 一种基于Lanczos核的实时彩色图像缩放方法 | |
Raghupathy et al. | Algorithm and VLSI architecture for high performance adaptive video scaling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210804 Address after: 300465 No. 627-1, Jiayuguan Road, Tianjin pilot free trade zone (Dongjiang Bonded Port Area), Binhai New Area, Tianjin Applicant after: Tianjin Lutong Health Technology Co.,Ltd. Address before: 100000 cg05-203, building 8, yard 1, Zhongguancun East Road, Haidian District, Beijing Applicant before: BEIJING HUIMOR TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210827 |