一种NV12格式的仿射变换的硬件实现方法技术

技术编号:32428499 阅读:53 留言:0更新日期:2022-02-24 18:32
本发明专利技术提供一种NV12格式的仿射变换的硬件实现方法,包括:S1读取NV12图像,按照总线接口协议获取两行Y通道信息,一行UV通道图像信息;S2对于NV12格式的图像,进行重采样,重采样之后的数据格式实际为YUV444,与BGRA格式数据像素点分布类似;S3通过仿射变换处理获取源图位置信息,利用仿射变换矩阵来获取目标像素点映射到源图中的位置信息;S4插值计算,假设目标像素点为(dx,dy),源像素点为(sx,sy),经过重采样之后,对应的像素分布在进行插值计算时,Y通道,U通道及V通道,从目标像素点映射到源图像中的四个位置信息均是(sx,sy),(sx+1,sy),(sx,sy+1),(sx+1,sy+1);S5对图像进行重采样输出,经过重采样和插值计算后输出的图像为YUV444,需要对UV通道的数据进行压缩处理。需要对UV通道的数据进行压缩处理。需要对UV通道的数据进行压缩处理。

【技术实现步骤摘要】
一种NV12格式的仿射变换的硬件实现方法


[0001]本专利技术涉及人工智能
,特别涉及一种NV12格式的仿射变换的硬件实现方法。

技术介绍

[0002]在人工智能技术中,图像识别技术是十分重要的一种。图像识别的过程大体可划分为信息的获取,预处理,特征抽取和选择等。本文重点讨论的阶段是在预处理阶段,在该阶段,一般会对原图像进行颜色空间转换、缩放、平移、旋转等操作。随着现代技术的不断发展,图像的存储格式也种类繁多,目前常处理的格式主要包括BGRA格式和NV12格式。针对该两种格式,在预处理阶段,经常会使用到仿射变换来实现图像的平移,旋转及缩放处理。如图1所示。
[0003]仿射变换描述的其实是目标像素点和源图像素点的对应关系。这个对应关系用软件实现很容易,但对于集成电路硬件实现是个灾难。但是识别效率是软件实现的最大问题。对于公共场合,人脸可能成百上千,软件的人脸识别显然是不可能。故而,集成电路硬件来实现仿射变换是大势所趋。
[0004]另外,在进行仿射变换时,常用到的数据格式有BGRA格式和NV12格式,对比两种数据格式,在相同的图像尺寸下,BGRA格式的数据量约是NV12格式数据量的2.7倍。在做硬件设计时,考虑到面积成本以及效率成本,本专利技术介绍了一种NV12格式仿射变换的硬件实现方法。
[0005]首先,说明NV12图像在DDR中存储的格式,以4x4大小的图像为例,如图2所示。
[0006]假设目标像素点的位置信息为dx,dy,经过仿射矩阵处理之后,映射到源图中的坐标是sx,sy,对于NV12格式的图像,如图2所示,其存储格式的特点是4个Y共用一个UV,其中,计算Y通道目标像素点时,映射到到源图像的四个坐标点的位置信息为(sx,sy),(sx+1,sy),(sx,sy+1),(sx+1,sy+1)。在计算UV通道时,就不能简单的使用该方式,对于U通道,V通道,需要分别作U通道参数缩放处理,V通道参数缩放处理,U通道映射到源图像中的位置为((sx/2)*2,y/2),(((sx+1)/2)*2,y/2),((sx/2)*2,(y+1)/2),(((sx+1)/2)*2,(y+1)/2),V通道映射到源图像中的位置为((sx/2)*2+1,y/2+1),(((sx+1)/2)*2+1,y/2+1),((sx/2)*2+1,(y+1)/2+1),(((sx+1)/2)*2+1,(y+1)/2+1)。其计算出的位置信息与Y通道的位置信息是不一致的。
[0007]为了实现图像的仿射变换功能,现有集成电路实现方案主要有如下局限性:
[0008](1)一般会将颜色空间转换与仿射变换功能融合,即就是对于NV12格式输入的图像,先做颜色空间转换,转换为BGRA格式,在进行仿射变换。该方式无疑增加了运算量,会增加面积成本及效率成本。
[0009](2)另一种,直接获取BGRA格式的图像数据,进行仿射变换。在相同尺寸下,BGRA格式的数据量约是NV12格式数据量的2.7倍,数据量的增加,势必会导致面积的增加,也会影响到效率。
[0010]此外,现有技术中的常用术语如下:
[0011]1)人工智能。
[0012]2)图像识别。
[0013]3)图像数据格式:包括BGRA,NV12格式等
[0014]4)仿射变换。
[0015]5)线性插值算法。
[0016]6)集成电路硬件设计(IC)。

技术实现思路

[0017]为了解决上述问题,本方法目的在于:提供了一种NV12格式仿射变换的硬件实现方法。使用该方法,在不增加面积和影响效率的前提下,实现了NV12格式的仿射变换功能。
[0018]具体地,本专利技术提供一种NV12格式的仿射变换的硬件实现方法,所述方法包括以下步骤:
[0019]S1,读取NV12图像,处理的源图格式为NV12格式,按照总线接口协议获取两行Y通道信息,一行UV通道图像信息;
[0020]S2,输入重采样,对于NV12格式的图像,将NV12格式的数据进行重采样,重采样之后的数据格式实际为YUV444,与BGRA格式数据像素点分布类似;
[0021]S3,通过仿射变换处理获取源图位置信息,利用仿射变换矩阵来获取目标像素点映射到源图中的位置信息;
[0022]S4,插值计算,假设目标像素点为(dx,dy),源像素点为(sx,sy),对于NV12格式的图像数据,经过重采样之后,对应的像素分布在进行插值计算时,Y通道,U通道及V通道,从目标像素点映射到源图像中的四个位置信息均是(sx,sy),(sx+1,sy),(sx,sy+1),(sx+1,sy+1);
[0023]S5,采样输出,对于NV12格式输出,需要对图像进行重采样输出,经过重采样和插值计算后输出的图像为YUV444,需要对UV通道的数据进行压缩处理。
[0024]所述步骤S2进一步包括:对于BGRA格式的图像,实现颜色空间转换将NV12格式转换为BGRA格式。
[0025]所述步骤S4进一步包括:对于BGRA格式的图像数据,在进行插值计算时,从目标像素点映射到源图像中的四个位置信息是(sx,sy),(sx+1,sy),(sx,sy+1),(sx+1,sy+1)。
[0026]所述步骤S5中所述压缩处理的原则是,Y通道的数据正常采样,UV通道的数据,仅采样奇行奇列的数据。
[0027]所述步骤S3中仿射变换处理的过程可以划分如下:
[0028](1)根据目标像素点通过仿射变换矩阵计算获得目标点映射到原图中位置,使用2x3矩阵来表示仿射变换,
[0029][0030]假设目标像素点为(dx,dy),源像素点为(sx,sy),
[0031]则,sx=a00*dx+a01*dy+b00,sy=a10*dx+a11*dy+b10;
[0032](2)根据上述位置信息sx,sy获取像素点的权重信息;
[0033](3)根据位置信息获取四个源目标像素点,使用插值算法算出当前目标像素点的像素值。
[0034]所述步骤S3中位置信息为浮点类型,整数部分为映射到源图像中的坐标,小数部分为权重信息。
[0035]由此,本申请的优势在于:本专利技术将NV12格式的数据重采样获得YUV444格式的图像数据,在进行仿射变换时,大大简化了UV通道的插值计算过程。并且在不增加硬件面积,及不影响效率的前提下,兼容了NV12格式输出和BGRA格式输出的仿射变换功能。
附图说明
[0036]此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,并不构成对本专利技术的限定。
[0037]图1是现有技术中图像识别预处理阶段包含仿射变换的示意图。
[0038]图2是NV12图像在DDR中存储的格式的示意图。
[0039]图3是实现本专利技术方法的硬件框图。
[0040]图4是NV12格式的数据以2x2大小的图像为例进行重采样的示意图。...

【技术保护点】

【技术特征摘要】
1.一种NV12格式的仿射变换的硬件实现方法,其特征在于,所述方法包括以下步骤:S1,读取NV12图像,处理的源图格式为NV12格式,按照总线接口协议获取两行Y通道信息,一行UV通道图像信息;S2,输入重采样,对于NV12格式的图像,将NV12格式的数据进行重采样,重采样之后的数据格式实际为YUV444,与BGRA格式数据像素点分布类似;S3,通过仿射变换处理获取源图位置信息,利用仿射变换矩阵来获取目标像素点映射到源图中的位置信息;S4,插值计算,假设目标像素点为(dx,dy),源像素点为(sx,sy),对于NV12格式的图像数据,经过重采样之后,对应的像素分布在进行插值计算时,Y通道,U通道及V通道,从目标像素点映射到源图像中的四个位置信息均是(sx,sy),(sx+1,sy),(sx,sy+1),(sx+1,sy+1);S5,采样输出,对于NV12格式输出,需要对图像进行重采样输出,经过重采样和插值计算后输出的图像为YUV444,需要对UV通道的数据进行压缩处理。2.根据权利要求1所述的一种NV12格式的仿射变换的硬件实现方法,其特征在于,所述步骤S2进一步包括:对于BGRA格式的图像,实现颜色空间转换将NV12格式转换为BGRA格式。3.根据权利要求1所述的一种NV1...

【专利技术属性】
技术研发人员:呼立展张传兵
申请(专利权)人:合肥君正科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1