一种多媒体视频图像的缩放方法转让专利

申请号 : CN200710178188.9

文献号 : CN101163252B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王国晖魏征王贞松

申请人 : 中国科学院计算技术研究所

摘要 :

本发明公开了一种多媒体视频图像的缩放方法,对视频图像执行色彩空间变换操作,使得图像满足在变换后的色彩空间中,三个色彩分量包含的图像的信息量不相同,图像的信息集中于其中一个色彩分量;再在变换后的色彩空间对视频图像进行缩放。对包含视频图像的最多的图像信息的色彩分量,在放大时采用使色彩分量获得更好效果的复杂插值方法,对其它的色彩分量,采用相对简单的插值方法,进行视频图像的缩放处理。本发明的多媒体视频图像的缩放方法,其能够很好地保留视频图像细节,具有非常好的缩放效果;尤其在用于低码率、网络环境状况恶劣条件下的图像质量较差的视频时,可以获得比其他方法更加出色的视频缩放效果。

权利要求 :

1.一种多媒体视频图像的缩放方法,其特征在于,包括下列步骤:步骤A,对多媒体视频图像执行色彩空间变换操作,使得多媒体视频图像满足在变换后的色彩空间中,三个色彩分量包含的多媒体视频图像的信息量不相同,多媒体视频图像的信息集中于其中一个色彩分量,对包含多媒体视频图像的最多的图像信息的色彩分量,在放大时采用使色彩分量获得更好效果的复杂插值方法,对其它的色彩分量,采用相对简单的插值方法,进行多媒体视频图像的缩放处理。

2.根据权利要求1所述的多媒体视频图像的缩放方法,其特征在于,还包括下列步骤:步骤B,对待缩放的多媒体视频图像的色彩空间的多个色彩分量分别处理完毕后,对多媒体视频图像执行色彩空间变换,将其变换为RGB色彩空间,完成多媒体视频图像的缩放。

3.根据权利要求1或2所述的多媒体视频图像的缩放方法,其特征在于,所述步骤A中,所述复杂插值方法为样条插值方法或者立方卷积方法。

4.根据权利要求3所述的多媒体视频图像的缩放方法,其特征在于,所述步骤A中,所述相对简单的插值方法为双线性插值方法或者最邻近插值方法。

5.根据权利要求3所述的多媒体视频图像的缩放方法,其特征在于,所述样条插值方法为双三次样条插值方法或者改进后的双三次样条插值方法。

6.根据权利要求5所述的多媒体视频图像的缩放方法,其特征在于,所述色彩空间或者为YUV色彩空间,或者为YCrCb色彩空间,或者为HSI色彩空间。

7.根据权利要求1所述的多媒体视频图像的缩放方法,其特征在于,所述步骤A还包括下列步骤:步骤A1,对待缩放的多媒体视频图像,在YUV色彩空间中对多媒体视频图像采用双线性插值方法对U、V分量进行放大处理,采用样条插值方法对Y分量进行处理,得到放大的多媒体视频图像。

8.根据权利要求7所述的多媒体视频图像的缩放方法,其特征在于,所述步骤A1包括下列步骤:步骤A11,对多媒体视频图像,在YUV色彩空间对多媒体视频图像的U、V分量采用双线性插值方法或者最邻近插值方法进行放大处理;

步骤A12,对多媒体视频图像,在YUV色彩空间对多媒体视频图像的Y分量采用样条插值方法或者立方卷积插值方法进行放大处理。

9.根据权利要求8所述的多媒体视频图像的缩放方法,其特征在于,所述步骤A12中,所述样条插值方法为双三次样条插值方法,包括下列步骤:步骤A121,对于目标多媒体视频图像中的像素点(x1,y1),通过逆几何变换:得到目标多媒体视频图像中的像素映射到原多媒体视频图像中的位置坐标 其中,M为进行放大处理时,放大的倍数, 经过向下取整得到取整后的坐标(x0,y0),即:步骤A122,计算目标多媒体视频图像中的像素映射到原多媒体视频图像中的位置坐标和取整后的坐标(x0,y0)之间的差值为:步骤A123,将u,v的值代入插值核函数S(x),得出:

步骤A124,读取原多媒体视频图像的像素(x0,y0)四周的4×4的像素,构成矩阵:步骤A125,根据插值公式: 计算得到目标多媒体视频图

像的像素值;

步骤A126,重复步骤A121~125,扫描整个目标多媒体视频图像中的所有像素,完成整个多媒体视频图像的双三次样条插值,得到放大的多媒体视频图像。

10.根据权利要求8所述的多媒体视频图像的缩放方法,其特征在于,所述步骤A12中,所述样条插值方法为改进的双三次样条插值方法,包括下列步骤:步骤A121’,根据放大倍数,计算可能用到的插值核函数值;

步骤A122’,将插值核函数的值整数化,并变为2的幂次,存为S_int2(x)值;

步骤A123’,取目标多媒体视频图像的一个尺寸为M*M的子图像块;

步骤A124’,计算子图像块中每个像素对应的差值(u,v)和S_int2(x)值;

步骤A125’,确认子图像块是否位于目标多媒体视频图像中最左边,如果是,则读取子图像块所对应的多媒体视频图像中像素(k,l)四周的4×4的像素所构成的矩阵,步骤A126’,取出目标多媒体视频图像子图像块内的一个像素点,获取对应的S_int2(x)值;

步骤A127’,对于子图像块对应的 和差值(u,v)代入双三次样条插值矩阵公式计算,将计算获得的结果右移20位,得到目标多媒体视频图像像素值;

步骤A128’,确认是否处理完当前子图像块内所有像素;

步骤A129’,确认是否处理完目标多媒体视频图像内的所有子图像块。

11.根据权利要求10所述的多媒体视频图像的缩放方法,其特征在于,所述步骤A125’包括下列步骤:步骤A1251’,若子图像块是位于目标多媒体视频图像中最左边,则从原多媒体视频图像中读取M*M的子图像块B;

步骤A1252’,若子图像块不是位于目标多媒体视频图像中最左边,则从原多媒体视频图像中读取一列M个像素,和上一次计算用到的M*M的子图像块B’的右边三列一起构成新的子图像块B。

12.根据权利要求10所述的多媒体视频图像的缩放方法,其特征在于,所述步骤A128’还进一步包括下列步骤:步骤A1281’,若已经处理完当前子图像块内所有像素,则继续步骤A129’;

步骤A1282’,若没有处理完当前子图像块内所有像素,则返回步骤A126’。

13.根据权利要求10所述的多媒体视频图像的缩放方法,其特征在于,所述步骤A129’还进一步包括下列步骤:步骤A1291’,若已经处理完当前子图像块内所有像素,则结束放大操作;

步骤A1292’,若没有处理完当前子图像块内所有像素,则返回步骤A123’。

14.根据权利要求7所述的多媒体视频图像的缩放方法,其特征在于,所述步骤A还包括下列步骤:步骤A2,对待缩放的多媒体视频图像,在YUV色彩空间对视频数据的三个色彩分量,分别采用双线性插值方法或者最邻近插值方法进行缩小处理。

15.根据权利要求8或14所述的多媒体视频图像的缩放方法,其特征在于,所述双线性插值方法进行处理时,包括下列步骤:步骤A21,对于目标多媒体视频图像中的像素点,通过逆几何变换得到目标多媒体视频图像中的像素映射到原多媒体视频图像中的位置坐标,位置坐标经过向下取整得到取整数后的坐标;

步骤A22,计算目标多媒体视频图像中的像素映射到原多媒体视频图像中的位置坐标和取整后的坐标之间的差值;

步骤A23,利用双线性插值方法,计算得到目标多媒体视频图像的像素值;

步骤A24,判断是否完成整个多媒体视频图像的像素的扫描,如果未完成,则回到步骤A21,开始处理下一个像素;如果完成,则整个多媒体视频图像的插值完毕,结束运算。

说明书 :

一种多媒体视频图像的缩放方法

技术领域

[0001] 本发明涉及多媒体视频图像处理技术领域,特别是涉及一种多媒体视频图像的缩放方法。

背景技术

[0002] 随着多媒体、网络技术的迅速发展,视频作为一种信息载体已经深入到社会生活的方方面面。在各种视频应用中,视频图像的缩放都是必不可少的功能,而且也是使用最频繁的功能。在数字图像处理领域,已经有了大量成熟的数字图像插值算法,如最邻近插值、双线性插值、双三次样条插值、立方卷积插值等,使用这些插值算法能够很好的完成数字图像的缩放。
[0003] 然而,稍复杂一点的算法就无法直接移植到数字视频图像的缩放中去,因为视频播放要求实时性得到保证,因而对视频图像的缩放的效率提出很高的要求。举个简单的例子,如一个全速运行的视频帧率为24帧/秒,那么每帧视频图像的全部处理时间不能超过33毫秒,在这个时间内,除了要完成图像缩放,还包括视频图像的解码、色彩空间变换等大量消耗系统资源的处理以及其他各种处理,直接使用包括双三次样条插值、立方卷积插值将消耗大量的系统资源,并且需要很长的处理时间,将严重影响视频播放的实时性,因而对视频图像的缩放的效率提出很高的要求。所以,实际在视频缩放中经常使用双线性插值实现视频图像的缩放,双线性插值算法复杂度小,比最邻近算法效果好,但是有明显的平滑效应。尽管视频图像质量有不小的损失,但考虑到算法的复杂度,受限于计算机硬件条件,为了保证视频图像的实时播放,人们通常还是会以视频图像质量的一点损失换取视频的实时性。
[0004] 随着数字视频技术的发展,计算机的运算能力和存储能力有了大幅度提高,个人计算机(PC)也逐渐能满足H.264和MPEG4(Motion Picture ExpertsGroup 4)等视频编解码格式对硬件环境的要求。如以H.264技术的应用与以往的H.263等编解码格式相比,H.264视频编解码格式具有低码率高性能的优点,尤其是在一些对码率和网络带宽要求非常苛刻的环境下,H.264视频编解码展现出了非常出色的性能。
[0005] 随着数字视频技术的发展,采用H.264技术的网络视频会议、网络远程监控等应用逐渐成熟。在这些应用中,受限于网络带宽和服务器的处理能力,在网络上传输的视频图像尺寸一般为CIF格式(Common Intermediate Format,通用中间格式)。然而,CIF格式的尺寸远远不能满足视频会议或网络远程监控等应用的需求,因此,在这些应用中,对视频缩放的需求变得更加强烈。
[0006] 在低码率条件下,视频图像的缩放面临更多的困难。在低码率下,由于量化和编码过程中的大幅度近似,视频本身的质量下降很严重;再加上一般低码率的网络环境下,丢包和错误在所难免,导致了视频的细节被严重破坏,图像质量较差。在这种前提下,如果还使用双线性插值进行视频的缩放,那么双线性插值所带来的混叠和模糊效应会进一步损坏图像的细节,用该算法得到的缩放的视频图像质量将严重下降。
[0007] 另外,传统的视频图像缩放操作一般在RGB色彩空间进行,那么需要对三个色彩分量分别进行处理,运算量比较大,这对能够使用插值算法有了进一步的限制。
[0008] 针对以上需求,需要设计一种高效快速的同时具有较好性能的数字视频缩放方法,用于在保证视频图像实时性的同时,能获得较好的视频图像的缩放效果。

发明内容

[0009] 本发明的目的在于提供一种多媒体视频图像的缩放方法,其实现数字视频图像的高质量放大。
[0010] 为实现本发明的目的而提供的一种多媒体视频图像的缩放方法,包括下列步骤:
[0011] 一种多媒体视频图像的缩放方法,其特征在于,包括下列步骤:
[0012] 步骤A,对多媒体视频图像执行色彩空间变换操作,使得多媒体视频图像满足在变换后的色彩空间中,三个色彩分量包含的多媒体视频图像的信息量不相同,多媒体视频图像的信息集中于其中一个色彩分量,对包含多媒体视频图像的最多的图像信息的色彩分量,在放大时采用使色彩分量获得更好效果的复杂插值方法,对其它的色彩分量,采用相对简单的插值方法,进行多媒体视频图像的缩放处理。
[0013] 还包括下列步骤:
[0014] 步骤B,对待缩放的多媒体视频图像的色彩空间的多个色彩分量分别处理完毕后,对多媒体视频图像执行色彩空间变换,将其变换为RGB色彩空间,完成多媒体视频图像的缩放。
[0015] 所述步骤A中,所述复杂插值方法为样条插值方法或者立方卷积方法。
[0016] 其特征在于,所述步骤A中,所述相对简单的插值方法为双线性插值方法或者最邻近插值方法。
[0017] 所述样条插值方法为双三次样条插值方法或者改进后的双三次样条插值方法。
[0018] 所述色彩空间或者为YUV色彩空间,或者为YCrCb色彩空间,或者为HSI色彩空间。
[0019] 所述步骤A还包括下列步骤:
[0020] 步骤A1,对待缩放的多媒体视频图像,在YUV色彩空间中对多媒体视频图像采用双线性插值方法对U、V分量进行放大处理,采用样条插值方法对Y分量进行处理,得到放大的多媒体视频图像。
[0021] 所述步骤A1包括下列步骤:
[0022] 步骤A11,对多媒体视频图像,在YUV色彩空间对多媒体视频图像的U、V分量采用双线性插值方法或者最邻近插值方法进行放大处理;
[0023] 步骤A12,对多媒体视频图像,在YUV色彩空间对多媒体视频图像的Y分量采用样条插值方法或者立方卷积插值方法进行放大处理。
[0024] 所述步骤A12中,所述样条插值方法为双三次样条插值方法,包括下列步骤:
[0025] 步骤A121,对于目标多媒体视频图像中的像素点(x1,y1),通过逆几何变换:
[0026]
[0027] 得到目标多媒体视频图像中的像素映射到原多媒体视频图像中的位置坐标其中,M为进行放大处理时,放大的倍数, 经过向下取整得到取整后的坐标(x0,y0),即:
[0028]
[0029] 步骤A122,计算目标多媒体视频图像中的像素映射到原多媒体视频图像中的位置坐标 和取整后的坐标(x0,y0)之间的差值为:
[0030]
[0031] 步骤A123,将u,v的值代入插值核函数S(x),得出:
[0032]
[0033]
[0034] 步骤A124,读取原多媒体视频图像的像素(x0,y0)四周的4×4的像素,构成矩阵:
[0035]
[0036] 步骤A125,根据插值公式: 计算得到目标多媒体视频图像的像素值;
[0037] 步骤A126,重复步骤A121~125,扫描整个目标多媒体视频图像中的所有像素,完成整个多媒体视频图像的双三次样条插值,得到放大的多媒体视频图像。
[0038] 所述步骤A12中,所述样条插值方法为改进的双三次样条插值方法,包括下列步骤:
[0039] 步骤A121’,根据放大倍数,计算可能用到的插值核函数值;
[0040] 步骤A122’,将插值核函数的值整数化,并变为2的幂次,存为S_int2(x)值;
[0041] 步骤A123’,取目标多媒体视频图像的一个尺寸为M*M的子图像块;
[0042] 步骤A124’,计算子图像块中每个像素对应的差值(u,v)和S_int2(x)值;
[0043] 步骤A125’,确认子图像块是否位于目标多媒体视频图像中最左边,如果是,则读取子图像块所对应的多媒体视频图像中像素(k,l)四周的4×4的像素所构成的矩阵,[0044]
[0045] 步骤A126’,取出目标多媒体视频图像子图像块内的一个像素点,获取对应的S_int2(x)值;
[0046] 步骤A127’,对于子图像块对应的 和差值(u,v)代入双三次样条插值矩阵公式计算,将计算获得的结果右移20位,得到目标多媒体视频图像像素值;
[0047] 步骤A128’,确认是否处理完当前子图像块内所有像素;
[0048] 步骤A129’,确认是否处理完目标多媒体视频图像内的所有子图像块。
[0049] 所述步骤A125’包括下列步骤:
[0050] 步骤A1251’,若子图像块是位于目标多媒体视频图像中最左边,则从原多媒体视频图像中读取M*M的子图像块B;
[0051] 步骤A1252’,若子图像块不是位于目标多媒体视频图像中最左边,则从原多媒体视频图像中读取一列M个像素,和上一次计算用到的M*M的子图像块B’的右边三列一起构成新的子图像块B。
[0052] 所述步骤A128’还进一步包括下列步骤:
[0053] 步骤A1281’,若已经处理完当前子图像块内所有像素,则继续步骤A129’;
[0054] 步骤A1282’,若没有处理完当前子图像块内所有像素,则返回步骤A126’。
[0055] 所述步骤A129’还进一步包括下列步骤:
[0056] 步骤A1291’,若已经处理完当前子图像块内所有像素,则结束放大操作;
[0057] 步骤A1292’,若没有处理完当前子图像块内所有像素,则返回步骤A123’。
[0058] 所述步骤A还包括下列步骤:
[0059] 步骤A2,对待缩放的多媒体视频图像,在YUV色彩空间对视频数据的三个色彩分量,分别采用双线性插值方法或者最邻近插值方法进行缩小处理。
[0060] 所述双线性插值方法进行处理时,包括下列步骤:
[0061] 步骤A21,对于目标多媒体视频图像中的像素点,通过逆几何变换得到目标多媒体视频图像中的像素映射到原多媒体视频图像中的位置坐标,位置坐标经过向下取整得到取整数后的坐标;
[0062] 步骤A22,计算目标多媒体视频图像中的像素映射到原多媒体视频图像中的位置坐标和取整后的坐标之间的差值;
[0063] 步骤A23,利用双线性插值方法,计算得到目标多媒体视频图像的像素值;
[0064] 步骤A24,判断是否完成整个多媒体视频图像的像素的扫描,如果未完成,则回到步骤A21,开始处理下一个像素;如果完成,则整个多媒体视频图像的插值完毕,结束运算。
[0065] 本发明的有益效果是:本发明的多媒体视频图像的缩放方法,其能够很好地保留视频图像细节,具有非常好的缩放效果;实现简单,不仅可以用软件实现,也可以很方便地用硬件实现;对于普通的视频图像,可以获得很好的效果。尤其在用于低码率、网络环境状况恶劣条件下的图像质量较差的视频时,可以获得比其他方法更加出色的视频缩放效果。

附图说明

[0066] 图1是双线性插值算法的流程图;
[0067] 图2是本发明描述的多媒体视频图像放大方法的示意图;
[0068] 图3是双三次样条插值算法的流程图;
[0069] 图4是改进后的双三次样条插值快速算法的流程图。

具体实施方式

[0070] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的一种多媒体视频图像的缩放方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0071] 本发明的目的是提供一种多媒体视频图像缩放的方法,实现数字视频尤其是低码率条件下的视频图像的高质量的缩放。
[0072] 为了达到上述目的,本发明采取的技术方案是:对具有多个色彩分量,色彩分量包含有图像不同信息的视频图像的色彩空间,如YUV色彩空间(其中Y分量为亮度信号,U分量和V分量分别表示两个色差信号,图像信息主要集中在Y分量)、YCrCb色彩空间(图像信息主要集中在Y分量上)、HSI色彩空间(图像信息主要集中在I分量上),对视频图像的多个色彩分量分别进行处理。其中,对包含视频图像的较多的图像信息的色彩分量,在放大时采用使色彩分量获得更好效果的复杂插值方法(算法),如样条插值方法(算法),立方卷积插值方法(算法),对其它的色彩分量,采用相对简单的插值方法(算法),如双线性插值方法(算法)或最邻近插值方法(算法),得到放大的视频图像。其中,对于视频图像的缩小,采用双线性插值方法(算法)或最邻近插值方法(算法)处理视频图像。对不同的色彩分量采用不同的插值算法,实现视频图像的高质高效缩放。
[0073] 下面以包含YUV色彩分量的视频图像的YUV色彩空间为例,详细说明本发明的多媒体视频图像缩放方法,但是,应当说明的是,本发明实施例的对多媒体视频图像的缩放方法,同样适用于包含YCrCb色彩空间、HSI色彩空间或者其它具有多个色彩分量,色彩分量包含有图像不同信息的视频图像的色彩空间。
[0074] 本发明实施例中包含YUV色彩分量的视频图像的色彩空间的一种多媒体视频图像的缩放方法,包括下列步骤:
[0075] 步骤S100,对视频图像执行色彩空间变换操作,使得图像满足在变换后的色彩空间中,三个色彩分量包含的图像的信息量不相同,图像的信息集中于其中一个色彩分量,对包含视频图像的最多的图像信息的色彩分量,在放大时采用使色彩分量获得更好效果的复杂插值方法,对其它的色彩分量,采用相对简单的插值方法,进行视频图像的缩放处理。
[0076] 本发明的多媒体视频图像缩放方法,首先视频图像执行色彩空间变换操作,使得图像满足在变换后的色彩空间中,三个色彩分量包含的图像的信息量不相同,图像的信息集中于其中一个色彩分量,如将RGB色彩空间的视频图像转换为YUV色彩空间的视频图像,在YUV不同的色彩分量包含有的图像的信息量不相同;然后再对所述色彩空间的视频图像进行缩放。
[0077] 视频图像的不同色彩空间的变换,是一种现有技术,其并不是本发明的发明创造,本领域技术人员根据本发明公开的内容,可以实现其变换过程,因此,在本发明中不再一一详细描述。
[0078] 步骤S110,对待缩放的多媒体视频图像,在YUV色彩空间对视频数据的三个色彩分量,即亮度信号的Y分量,两个色差信号U分量和V分量,分别采用双线性插值方法或者最邻近插值方法进行缩小处理,参见图1。
[0079] 图像的双线性插值是利用目标像素的4个邻点在两个方向上作线性插值,以距离作为权重。具体实现如下:
[0080] 目标像素坐标为(x1,y1),通过逆变换后的得到的浮点坐标为 经过向下取整得到整数对(x0,y0),设 则(x1,y1)处的灰度值可用下面的公式得到:
[0081]
[0082] 然后计算 得到插值后的目标视频图像。
[0083] 作为一种可实施的方式,本发明的视频图像的缩小操作过程详细包括如下步骤:
[0084] 如原数字视频图像为f(x,y),进行插值操作之后的目标视频图像为f′(x1,y1),缩小倍数为M。
[0085] 运算开始之后,从目标视频图像的(0,0)点开始,逐点进行处理。步骤如下,算法流程见图2:
[0086] 步骤S111,对于目标视频图像中的像素点(x1,y1),通过逆几何变换[0087]
[0088] 得到目标视频图像中的像素映射到原图像中的位置坐标 经过向下取整得到取整后的坐标(x0,y0),即:
[0089]
[0090] 步骤S112,计算目标视频图像中的像素映射到原图像中的位置坐标 和取整后的坐标(x0,y0)之间的差值为:
[0091]
[0092] 步骤S113,利用双线性插值方法(算法),计算得到目标视频图像的像素值:
[0093] 所述双线性插值方法的公式如下:
[0094]
[0095] 也即:
[0096]
[0097]
[0098] 步骤S114,判断是否完成整个图像的像素的扫描,如果未完成,则回到步骤S111,开始处理下一个像素;如果完成,则整个数字视频图像的插值完毕,结束运算。
[0099] 作为另一种可实施方式,对YUV色彩空间对视频数据的三个色彩分量进行缩小处理,采用最近领域插值方法,步骤与步骤S111~114基本相同,只是方法(算法)选择上使用最邻近插值方法(算法),其中,最邻近插值方法(算法)是一种现有技术,本领域技术人员可以根据本发明实施例的描述而利用最邻近插值方法(算法)实现该视频图像的缩小处理,因而在本发明实施例中不再一一详细描述。
[0100] 步骤S120,对待缩放的多媒体视频图像,在YUV色彩空间中对视频图像采用双线性插值方法(算法)对U、V分量进行放大处理,采用样条插值方法(算法)对Y分量进行处理,得到放大的视频图像,参见图2。
[0101] 步骤S121,对多媒体视频图像,在YUV色彩空间对视频图像的U、V分量采用双线性插值方法或者最邻近插值方法进行放大处理;
[0102] 对多媒体视频图像放大,对U、V分量进行放大处理的具体实现和视频图像的缩小所采用的方法(算法)相同,因此,在本发明实施例中,不再一一详细描述。
[0103] 步骤S122,对多媒体视频图像,在YUV色彩空间对视频图像的Y分量采用样条插值方法(算法)或者立方卷积插值方法(算法)进行放大处理。
[0104] 对于Y分量数据,采用样条插值方法(算法)。相比最邻近插值算法和双线性插值算法,样条插值在准确度和运算消耗之间做出了最好的权衡。
[0105] 所述样条是分段函数(通常是多项式),每一段光滑的连接在一起。
[0106] 作为一种可实施的方式,本发明的样条插值是双三次样条插值。
[0107] A)下面详细描述利用双三次样条插值方法实现在YUV色彩空间对视频图像的Y分量进行放大的处理的过程。
[0108] 作为一种可实施方式,本发明实施例中双三次样条插值方法中,利用B-样条实现。
[0109] B-样条是最常用的样条函数之一,能够从一个基本函数自卷积获得。
[0110] 基本函数形式如下:
[0111]
[0112] 插值函数可以由βBasis(x)函数自卷积得到的:
[0113] β1(x)=βBasis(x)*βBasis(x)
[0114] N阶B样条函数可以由N-1个基本函数卷积得到:
[0115]
[0116] 当N=4时,可以得到立方B-样条插值核函数:
[0117]
[0118] 在将双三次样条插值应用到视频图像处理中时,双三次样条插值考虑生成的目标图像的像素映射回原图像的浮点坐标 周围的16个邻点,可以用矩阵 表示。如果目标视频图像的像素坐标为(x1,y1),通过几何逆变换后得到的对应的浮点坐标为经过向下取整得到整数对(x0,y0)。
[0119] 设 且设:
[0120]
[0121]
[0122]
[0123]
[0124] 则目标像素值 可由如下插值公式得到:
[0125]
[0126] 因此,本发明实施例的Y分量双三次样条插值进行放大处理包括下列步骤:
[0127] 原数字视频图像为f(x,y),进行插值操作之后的目标视频图像为f′(x1,y1),假设放大倍数为M。
[0128] 运算开始之后,从目标视频图像的(0,0)点开始,逐点进行处理,算法流程见图3。具体过程如下:
[0129] 步骤S1221,对于目标视频图像中的像素点(x1,y1),通过逆几何变换:
[0130]
[0131] 得到目标视频图像中的像素映射到原图像中的位置坐标 经过向下取整得到取整后的坐标(x0,y0),即:
[0132]
[0133] 步骤S1222,计算目标视频图像中的像素映射到原图像中的位置坐标 和取整后的坐标(x0,y0)之间的差值为:
[0134]
[0135] 步骤S1223,将u,v的值代入插值核函数S(x),得出:
[0136]
[0137]
[0138] 步骤S1224,读取原视频图像的像素(x0,y0)附近的4×4的像素,构成矩阵:
[0139]
[0140] 步骤S1225,根据插值公式: 计算得到目标视频图像的像素值。
[0141] 步骤S1226,重复步骤S1221~1225,扫描整个目标视频图像中的所有像素,完成整个数字视频图像的双三次样条插值,得到放大的视频图像。
[0142] B)下面详细描述利用改进后的双三次样条插值快速算法实现在YUV色彩空间对视频图像的Y分量进行放大的处理的过程。
[0143] 原数字视频图像为f(x,y),原数字视频图像宽为width_original、高为height_original,进行插值操作之后的目标视频图像为f′(x1,y1),差值后的目标视频图像的宽为width_interpol、高为height_interpol,假设放大倍数为M,那么:
[0144]
[0145] 对于放大M倍的情况,可以把目标视频图像中划分为若干M×M阶矩阵:
[0146]
[0147] (其中,k,l∈Z,且满足 )
[0148] 每一个M×M阶矩阵 可以看作一个目标视频图像的子图像块,矩阵中的所有像素映射回原图像,都对应原图像中的同一个像素点(k,l)。该点临近的用于双三次样条插值的4×4个像素点构成矩阵
[0149]
[0150] 也就是说,对于每一个M×M子图像块而言,该子图像块内部的所有像素点的插值结果均是使用相同的 的值计算得到的。因此,可以一次性读取出 然后一次性的处理目标图像的子图像F(kM,lM)中的M×M个像素,这样可以大量减少访存次数,提高运算的并行度。
[0151] 因此,在目标视频图像中,把图像划分为若干尺寸为M×M大小的子图像块,逐块进行处理。
[0152] 另外,在处理过程中用到差值二元组(u,v),其定义如下:
[0153] 对于目标视频图像中的像素点(x1,y1),通过逆几何变换:
[0154]
[0155] 得到目标视频图像中的像素映射到原图像中的位置坐标 经过向下取整得到整数对(x0,y0),
[0156] 即:
[0157] 计算目标视频图像中的像素映射到原图像中的位置坐标 和取整后的坐标(x0,y0)之间的差值为:
[0158]
[0159] 称为差值二元组(u,v)。
[0160] 下面详细说明本发明的Y分量采用改进后的双三次样条插值快速算法进行放大处理的实施过程,算法流程见图4,具体步骤如下:
[0161] 步骤S1221’,对双三次插值的函数进行初始化得到核函数;
[0162] 在插值过程启动之后的初始化过程中,首先计算出在运算过程中可能出现的几种插值核函数。
[0163] 对于确定的放大倍数M,运算过程中需要用到的插值核函数的计算结果是确定的。若用x表示差值二元组(u,v)中的u或v值,在放大倍数为M的情况下,参数x有M种取值( ),所以需要M种插值核函数S(xi)(其中i=0,1,…,M-1)。
[0164] 将计算得到的核函数整数化并近似。计算得到的插值核函数值是浮点数,给每个插值核函数值左移10位,放大1000倍然后取整,即可得到整数插值核函数值,记为S_int(x)。然后,将插值核函数的值用最邻近的2的幂次代替。得到一组新的值,记为S_int2(x),它记录了每个插值核函数相对于2的幂次。
[0165] 至此,初始化完成。
[0166] 步骤S1222’,确定当前待处理子图像块F(kM,lM),计算出矩阵F(kM,lM)中每一个像素所对应差值二元组(u,v)的值,并存成矩阵
[0167]
[0168] 式中uv(k,l)=(u(k,l),v(k,l))
[0169] 步骤S1223’,若当前待处理图像块F(kM,lM)是最左边的图像块,则读出当前待处理图像块所对应的原图像中的4×4个像素 放到内存中。
[0170] 由于F(kM,lM)中的每个像素点都对应相同的 所以只需要读取一次即可。
[0171] 若当前待处理图像块F(kM,lM)不是最左边的图像块,则读取上一轮处理的右边的一列像素值(一列4个像素),然后和 的右边三列数据一起构成新的矩阵,新读取的一列数据放在 的右边三列数据右边,用于当前F(kM,lM)的像素值的计算。
[0172] 步骤S1224’,逐点处理图像块F(kM,lM)中的每个像素;
[0173] 具体操作如下:
[0174] 对于F(kM,lM)的第i行第j列像素f(kM+i,lM+j),
[0175] 根据公式
[0176]
[0177]
[0178]
[0179]
[0180] 可以得到:
[0181]
[0182]
[0183] 将矩阵运算展开可以得到:
[0184]
[0185]
[0186]
[0187]
[0188]
[0189] 使用事先已经计算好、并且已经整数化的S_int(x)值代替S(x)函数,然后进一步的使用改写成2的幂次的S_int2(x)和移位运算代替S_int(x)值:
[0190] f(kM+i,lM+j)
[0191] = [f(k,l) □ S_int(u+1)+f(k+1,l) □ S_int(u)+f(k+2,l) □ S_int(u-1)+f(k+3,l)□S_int(u-2)]□S_int(v+1)
[0192] +[f(k,l+1) □ S_int(u+1)+f(k+1,l+1) □ S_int(u)+f(k+2,l+1) □ S_int(u-1)+f(k+3,l+1)□S_int(u-2)]□S_int(v)
[0193] +[f(k,l+2) □ S_int(u+1)+f(k+1,l+2) □ S_int(u)+f(k+2,l+2) □ S_int(u-1)+f(k+3,l+2)□S_int(u-2)]□S_int(v-1)
[0194] +[f(k,l+3) □ S_int(u+1)+f(k+1,l+3) □ S_int(u)+f(k+2,l+3) □ S_int(u-1)+f(k+3,l+3)□S_int(u-2)]□S_int(v-2)
[0195] = [f(k,l) □ S_int2(u+1)+f(k+1,l) □ S_int2(u)+f(k+2,l) □ S_int2(u-1)+f(k+3,l)□S_int2(u-2)]□S_int2(v+1)
[0196] +[f(k,l+1) □ S_int2(u+1)+f(k+1,l+1) □ S_int2(u)+f(k+2,l+1) □ S_int2(u-1)+f(k+3,l+1)□S_int2(u-2)]□S_int2(v)
[0197] +[f(k,l+2) □ S_int2(u+1)+f(k+1,l+2) □ S_int2(u)+f(k+2,l+2) □ S_int2(u-1)+f(k+3,l+2)□S_int2(u-2)]□S_int2(v-1)
[0198] +[f(k,l+3) □ S_int2(u+1)+f(k+1,l+3) □ S_int2(u)+f(k+2,l+3) □ S_int2(u-1)+f(k+3,l+3)□S_int2(u-2)]□S_int2(v-2)
[0199] 其中,公式中的□表示左移位运算,为了简便起见,在式中用u,v表示u(i,j)、v(i,j)。
[0200] 接下来,把步骤S1223’获得的和f(kM+i,lM+j)相对应的 和步骤S1222’计算得到的uv(kM+i,lM+j)带入上面的公式,计算得到f(kM+i,lM+j)。
[0201] 最后,将f(kM+i,lM+j)右移20位,得到f(kM+i,lM+j)像素点的最终像素值结果:
[0202] ffinal(kM+i,lM+j)=f(kM+i,lM+j)□ 20。
[0203] 反复执行步骤S1224’,直到将图像块 内的所有M×M个像素全部处理完毕。
[0204] 步骤S1225’,判断是否处理完目标视频图像中的所有图像块,如果没有处理完,则回到步骤S1223’;如果已经处理完目标视频图像中的所有图像块,则目标视频图像Y分量插值完毕。
[0205] 作为另一种可实施方式,对YUV色彩空间对视频数据的三个色彩分量进行放大处理,采用立方卷积插值方法,步骤与步骤S1221~1226中的双三次样条插值方法(算法)或者步骤S1221’~1225’基本相同,只是方法(算法)选择上使用立方卷积插值方法(算法),其中,立方卷积插值方法是一种现有技术,本领域技术人员可以根据本发明实施例的描述而利用立方卷积插值方法(算法)实现该视频图像的缩小处理,因而在本发明实施例中不再一一详细描述。
[0206] 作为另一种可实施方式,对包括以包含YCrCb色彩分量的视频图像的YCrCb色彩空间,对Y分量的处理与本发明实施例的YUV色彩空间的Y分量处理相同,对Cb和Cr色彩分量的处理和YUV的U和V分量处理相同。因此,在本发明实施例中不再一一详细描述。
[0207] 作为另一种可实施方式,对包括以包含HSI色彩分量的视频图像的HSI色彩空间,对I分量的处理与本发明实施例的YUV色彩空间的Y分量处理相同,对H和S色彩分量的处理和YUV的U和V分量处理相同。因此,在本发明实施例中不再一一详细描述。
[0208] 步骤S200,对待缩放的多媒体视频图像的色彩空间的多个分量分别处理完毕后,对图像执行色彩空间变换,将其变换为RGB色彩空间,完成多媒体视频图像的缩放。
[0209] 无论是缩小操作还是放大操作,待三个色彩分量数据分别处理完毕后,如果不需要在YUV色彩空间进行其它的额外操作,就可以对图像执行色彩空间变换,将其变换为RGB色彩空间,然后通过显示程序来显示图像或进行进一步的其他处理。
[0210] 从YUV色彩空间到RGB色彩空间的变换,是一种现有技术,其并不是本发明的发明创造,本领域技术人员根据本发明公开的内容,可以实现其变换过程,因此,在本发明中不再一一详细描述。
[0211] 本发明的一种多媒体视频图像的缩放方法,提出了双三次样条插值的一种快速算法,并将快速双三次样条插值算法应用在视频图像缩放中。本发明实施例具有以下有益效果:(1)大幅降低了双三次样条插值的计算复杂度,可以用普通配置的个人计算机(PC)实现视频的实时缩放;(2)能够很好的保留视频图像细节,具有非常好的缩放效果;(3)算法实现简单,不仅可以用软件实现,也可以很方便地用硬件实现;(4)对于普通的视频图像,可以获得很好的效果;尤其是用于低码率、网络环境状况恶劣条件下的图像质量较差的视频时,可以获得比其他方法更加出色的视频放大效果。
[0212] 通过结合附图对本发明具体实施例的描述,本发明的其它方面及特征对本领域的技术人员而言是显而易见的。
[0213] 以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为其只是示例性的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行解释。