一种SOC平台上的基于DDR的4K像旋方法技术

技术编号:37084537 阅读:11 留言:0更新日期:2023-03-29 19:59
本发明专利技术公开了一种SOC平台上的基于DDR的4K像旋方法,其主要包括以下步骤:S1、构建DDR图像缓存;S2、图像块划分与block_RAM缓存划分;S3、缓存图像与像旋处理;S4、像旋后图像输出。本发明专利技术的方法借助SOC平台自带的block RAM随机寻址及FPGA高效算法实现的特点,结合DDR的大存储空间及突发传输机制,实现4K图像的快速旋转。速旋转。速旋转。

【技术实现步骤摘要】
一种SOC平台上的基于DDR的4K像旋方法


[0001]本专利技术涉及图像处理
,尤其涉及一种SOC平台上的基于DDR的4K像旋处理方法。

技术介绍

[0002]图像旋转技术是利用图像处理方法将图像旋转一定的角度,该技术广泛应用于电子消旋系统、图像显示系统等领域。
[0003]SOC是一种全可编程片上芯片,比如,集成了双核ARM Cortex

A9处理器与基于28nm工艺的Xilinx

7系列FPGA。此类芯片集合了ARM丰富的系统资源和FPGA的灵活性、实时性、可扩展性等优点。
[0004]通常,在FPGA内开发图像处理算法都采用片内的block RAM缓存。但随着图像分辨率的提高,片内的block RAM资源难以实现整帧4K图像的缓存。因此采用DDR SDRAM缓存图像是未来基于FPGA的图像处理的必然趋势。由于DDR SDRAM采用的突发传输机制,对DDR进行单像素随机寻址的效率较低,无法满足图像的实时处理。一方面,仅使用block RAM无法实现高分辨图像处理;另一方面,使用DDR也无法实现高效率随机寻址。

技术实现思路

[0005]本专利技术主要目的在于提出一种SOC平台上的基于DDR的4K像旋方法,借助SOC平台自带的block RAM随机寻址及FPGA高效算法实现的特点,结合DDR的大存储空间及突发传输机制,实现4K图像的快速旋转。
[0006]本专利技术所采用的技术方案是:
[0007]提供一种SOC平台上的基于DDR的4K像旋方法,包括以下步骤:
[0008]S1、根据待处理的4K图像尺寸,构建Ping

Pong DDR缓存结构,实现两帧图像的并行处理;
[0009]S2、根据待处理的4K图像尺寸确定图像块的大小,根据图像块的大小构建Ping

Pong block_RAM缓存结构,作为缓存图像的图像块旋转计算时的缓存,实现图像块计算和图像块缓存并行处理;
[0010]S3、利用Ping

Pong DDR缓存结构、Ping

Pong block_RAM缓存结构分别实现两帧图像的图像缓存、像旋处理的并行处理,并将结果输出到对应的Ping

Pong DDR缓存结构中;
[0011]S4、输出像旋后的图像,并重复步骤S3完成实时图像的像旋。
[0012]接上述技术方案,步骤S1中构建Ping

Pong DDR缓存结构是指对称构建Ping_DDR_A缓存块、Ping_DDR_B缓存块和Pong_DDR_A缓存块、Pong_DDR_B缓存块,其中Ping_DDR_A缓存块和Pong_DDR_A缓存块用于缓存不同的原始帧图像,对应原始帧图像的像旋结果分别存储于Ping_DDR_B缓存块和Pong_DDR_B缓存块中。
[0013]接上述技术方案,步骤S2中的图像块划分是指根据m*n的原始帧图像构建p*p的输
入图像块和k*k的输出图像块,其中p为m、n的公因数,且p=2*k。
[0014]接上述技术方案,步骤S2中的构建Ping

Pong block_RAM缓存结构是指构建对称的Ping_RAM1、Ping_RAM2、Ping_RAM3、Ping_RAM4和Pong_RAM1、Pong_RAM2、Pong_RAM3、Pong_RAM4。
[0015]接上述技术方案,步骤S3具体包括以下步骤:
[0016]S31、利用Ping_DDR_A缓存块缓存图像ImageA,然后对图像ImageA进行图像旋转处理,同时启动Pong_DDR_A缓存块开始缓存另一幅图像ImageB;
[0017]S32、将旋转后的图像ImageA写入Ping_DDR_B缓存块,同时对图像ImageB进行图像旋转处理,此时Ping_DDR_A缓存块再次开始缓存新的图像,当对图像ImageB完成图像旋转后将结果写入Pong_DDR_B缓存块;
[0018]S33、重复步骤S31、S32完成实时图像的像旋处理。
[0019]接上述技术方案,Ping

Pong DDR缓存结构是基于具有突发传输机制的DDR SDRAM来实现。
[0020]接上述技术方案,Ping

Pong block_RAM缓存结构是基于FPGA内部的block RAM来实现。
[0021]接上述技术方案,像旋处理过程包括以下步骤:
[0022]S41、FPGA从所述Ping_DDR_A缓存块或Pong_DDR_A缓存块中按行列顺序分别读取输入图像块BlockA1、BlockA2,将输入图像块BlockA1放入Ping_RAM1、Ping_RAM2、Ping_RAM3、Ping_RAM4中,将输入图像块BlockA2放入Pong_RAM1、Pong_RAM2、Pong_RAM3、Pong_RAM4;
[0023]S42、利用双线性插值法计算分别对输入图像块BlockA1、BlockA2进行旋转后,形成输出图像BlockB1和BlockB2,并将结果写入到所述Ping_DDR_B缓存块中或Pong_DDR_B缓存块中;
[0024]S43、重复S41、S42完成原始帧图像的旋转。
[0025]接上述技术方案,从Ping

Pong DDR缓存结构中读取图像块是采用后向采用后向映射的方式,使用datamover从Ping_DDR_A缓存块或Ping_DDR_B缓存块中读取图像块。
[0026]本专利技术还提供一种计算机存储介质,其内存储有可被处理器执行的计算机程序,该计算机程序执行上述技术方案所述的SOC平台上的基于DDR的4K像旋方法。
[0027]本专利技术产生的有益效果是:本专利技术构建Ping

Pong DDR缓存结构,实现两帧4K图像的缓存,并利用FPGA内部的RAM构建Ping

Pong block_RAM缓存结构进行4K图像的分块旋转,然后输出最终旋转图像,。本专利技术的方法借助SOC平台自带的block RAM随机寻址及FPGA高效算法实现的特点,结合DDR的大存储空间及突发传输机制,实现4K图像的快速旋转。
附图说明
[0028]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0029]图1是本专利技术实施例的基于DDR的4K像旋方法的流程图;
[0030]图2是本专利技术实施例的Ping

Pong DDR缓存结构的示意图;
[0031]图3是本专利技术实施例的Ping
...

【技术保护点】

【技术特征摘要】
1.一种SOC平台上的基于DDR的4K像旋方法,其特征在于,包括以下步骤:S1、根据待处理的4K图像尺寸,构建Ping

Pong DDR缓存结构,实现两帧图像的并行处理;S2、根据待处理的4K图像尺寸确定图像块的大小,根据图像块的大小构建Ping

Pong block_RAM缓存结构,作为缓存图像的图像块旋转计算时的缓存,实现图像块计算和图像块缓存并行处理;S3、利用Ping

Pong DDR缓存结构、Ping

Pong block_RAM缓存结构分别实现两帧图像的图像缓存、像旋处理的并行处理,并将结果输出到对应的Ping

Pong DDR缓存结构中;S4、输出像旋后的图像,并重复步骤S3完成实时图像的像旋。2.根据权利要求1所述的基于DDR的4K像旋方法,其特征在于,步骤S1中构建Ping

Pong DDR缓存结构是指对称构建Ping_DDR_A缓存块、Ping_DDR_B缓存块和Pong_DDR_A缓存块、Pong_DDR_B缓存块,其中Ping_DDR_A缓存块和Pong_DDR_A缓存块用于缓存不同的原始帧图像,对应原始帧图像的像旋结果分别存储于Ping_DDR_B缓存块和Pong_DDR_B缓存块中。3.根据权利要求1所述的基于DDR的4K像旋方法,其特征在于,步骤S2中的图像块划分是指根据m*n的原始帧图像构建p*p的输入图像块和k*k的输出图像块,其中p为m、n的公因数,且p=2*k。4.根据权利要求1所述的基于DDR的4K像旋方法,其特征在于,步骤S2中的构建Ping

Pong block_RAM缓存结构是指构建对称的Ping_RAM1、Ping_RAM2、Ping_RAM3、Ping_RAM4和Pong_RAM1、Pong_RAM2、Pong_RAM3、Pong_RAM4。5.根据权利要求1所述的基于DDR的4K像旋方法,其特征在于,步骤S3具体包括以下步骤:S31、利用Ping_DDR_A缓存块缓存图像ImageA,然后对图像ImageA进行图像旋转处...

【专利技术属性】
技术研发人员:江同源蒋沅嵩朱师伦吴振武
申请(专利权)人:华中光电技术研究所中国船舶集团有限公司第七一七研究所
类型:发明
国别省市:

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

1