一种芯片及基于芯片的图像伸缩变换方法技术

技术编号:38670134 阅读:12 留言:0更新日期:2023-09-02 22:48
本申请适用于图像技术领域,提供一种芯片及基于芯片的图像伸缩变换方法,芯片至少包括:输入缓存用于从片外存储器获取原始图像部分数据;第一缩放模块用于在输入缓存获取原始图像当前部分数据的同时,对原始图像的历史部分数据进行横向/纵向缩放得到目标图像部分区域的横向/纵向缩放结果;中间缓存用于缓存目标图像部分区域的横向/纵向缩放结果;第二缩放模块用于获取目标图像部分区域的历史横向/纵向缩放结果并对目标图像部分区域的历史横向/纵向缩放结果进行纵向/横向缩放,得到满足目标分辨率的目标图像部分区域;输出缓存用于存储目标图像部分区域并输出。本申请实施例可极大地提高图像伸缩变换的计算速度。极大地提高图像伸缩变换的计算速度。极大地提高图像伸缩变换的计算速度。

【技术实现步骤摘要】
一种芯片及基于芯片的图像伸缩变换方法


[0001]本申请属于图像
,尤其涉及一种芯片及图像伸缩变换的方法。

技术介绍

[0002]在图像识别中,经常需要做图像的放大和缩小。例如,在人脸检测和识别中,对于从图像中检测到的人脸,需要将局部图像提取出来并缩放到标准大小,然后送入人脸识别器进行识别。
[0003]给定原始图像和目标图像的分辨率,做伸缩变换就是对原始图像中的像素进行上/下采样,得到目标图像中的像素值。这一计算过程通常是在软件中实现的。
[0004]在基于中央处理器(Central Processing Unit,CPU)和双倍数据率同步动态随机存取存储器(Double Data Rate Synchronous Dynamic Random Access Memory,DDR SDRAM)的计算机系统中,直接通过软件计算实现伸缩变换,最大的问题是速度慢,耗时长。这是由DDR的存储特点决定的。作为一种动态存储器,在DDR中对随机地址进行读写访问,花费的时间要远远长于对连读地址进行访问。

技术实现思路

[0005]有鉴于此,本申请实施例提供了一种芯片及基于芯片的图像伸缩变换方法,能够解决相关技术中的一个或多个技术问题。
[0006]第一方面,本申请一实施例提供了一种芯片,第一输入缓存和第二输入缓存,用于按数据调度需求从片外存储器中各自获取原始图像的K行数据直至原始图像的全部数据获取完毕则停止获取;其中,第一输入缓存和第二输入缓存按数据调度需求执行一次为一个周期;第一横向缩放模块,用于对第一输入缓存存储的原始图像的K行数据进行横向上/下采样得到目标图像的K行数据并缓存入第一中间缓存;第二横向缩放模块,用于对第二输入缓存存储的原始图像的K行数据进行横向上/下采样得到目标图像的K行数据并缓存入第二中间缓存;第一纵向缩放模块,用于对第一中间缓存和第二中间缓存当前周期存储的目标图像的K行数据进行纵向上/下采样得到满足目标分辨率的目标图像的M行数据并缓存入所述第一输出缓存;第二纵向缩放模块,用于对第一中间缓存和所述第二中间缓存下一周期存储的目标图像部分区域的K行数据进行纵向上/下采样得到满足目标分辨率的目标图像N行数据并将缓存入所述第二输出缓存;第一输入缓存和所述第二输出缓存,用于将目标图像部分区域数据传输至指定地址;其中,K、M、N为自然数,三者的数值可相等或不相等。
[0007]第二方面,本申请一实施例提供了一种基于芯片的图像伸缩变换的方法,应用于如第一方面所述的芯片,方法包括:按数据调度需求触发第一输入缓存和第二输入缓存从片外存储器中各读取原始图像的K行数据,并写入第一输入缓存和第二输入缓存;致动第一横向缩放模块和第二横向缩放模块对当前周期内第一输入缓存和第二输入缓存获取的原始图像数据进行横向上/下采样得到满足目标横向分辨率的目标图像K行数据,并分别缓存入第一中间缓存和第二中间缓存,同时按数据调度需求触发第一输入缓存和第二输入缓存
各读取原始图像K行数据;判断是否需要对当前周期内获取的原始图像若干行数据进行纵向缩放,若需要则致动第一纵向缩放模块读取第一中间缓存和第二中间缓存当前周期缓存的数据进行纵向上/下采样得到满足目标纵向分辨率的目标图像M行数据并缓存入第一输出缓存;待当前周期内得到的目标图像部分区域数据全部缓存入第一输出缓存时,致动第一横向缩放模块和第二横向缩放模块对下一周期内第一入缓存和第二输入缓存获取的原始图像K行数据进行横向上/下采样得到满足目标横向分辨率的目标图像K行数据,并分别缓存入第一中间缓存和第二中间缓存;判断是否需要对下一周期内获取的原始图像若干行数据进行纵向缩放,若需要则致动第一纵向缩放模块读取第一中间缓存和第二中间缓存下一周期缓存的数据进行纵向上/下采样得到满足目标纵向分辨率的目标图像N行数据并缓存入第二输出缓存;待当前周期内得到的目标图像部分区域数据全部缓存入第二输出缓存时,则重复上述步骤对原始图像剩下的图像数据进行新一轮伸变换直至得到满足目标分辨率的完整目标图像。
[0008]第三方面,本申请一实施例提供了一种电子设备,包括如第一方面任一实施例所述的芯片。
[0009]第四方面,本申请一实施例提供了一种深度相机,包括上述芯片,芯片用于对深度相机采集的图像进行伸缩变换处理以得到满足目标分辨率的图像。
[0010]第五方面,本申请一实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第二方面任一实施例所述的方法。
[0011]第六方面,本申请一实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备实现如第二方面任一实施例所述的方法。
[0012]本申请实施例通过几块小容量片上存储器对存储在片外存储器中的图像内容进行缓存,并通过上/下采样的方法计算出伸缩变换后的像素值,使得上/下采样计算过程与图像缓存过程并行进行构成多级流水线,从而极大地提高图像伸缩变换的计算速度。
附图说明
[0013]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0014]图1是本申请一实施例提供的芯片架构简化示意图;
[0015]图2是本申请一实施例提供的芯片架构细化示意图;
[0016]图3是本申请一实施例提供的一种基于芯片的图像伸缩变换方法的流程示意图。
具体实施方式
[0017]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0018]在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0019]在本申请说明书中描述的“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0020]此外,在本申请的描述中,“多个”的含义是两个或两个以上。术语“第一”和“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0021]还应当理解,除非另有明确的规定或限定,术语“连接”应做广义理解,例如本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用于图像伸缩变换的芯片,所述芯片与片外存储器耦接,其特征在于,所述芯片至少包括:第一输入缓存及第二输入缓存、第一横向缩放模块及第二横向缩放模块、第一中间缓存及第二中间缓存模块、第一纵向缩放模块及第一纵向缩放模块和第一输出缓存及第二输出缓存,其中:所述第一输入缓存和所述第二输入缓存,用于按数据调度需求从所述片外存储器中各自获取所述原始图像的K行数据直至所述原始图像的全部数据获取完毕则停止获取;其中,所述第一输入缓存和所述第二输入缓存按数据调度需求执行一次为一个周期;所述第一横向缩放模块,用于对所述第一输入缓存存储的所述原始图像的K行数据进行横向上/下采样得到所述目标图像的K行数据并缓存入所述第一中间缓存;所述第二横向缩放模块,用于对所述第二输入缓存存储的所述原始图像的K行数据进行横向上/下采样得到所述目标图像的K行数据并缓存入所述第二中间缓存;所述第一纵向缩放模块,用于对所述第一中间缓存和所述第二中间缓存当前周期存储的所述目标图像的K行数据进行纵向上/下采样得到满足所述目标分辨率的所述目标图像的M行数据并缓存入所述第一输出缓存;所述第二纵向缩放模块,用于对所述第一中间缓存和所述第二中间缓存下一周期存储的所述目标图像部分区域的K行数据进行纵向上/下采样得到满足所述目标分辨率的所述目标图像N行数据并将缓存入所述第二输出缓存;所述第一输入缓存和所述第二输出缓存,用于将所述目标图像部分区域数据传输至指定地址;其中,K、M、N为自然数,三者的数值可相等或不相等。2.如权利要求1所述的芯片,其特征在于,所述芯片还包括调度模块,所述调度模块包括读取请求子模块和接收请求子模块,所述读取请求子模块用于根据数据调度需求和/或所述第一输入缓存和所述第二输入缓存的缓存空间向所述片外存储器发送读取数据请求;所述接收请求子模块用于接收所述片外存储器响应于读取数据请求发送的原始图像数据,并将接收到的数据写入所述第一输入缓存和所述第二输入缓存。3.如权利要求1所述的芯片,其特征在于,所述芯片还包括参数寄存器,用于寄存横向缩放模块和纵向缩放模块进行上/下采样的参数,所述参数可通过上位机或片外处理器获取并作为设计参数直接体现在芯片的设计中。4.如权利要求3所述的芯片,其特征在于,所述参数包括横向亚像素参数和纵向亚像素参数,其中,所述横向亚像素参数用于规定原始图像横向相邻像素的距离被细化成若干份,所述纵向亚像素参数用于规定原始图像纵向相邻像素的距离被细化成若干份。5.如权利要求3所述的芯片,其特征在于,所述参数还包括横向整数步长及横向亚像素步长、纵向整数步长及纵向亚像素步长,根据步长可以得到进行上/下采样所需的下一个有效行/列是原所述始图像中哪一行/列及上/下采样后所述目标图像行/列在所述原始图像中的亚像素位置。6.如权利要求5所述的芯片,其特征在于,所述芯片从所述片外存储器获取所述目标图像当前目标行在所述原始图像中的对应行数据之前,还需计算出当前目标行和下一个目标行在所述原始图像中的亚像素位置,进而确定当前目标行和下一个目标行在原始图像中各自的对应行;若当前目标行与下一个目标行在所述原始图像中拥有一个或两个相同的对应行,则所述芯片在获取所述当前目标行在...

【专利技术属性】
技术研发人员:肖晗袁峰
申请(专利权)人:奥比中光科技集团股份有限公司
类型:发明
国别省市:

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

1