一种双线性两倍上采样方法及系统的制作方法

文档序号:7754117阅读:583来源:国知局
专利名称:一种双线性两倍上采样方法及系统的制作方法
技术领域
本发明属于图像处理、视频编解码等技术领域,具体涉及到一种双线性两倍上采样方法及系统。
背景技术
近年来,随着图像处理、视频编解码技术的不断发展,人们对图像和视频的呈现灵活性要求越来越高。例如,图像的放大缩小,视频的拉伸压缩,其中都涉及到上下采样技术。 尤其是在可伸缩视频编码中,编解码器内部都需要进行上下采样,以支持空域可伸缩的特性。图像上采样是从较低分辨率图像中产生较高分辨率的过程,也就是增大图像分辨率。上采样技术有很多种,从最简单的最近邻域采样,到较为复杂的Lanczos采样等。最近邻域采样的运算量最小且容易实现,但效果最差。Lanczos采样方法是BicubicResize的替代者,可以提供更精准、更锐利的画质,但其程序复杂、消耗时间长。对于图像处理,为了提高画质而采用较复杂、较耗时的采样方法是合理的。然而对于视频应用,实时性、同步性的要求则是第一位的。双线性上采样是上采样算法中较为简单的一种,由于它速度较快,采样效果较好,因而被广泛使用。双线性采样法的输出像素值是它在输入图像中2X2领域采样点的平均值,就是根据周围最接近的四个点的像素值通过加权平均计算出新像素值。它根据周围4个像素的灰度值在水平和垂直两个方向上进行插值。双线性上采样的比较典型的应用场合是进行两倍上采样。现有的双线性上采样方法是针对多倍上采样的通用方法,采用乘法计算采样结果,由于乘法计算耗时较多、速度较慢,因此采样效率较低。

发明内容
针对现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种效率高的双线性两倍上采样方法及系统。为解决上述技术问题,本发明采用的技术方案如下一种双线性两倍上采样方法,包括以下步骤(1)申请四个缓冲区,分别为第一缓冲区、第二缓冲区、第三缓冲区和第四缓冲区;(2)将待采样图像输入到第一缓冲区;(3)遍历待采样图像,分别对待采样图像进行横向像素采样、纵向像素采样和相邻四像素采样;将横向像素采样结果存入第二缓冲区,将纵向像素采样结果存入第三缓冲区, 将相邻四像素采样结果存入第四缓冲区;(4)将四个缓冲区中像素进行交错排布,输出采样后图像。一种双线性两倍上采样系统,包括用于申请缓冲区的缓存装置,所述缓存装置申请四个缓冲区,分别为第一缓冲区、第二缓冲区、第三缓冲区和第四缓冲区;所述第一缓冲区用于缓存待采样图像,所述第二缓冲区用于缓存横向像素采样所得像素,所述第三缓冲区用于缓存纵向像素采样所得像素, 所述第四缓冲区用于缓存相邻四像素采样所得像素;用于将待采样图像输入到第一缓冲区的输入装置;用于对待采样图像进行横向像素采样、纵向像素采样和相邻四像素采样,并将横向像素采样结果存入第二缓冲区,将纵向像素采样结果存入第三缓冲区,将相邻四像素采样结果存入第四缓冲区的采样装置;用于将四个缓冲区中像素进行交错排布,输出采样后图像的输出装置。本发明所述方法及系统,通过将待采样图像进行横向像素采样、纵向像素采样和相邻四像素采样,并将采样结果存入不同的缓冲区中,再交错排布四个缓冲区中像素的方式,大大提高了图像双线性两倍上采样的效率。而且,在采样过程中,通过计算相邻像素平均值的方式,代替了乘法计算,从而减少了计算时间,加快了采样速度。


图1是具体实施方式
中所述双线性两倍上采样系统的结构框图;图2是具体实施方式
中所述双线性两倍上采样方法的流程图;图3是具体实施方式
中缓冲区起始地址16字节对齐示意图;图4是具体实施方式
中待采样图像像素分布示意图;图5是具体实施方式
中四个缓冲区中像素交错排布的示意图。
具体实施例方式下面结合具体实施方式
和附图对本发明进行详细描述。图1出示了本实施方式中所述双线性两倍上采样系统的结构框图。该系统包括缓存装置12,与缓存装置12连接的输入装置11和采样装置13,以及与采样装置13连接的输出装置14。缓存装置12用于申请缓冲区,本实施方式中共申请四个缓冲区,分别命名为第一缓冲区(0缓冲区)、第二缓冲区(H缓冲区)、第三缓冲区(V缓冲区)和第四缓冲区(HV缓冲区)。0缓冲区用于缓存待采样图像,H缓冲区用于缓存横向像素采样所得像素,V缓冲区用于缓存纵向像素采样所得像素,HV缓冲区用于缓存相邻四像素采样所得像素。输入装置11用于将待采样图像输入到0缓冲区。采样装置13用于对待采样图像进行横向像素采样、纵向像素采样和相邻四像素采样,并将横向像素采样结果存入H缓冲区,将纵向像素采样结果存入V缓冲区,将相邻四像素采样结果存入HV缓冲区。输出装置14用于将四个缓冲区中像素进行交错排布,输出采样后图像。图2出示了采用图1所示系统进行双线性两倍上采样的方法流程图。该方法包括以下步骤(1)缓存装置12首先申请四个缓冲区,分别命名为0缓冲区、H缓冲区、V缓冲区和HV缓冲区。每个缓冲区的大小均不小于待采样图像的大小,且为16的倍数。申请四个缓冲区后,还包括对每个缓冲区的起始地址进行16字节对齐的操作。本实施方式中,16字节对齐操作采用如下方式对于32位应用程序,首先在申请每个缓冲区时,额外申请19字节空间;然后记录缓冲区的起始地址P,将P+4字节后进行16字节向上对齐,得到Q。对于64位应用程序,在申请每个缓冲区时,额外申请23字节空间;记录缓冲区的起始地址P,将P+8字节后进行16 字节向上对齐,得到Q。其中4字节和8字节为指针的大小。缓冲区的结束地址相应后延, 保证缓冲区的大小不变。16字节对齐处理后,对于32位应用程序,将P写入Q的前方4字节中;对于64位应用程序,将P写入Q的前方8字节中。例如,如图3所示,设某缓冲区的起始位置P为10,将P向右移4个字节后到达R 位置,R为14 ;与16相比差2个字节,再向右移动2个字节后到达Q位置,此时缓冲区的当前起始位置Q为16,达到了对齐目的。由于多申请了 19或23字节,因此缓冲区的大小能够保持不变。在释放缓冲区时,将Q减去4字节(64位应用程序为8字节)取得P,释放P即可。(2)输入装置11将待采样图像(原始图像)输入到0缓冲区,作为上采样源数据。(3)采样装置13遍历待采样图像,分别对待采样图像进行横向像素采样、纵向像素采样和相邻四像素采样。将横向像素采样结果存入H缓冲区,将纵向像素采样结果存入 V缓冲区,将相邻四像素采样结果存入HV缓冲区。以图4所示原始图像为例,其像素为IOX 10矩阵,行和列的交叉点表示像素。横向像素采样的过程如下遍历待采样图像,首先计算像素00(第0行第0列像素,其他像素相同的表示方式的含义以此类推)和像素01的平均值,存入H缓冲区中第0行第0列位置; 然后计算像素01和像素02的平均值,存入H缓冲区中第0行第1列位置;再计算像素02 和像素03的平均值,存入H缓冲区中第0行第2列位置;以此类推。处理完第一行后,再与处理第一行相同的方式处理第二行,直到处理完所有行,横向像素采样结束。H缓冲区中存储的采样结果如下表所示
权利要求
1.一种双线性两倍上采样方法,包括以下步骤(1)申请四个缓冲区,分别为第一缓冲区、第二缓冲区、第三缓冲区和第四缓冲区;(2)将待采样图像输入到第一缓冲区;(3)遍历待采样图像,分别对待采样图像进行横向像素采样、纵向像素采样和相邻四像素采样;将横向像素采样结果存入第二缓冲区,将纵向像素采样结果存入第三缓冲区,将相邻四像素采样结果存入第四缓冲区;(4)将四个缓冲区中像素进行交错排布,输出采样后图像。
2.如权利要求1所述的方法,其特征在于步骤(1)中所述四个缓冲区中,每个缓冲区的大小不小于待采样图像的大小,且为16的倍数。
3.如权利要求2所述的方法,其特征在于步骤(1)中还包括对四个缓冲区的起始地址进行16字节对齐的操作。
4.如权利要求3所述的方法,其特征在于对每个缓冲区的地址进行16字节对齐操作的方法如下对于32位应用程序,在申请每个缓冲区时,额外申请19字节空间;记录缓冲区的起始地址P,将P+4个字节后进行16字节向上对齐;缓冲区的结束地址相应后延,保证缓冲区的大小不变。
5.如权利要求3所述的方法,其特征在于对每个缓冲区的地址进行16字节对齐操作的方法如下对于64位应用程序,在申请每个缓冲区时,额外申请23字节空间;记录缓冲区的起始地址P,将P+8字节后进行16字节向上对齐;缓冲区的结束地址相应后延,保证缓冲区的大小不变。
6.如权利要求1所述的方法,其特征在于步骤(3)中所述横向像素采样采用的方法如下遍历待采样图像,对待采样图像的每一行像素,计算相邻两个像素的平均值,作为横向像素采样结果。
7.如权利要求1所述的方法,其特征在于步骤(3)中所述纵向像素采样采用的方法如下遍历待采样图像,对待采样图像的每一列像素,计算相邻两个像素的平均值,作为纵向像素采样结果。
8.如权利要求7所述的方法,其特征在于所述计算相邻两个像素的平均值采用并行求平均数指令进行并行计算。
9.如权利要求1所述的方法,其特征在于步骤(3)中所述相邻四像素采样采用的方法如下遍历待采样图像,对待采样图像相邻的四个像素,计算平均值,作为相邻四像素采样结^ ο
10.如权利要求6所述的方法,其特征在于步骤(3)中所述相邻四像素采样采用的方法如下获取相邻四像素中上面两个像素的平均值A和下面两个像素的平均值B,计算A和B的平均值,作为相邻四像素的平均值。
11.如权利要求10所述的方法,其特征在于所述相邻四像素的平均值采用并行求平均数指令进行并行计算。
12.如权利要求6至11之一所述的方法,其特征在于步骤中所述将四个缓冲区中像素进行交错排布的方法如下在第一缓冲区中的图像每行两个相邻像素之间插入第二缓冲区中这两个像素的平均值,在每列两个相邻像素之间插入第三缓冲区中这两个像素的平均值,在相邻四像素的中心位置处插入第四缓冲区中这四个像素的平均值。
13.如权利要求12所述的方法,其特征在于所述将四个缓冲区中像素进行交错排布的方法为采用并行整数交错指令对四个缓冲区中像素进行并行交错排布。
14.一种双线性两倍上采样系统,包括用于申请缓冲区的缓存装置(12),所述缓存装置(1 申请四个缓冲区,分别为第一缓冲区、第二缓冲区、第三缓冲区和第四缓冲区;所述第一缓冲区用于缓存待采样图像,所述第二缓冲区用于缓存横向像素采样所得像素,所述第三缓冲区用于缓存纵向像素采样所得像素,所述第四缓冲区用于缓存相邻四像素采样所得像素;用于将待采样图像输入到第一缓冲区的输入装置(11);用于对待采样图像进行横向像素采样、纵向像素采样和相邻四像素采样,并将横向像素采样结果存入第二缓冲区,将纵向像素采样结果存入第三缓冲区,将相邻四像素采样结果存入第四缓冲区的采样装置(13);以及用于将四个缓冲区中像素进行交错排布,输出采样后图像的输出装置(14)。
全文摘要
本发明公开了一种双线性两倍上采样方法及系统,属于图像处理、视频编解码等技术领域。现有的双线性上采样方式的效率较低。本发明首先申请四个缓冲区,分别为第一缓冲区、第二缓冲区、第三缓冲区和第四缓冲区;然后将待采样图像输入到第一缓冲区;再遍历待采样图像,分别对待采样图像进行横向像素采样、纵向像素采样和相邻四像素采样;将横向像素采样结果存入第二缓冲区,将纵向像素采样结果存入第三缓冲区,将相邻四像素采样结果存入第四缓冲区;最后将四个缓冲区中的像素进行交错排布,输出采样后图像。本发明主要应用于对图像进行双线性两倍上采样处理中。
文档编号H04N7/46GK102333212SQ20101022601
公开日2012年1月25日 申请日期2010年7月14日 优先权日2010年7月14日
发明者孙俊, 肖建国, 郭宗明, 颜乐驹 申请人:北京北大方正电子有限公司, 北京大学, 北大方正集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1