数据处理方法和处理电路技术

技术编号:22268880 阅读:47 留言:0更新日期:2019-10-10 18:04
一种数据处理方法和处理电路,所述方法包括:获取第一输入数据和第一输入数据的数据长度;根据字节偏移量和所述数据长度获得第一数值,所述第一数值包括N个比特,每个比特的取值为第一标识或第二标识;根据字节偏移量和第一输入数据获得第二输入数据;从第二输入数据中选取取值为第一标识的比特对应的子数据,并将选取的子数据存储到所述比特对应的存储队列中;在满足数据输出条件时,输出存储队列中存储的子数据。应用本发明专利技术实施例,可以由处理电路来完成外填充操作,而不需要由CPU实现外填充操作,从而可以减轻CPU负担,更高效地进行外填充操作,提高处理效率。

【技术实现步骤摘要】
【国外来华专利技术】数据处理方法和处理电路
本专利技术涉及图像处理
,尤其涉及数据处理方法和处理电路。
技术介绍
在图像的处理过程中,通常会涉及到图像外填充操作。例如,参见图1A所示,为一个没有padding(填充),卷积核的大小为3*3,且stride(步幅)为1的卷积示例,从图1A中可以发现,输入特征图的尺寸为5*5,在没有进行padding的情况下,输出特征图的尺寸变为3*3。为了获得与输入特征图相同尺寸的输出特征图,还可以对输入特征图进行外填充操作,例如,在输入特征图的边缘进行补零操作。例如,参见图1B所示,为对输入特征图的边缘各补1个零的示意图;参见图1C所示,为对输入特征图的边缘各补2个零的示意图;参见图1D所示,为对输入特征图的边缘各补任意个零的示意图。在图像的处理过程中,如果由CPU(CentralProcessingUnit,中央处理器)完成上述外填充操作,则会大幅增加CPU的处理负担,且处理效率很低。
技术实现思路
本专利技术提供一种数据处理方法和处理电路,可以减轻CPU的处理负担。本专利技术第一方面,提供一种数据处理方法,所述方法包括:获取第一输入数据和所述第一输入数据的数据长度;根据字节偏移量和所述数据长度获得第一数值,所述第一数值包括N个比特,每个比特的取值为第一标识或第二标识,每个比特对应一个存储队列;根据字节偏移量和所述第一输入数据获得第二输入数据,所述第二输入数据包括的每个子数据对应所述第一数值中的一个比特;从所述第二输入数据中选取取值为第一标识的比特对应的子数据,并将选取的所述子数据存储到所述比特对应的存储队列中;在满足数据输出条件时,输出存储队列中存储的子数据。本专利技术第二方面,提供一种数据处理方法,所述方法包括:获取第三输入数据,所述第三输入数据包括图像像素值和内填充像素值;将所述第三输入数据输出给非对称存储队列,并通过所述非对称存储队列包括的多个子存储队列存储所述第三输入数据中的像素值;在满足数据输出条件时,输出子存储队列中存储的像素值。本专利技术第三方面,提供一种处理电路,所述处理电路包括:选择子电路,用于根据字节偏移量和第一输入数据的数据长度获得第一数值,所述第一数值包括N个比特,每个比特的取值为第一标识或者第二标识,每个比特对应一个存储队列;第一移位子电路,用于根据字节偏移量和第一输入数据获得第二输入数据,第二输入数据包括的每个子数据对应第一数值中的一个比特;存储队列,用于在取值为第一标识的比特对应的存储队列中,存储所述第二输入数据中的与所述取值为第一标识的比特对应的子数据;在满足数据输出条件时,输出存储队列中存储的子数据。本专利技术第四方面,提供一种处理电路,所述处理电路包括:非对称存储队列,用于接收第三输入数据,所述第三输入数据包括图像像素值和内填充像素值;通过所述非对称存储队列包括的多个子存储队列存储所述第三输入数据中的像素值;输出选择子电路,用于在满足数据输出条件时,读取子存储队列中存储的像素值,并输出子存储队列中存储的像素值。基于上述技术方案,本专利技术实施例中,可以由处理电路来完成外填充操作(如在输入特征图的边缘进行补零操作),而不需要由CPU实现外填充操作,从而可以减轻CPU负担,更高效地进行外填充操作,提高处理效率。附图说明为了更加清楚地说明本专利技术实施例或者现有技术中的技术方案,下面将对本专利技术实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本专利技术实施例的这些附图获得其它的附图。图1A-图1D是对输入特征图进行外填充的示意图;图2是一个数据处理方法的实施例示意图;图3是一个外填充实施例的应用场景示意图;图4是另一个数据处理方法的实施例示意图;图5A和图5B是对输入特征图进行内填充的示意图;图6A-图6C是一个内填充实施例的应用场景示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。另外,在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。本专利技术使用的术语仅仅是出于描述特定实施例的目的,而非限制本专利技术。本专利技术和权利要求书所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。应当理解,本文中使用的术语“和/或”是指包含一个或者多个相关联的列出项目的任何或所有可能组合。尽管在本专利技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语用来将同一类型的信息彼此区分开。例如,在不脱离本专利技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”,或者“当……时”,或者“响应于确定”。实施例1:本专利技术实施例中提出一种数据处理方法,用于实现可变输入长度对齐输出的功能(如外填充操作等,如在输入特征图的边缘进行补零操作),参见图2所示,为该数据处理方法的流程示意图,该方法可以包括以下步骤:步骤201,获取第一输入数据和该第一输入数据的数据长度。其中,第一输入数据可以包括但不限于:图像像素值;和/或,外填充像素值。步骤202,根据字节偏移量和该数据长度获得第一数值,第一数值包括N个比特,每个比特的取值为第一标识(如1)或者第二标识(如0),每个比特对应一个存储队列,即存在N个存储队列,每个比特对应一个存储队列。在一个例子中,根据字节偏移量和该数据长度获得第一数值,可以包括:将数据长度转换为N个比特的第二数值,第二数值的每个比特的取值为第一标识或者第二标识;根据字节偏移量对该第二数值进行偏移,得到第一数值。其中,将数据长度转换为N个比特的第二数值,可以包括:基于数据长度M(即数据长度为M),将第二数值的后M个比特设置为第一标识,并将第二数值的前N-M个比特设置为第二标识;其中,M可以小于等于N。其中,根据字节偏移量对该第二数值进行偏移,得到第一数值,可以包括:根据字节偏移量确定第一偏移数,将第二数值中的每个比特循环左移所述第一偏移数个比特,得到第一数值。而且,第一偏移数可以为字节偏移量。步骤203,根据字节偏移量和第一输入数据获得第二输入数据,该第二输入数据包括的每个子数据对应第一数值中的一个比特。在一个例子中,根据字节偏移量和第一输入数据获得第二输入数据,可以包括但不限于:根据字节偏移量确定第二偏移数,并将第一输入数据中的每个子数据循环左移所述第二偏移数个比特,得到第二输入数据。其中,第二偏移数可以包括:所述字节偏移量与特定数值的乘积。在上述实施例中,在根据字节偏移量和数据长度获得第一数值之前,还可以从偏移寄存器中读取字节偏移量;在根据字节偏移量和第一输入数据获得第二输入数据之前,也可以从偏移寄存器中读取字节偏移量。其中,偏移寄存器用于记录字节偏移量,偏移寄存器记录的字节偏移量小于等于N。进一步的,在根据字节偏移量和第一输入数据获得第二输入数据之后,还可以将该偏移寄存器中的字节偏移量累加所述数据长度,从本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,所述方法包括:获取第一输入数据和所述第一输入数据的数据长度;根据字节偏移量和所述数据长度获得第一数值,所述第一数值包括N个比特,每个比特的取值为第一标识或第二标识,每个比特对应一个存储队列;根据字节偏移量和所述第一输入数据获得第二输入数据,所述第二输入数据包括的每个子数据对应所述第一数值中的一个比特;从所述第二输入数据中选取取值为第一标识的比特对应的子数据,并将选取的所述子数据存储到所述比特对应的存储队列中;在满足数据输出条件时,输出存储队列中存储的子数据。

【技术特征摘要】
【国外来华专利技术】1.一种数据处理方法,其特征在于,所述方法包括:获取第一输入数据和所述第一输入数据的数据长度;根据字节偏移量和所述数据长度获得第一数值,所述第一数值包括N个比特,每个比特的取值为第一标识或第二标识,每个比特对应一个存储队列;根据字节偏移量和所述第一输入数据获得第二输入数据,所述第二输入数据包括的每个子数据对应所述第一数值中的一个比特;从所述第二输入数据中选取取值为第一标识的比特对应的子数据,并将选取的所述子数据存储到所述比特对应的存储队列中;在满足数据输出条件时,输出存储队列中存储的子数据。2.根据权利要求1所述的方法,其特征在于,所述第一输入数据包括:图像像素值;和/或,外填充像素值。3.根据权利要求1所述的方法,其特征在于,所述根据字节偏移量和所述数据长度获得第一数值,包括:将所述数据长度转换为N个比特的第二数值,每个比特的取值为第一标识或第二标识;根据字节偏移量对所述第二数值进行偏移,得到第一数值。4.根据权利要求3所述的方法,其特征在于,所述将所述数据长度转换为N个比特的第二数值,包括:基于所述数据长度M,将第二数值的后M个比特设置为第一标识,并将所述第二数值的前N-M个比特设置为第二标识;其中,M小于等于N。5.根据权利要求3所述的方法,其特征在于,所述根据字节偏移量对所述第二数值进行偏移,得到第一数值,包括:根据所述字节偏移量确定第一偏移数,并将所述第二数值中的每个比特循环左移所述第一偏移数个比特,得到所述第一数值。6.根据权利要求5所述的方法,其特征在于,所述第一偏移数包括:所述字节偏移量。7.根据权利要求1所述的方法,其特征在于,所述根据字节偏移量和所述第一输入数据获得第二输入数据,包括:根据所述字节偏移量确定第二偏移数,并将所述第一输入数据中的每个子数据循环左移所述第二偏移数个比特,得到所述第二输入数据。8.根据权利要求7所述的方法,其特征在于,所述第二偏移数包括:所述字节偏移量与特定数值的乘积。9.根据权利要求1所述的方法,其特征在于,所述根据字节偏移量和所述数据长度获得第一数值之前,还包括:从偏移寄存器中读取字节偏移量;其中,所述偏移寄存器用于记录字节偏移量,且所述偏移寄存器记录的字节偏移量小于等于N。10.根据权利要求9所述的方法,其特征在于,所述根据字节偏移量和所述第一输入数据获得第二输入数据之后,所述方法还包括:将所述偏移寄存器中的字节偏移量累加所述数据长度,得到新的字节偏移量,并将得到的字节偏移量更新到所述偏移寄存器。11.根据权利要求1所述的方法,其特征在于,所述方法还包括:若检测到所有存储队列均存储有子数据,则确定满足数据输出条件。12.根据权利要求1所述的方法,其特征在于,所述输出存储队列中存储的子数据,包括:从所有存储队列的每个存储队列中读取子数据,并输出读取的子数据。13.根据权利要求1-12任一项所述的方法,其特征在于,所述存储队列包括:先入先出FIFO队列。14.根据权利要求1所述的方法,其特征在于,所述获取第一输入数据和所述第一输入数据的数据长度之前,还包括:获取第三输入数据,所述第三输入数据包括图像像素值和内填充像素值;将所述第三输入数据输出给非对称存储队列,并通过所述非对称存储队列包括的多个子存储队列存储所述第三输入数据中的像素值;在满足数据输出条件时,输出子存储队列中存储的像素值;根据输出的像素值获得第一输入数据的图像像素值,并根据第一输入数据的图像像素值和/或第一输入数据的外填充像素值获得所述第一输入数据。15.根据权利要求14所述的方法,其特征在于,所述第三输入数据包括R个图像像素值,每个图像像素值后面包括S个内填充像素值;所述非对称存储队列包括S+1个子存储队列。16.根据权利要求15所述的方法,其特征在于,通过所述非对称存储队列包括的多个子存储队列存储所述第三输入数据中的像素值,包括:通过每个子存储队列存储所述第三输入数据中的R个像素值。17.根据权利要求16所述的方法,其特征在于,不同的子存储队列用于存储所述第三输入数据中的不同位置的像素值。18.根据权利要求14所述的方法,其特征在于,所述方法还包括:若检测到所有子存储队列均存储有像素值,则确定满足数据输出条件。19.根据权利要求14所述的方法,其特征在于,所述输出子存储队列中存储的像素值,包括:从所有子存储队列的每个子存储队列中读取像素值,输出读取的像素值。20.根据权利要求19所述的方法,其特征在于,所述从所有子存储队列的每个子存储队列中读取像素值,输出读取的像素值,包括:按照子存储队列的顺序,依次遍历所有子存储队列的每个子存储队列,并从当前遍历的子存储队列中读取R个像素值,并输出读取的R个像素值。21.根据权利要求14-20任一所述的方法,其特征在于,所述非对称存储队列包括:非对称先入先出FIFO队列;所述子存储队列包括:子FIFO队列。22.一种数据处理方法,其特征在于,所述方法包括:获取第三输入数据,所述第三输入数据包括图像像素值和内填充像素值;将所述第三输入数据输出给非对称存储队列,并通过所述非对称存储队列包括的多个子存储队列存储所述第三输入数据中的像素值;在满足数据输出条件时,输出子存储队列中存储的像素值。23.根据权利要求22所述的方法,其特征在于,所述第三输入数据包括R个图像像素值,每个图像像素值后面包括S个内填充像素值;所述非对称存储队列包括S+1个子存储队列。24.根据权利要求23所述的方法,其特征在于,通过所述非对称存储队列包括的多个子存储队列存储所述第三输入数据中的像素值,...

【专利技术属性】
技术研发人员:赵尧谷骞韩峰
申请(专利权)人:深圳市大疆创新科技有限公司
类型:发明
国别省市:广东,44

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

1