CN104853063A - 一种基于sse2指令集的图像锐化方法 - Google Patents

一种基于sse2指令集的图像锐化方法 Download PDF

Info

Publication number
CN104853063A
CN104853063A CN201510303584.4A CN201510303584A CN104853063A CN 104853063 A CN104853063 A CN 104853063A CN 201510303584 A CN201510303584 A CN 201510303584A CN 104853063 A CN104853063 A CN 104853063A
Authority
CN
China
Prior art keywords
component
high fdrequency
image
register
sharpening
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
Application number
CN201510303584.4A
Other languages
English (en)
Other versions
CN104853063B (zh
Inventor
赵祖轩
张谱
周中亚
王丽丽
路鹏
彭杰军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING IMAGE VISION TECHNOLOGY BRANCH CHINA DAHENG (GROUP) Co Ltd
BEIJING DAHENG IMAGE VISION Co Ltd
Original Assignee
BEIJING IMAGE VISION TECHNOLOGY BRANCH CHINA DAHENG (GROUP) Co Ltd
BEIJING DAHENG IMAGE VISION Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING IMAGE VISION TECHNOLOGY BRANCH CHINA DAHENG (GROUP) Co Ltd, BEIJING DAHENG IMAGE VISION Co Ltd filed Critical BEIJING IMAGE VISION TECHNOLOGY BRANCH CHINA DAHENG (GROUP) Co Ltd
Priority to CN201510303584.4A priority Critical patent/CN104853063B/zh
Publication of CN104853063A publication Critical patent/CN104853063A/zh
Application granted granted Critical
Publication of CN104853063B publication Critical patent/CN104853063B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)

Abstract

本发明公开了一种基于SSE2指令集的图像锐化方法,其从载入的图像数据中分离出A分量、G分量、R分量和B分量,以G分量为基准分量获得通道差分分量;进行高通滤波和边缘增益放大处理,并采用阈值收缩和值调整的方式控制图像平坦区域和获得增强后的G分量中的高频分量;增强后的G分量中的高频分量与原始G分量相加得到锐化后的G分量;将锐化后的G分量与通道差分分量进行求和,得到锐化后的R分量和B分量;通过寄存器移位将A分量以及锐化后的R分量、G分量和B分量进行交错排列,写入输出缓冲区而后输出。本发明在对图像进行锐化时不需要色彩空间转换,实现了高效率的彩色图像锐化处理。

Description

一种基于SSE2指令集的图像锐化方法
技术领域
本发明涉及图像处理技术领域,尤其涉及一种基于SSE2(StreamingSIMD Extensions 2nd,单指令多数据流扩展)指令集的图像锐化方法。
背景技术
工业彩色相机一般采用单CCD(或者CMOS)成像单元进行成像,相机直接输出Bayer格式图像。这些Bayer格式图像是一幅典型的马赛克图像,每个像素点只含有单个通道的像素值,需对其进行插值(去马赛克)处理后,方才是我们通常看到的RGB彩色图像。由于插值算法基于邻域像素来拟合当前缺失的像素点,从而导致插值后的图像存在纹理细节模糊,边缘锐度不达标的情况,因此在对图像进行分析和理解时还需要对图像进行锐化处理,以增加图像内边缘的对比度。
在对彩色图像进行锐化过程中,如果直接在RGB色彩空间对各通道直接进行锐化处理,则在锐化后的图像中由于各分量边缘信息锐化后强度不一致,特别是锐化强度较大的时候,往往会产生彩色的噪声边缘,影响视觉体验。为了减少这种彩边现象,现有的图像锐化方法往往需要将图像转换到YUV色彩空间,并对亮度分量Y进行锐化处理,处理后的结果再转换到RGB色彩空间,这大大增加了锐化处理的计算量。因此现有图像锐化方法存在计算量大和锐化后图像出现彩边的问题。
发明内容
本发明的目的是提供一种基于SSE2指令集的图像锐化方法,其能够克服现有技术的计算量大和锐化后图像出现彩边的问题,其使用性广、计算效率高,且达到图像处理的实时性要求。
本发明的目的通过如下技术方案实现:
本发明提供一种基于SSE2指令集的图像锐化方法,其包括:
步骤S301,通过地址偏移方式将缓冲区内图像数据载入CPU的xmm寄存器;
步骤S302,通过左右移位方式从载入的图像数据中分离出A分量、G分量、R分量和B分量,并通过分离出的R分量和B分量减去G分量获得通道差分分量;
步骤S303,提取G分量中的高频分量;
步骤S304,对G分量高频部分进行增益放大,得到放大后的G分量中的高频分量;
步骤S305,对G分量中的高频分量进行阈值收缩,得到阈值收缩后的G分量中的高频分量;
步骤S306,对阈值收缩后的G分量中的高频分量进行增益缩小,得到增益缩小后的G分量中的高频分量;
步骤S307,调整增益缩小后的G分量中的高频分量,获得增强后的G分量中的高频分量;
步骤S308,增强后的G分量中的高频分量与原始G分量相加得到锐化后的G分量;
步骤S309,将锐化后的G分量与步骤S302得到的通道差分分量进行求和,得到锐化后的R分量和B分量;
步骤S310,通过寄存器移位将A分量以及锐化后的R分量、G分量和B分量进行交错排列,写入输出缓冲区而后输出。
更进一步地,所述步骤S303中提取G分量中的高频分量的过程,包括:
通过滤波模板卷积的形式来提取G分量中的高频分量h(i,j),计算方法如下:
h(i,j)=fG(i,j)*s(u,v)
其中,fG(i,j)表示图像中的G分量;s(u,v)表示卷积模板,为:
s ( u , v ) = 0 - 1 - 2 - 1 0 - 1 0 2 0 - 1 - 2 2 8 2 - 2 - 1 0 2 0 - 1 0 - 1 - 2 - 1 0
在s(u,v)中,负数通过减法指令实现,正数通过加法指令实现,且放大2倍采用寄存器左移1位实现,放大8倍通过寄存器左移3位实现。
更进一步地,所述步骤S304中对G分量高频部分进行增益放大的过程,包括:
将增益值扩展后载入xmm寄存器;然后与存储G分量高频部分的寄存器执行乘法操作;其计算公式如下:
k(i,j)=h(i,j)×g
其中,k(i,j)表示放大后的G分量中的高频分量;k(i,j)=h(i,j)×g表示;g表示扩展后的增益值。
更进一步地,所述步骤S305中对G分量中的高频分量进行阈值收缩的过程,包括:
采用分段函数进行阈值收缩,如下:
m ( i , j ) = k ( i , j ) + t k ( i , j ) < - t 0 - t &le; k ( i , j ) &le; t k ( i , j ) - t k ( i , j ) > t
其中,m(i,j)表示阈值收缩后的G分量中的高频分量;t表示收缩阈值,取值为128,通过SSE2指令的移位和求和操作获取该值;k(i,j)表示步骤步骤S304中计算出的放大后的图像G分量中的高频分量。
更进一步地,所述步骤S307中调整增益缩小后的G分量中的高频分量的过程,包括:
利用如下公式调整增益缩小后的G分量中的高频分量:
p ( i , j ) = T l n ( i , j ) < T l n ( i , j ) T l &le; n ( i , j ) &le; T h T h n ( i , j ) > T h
其中,p(i,j)表示增强后的G分量中的高频分量的分段函数;Th表示锐化边缘上凸阈值,其取值为Th=511;Tl表示锐化边缘下凹阈值,其取值为Tl=-512;n(i,j)表示步骤306计算出的增益缩小后的图像G分量的高频分量;
所述分段函数、常数511和常数-512通过SSE2指令对寄存器移位获得。
由上述本发明的技术方案可以看出,本发明基于SSE2指令集的图像锐化方法具有以下优点:
(1)由于本发明采用SSE2指令集技术对图像锐化算法进行并行化处理,因此能够达到图像锐化的实时性要求;在指令操作过程中,数据从内存载入CPU寄存器次数大大减少,且一次指令操作可以加载16个像素点,相应的算法循环次数变为原始的1/16,减少了对存储器的访问次数,大大提高了处理效率。
(2)本发明实施例中所述图像锐化方法以G通道分量为基准,采用通道差分的方法对图像进行锐化操作,不需要将图像数据转换到YUV格式,减少了计算量,同时对锐化后的图像数据保留了更多的纹理信息,没有彩边产生。
(3)用户可以根据自己需要增强图像类型的不同,设置不同的锐化强度参数获取合适的锐化效果,以快速实现图像边缘增强。
(4)本发明实施例中针对BGRA格式图像数据进行处理,针对游戏场景绘制和图像渲染等使用场合,具有很好的借鉴意义。
总之,采用通道差分的图像锐化方法可以降低锐化算法对图像色彩分量的影响,不会出现彩边现象;且采用相应的阈值收缩方法可以控制图像平坦区域和纹理边缘的锐化效果,使锐化后的图像边缘更清晰,平坦区域更平滑;同时使用SSE2指令集技术的并行处理数据功能解决,不仅可以提高锐化图像处理的实时性,作为一个创新点对实时的图像处理有很高的实用价值,而且对利用SSE2指令集技术降低图像处理中其它算法的复杂性也有很好的借鉴作用。
附图说明
图1为本发明所需要的设备环境示意图;
图2为本发明中Bayer格式SENSOR成像模型示意图;
图3为本发明实施例图像锐化处理流程图;
图4为本发明中载入图像像素点与xmm寄存器各位的对应关系;
图5为本发明中通过对xmm寄存器执行移位操作获取图像数据B分量的示意图;
图6为本发明中通过指令集移位操作获取常量128的方法示意图;
图7为本发明中G分量高频部分阈值收缩分段函数指令实现方法;
图8为本发明中G分量高频部分值调整分段函数示意图;
图9为本发明中基于锐化后的G分量获取锐化后R分量和B分量并将锐化后数据输出缓冲区指令操作实现示意图。
具体实施方式
以下结合附图对本发明的实施例进行详细描述。
本发明提供一种基于SSE2指令集的图像锐化方法,它针对BGRA(一种图形数据格式)格式的32位图像数据进行边缘增强,算法处理过程中以G分量为基准分量,只对G分量进行锐化,R和B分量通过与G分量进行差分操作获取锐化后的结果,它基于Intel(英特尔)公司的SSE2指令集技术,利用SSE2并行技术并以像素为单位处理数据,单个指令操作可以同时处理多个像素,不仅可以提高锐化图像处理的实时性,作为一个创新点对实时的图像处理有很高的实用价值,而且对利用SSE2指令集技术降低图像处理中其它算法的复杂性也有很好的借鉴作用。
本发明的具体实施所需要的设备如图1所示,包括普通计算机101和数字摄像机102。
上述计算机101的CPU支持SSE2及以上指令集的微机,CPU的配置不低于Core i7 920 2.66GHz,RAM不低于8GB。
上述数字摄相机102的图像分辨率不低于1628*1236。数字摄像机102的成像环境,如附图2所示:201表示输入可见光场景,202表示镜头,203表示Bayer格式的滤波器,204表示成像SENSOR。
本发明的一种基于SSE2指令集的图像锐化方法的实施流程如图3所示,包括如下步骤:
步骤S301,图像数据载入
本步骤中通过地址偏移方式将缓冲区内图像数据载入CPU的xmm寄存器,每一个BGRA图像数据单元占有寄存器32位存储。具体情况如下:
输入图像数据为BGRA格式,每个像素点的存储空间为8位,CPU中xmm寄存器的位宽为128位,因此每一次指令操作可以同时处理16个像素点,即4个BGRA序列单元。载入的像素点与xmm寄存器位之间的对应关系如附图4所示,eax用于存储输入的BGRA数据的图像数据指针地址,401表示以B00开始的像素序列载入时存放在xmm0寄存器中的位置,每个像素点占有8位,共载入16个像素点,共占用128位位宽;402表示输入指针偏移32位之后载入xmm1寄存器,此时以像素点B04起始;403表示输入指针偏移64位之后载入xmm2寄存器的示意图,此时以像素点B08起始。
为保证图像锐化处理的精确度,将每个像素的位宽扩展到16位,同时算法内部的乘法运算过程中为防止数据溢出,将输出结果扩展到32位;每一个BGRA序列单元占有32位存储空间,通过指令移位方式来分别获取B、G和R分量数据,进行锐化操作。
步骤S302,通过左右移位方式从载入的图像数据中分离出A分量、G分量、R分量和B分量,并根据该G分量计算通道差分分量。
本步骤通过左右移位方式从载入的图像数据中分离出各通道分量,通过R和B分量减去G分量获得通道差分分量,记为dR和dB,并对差分分量数据进行缓存,在输出数据时只需将dR和dB加上锐化后的G分量可得。具体情况如下:
首先,从xmm寄存器中分离出B,G和R各分量数据。
通过指令对寄存器执行移位操作来实现,如附图5所示,501表示保存BGRA数据的寄存器xmm0;502表示将xmm0寄存器左移24位,低位补0,这样寄存器中在高8位中只有B分量数据;503表示将xmm0寄存器右移24位,将B分量数据移动至低8位,方便进行指令集运算;同理,通过对寄存器执行移位操作获取寄存器中的G分量和R分量。
其次,获取R和B分量,与基准分量G作差,得到差分分量。
设图像为f(i,j),图像的R,G,B分量分别记为fR(i,j),fG(i,j)和fB(i,j),利用如下公式可得差分分量:
fdR(i,j)=fR(i,j)-fG(i,j)
fdB(i,j)=fB(i,j)-fG(i,j)               (1)
式(1)中,fdR(i,j)表示R分量与G分量的差分函数;fdB(i,j)表示B分量与G分量的差分函数。
最后,将差分分量计算结果存储在缓冲寄存器中,以备输出锐化后图像数据时使用。
步骤S303,提取G通道分量中的高频分量。
本步骤中对G通道分量进行高通滤波,滤波模板采用拉普拉斯模板。在将当前G分量邻域载入xmm寄存器时,按照边载入边计算的方式进行,这种方式可以减少寄存器的使用个数;同时设置滤波模板元素为0,则当前G分量邻域像素点不需要载入寄存器,这样可以提高程序执行效率。具体情况如下:
通过滤波模板卷积的形式来提取G分量的高频部分,计算方法如下:
h(i,j)=fG(i,j)*s(u,v)            (2)
其中,fG(i,j)表示图像中的G分量,卷积模板s(u,v)为:
s ( u , v ) = 0 - 1 - 2 - 1 0 - 1 0 2 0 - 1 - 2 2 8 2 - 2 - 1 0 2 0 - 1 0 - 1 - 2 - 1 0 - - - ( 3 )
由于每个像素点都要遍历其5*5邻域,且在执行滤波模板卷积操作时滤波模板中数值为0的点不需要计算,因此在执行滤波模板卷积操作时所占寄存器并不多,只占有2个xmm寄存器,直接将载入的邻域数据域中的当前像素点相加减即可。
当前像素点的邻域像素点载入方法仍然如附图4所示,具体描述与上述相关内容相同,这里不再详细描述;在s(u,v)中,负数通过减法指令实现,正数通过加法指令实现,且放大2倍采用寄存器左移1位实现,放大8倍通过寄存器左移3位实现。
步骤S304,对G分量中的高频分量部分进行增益放大,得到放大后的G分量中的高频分量。
本步骤中,本增益控制锐化的强度,输入的增益值需要扩展后载入xmm寄存器,然后与存储的G分量中的高频分量部分的寄存器执行乘法操作可得。具体处理情况如下:
G分量高频部分增益放大的目的在于突出显示图像的纹理细节和边缘信息,本步骤用于控制图像的锐化强度,与下面即将描述的步骤S306的高频信息增益缩放形成对应,通过将每个像素点的G分量中的高频分量乘以锐化强度值(即增益值)获得,其计算公式如下:
k(i,j)=h(i,j)×g                (4)
其中,k(i,j)表示放大后的G分量中的高频分量;g表示扩展后的增益值。
步骤S305,对放大后G分量中的高频分量进行阈值收缩,得到阈值收缩后的G分量中的高频分量。
阈值收缩的目的在于实现图像锐化,即锐化图像的边缘,同时尽量平滑图像的平坦区域。本步骤中,通过SSE2指令的移位和求和操作获取该收缩阈值,基于该收缩阈值对G分量中的高频分量进行阈值收缩,得到阈值收缩后的G分离中的高频分量。
本步骤中,基于梯度值的范围划分为正边缘,平坦区域和负边缘,将G分量的高频分量分为三个部分,并采用分段函数对这三部分进行阈值收缩处理,具体情况如下:
m ( i , j ) = k ( i , j ) + t k ( i , j ) < - t 0 - t &le; k ( i , j ) &le; t k ( i , j ) - t k ( i , j ) > t - - - ( 5 )
其中,m(i,j)表示阈值收缩后的G分量高频分量;t表示收缩阈值,在本发明实施例中此收缩阈值t固定为128。
在SSE2指令集中,通过SSE2指令的移位和求和操作获取该收缩阈值t,常量128的获取方法如附图6所示,具体如下:
首先通过指令pcmpeqb(此指令以8位为操作单元)操作寄存器xmm0,使得寄存器xmm0中每一位的逻辑值皆为1;同时缓存寄存器xmm0中的值给寄存器xmm1;
其次通过指令parld(此指令以32位为操作单元)将寄存器xmm0右移25位,得到常量值127;同理将寄存器xmm1右移31位得到常量值1;
最后,通过指令paddsw将寄存器xmm0和xmm1相加求和,得到常量128。
本步骤中分段函数(5)的实现方法如附图7所示,具体实施情况如下:
首先计算分段函数k(i,j)<-t部分,由于SSE2指令集中只有大于指令pcmpgtd,所以需将该不等式转换为k(i,j)+t<0;设寄存器xmm2为当前G分量的高频分量数据,寄存器xmm0为收缩阈值,执行如下步骤:(1)缓存xmm2数据入寄存器xmm1,对寄存器xmm1和xmm0执行求和操作获取k(i,j)+t;(2)通过指令xorpd操作寄存器xmm5获取逻辑0值;(3)通过指令pcmpgtd(此指令以32位为操作单元)对寄存器xmm5和xmm1执行比较操作,如果上述不等式成立,则寄存器xmm5中相应的操作单元中的逻辑值0000将置为FFFF;
其次,计算分段函数k(i,j)>t部分,将此不等式转换为t-k(i,j)<0;寄存器xmm2中为当前G分量中的高频分量数据,将其缓存在寄存器xmm1中,同时将存储阈值的寄存器xmm0中数值缓存在寄存器xmm6中,执行如下步骤:(1)通过指令psubd操作寄存器xmm6和xmm1执行减法操作,获取t-k(i,j)的数值;(2)通过指令xorpd操作寄存器xmm1获取逻辑0值;(3)通过指令pcmpgtd(此指令以32位为操作单元)对寄存器xmm1和xmm6执行比较操作,如果上述不等式成立,则寄存器xmm1中相应的操作单元中的逻辑值0000将置为FFFF;
最后对各函数各分段结果执行逻辑“与”和求和操作;具体步骤为:(1)缓存G分量中的高频分量数据的xmm2寄存器入xmm6,上述步骤计算出的分段函数的逻辑值分别存储在寄存器xmm1和xmm5中,分段阈值存储在寄存器xmm0中;(2)通过指令paddd操作寄存器xmm6和xmm0执行求和操作获取k(i,j)+t的值,该值存储在寄存器xmm6中,通过指令psubd操作寄存器xmm2和xmm0执行减法操作获取k(i,j)-t的值,该值存储在寄存器xmm2中;(3)分别对寄存器xmm6,xmm5和寄存器xmm2,xmm1执行逻辑“与”操作,并求和,得到阈值收缩后的G高频分量数据。
步骤S306,对阈值收缩后的G分量中的高频分量进行增益缩小。
在步骤S304中对高频分量进行了放大,此处对经过步骤S305处理后得到的阈值收缩后的G分量中的高频分量进行相对应的缩小,本发明实施例中设定缩小128倍,通过算术移位指令psrad将寄存器右移7位来实现,如公式(6)所示:
n(i,j)=m(i,j)>>7               (6)
步骤S307,调整G分量中的高频分量,获得增强后的G分量中的高频分量。
调整G分量中的高频分量的目的是为进一步控制G分量中的高频分量放大后的图像纹理信息的锐度,使本发明的锐化强度控制在一定范围之内,本步骤对步骤S306得到的增益缩小后的G分量中的高频分量进行调整,且本步骤中所需锐化边缘上凸阈值和锐化边缘下凹阈值可以根据设计者的期望进行调整,其计算方法采用的分段函数参见如下公式:
p ( i , j ) = T l n ( i , j ) < T l n ( i , j ) T l &le; n ( i , j ) &le; T h T h n ( i , j ) > T h - - - ( 7 )
式(7)中,Th表示锐化边缘上凸阈值,一般Th=511;Tl表示锐化边缘下凹阈值,一般Tl=-512;p(i,j)表示增强后的G分量;n(i,j)表示步骤306计算出的增益缩小后的G分量中的高频分量。
在进行SSE2指令集实现时,本分段函数的操作方法以及常数511和常数-512的获取方法如附图8所示,具体情况如下:
分段函数n(i,j)>Th部分的实施方法为:首先通过指令pcmpeqb操作寄存器xmm0使其所以逻辑位值为1;然后采用指令psrld对xmm0寄存器右移23位,即获取常量511;最后通过指令pminsw对寄存器xmm2和xmm0执行获取二者寄存器中最小值操作。
分段函数n(i,j)<Tl部分的实施方法为:首先获取常量-512,根据上述步骤中获取的常量511和步骤S305中常量1的获取方法可得值512,本步骤不再进行详细描述;然后获取全0值,对获取的512执行减法操作,即获得数值-512,存储在寄存器xmm0中;最后通过指令pmaxsw对寄存器xmm2和xmm0执行获取二值寄存器中最大值的操作,即获得增强后的G分量高频信息。
步骤S308,增强后的G分量中的高频分量与原始G分量相加得到锐化后的G分量。
将式(7)计算得到的增强后的G分量高频信息纹理与原始G分量数据进行叠加,即得到锐化后的G分量,其计算方法为:
q(i,j)=p(i,j)+f(i,j)             (8)
式(8)中,p(i,j)表示增强后的G分量高频信息,f(i,j)表示原始图像的G分量数据,q(i,j)表示锐化后的G分量。
步骤S309,根据得到的锐化后的G分量,计算并得到锐化后的R分量和B分量。
根据得到的锐化后的G分量,将步骤S302缓存的dR和dB数据与锐化后后的G分量进行求和,得到锐化后的R分量和B分量。具体处理情况如下:
根据式(8)中得到的锐化后的G分量,计算并得到锐化后的R分量和B分量,其计算方法如下:
f′R(i,j)=fdR(i,j)+q(i,j)
f′B(i,j)=fdB(i,j)+q(i,j)                (9)
式(9)中,f′R(i,j)表示锐化后的R分量,f′B(i,j)表示锐化后的B分量。
步骤S310,输出锐化后图像
输出的A分量与输入值保持一致,不做改变。由上述步骤得到的锐化后R分量,G分量和B分量。A分量以及锐化后R分量,G分量和B分量通过寄存器移位得到BGRA交错排列,将数据写入输出缓冲区而后输出。
输出图像数据为BGRA交错排列,因此需首先采用指令集移位指令将锐化后的图像数据执行交错排列,然后使用movdqu指令将xmm寄存器中的数据写入输出缓冲区;其实现方法如附图9所示,具体实施情况如下:
首先,由于锐化后的B分量和R分量的求取需要使用到G分量的值,且当前图像数据宽度为8位,为防止数据溢出,需要将当前的G分量数据执行切值操作,即将其值域限定在[0,255]之内,由上述步骤S307中可得常量0和255的获取方式,此处不再详述;其次通过指令pmaxsw和pminsw执行求最大值和最小值操作即可完成本切值;其次,通过paddsw对dR,dB分别和锐化后的G分量数据执行求和操作,得到锐化后的R和B分量数据,并执行切值;最后根据BGRA的数据交错排列方式,以32位为一个处理单元,将G分量数据左移8位,R分量数据左移16位写入输出数据缓存区。
经过本发明增强处理后,在可见光环境中,增强后的图像纹理更清晰,从而提高了图像的可视性。
通过以上实施方式的描述,本领域的技术人员可以清楚地了解到本发明既可以应用于计算机设备的软件端也可以在移动嵌入式设备中使用,基于这样的理解,本发明的技术方案可以以软件的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令,以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)能够执行本发明。
本发明实施例的技术方案有如下优点:
(1)数据从内存载入CPU寄存器次数大大减少,本发明实施例中所述方法每次可以加载16个像素点,相应的算法循环次数变为原始的1/16,减少了对存储器的访问次数,大大提高了处理效率;
(2)本发明以G通道分量为基准分量,采用通道差分的方法,获取R和B分量与G分量的差值dB和dR,近似转换成YUV颜色空间,然后再锐化处理过程中只对G通道分量进行锐化处理,而在结果中将dB和dR加上锐化后的G进行输出,使得锐化后的图像不会出现彩边问题。
(3)本发明实施例中针对BGRA格式图像数据进行处理,针对游戏场景绘制和图像渲染等使用场合,具有很好的借鉴意义。
虽然本发明已以较佳实施例公开如上,但实施例并不限定本发明。在不脱离本发明之精神和范围内,所做的任何等效变化或润饰,同样属于本发明之保护范围。因此本发明的保护范围应当以本申请的权利要求所界定的内容为标准。

Claims (5)

1.一种基于SSE2指令集的图像锐化方法,其特征在于,所述基于SSE2指令集的图像锐化方法包括:
步骤S301,通过地址偏移方式将缓冲区内图像数据载入CPU的xmm寄存器;
步骤S302,通过左右移位方式从载入的图像数据中分离出A分量、G分量、R分量和B分量,并通过分离出的R分量和B分量减去G分量获得通道差分分量;
步骤S303,提取G分量中的高频分量;
步骤S304,对G分量高频部分进行增益放大,得到放大后的G分量中的高频分量;
步骤S305,对G分量中的高频分量进行阈值收缩,得到阈值收缩后的G分量中的高频分量;
步骤S306,对阈值收缩后的G分量中的高频分量进行增益缩小,得到增益缩小后的G分量中的高频分量;
步骤S307,调整增益缩小后的G分量中的高频分量,获得增强后的G分量中的高频分量;
步骤S308,增强后的G分量中的高频分量与原始G分量相加得到锐化后的G分量;
步骤S309,将锐化后的G分量与步骤S302得到的通道差分分量进行求和,得到锐化后的R分量和B分量;
步骤S310,通过寄存器移位将A分量以及锐化后的R分量、G分量和B分量进行交错排列,写入输出缓冲区而后输出。
2.根据权利要求1所述的基于SSE2指令集的图像锐化方法,其特征在于,所述步骤S303中提取G分量中的高频分量的过程,包括:
通过滤波模板卷积的形式来提取G分量中的高频分量h(i,j),计算方法如下:
h(i,j)=fG(i,j)*s(u,v)
其中,fG(i,j)表示图像中的G分量;s(u,v)表示卷积模板,为:
s ( u , v ) = 0 - 1 - 2 - 1 0 - 1 0 2 0 - 1 - 2 2 8 2 - 2 - 1 0 2 0 - 1 0 - 1 - 2 - 1 0
在s(u,v)中,负数通过减法指令实现,正数通过加法指令实现,且放大2倍采用寄存器左移1位实现,放大8倍通过寄存器左移3位实现。
3.根据权利要求1或2所述的基于SSE2指令集的图像锐化方法,其特征在于,所述步骤S304中对G分量高频部分进行增益放大的过程,包括:
将增益值扩展后载入xmm寄存器;然后与存储G分量高频部分的寄存器执行乘法操作;其计算公式如下:
k(i,j)=h(i,j)×g
其中,k(i,j)表示放大后的G分量中的高频分量;k(i,j)=h(i,j)×g表示;g表示扩展后的增益值。
4.根据权利要求3所述的基于SSE2指令集的图像锐化方法,其特征在于,所述步骤S305中对G分量中的高频分量进行阈值收缩的过程,包括:
采用分段函数进行阈值收缩,如下:
m ( i , j ) = k ( i , j ) + t k ( i , j ) < - t 0 - t &le; k ( i , j ) &le; t k ( i , j ) - t k ( i , j ) > t
其中,m(i,j)表示阈值收缩后的G分量中的高频分量;t表示收缩阈值,取值为128,通过SSE2指令的移位和求和操作获取该值;k(i,j)表示步骤步骤S304中计算出的放大后的图像G分量中的高频分量。
5.根据权利要求4所述的基于SSE2指令集的图像锐化方法,其特征在于,所述步骤S307中调整增益缩小后的G分量中的高频分量的过程,包括:
利用如下公式调整增益缩小后的G分量中的高频分量:
p ( i , j ) = T l n ( i , j ) < T l n ( i , j ) T l &le; n ( i , j ) &le; T h T h n ( i , j ) > T h
其中,p(i,j)表示增强后的G分量中的高频分量的分段函数;Th表示锐化边缘上凸阈值,其取值为Th=511;Tl表示锐化边缘下凹阈值,其取值为Tl=-512;n(i,j)表示步骤306计算出的增益缩小后的图像G分量的高频分量;
所述分段函数、常数511和常数-512通过SSE2指令对寄存器移位获得。
CN201510303584.4A 2015-06-05 2015-06-05 一种基于sse2指令集的图像锐化方法 Active CN104853063B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510303584.4A CN104853063B (zh) 2015-06-05 2015-06-05 一种基于sse2指令集的图像锐化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510303584.4A CN104853063B (zh) 2015-06-05 2015-06-05 一种基于sse2指令集的图像锐化方法

Publications (2)

Publication Number Publication Date
CN104853063A true CN104853063A (zh) 2015-08-19
CN104853063B CN104853063B (zh) 2017-10-31

Family

ID=53852402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510303584.4A Active CN104853063B (zh) 2015-06-05 2015-06-05 一种基于sse2指令集的图像锐化方法

Country Status (1)

Country Link
CN (1) CN104853063B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107784641A (zh) * 2017-11-21 2018-03-09 天津英田视讯科技有限公司 一种基于hpf的图像锐化算法
CN112668477A (zh) * 2020-12-29 2021-04-16 中通服公众信息产业股份有限公司 一种高危地区特征检测识别方法及智能识别系统
CN114424094A (zh) * 2019-09-27 2022-04-29 富士胶片株式会社 图像曝光装置、图像曝光方法及程序
CN115022526A (zh) * 2021-09-29 2022-09-06 荣耀终端有限公司 全景深图像生成方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070229710A1 (en) * 2006-02-09 2007-10-04 Sung-Cheol Park Post-processing circuit for processing an image signal according to frequency components of the image signal
EP2124190A1 (en) * 2008-05-19 2009-11-25 Mitsubishi Electric Information Technology Centre Europe B.V. Image processing to enhance image sharpness
CN102194220A (zh) * 2011-05-10 2011-09-21 西安理工大学 一种基于锐化强度与灰度分布结合的图像增强方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070229710A1 (en) * 2006-02-09 2007-10-04 Sung-Cheol Park Post-processing circuit for processing an image signal according to frequency components of the image signal
EP2124190A1 (en) * 2008-05-19 2009-11-25 Mitsubishi Electric Information Technology Centre Europe B.V. Image processing to enhance image sharpness
CN102194220A (zh) * 2011-05-10 2011-09-21 西安理工大学 一种基于锐化强度与灰度分布结合的图像增强方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107784641A (zh) * 2017-11-21 2018-03-09 天津英田视讯科技有限公司 一种基于hpf的图像锐化算法
CN107784641B (zh) * 2017-11-21 2021-08-20 天地伟业技术有限公司 一种基于hpf的图像锐化算法
CN114424094A (zh) * 2019-09-27 2022-04-29 富士胶片株式会社 图像曝光装置、图像曝光方法及程序
CN114424094B (zh) * 2019-09-27 2023-10-31 富士胶片株式会社 图像曝光装置、图像曝光方法及计算机可读存储介质
CN112668477A (zh) * 2020-12-29 2021-04-16 中通服公众信息产业股份有限公司 一种高危地区特征检测识别方法及智能识别系统
CN115022526A (zh) * 2021-09-29 2022-09-06 荣耀终端有限公司 全景深图像生成方法和装置
CN115022526B (zh) * 2021-09-29 2023-05-30 荣耀终端有限公司 全景深图像生成方法和装置

Also Published As

Publication number Publication date
CN104853063B (zh) 2017-10-31

Similar Documents

Publication Publication Date Title
US9984445B2 (en) Tone mapping
US11113795B2 (en) Image edge processing method, electronic device, and computer readable storage medium
CN101061502B (zh) 2-维图像的放大和收缩
US11265490B2 (en) Systems and methods of spatiotemporal image noise reduction for multispectral image data
CN105046658A (zh) 一种低照度图像处理方法和装置
CN104853063A (zh) 一种基于sse2指令集的图像锐化方法
US20180232853A1 (en) Image conversion device and image conversion method therefor
CN110428382B (zh) 一种用于移动终端的高效视频增强方法、装置和存储介质
CN113034358A (zh) 一种超分辨率图像处理方法以及相关装置
US8488899B2 (en) Image processing apparatus, method and recording medium
US11741576B2 (en) Image system including image signal processor and operation method of image signal processor
WO2023056950A1 (zh) 图像处理方法和电子设备
CN111429371B (zh) 图像处理方法、装置及终端设备
US20190068841A1 (en) Luminance-Normalised Colour Spaces
US20140092116A1 (en) Wide dynamic range display
US20210327023A1 (en) Methods and systems for image processing
US8462171B2 (en) Saturation contrast image enhancement
CN105791635A (zh) 基于gpu的视频增强去噪方法及装置
CN111429458B (zh) 一种图像还原的方法、装置及电子设备
US20190019272A1 (en) Noise reduction for digital images
He et al. Effective haze removal under mixed domain and retract neighborhood
CN106558021A (zh) 基于超分辨率技术的视频增强方法
US20150063710A1 (en) Conversion of digital images into digital line drawings
US20210158487A1 (en) Image processing apparatus, image processing method, and non-transitory computer-readable medium
JP6155349B2 (ja) デコンボリューション画像において色収差を減じる方法、装置及びコンピュータプログラム製品

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant