CN111915673A - 图像处理方法、装置、终端设备及存储介质 - Google Patents

图像处理方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN111915673A
CN111915673A CN202010713390.2A CN202010713390A CN111915673A CN 111915673 A CN111915673 A CN 111915673A CN 202010713390 A CN202010713390 A CN 202010713390A CN 111915673 A CN111915673 A CN 111915673A
Authority
CN
China
Prior art keywords
pixel point
source
target
image
source pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010713390.2A
Other languages
English (en)
Other versions
CN111915673B (zh
Inventor
蒋文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Intellifusion Technologies Co Ltd
Original Assignee
Shenzhen Intellifusion Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Intellifusion Technologies Co Ltd filed Critical Shenzhen Intellifusion Technologies Co Ltd
Priority to CN202010713390.2A priority Critical patent/CN111915673B/zh
Publication of CN111915673A publication Critical patent/CN111915673A/zh
Priority to PCT/CN2021/088428 priority patent/WO2022016927A1/zh
Application granted granted Critical
Publication of CN111915673B publication Critical patent/CN111915673B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)

Abstract

本申请适用于计算机技术领域,提供了图像处理方法、装置、终端设备及存储介质,包括:确定与待生成图像中的待生成像素点对应的至少两个相邻的目标源像素点,所述目标源像素点为源图像中的源像素点;根据各个所述目标源像素点在所述源图像中的位置信息,分别从不同的预设存储器中获取各个所述目标源像素点的像素数据,其中每个所述预设存储器分别存储一种位置类型的源像素点,所述位置类型根据所述源像素点在源图像中的位置信息确定;根据各个所述目标源像素点的像素数据进行插值运算,确定所述待生成像素点的目标像素数据。本申请实施例能够提高图像处理效率。

Description

图像处理方法、装置、终端设备及存储介质
技术领域
本申请属于计算机技术领域,尤其涉及一种图像处理方法、装置、终端设备及存储介质。
背景技术
在现有的诸如图像对齐、图像变换、图像校正等图像处理技术中,常常存在着需要根据源图像的像素数据确定目标图像的像素数据的处理过程。
这一处理过程通常需要分多次读取多个源像素点的像素数据才能确定目标图像的一个像素点的像素数据。然而,这种像素数据的读取方式效率较低,从而降低了图像处理的效率。
发明内容
有鉴于此,本申请实施例提供了图像处理方法、装置、终端设备及存储介质,以解决现有技术中如何提高图像处理效率的问题。
本申请实施例的第一方面提供了一种图像处理方法,包括:
确定与待生成图像中的待生成像素点对应的至少两个相邻的目标源像素点,所述目标源像素点为源图像中的源像素点;
根据各个所述目标源像素点在所述源图像中的位置信息,分别从不同的预设存储器中获取各个所述目标源像素点的像素数据,其中每个所述预设存储器分别存储一种位置类型的源像素点,所述位置类型根据所述源像素点在源图像中的位置信息确定;
根据各个所述目标源像素点的像素数据进行插值运算,确定所述待生成像素点的目标像素数据。
本申请实施例的第二方面提供了一种图像处理装置,包括:
目标源像素点确定单元,用于确定与待生成图像中的待生成像素点对应的至少两个相邻的目标源像素点,所述目标源像素点为源图像中的源像素点;
像素数据获取单元,用于根据各个所述目标源像素点在所述源图像中的位置信息,分别从不同的预设存储器中获取各个所述目标源像素点的像素数据,其中每个所述预设存储器分别存储一种位置类型的源像素点,所述位置类型根据所述源像素点在源图像中的位置信息确定;
目标像素数据确定单元,用于根据各个所述目标源像素点的像素数据进行插值运算,确定所述待生成像素点的目标像素数据。
本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,使得终端设备实现如所述图像处理方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得终端设备实现如所述图像处理方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行如第一方面中所述的图像处理方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:本申请实施例中,由于在需要确定待生成像素点的目标像素数据时,能够分别从不同的预设存储器中一次性地获取与当前待生成像素点对应的多个目标源像素点的像素数据,根据读取到的目标源像素点的像素数据进行插值运算,得到待生成像素点的目标像素数据,即一次就可以读取到进行插值运算时所需的多个目标源像素点的像素数据,而无需分多次等待读取像素数据,因此能够提高像素数据的读取效率,高效地确定待生成像素点的目标像素数据,进而提高基于插值运算的图像处理效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的第一种图像处理方法的实现流程示意图;
图2是本申请实施例提供的一种待生成像素点及对应的两个相邻目标源像素点的示意图;
图3是本申请实施例提供的一种待生成像素点及对应的四个相邻目标源像素点的示意图;
图4是本申请实施例提供的第二种图像处理方法的实现流程示意图;
图5是本申请实施例提供的一种源像素点的像素数据的存储流程示意图;
图6是本申请实施例提供的一种总线控制接口模块的硬件架构图;
图7是本申请实施例提供的一种总线数据对齐的示意图;
图8是本申请实施例提供的另一种源像素点的像素数据的存储流程示意图;
图9是本申请实施例提供的一种图像处理装置的硬件架构示意图;
图10是本申请实施例提供的第三种图像处理方法的实现流程示意图;
图11是本申请实施例提供的一种STN的架构示意图;
图12是本申请实施例提供的一种图像处理装置的示意图;
图13是本申请实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
本申请实施例中的图像处理方法应用于图像变换(例如图像的放大缩小变换、图像的平移变换、图像的旋转变换)、图像校正(即根据畸变的图像校正得到目标图像)等应用场景中。在这些应用场景中,需要根据源图像(变换前、校正前的图像)的信息生成目标图像(变换后、校正后的图像),这一过程中,待生成的目标图像(即待生成图像)中每个待生成像素点的像素数据的确定的图像处理方法为关键环节。本申请实施例中的图像处理方法通过确定与待生成图像中的待生成像素点对应的至少两个相邻的源像素点,之后同时从各个不同的预设存储器中一次性获取各个源像素点的像素数据后进行插值运算,确定待生成像素点的目标像素数据,提高了图像处理效率高。
图1示出了本申请实施例提供的第一种图像处理方法的流程示意图,详述如下:
在S101中,确定与待生成图像中的待生成像素点对应的至少两个相邻的目标源像素点,所述目标源像素点为源图像中的源像素点。
本申请实施例中,源图像的像素点称为源像素点;待生成图像中与源图像存在一定的映射关系,根据该映射关系,可以从源图像中确定出与待生成像素点对应的源像素点,将该与待生成像素点对应的源像素点称为目标源像素点。本申请实施例的待生成图像中,待生成像素点的像素数据具体根据源图像中的至少两个相邻的目标源像素点的像素数据来确定。具体地,根据待生成像素点的坐标以及预设的映射公式,计算得到该待生成像素点在源图像中对应的映射坐标;根据该映射坐标,确定该映射坐标附近的两个或者两个以上的相邻的源像素点作为与该待生成像素点对应的目标源像素点。
示例性地,如图2所示,根据映射关系,确定与待生成像素点A'对应的目标源像素点A和目标源像素点B这两个相邻的目标源像素点。本申请实施例中,与待生成像素点对应的目标源像素点的数目还可以为两个以上,如图3所示,与待生成像素点A'对应的目标源像素点包括源像素点A、B、C、D这四个目标源像素点。
在S102中,根据各个所述目标源像素点在所述源图像中的位置信息,分别从不同的预设存储器中获取各个所述目标源像素点的像素数据,其中每个所述预设存储器分别存储一种位置类型的源像素点,所述位置类型根据所述源像素点在源图像中的位置信息确定。
本申请实施例中,像素数据具体可以为灰度值、RGB值等用于表达图像内容的数据,源图像的每个源像素点的像素数据预先存储于各自对应的预设存储器中。具体地,源图像中的每个源像素点被分为不同的位置类型,每个预设存储器分别存储一种位置类型的源像素点。具体地,该位置类型所处行位置的奇偶性和/或所处列位置的奇偶性确定。
根据步骤S101确定的至少两个相邻的目标源像素点在源图像中的位置信息,确定与待生成像素点对应的各个目标源像素点分别对应的位置类型;接着,根据各个目标源像素点的位置类型,确定每个目标源像素点分别对应的预设存储器;之后,根据各个目标源像素点的位置信息分别从各自对应的预设存储器中获取各个目标源像素点的像素数据。由于各个目标源像素点的像素数据分别存储于不同的预设存储器,因此可以在同一个时钟周期内一次性同时获取。即,由于目标源像素点的像素数据不是存储于同一个存储器,因此无需依次排列等候逐一读取像素数据,而是可以一次性读取各个预设存储器来快速地获取各个目标像素数据。
示例性地,如图2所示,设源图像中的每一列依次被标为0、1、2、3这四个列序号,源图像中的源像素点根据其所在的列的列序号的奇偶性,被分为偶数列位置类型、奇数列位置类型这两种位置类型。对应地,预设存储器包括偶数列存储器和奇数列存储器,偶数列存储器专门用于存储偶数列类型的源像素点的像素数据,奇数列存储器专门用于存储奇数列类型的源像素点的像素数据。在确定与待生成像素点A'对应的目标源像素点A和目标源像素点B后,根据这两个目标源像素点的位置信息,确定目标源像素点A对应的位置类型为奇数列位置类型,目标源像素点B对应的位置类型为偶数列位置类型,此时,分别同时从奇数列存储器中获取目标源像素点A的像素数据以及从偶数列存储器中获取目标源像素点B的像素数据。
在S103中,根据各个所述目标源像素点的像素数据进行插值运算,确定所述待生成像素点的目标像素数据。
根据步骤S102中一次性获取到的各个目标源像素点的像素数据进行插值运算,确定待生成像素点的目标像素数据。示例性地,如图2所示,若与待生成像素点A'对应的源像素点包括目标源像素点A和目标源像素点B这两个目标源像素点,则具体在获取到目标源像素点A和目标源像素点B的像素数据后,进行一维插值运算(例如单线性插值运算),得到待生成像素点A'的像素数据。示例性地,如图3所示,若与待生成像素点A'对应的目标源像素点包括目标源像素点A、B、C、D这四个目标源像素点,则具体在获取到这四个目标源像素点的像素数据后,进行二维插值运算(例如双线性插值运算),得到待生成像素点A'的像素数据。
可选地,在确定了当前的待生成像素点的目标像素数据后,可以将该目标像素数据填充至待生成图像中的对应位置中或者缓存至缓存器中,之后以当前的待生成像素点相邻的下一该像素点(例如位于待生成像素点A'右边的一个像素点)作为下一个待生成像素点,并返回执行所述步骤S101~S103,直至待生成图像中的每个像素点均已确定了对应的像素数据,即该待生成图像的数据生成完毕,得到了完整的目标图像。
可选地,在所述步骤S101之前,还包括:
获取源图像,所述源图像中的各个源像素点均包含了各自的像素数据;
根据所述源图像中的各个源像素点对应的位置类型,将所述源图像中的各个源像素点的像素数据存储于与所述位置类型对应的预设存储器中。
本申请实施例中,在步骤S101之前,还包括了获取源图像以将源图像中各个源像素点的像素数据存储于预设存储器中的预处理步骤,详述如下:
获取源图像,该源图像中的每个源像素点均包含了各自的像素数据,即该源图像包含了完整的图像信息,可以用于表达具体的图像内容(例如人像、风景、等图像内容)。该源图像可以为相机拍摄得到的图像,或者通过制图软件制作得到的图像。
根据源图像中各个源像素点的位置类型,将各个源像素点的像素数据存储于各个预设存储器中。具体地,各个源像素点的位置类型根据各个源像素点位置信息确定,具体根据源像素点在源图像中所处行位置的奇偶性和/或所处列位置的奇偶性确定。示例性地,位置类型包括偶数行位置类型和奇数行位置类型,则对应的预设存储器包括偶数行存储器和奇数行存储器;若源像素点对应的位置类型为偶数行位置类型(即该源像素点所处行位置对应的行序号为偶数),则将该源像素点的像素数据存储至偶数行存储器中;若源像素点对应的位置类型为奇数行位置类型(即该源像素点所处行位置对应的行序号为奇数),则将该源像素点的像素数据存储至奇数行存储器中。示例性地,位置类型包括偶数列位置类型和奇数列位置类型,则对应的预设存储器包括偶数列存储器和奇数列存储器;若源像素点对应的位置类型为偶数列位置类型(即该源像素点所处列位置对应的列序号为偶数),则将该源像素点的像素数据存储至偶数列存储器中;若源像素点对应的位置类型为奇数列位置类型(即该源像素点所处列位置对应的列序号为奇数),则将该源像素点的像素数据存储至奇数列存储器中。
本申请实施例中,由于在确定待生成图像的待生成像素点的目标像素数据之前,先获取源图像,并根据各个源像素点的位置类型,准确地将各个源像素点的像素数据存储到各个预设存储器中,以使后续能够从各个预设存储器中一次性、准确地获取与待生成像素点对应的各个目标源像素点的像素数据,进而保证目标像素数据的准确性。
本申请实施例中,由于在需要确定待生成像素点的目标像素数据时,能够分别从不同的预设存储器中一次性地获取与当前待生成像素点对应的多个目标源像素点的像素数据,根据读取到的目标源像素点的像素数据进行插值运算,得到待生成像素点的目标像素数据,即一次就可以读取到进行插值运算时所需的多个目标源像素点的像素数据,而无需分多次等待读取像素数据,因此能够提高像素数据的读取效率,高效地确定待生成像素点的目标像素数据,进而提高基于插值运算的图像处理效率。
图4示出了本申请实施例提供的第二种图像处理方法的流程示意图,详述如下:
在S401中,确定与待生成图像中的待生成像素点对应的四个相邻的目标源像素点。
本申请实施例中,待生成图像中的待生成像素点的图像数据具体是根据源图像中的四个目标源像素点来确定的。由于一般待生成像素点在源图像中对应的映射坐标为非整数,例如(1.6,1.4),而在源图像中是以坐标为整数的源像素点为最小单位,因此将该非整数映射坐标周围(相邻的上、下、左、右四个方向)的四个源像素点确定为待生成像素点对应的四个相邻的目标源像素点。示例性地,若待生成像素点对应的映射坐标为(1.6,1.4),则对应的四个相邻的目标源像素点为在源图像中坐标分别为(1,1)、(1,2)、(2,1)、(2,2)的这四个源像素点,例如图3所示的A、B、C、D这四个目标源像素点。
在S402中,根据所述四个相邻的目标源像素点在所述源图像中的位置信息,分别从第一预设存储器、第二预设存储器、第三预设存储器及第四预设存储器获取各个所述目标源像素点的像素数据;其中,所述第一预设存储器用于存储在所述源图像中行位置序号为偶数且列位置序号为偶数的源像素点的像素数据,所述第二预设存储器用于存储在所述源图像中行位置序号为偶数且列位置序号为奇数的源像素点的像素数据,所述第三预设存储器用于存储在所述源图像中行位置序号为奇数且列位置序号为偶数的源像素点的像素数据,所述第四预设存储器用于存储在所述源图像中行位置序号为奇数且列位置序号为奇数的源像素点的像素数据。
与待生成像素点对应的四个相邻的目标源像素点的所处行位置的奇偶性及所处列位置的奇偶性是相间的,四个相邻的目标源像素点各自对应一种位置类型:行位置序号和列位置序号均为偶数的位置类型(例如图3所示的目标源像素点D)、行位置序号为偶数且列位置序号为奇数的位置类型(例如图3所示的目标源像素点C)、行位置序号为奇数且列位置序号为偶数的位置类型(例如图3所示的目标源像素点B)、行位置序号和列位置序号均为奇数的位置类型(例如图3所示的目标源像素点A)。对应地,预设存储器包括第一预设存储器、第二预设存储器、第三预设存储器及第四预设存储器这四个存储器,根据四个目标源像素点的在源图像中的位置信息,可以一次性从这四个存储器分别读取四个目标源像素点的像素数据。其中,第一预设存储器用于存储在源图像中行位置序号为偶数且列位置序号为偶数的源像素点的像素数据,第二预设存储器用于存储在源图像中行位置序号为偶数且列位置序号为奇数的源像素点的像素数据,第三预设存储器用于存储在源图像中行位置序号为奇数且列位置序号为偶数的源像素点的像素数据,第四预设存储器用于存储在源图像中行位置序号为奇数且列位置序号为奇数的源像素点的像素数据。
在S403中,根据各个所述目标源像素点的像素数据进行插值运算,确定所述待生成像素点的目标像素数据
在一次性获取到四个目标源像素点的像素数据后,根据这四个目标源像素点进行二维插值运算(行方向及列方向的插值计算),得到待生成像素点的目标像素数据。
可选地,在步骤S401之前,还包括:
S4001:获取源图像,所述源图像中的各个源像素点均包含了各自的像素数据;
S4002:根据所述源图像中的各个源像素点对应的行位置序号的奇偶性,对应将所述源图像中的各个源像素点的像素数据分为偶数行像素数据及奇数行像素数据;
S4003:根据所述偶数行像素数据中各个源像素点对应的列位置序号的奇偶性,对应将所述偶数行像素数据选择存储于第一预设存储器或者第二预设存储器;
S4004:根据所述奇数行像素数据中各个源像素点对应的列位置序号的奇偶性,对应将所述奇数行像素数据选择存储于第三预设存储器或者第四预设存储器。
具体地,如图5所示,获取源图像,逐行读取源图像中的源像素点的像素数据,并先进行奇偶行选择(即根据各个源像素点对应的行位置序号的奇偶性进行存储选择),将源像素点的像素数据分为偶数行像素数据(即行位置序号为偶数的像素数据,如图5中的row0、row2)和奇数行像素数据(即行位置序号为奇数的像素数据,如图5中的row1、row3)。之后,将偶数行像素数据进行奇偶列选择(即根据各个源像素点对应的列位置序号的奇偶性进行存储选择),得到偶数行中的偶数列像素数据、偶数行中的奇数列像素数据,分别对应存储于第一预设存储器、第二预设存储器中;将奇数行像素数据进行奇偶列选择(即根据各个源像素点对应的列位置序号的奇偶性进行存储选择),得到奇数行中的偶数列像素数据、奇数行中的奇数列像素数据,分别对应存储于第三预设存储器、第四预设存储器中。
进一步地,本申请实施例中通过总线控制接口模块执行步骤S4001-S4004,该总线控制接口模块的架构如图6所示,详述如下:
在S4001,总线控制接口模块从外部存储器获取源图像,源图像的源像素点的像素数据逐行遍历输入,以串行的总线数据形式从总线传输进入总线控制接口模块。其中,一个时钟周期内传输的总线数据的数据量根据总线位宽决定,例如,若总线的位宽为128比特(binary digit,bit),即16个字节,则一个时钟周期传输16个字节的总线数据。具体地,本申请实施例中每个源像素点的像素数据的长度为一个字节。可选地,从外部存储器传入的总线数据可能是不对齐的,因此本申请实施例中总线数据传入后,通过总线数据寄存器和拼接单元实现像素数据的拼接对齐。其中,总线数据不对齐指的是外部存储器传入的源像素点的像素数据不以总线数据的第0位(0x00)为起始地址,导致一个时钟周期读取的总线数据不一定都是源像素的像素数据。例如,如图6所示,设总线位宽为128bit(16个字节,图6中的每一小格表示一个字节数据),读取的源像素数据以0x02为起始地址,而0x00、0x01这两个字节数据可能为其它数据信息(例如标识位信息),则通过拼接单元将总线数据寄存器中缓存的总线数据(上一个时钟周期的16个字节数据,即图6中标号为0~15的16个字节数据)中的源像素数据(即图6中标号为2~15的14个字节数据)与当前的总线数据(具体与本时钟周期的标号为16和17的这两个字节数据)进行拼接,得到对齐的16个字节的总线数据。
在S4002中,对齐后的总线数据中从起始地址0x00开始,每一个字节为一个源像素点的源像素数据。此时,根据预先获取的源图像的行宽信息来切换奇偶行标识符寄存器的标识位,从而判断依次传输的各像素数据对应的源像素点的行位置序号的奇偶性,以将各个源像素点的像素数据分为偶数行像素数据和奇数行像素数据这两路数据向后传输。示例性地,设源图像中的行宽信息为32pixel(即源图像中的每一行包括32个源像素点),源图像中的初始行的行位置序号为偶数(例如初始行的序号为0),则奇偶行标识符寄存器初始为偶行标识位,此时从拼接单元输出的总线数据依次被判定为偶数行像素数据通过第一条线路向后传输;当奇数行标识符寄存器检测到传输的总线数据到达32个字节后,将奇偶行数据寄存器的标识位切换为奇行标识位,之后从拼接单元输出的总线数据依次被判定为奇数行像素数据通过第二条线路向后传输;以此类推,通过循环交替地切换奇偶行标识寄存器的标识位,将各个源像素点的像素数据对应分为偶数行像素数据或奇数行像素数据,并通过两个不同的线路向后传输,从而将源图像中的行位置序号为偶数及行位置序号为奇数的源像素点的像素数据分开处理。
在S4003中,将偶数行像素数据向后传输,并交替切换奇偶列标识寄存器的标识位,以将偶数行像素数据中的列位置序号为偶数、列位置序号为奇数的像素数据分路传输缓存于第一偶数列寄存器、第一奇数列寄存器中,并最终存储于第一预设存储器、第二预设存储器中。其中,图6中的偶数行数据寄存器和拼接单元用于将偶数行像素数据拼接至长度等于预设存储器的位宽后再向后传输。示例性地,如图8所示,设源图像中的第0行中包含列位置序号为0~31的共32个字节的像素数据(每个字节对应一个源像素点的像素数据),设总线的位宽为16个字节,每个预设存储器的位宽为8个字节,则在第一个时钟周期中,将列位置序号为0~15的16个像素数据按照列位置序号的奇偶性,分别缓存于第一偶数列寄存器、第一奇数列寄存器中,之后分别传输至第一预设存储器的地址0、第二预设存储器的地址0中进行存储;在第二个时钟周期中,将列位置序号为16~31的16个像素数据按照列位置序号的奇偶性,分别缓存于第一偶数列寄存器、第一奇数列寄存器中,之后分别传输至第一预设存储器的地址1、第二预设存储器的地址1中进行存储;以此类推,直至所有的偶数行像素数据均已分别存储于第一预设存储器、第二预设存储器中。
在S4004中,将奇数行像素数据向后传输,并交替切换奇偶列标识寄存器的标识位,以将奇数行像素数据中的列位置序号为偶数、列位置序号为奇数的像素数据分路传输缓存于第二偶数列寄存器、第二奇数列寄存器中,并最终分别存储于第三预设存储器、第四预设存储器中。其具体的执行逻辑与步骤S4003类似,此处不再赘述。
本申请实施例中,由于在步骤S401之前,通过步骤S4001~S4004准确地将源图像中的各个源像素点的像素数据分别存储于第一预设存储器、第二预设存储器、第三预设存储器及第四预设存储器中,使得后续在步骤S402中能够准确地从这四个预设存储器中获取到四个相邻的源像素点的像素数据,进而保证之后确定出的目标像素数据的准确性。
示例性地,图9示出了本申请实施例提供的一种图像处理装置的硬件架构示意图,该硬件架构包括系统控制模块、外部存储器、总线控制接口模块、计算单元(由坐标计算单元、地址计算单元及像素计算单元组成)、缓存器、第一预设存储器、第二预设存储器、第三预设存储器及第四预设存储器。具体地,该硬件架构的数据传输流程如下:(1)总线控制接口模块预先通过总线数据传输从外部存储器中获取源图像的像素数据,并分别存储于第一预设存储器、第二预设存储器、第三预设存储器和第四预设存储器中;(2)系统控制模块指示计算单元和总线控制接口模块相互协作,通过计算单元中的坐标计算单元确定当前的待生成像素点对应的四个相邻的目标源像素点,通过地址计算单元确定四个相邻的目标源像素点的像素数据对应在预设存储器中的地址信息,之后计算单元再将该地址信息传送给总线控制接口模块;(3)总线控制接口模块根据地址信息,在同一个时钟周期内分别从第一预设存储器、第二预设存储器、第三预设存储器和第四预设存储器中获取该四个相邻的目标源像素点的像素数据;(4)总线控制接口模块将获取到的四个相邻的目标源像素点的像素数据传送至计算单元中,通过其中的像素计算单元计算插值运算,得到当前的待生成像素点的目标像素数据;(5)将该目标像素数据传送至缓存器中进行缓存;(6)返回执行步骤(2)-(5)以进行下一个待生成像素点的目标像素数据的确定,直至缓存器已存满,将该缓存器中的数据通过总线控制接口模块传输至外部存储器。
本申请实施例中,考虑到待生成像素点在源图像中对应的映射坐标通常是横纵坐标均为非整数的坐标,因此待生成像素点对应在源图像中的源像素点具体为对应的相邻的四个源像素点;由于这四个源像素点分别对应四种位置类型,因此能够一次性地从四个预设存储器中获取对应的四个像素数据,即一个时钟周期内即可读取到所需的四个源像素点的像素数据,提高像素数据的读取效率,高效地确定待生成像素点的目标像素数据,进而提高基于插值运算的图像处理效率。
可选地,所述根据各个所述目标源像素点在所述源图像中的位置信息,分别从不同的预设存储器中获取各个所述目标源像素点的像素数据,包括:
A1:根据各个所述目标源像素点在所述源图像中的所述位置信息,确定各个所述目标源像素点分别对应的预设存储器以及偏移量;
A2:根据各个所述偏移量,分别确定各个所述目标源像素点的像素数据在各自对应的所述预设存储器中的地址信息;
A3:根据各个所述地址信息,分别从各个所述预设存储器中获取对应的各个所述目标源像素点的像素数据。
在A1中,根据各个目标源像素点在源图像中的位置信息,确定各个目标源像素点对应的位置类型,并根据该位置类型确定对应的预设存储器。之后,再根据各个目标源像素点的位置信息确定该目标源像素点在对应的预设存储器中的偏移量。示例性地,如图2所示,根据目标源像素点A在源图像中所处的位置信息,确定其对应的位置类型为奇数列位置类型,则对应的预设存储器为奇数列存储器,并根据目标源像素点A的位置信息确定其为源图像中第三个位置类型奇数列位置类型的源像素点,则偏移量为3。
在A2中,各个目标源像素点都根据其对应的偏移量以及预设存储器的位宽(以字节位单位),求得该目标源像素点的像素数据在其对应的预设存储器中的地址信息,该地址信息包括该像素数据在预设存储器中的存储地址及在该存储地址中的字节偏移信息。具体地,用offset表示目标源像素点对应的偏移量,W表示预设存储器的位宽,Address表示存储地址,byte_offset表示字节偏移信息,则:
Address=offset>>(log2W)
byte_offset=offset%W
其中,“>>”表示右移运算符,“%”表示取余运算符。具体地,以求得的以2为底的预设存储器的位宽W的对数作为目标右移数,将通过二进制表示的偏移量offset向右移动该目标右移数,得到存储地址Address;具体地,将偏移量offset除以预设存储器的位宽W后得到的余数作为字节偏移信息byte_offset。
例如,当预设存储器的位宽为8个字节,则:
Address=offset>>3
byte_offset=offset%8
在A3中,根据A2中求得的各个地址信息,分别从各个预设存储其中获取对应的目标源像素点的像素数据。示例性地,若如图2所示的目标源像素点A在步骤A2求得的存储地址为地址0,字节偏移量3,则对应地在奇数列存储器地址编号为0的存储器中的第三个字节和获取到目标源像素点A的像素数据;同时,目标源像素点B的像素数据也根据其对应的地址信息在偶数列存储器中获取。
本申请实施例由于能够根据各个目标源像素点在源图像中的位置信息准确地确定每个目标源像素点对应的预设存储器、偏移量及地址信息,因此能够保证目标源像素点的像素数据读取的准确性,进而保证目标像素数据计算的准确性。
可选地,若所述位置信息包括各个所述目标源像素点的坐标信息,则所述根据各个所述目标源像素点在所述源图像中的所述位置信息,确定各个所述目标源像素点分别对应的预设存储器以及偏移量,包括:
B1:根据各个所述目标源像素点在所述源图像中的坐标信息,确定各个所述目标源像素点对应的位置类型;
B2:根据各个所述目标源像素点在所述源图像中的位置类型,确定各个所述目标源像素点分别对应的预设存储器以及对应的第一偏移量计算公式;
B3:根据所述各个所述目标源像素点的坐标信息及所述第一偏移量计算公式,确定各个所述目标源像素点在各自对应的所述预设存储器中的偏移量。
在B1中,每个目标源像素点分别根据其在源图像中的坐标信息,确定该目标源像素点对应的位置类型。示例性地,如图3所示,根据目标源像素点A的坐标(1,1),确定其为奇数行奇数列位置类型;根据目标源像素点B的坐标(2,1),确定其为奇数行偶数列位置类型;根据目标源像素点C的坐标(1,2),确定其为偶数行奇数列位置类型;根据目标源像素点D的坐标(2,2),确定其为偶数行偶数列位置类型。
在B2中,根据各个目标源像素点在源图像中的位置类型,确定各个目标源像素点分别对应的预设存储器,以及对应的用于计算偏移量的第一偏移量计算公式。示例性地,在图3中,目标源像素点A对应的预设存储器为上述的第四预设存储器,目标源像素点B对应的预设存储器为上述的第三预设存储器,目标源像素点C对应的预设存储器为上述的第二预设存储器,目标源像素点D对应的预设存储器为上述的第一预设存储器。可选地,目标源像素点中奇数行奇数列位置类型以及偶数行奇数列类型的目标源像素点(即x轴坐标为奇数的源像素点,如图3所示的A、C)对应的第一偏移量计算公式为:
offset=(width>>1)*(y>>1)+(x>>1)
源像素点中奇数行偶数列位置类型以及偶数行偶数列类型的目标源像素点(即x轴坐标为偶数的源像素点,如图3所示的B、D)对应的第一偏移量计算公式为:
offset=((width>>1)+width[0])*(y>>1)+(x>>1)
其中,offset表示偏移量,width表示源图像的宽度,>>表示右移运算符,*表示乘号,x表示目标源像素点的横坐标(即列坐标),y表示目标源像素点的纵坐标(即行坐标),width[0]在width为奇数时的值为0、width为偶数时的值为1。
在B3中,根据各个目标源像素点的坐标信息和确定出的第一偏移量计算公式,确定各个目标源像素点在各自对应的预设存储器中的偏移量。示例性地,将如图3所示的目标源像素点A(1,1)、目标源像素点C(1,2)分别代入在步骤B2中确定出的其对应的第一偏移量计算公式offset=(width>>1)*(y>>1)+(x>>1),分别求得目标源像素点A对应在第四预设存储器中的偏移量以及目标源像素点C对应在第二预设存储器中的偏移量;将目标源像素点B(2,1)、目标源像素点D(2,2)分别代入在步骤B2中确定出的其对应的第一偏移量计算公式offset=((width>>1)+width[0])*(y>>1)+(x>>1),分别求得目标源像素点B对应在第三预设存储器中的偏移量以及目标源像素点D对应在第一预设存储器中的偏移量。
可选地,若所述至少两个相邻的目标源像素点包括第一目标源像素点及除所述第一目标源像素点以外的第二目标源像素点,所述位置信息包括所述第一目标源像素点的坐标信息及所述第二目标源像素点相对于所述第一目标源像素点的相对位置信息,则所述根据各个所述目标源像素点在所述源图像中的所述位置信息,确定各个所述目标源像素点分别对应的预设存储器以及偏移量,包括:
C1:根据所述第一目标源像素点的坐标信息及所述第二目标源像素点相对于所述第一目标源像素点的相对位置信息,确定各个所述目标源像素点对应的位置类型及对应的第二偏移量计算公式;
C2:根据所述第一目标源像素点的坐标信息及各个所述第二偏移量计算公式,确定各个目标源像素点在各自对应的所述预设存储器中的偏移量。
本申请实施例中,具体可以确定出的至少两个相邻的目标源像素点中选取坐标值较小的源像素点作为第一目标源像素点,其它目标源像素点作为第二目标源像素点。可选地,所述至少两个相邻的目标源像素点具体包括四个相邻的目标源像素点,则具体以位于左上角的源像素点作为第一目标源像素点,其它三个目标源像素点作为第二目标源像素点;根据该第一目标源像素点的坐标信息及第二目标源像素点与该第一目标源像素点的相对位置,确定对应的位置类型和第二偏移量计算公式;之后,根据第一目标源像素点的坐标及确定出的与四个目标源像素点分别对应的四个第二偏移量计算公式,确定四个目标源像素点对应在各自的预设存储器中的偏移量。可选地,该第二偏移量计算公式的确定如下:
左上角目标源像素点的第二偏移量计算公式:
当sx为奇数时,offset=(width>>1)*(sy>>1)+(sx>>1)
当sx为偶数时,offset=((width>>1)+width[0])*(sy>>1)+(sx>>1)
右上角目标源像素点的第二偏移量计算公式:
当sx为奇数时,offset=((width>>1)+width[0])*(sy>>1)+(sx>>1)+1
当sx为偶数时,offset=((width>>1)+width[0])*(sy>>1)+(sx>>1)
左下角目标源像素点的第二偏移量计算公式:
当sx为偶数、sy为偶数时:offset=((width>>1)+width[0])*(sy>>1)+(sx>>1)
当sx为奇数、sy为偶数时:offset=(width>>1)*(sy>>1)+(sx>>1)
当sx为偶数、sy为奇数时:offset=((width>>1)+width[0])*((sy>>1)+1)+(sx>>1)
当sx为奇数、sy为奇数时:offset=(width>>1)*((sy>>1)+1)+(sx>>1)
右下角目标源像素点的第二偏移量计算公式:
当sx为偶数、sy为偶数时:offset=(width>>1)*(sy>>1)+(sx>>1)
当sx为奇数、sy为偶数时:offset=((width>>1)+width[0])*(sy>>1)+(sx>>1)+1当sx为奇数、sy为奇数时:offset=(width>>1)*((sy>>1)+1)+(sx>>1)
当sx为偶数、sy为奇数时:offset=((width>>1)+width[0])*((sy>>1)+1)+(sx>>1)+1
其中,offset表示偏移量,width表示源图像的宽度,>>表示右移运算符,*表示乘号,sx表示第一目标源像素点的横坐标(即列坐标),sy表示第一目标源像素点的纵坐标(即行坐标),width[0]在width为奇数时的值为0、width为偶数时的值为1。
示例性地,如图3所示的目标源像素点A为第一目标源像素点,其坐标为(1,1),目标源像素点B、C、D为第二目标源像素点。在C1中,根据第一目标源像素点A(1,1),确定sx=1,sy=1,sx、sy均为奇数;确定目标源像素点A对应的位置类型为奇数行奇数列位置类型且对应的第二偏移量计算公式为:offset=(width>>1)*(sy>>1)+(sx>>1);确定目标源像素点B的位置类型为奇数行偶数列位置类型且对应的第二偏移量计算公式为:offset=((width>>1)+width[0])*(sy>>1)+(sx>>1)+1;确定目标源像素点C的位置类型为偶数行奇数列位置类型且对应的第二偏移量计算公式为:offset=(width>>1)*((sy>>1)+1)+(sx>>1);确定目标源像素点D的位置类型为偶数行偶数列位置类型且对应的第二偏移量计算公式为:offset=(width>>1)*((sy>>1)+1)+(sx>>1)。之后,在C2中,将目标源像素点A的坐标sx=1,sy=1代入确定出的四个第二偏移量计算公式,分别得到目标源像素点A、B、C、D对应的偏移量。
本申请实施例中,具体通过各个目标源像素点的坐标信息及第一偏移量计算公式来确定各个目标源像素点对应的偏移量,或者,具体通过确定出的目标源像素点中的第一目标源像素点的坐标信息、其它目标源像素点与该第一目标源像素点的相对位置、以及确定出的第二偏移量计算公式来确定各个目标源像素点对应的偏移量,保证源像素点的像素数据读取的准确性,进而保证目标像素数据计算的准确性。
图10示出了本申请实施例提供的第三种图像处理方法的流程示意图,该图像处理方法应用于空间变换网络(Spatial Transformer Network,STN),该STN的架构图如图11所示。图11中的源数据即为源图像数据,包括了源图像中每个源像素点的像素数据,目标数据即为待生成图像逐一生成目标像素数据后得到的图像数据,称为目标图像数据,该目标图像数据中的每一个像素点填充了对应的一个目标像素数据。如图10所述的图像处理方法详述如下:
在S1001中,通过参数预测,确定STN的目标参数。
在STN网络中,待生成图像的坐标(x,y)与其在源图像中对应的映射坐标(x',y')存在如下的坐标映射关系:
Figure BDA0002597353700000161
其中,a、b、c、d、e、f为六个目标参数,通过这六个目标参数可以反映待生成图像与源图像之间的平移、缩放、旋转等变换关系。具体地,可以通过训练样本对STN中的连续若干层神经网络层(包括卷积层、连接层)进行训练处理实现参数预测,得到STN的目标参数a、b、c、d、e、f。
在S1002中,根据所述目标参数,确定与待生成图像中的待生成像素点对应的源图像的映射坐标。
根据确定出的目标参数a、b、c、d、e、f及如上所示的坐标映射关系,确定出待生成像素点(x,y)对应在源图像中的映射坐标(x',y')。
在S1003中,根据所述映射坐标,确定所述四个相邻的目标源像素点。
确定出的映射坐标(x',y')中,x'和y'为小数,而源图像中只有横纵坐标均为整数的源像素点的像素数据,因此需要根据映射坐标来确定与该映射坐标最接近的四个相邻的目标源像素点。示例性地,如图3所示,若待生成像素点A'对应在源图像中的映射坐标为(1.6,1.4),则在源图像中对应的四个相邻的目标源像素点为A(1,1)、B(2,1)、C(1,2)、D(2,2)。
在S1004中,根据所述四个相邻的目标源像素点在所述源图像中的位置信息,分别从第一预设存储器、第二预设存储器、第三预设存储器及第四预设存储器获取各个所述目标源像素点的像素数据;其中,所述第一预设存储器用于存储在所述源图像中行位置序号为偶数且列位置序号为偶数的源像素点的像素数据,所述第二预设存储器用于存储在所述源图像中行位置序号为偶数且列位置序号为奇数的源像素点的像素数据,所述第三预设存储器用于存储在所述源图像中行位置序号为奇数且列位置序号为偶数的源像素点的像素数据,所述第四预设存储器用于存储在所述源图像中行位置序号为奇数且列位置序号为奇数的源像素点的像素数据。
本申请实施例的步骤S1004与上述的步骤S402相同,具体请参见上述对步骤S402的相关描述,此处不赘述。
在S1005中,根据所述四个相邻的目标源像素点的像素数据进行双线性插值运算,确定所述待生成像素点的目标像素数据。
示例性地,如图3所示的待生成像素点A'对应在源图像中的四个相邻的目标源像素点为A(1,1)、B(2,1)、C(1,2)、D(2,2),设其对应的像素数据分别用dataA、dataB、dataC、dataD表示,则待生成像素点A'的目标像素数据data_A'的计算公式如下:
data_A'=(1-0.6)×(1-0.4)×dataA+(1-0.6)×(1-0.6)×dataB+(1-0.4)×(1-0.4)×dataC+(1-0.4)×(1-0.6)×dataD
本申请实施例中,将图像处理方法具体应用于STN中,STN所需处理的图像数据量一般比较庞大,且每个待生成像素点的目标像素数据需要根据四个相邻的目标源像素点的像素数据进行插值运算确定。由于通过本申请实施例的方法,能够一次性从不同的预设存储器中同时获取与待生成像素点对应的四个相邻的源像素点的像素数据,从而快速地确定目标像素数据,因此能够极大地提高STN的处理效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例二:
图12示出了本申请实施例提供的一种图像处理装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分:
该图像处理装置包括:目标源像素点确定单元121、像素数据获取单元122、目标像素数据确定单元123。其中:
目标源像素点确定单元121,用于确定与待生成图像中的待生成像素点对应的至少两个相邻的目标源像素点,所述目标源像素点为源图像中的源像素点。
像素数据获取单元122,用于根据各个所述目标源像素点在所述源图像中的位置信息,分别从不同的预设存储器中获取各个所述目标源像素点的像素数据,其中每个所述预设存储器分别存储一种位置类型的源像素点,所述位置类型根据所述源像素点在源图像中的位置信息确定。
目标像素数据确定单元123,用于根据各个所述目标源像素点的像素数据进行插值运算,确定所述待生成像素点的目标像素数据。
可选地,所述图像处理装置还包括:
第一获取单元,用于获取源图像,所述源图像中的各个源像素点均包含了各自的像素数据;
第一存储单元,用于根据所述源图像中的各个源像素点对应的位置类型,将所述源图像中的各个源像素点的像素数据存储于与所述位置类型对应的预设存储器中。
可选地,所述源像素点确定单元121,具体用于确定与待生成图像中的待生成像素点对应的四个相邻的目标源像素点;
对应地,所述像素数据获取单元122,具体用于根据所述四个相邻的目标源像素点在所述源图像中的位置信息,分别从第一预设存储器、第二预设存储器、第三预设存储器及第四预设存储器获取各个所述目标源像素点的像素数据;其中,所述第一预设存储器用于存储在所述源图像中行位置序号为偶数且列位置序号为偶数的源像素点的像素数据,所述第二预设存储器用于存储在所述源图像中行位置序号为偶数且列位置序号为奇数的源像素点的像素数据,所述第三预设存储器用于存储在所述源图像中行位置序号为奇数且列位置序号为偶数的源像素点的像素数据,所述第四预设存储器用于存储在所述源图像中行位置序号为奇数且列位置序号为奇数的源像素点的像素数据。
可选地,所述图像处理装置还包括:
第二获取单元,用于获取源图像,所述源图像中的各个源像素点均包含了各自的像素数据;
第一分类单元,用于根据所述源图像中的各个源像素点对应的行位置序号的奇偶性,对应将所述源图像中的各个源像素点的像素数据分为偶数行像素数据及奇数行像素数据;
第二存储单元,根据所述偶数行像素数据中各个源像素点对应的列位置序号的奇偶性,对应将所述偶数行像素数据选择存储于第一预设存储器或者第二预设存储器;
第三存储单元,根据所述奇数行像素数据中各个源像素点对应的列位置序号的奇偶性,对应将所述奇数行像素数据选择存储于第三预设存储器或者第四预设存储器。
可选地,若所述图像处理装置具体应用于空间变换网络,则所述图像处理装置还包括:
目标参数确定单元,用于通过参数预测,确定所述空间变换网络的目标参数;
对应地,所述源像素点确定单元121包括映射坐标确定模块和源像素点确定模块:
映射坐标确定模块,用于根据所述目标参数,确定与待生成图像中的待生成像素点对应的源图像的映射坐标;
源像素点确定模块,用于根据所述映射坐标,确定所述四个相邻的目标源像素点;
对应地,所述目标像素数据确定单元123,具体用于根据所述四个相邻的目标源像素点的像素数据进行双线性插值运算,确定所述待生成像素点的目标像素数据。
可选地,所述像素数据获取单元122包括偏移量确定模块、地址信息确定模块和像素数据获取模块:
偏移量确定模块,用于根据各个所述目标源像素点在所述源图像中的所述位置信息,确定各个所述源像素点分别对应的预设存储器以及偏移量;
地址信息确定模块,用于根据各个所述偏移量,分别确定各个所述目标源像素点的像素数据在各自对应的所述预设存储器中的地址信息;
像素数据获取模块,用于根据各个所述地址信息,分别从各个所述预设存储器中获取对应的各个所述目标源像素点的像素数据。
可选地,若所述位置信息包括各个所述目标源像素点的坐标信息,则所述偏移量确定模块,具体用于根据各个所述目标源像素点在所述源图像中的坐标信息,确定各个所述目标源像素点对应的位置类型;根据各个所述目标源像素点在所述源图像中的位置类型,确定各个所述目标源像素点分别对应的预设存储器以及对应的第一偏移量计算公式;根据所述各个所述目标源像素点的坐标信息及所述第一偏移量计算公式,确定各个所述目标源像素点在各自对应的所述预设存储器中的偏移量;
可选地,若所述至少两个相邻的目标源像素点包括第一目标源像素点及除所述第一目标源像素点以外的第二目标源像素点,所述位置信息包括所述第一目标源像素点的坐标信息及所述第二目标源像素点相对于所述第一目标源像素点的相对位置信息,则所述偏移量确定模块,具体用于根据所述第一目标源像素点的坐标信息及所述第二目标源像素点相对于所述第一目标源像素点的相对位置信息,确定各个所述目标源像素点对应的位置类型及对应的第二偏移量计算公式;根据所述第一目标源像素点的坐标信息及各个所述第二偏移量计算公式,确定各个所述目标源像素点在各自对应的所述预设存储器中的偏移量。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
实施例三:
图13是本申请一实施例提供的终端设备的示意图。如图13所示,该实施例的终端设备13包括:处理器130、存储器131以及存储在所述存储器131中并可在所述处理器130上运行的计算机程序132,例如图像处理程序。所述处理器130执行所述计算机程序132时实现上述各个图像处理方法实施例中的步骤,例如图1所示的步骤S101至S103。或者,所述处理器130执行所述计算机程序132时实现上述各装置实施例中各模块/单元的功能,例如图12所示单元121至123的功能。
示例性的,所述计算机程序132可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器131中,并由所述处理器130执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序132在所述终端设备13中的执行过程。例如,所述计算机程序132可以被分割成目标源像素点确定单元、像素数据获取单元、目标像素数据确定单元,各单元具体功能如下:
目标源像素点确定单元,用于确定与待生成图像中的待生成像素点对应的至少两个相邻的目标源像素点,所述目标源像素点为源图像中的源像素点;
像素数据获取单元,用于根据各个所述目标源像素点在所述源图像中的位置信息,分别从不同的预设存储器中获取各个所述目标源像素点的像素数据,其中每个所述预设存储器分别存储一种位置类型的源像素点,所述位置类型根据所述源像素点在源图像中的位置信息确定;
目标像素数据确定单元,用于根据各个所述目标源像素点的像素数据进行插值运算,确定所述待生成像素点的目标像素数据。
所述终端设备13可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器130、存储器131。本领域技术人员可以理解,图13仅仅是终端设备13的示例,并不构成对终端设备13的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器130可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器131可以是所述终端设备13的内部存储单元,例如终端设备13的硬盘或内存。所述存储器131也可以是所述终端设备13的外部存储设备,例如所述终端设备13上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器131还可以既包括所述终端设备13的内部存储单元也包括外部存储设备。所述存储器131用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器131还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种图像处理方法,其特征在于,包括:
确定与待生成图像中的待生成像素点对应的至少两个相邻的目标源像素点,所述目标源像素点为源图像中的源像素点;
根据各个所述目标源像素点在所述源图像中的位置信息,分别从不同的预设存储器中获取各个所述目标源像素点的像素数据,其中每个所述预设存储器分别存储一种位置类型的源像素点,所述位置类型根据所述源像素点在源图像中的位置信息确定;
根据各个所述目标源像素点的像素数据进行插值运算,确定所述待生成像素点的目标像素数据。
2.如权利要求1所述的图像处理方法,其特征在于,在所述确定与待生成图像中的待生成像素点对应的至少两个相邻的目标源像素点之前,还包括:
获取源图像,所述源图像中的各个源像素点均包含了各自的像素数据;
根据所述源图像中的各个源像素点对应的位置类型,将所述源图像中的各个源像素点的像素数据存储于与所述位置类型对应的预设存储器中。
3.如权利要求1所述的图像处理方法,其特征在于,所述确定与待生成图像中的待生成像素点对应的至少两个相邻的目标源像素点,包括:
确定与待生成图像中的待生成像素点对应的四个相邻的目标源像素点;
所述根据各个所述目标源像素点在所述源图像中的位置信息,分别从不同的预设存储器中获取各个所述目标源像素点的像素数据,包括:
根据所述四个相邻的目标源像素点在所述源图像中的位置信息,分别从第一预设存储器、第二预设存储器、第三预设存储器及第四预设存储器获取各个所述目标源像素点的像素数据;其中,所述第一预设存储器用于存储在所述源图像中行位置序号为偶数且列位置序号为偶数的源像素点的像素数据,所述第二预设存储器用于存储在所述源图像中行位置序号为偶数且列位置序号为奇数的源像素点的像素数据,所述第三预设存储器用于存储在所述源图像中行位置序号为奇数且列位置序号为偶数的源像素点的像素数据,所述第四预设存储器用于存储在所述源图像中行位置序号为奇数且列位置序号为奇数的源像素点的像素数据。
4.如权利要求3所述的图像处理方法,其特征在于,在所述确定与待生成图像中的待生成像素点对应的四个相邻的目标源像素点之前,还包括:
获取源图像,所述源图像中的各个源像素点均包含了各自的像素数据;
根据所述源图像中的各个源像素点对应的行位置序号的奇偶性,对应将所述源图像中的各个源像素点的像素数据分为偶数行像素数据及奇数行像素数据;
根据所述偶数行像素数据中各个源像素点对应的列位置序号的奇偶性,对应将所述偶数行像素数据选择存储于第一预设存储器或者第二预设存储器;
根据所述奇数行像素数据中各个源像素点对应的列位置序号的奇偶性,对应将所述奇数行像素数据选择存储于第三预设存储器或者第四预设存储器。
5.如权利要求3所述的图像处理方法,其特征在于,若所述图像处理方法应用于空间变换网络,则在所述确定与待生成图像中的待生成像素点对应的四个相邻的目标源像素点之前,还包括:
通过参数预测,确定所述空间变换网络的目标参数;
所述确定与待生成图像中的待生成像素点对应的四个相邻的目标源像素点,包括:
根据所述目标参数,确定与待生成图像中的待生成像素点对应的源图像的映射坐标;
根据所述映射坐标,确定所述四个相邻的目标源像素点;
对应地,所述根据各个所述目标源像素点的像素数据进行插值运算,确定所述待生成像素点的目标像素数据,包括:
根据所述四个相邻的源像素点中的各个目标源像素点的像素数据进行双线性插值运算,确定所述待生成像素点的目标像素数据。
6.如权利要求1任意一项所述的图像处理方法,其特征在于,所述根据各个所述目标源像素点在所述源图像中的位置信息,分别从不同的预设存储器中获取各个所述目标源像素点的像素数据,包括:
根据各个所述目标源像素点在所述源图像中的所述位置信息,确定各个所述目标源像素点分别对应的预设存储器以及偏移量;
根据各个所述偏移量,分别确定各个所述目标源像素点的像素数据在各自对应的所述预设存储器中的地址信息;
根据各个所述地址信息,分别从各个所述预设存储器中获取对应的各个所述目标源像素点的像素数据。
7.如权利要求6所述的图像处理方法,其特征在于,若所述位置信息包括各个所述目标源像素点的坐标信息,则所述根据各个所述目标源像素点在所述源图像中的所述位置信息,确定各个所述目标源像素点分别对应的预设存储器以及偏移量,包括:
根据各个所述目标源像素点在所述源图像中的坐标信息,确定各个所述目标源像素点对应的位置类型;
根据各个所述目标源像素点在所述源图像中的位置类型,确定各个所述目标源像素点分别对应的预设存储器以及对应的第一偏移量计算公式;
根据所述各个所述目标源像素点的坐标信息及所述第一偏移量计算公式,确定各个所述目标源像素点在各自对应的所述预设存储器中的偏移量;
或者,若所述至少两个相邻的目标源像素点包括第一目标源像素点及除所述第一目标源像素点以外的第二目标源像素点,所述位置信息包括所述第一目标源像素点的坐标信息及所述第二目标源像素点相对于所述第一目标源像素点的相对位置信息,则所述根据各个所述目标源像素点在所述源图像中的所述位置信息,确定各个所述目标源像素点分别对应的预设存储器以及偏移量,包括:
根据所述第一目标源像素点的坐标信息及所述第二目标源像素点相对于所述第一目标源像素点的相对位置信息,确定各个所述目标源像素点对应的位置类型及对应的第二偏移量计算公式;
根据所述第一目标源像素点的坐标信息及各个所述第二偏移量计算公式,确定各个所述目标源像素点在各自对应的所述预设存储器中的偏移量。
8.一种图像处理装置,其特征在于,包括:
目标源像素点确定单元,用于确定与待生成图像中的待生成像素点对应的至少两个相邻的目标源像素点,所述目标源像素点为源图像中的源像素点;
像素数据获取单元,用于根据各个所述目标源像素点在所述源图像中的位置信息,分别从不同的预设存储器中获取各个所述目标源像素点的像素数据,其中每个所述预设存储器分别存储一种位置类型的源像素点,所述位置类型根据所述源像素点在源图像中的位置信息确定;
目标像素数据确定单元,用于根据各个所述目标源像素点的像素数据进行插值运算,确定所述待生成像素点的目标像素数据。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,当所述处理器执行所述计算机程序时,使得终端设备实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,当所述计算机程序被处理器执行时,使得终端设备实现如权利要求1至7任一项所述方法的步骤。
CN202010713390.2A 2020-07-22 2020-07-22 图像处理方法、装置、终端设备及存储介质 Active CN111915673B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010713390.2A CN111915673B (zh) 2020-07-22 2020-07-22 图像处理方法、装置、终端设备及存储介质
PCT/CN2021/088428 WO2022016927A1 (zh) 2020-07-22 2021-04-20 图像处理方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010713390.2A CN111915673B (zh) 2020-07-22 2020-07-22 图像处理方法、装置、终端设备及存储介质

Publications (2)

Publication Number Publication Date
CN111915673A true CN111915673A (zh) 2020-11-10
CN111915673B CN111915673B (zh) 2022-01-11

Family

ID=73281304

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010713390.2A Active CN111915673B (zh) 2020-07-22 2020-07-22 图像处理方法、装置、终端设备及存储介质

Country Status (2)

Country Link
CN (1) CN111915673B (zh)
WO (1) WO2022016927A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112508776A (zh) * 2020-12-11 2021-03-16 网易(杭州)网络有限公司 动作迁移方法、装置和电子设备
WO2022016927A1 (zh) * 2020-07-22 2022-01-27 深圳云天励飞技术股份有限公司 图像处理方法、装置、终端设备及存储介质
CN114119675A (zh) * 2021-11-10 2022-03-01 爱芯元智半导体(上海)有限公司 像素点的偏移获取方法、装置、电子设备及存储介质
CN115456858A (zh) * 2022-09-16 2022-12-09 深圳思谋信息科技有限公司 图像处理方法、装置、计算机设备及计算机可读存储介质
CN116152043A (zh) * 2023-03-24 2023-05-23 摩尔线程智能科技(北京)有限责任公司 一种基于图像处理的内存管理方法及装置、电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7108376B2 (en) * 2003-11-17 2006-09-19 Fujinon Corporation Compact projection display device
CN102467360A (zh) * 2010-11-12 2012-05-23 南京理工大学 参数可配置的图像显示控制方法
CN103533366A (zh) * 2012-07-03 2014-01-22 展讯通信(上海)有限公司 用于视频运动补偿的缓存方法与装置
CN105719324A (zh) * 2014-12-19 2016-06-29 株式会社东芝 图像处理装置以及图像处理方法
CN110458755A (zh) * 2018-05-07 2019-11-15 华为技术有限公司 图像处理方法、相关设备及计算机存储介质
CN110503602A (zh) * 2018-05-18 2019-11-26 杭州海康威视数字技术股份有限公司 一种图像的投影变换方法、装置及电子设备
CN110928503A (zh) * 2019-10-26 2020-03-27 森大(深圳)技术有限公司 区域随机打印的数据寻址方法、装置、设备及储存介质
US10623714B2 (en) * 2018-05-24 2020-04-14 Innolux Corporation Stereoscopic display device and method for operating using pixel offset map
CN111095933A (zh) * 2017-09-15 2020-05-01 索尼公司 图像处理装置和方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059583A (ja) * 1998-08-10 2000-02-25 Nec Corp 画像処理方法およびその装置
CN106201363B (zh) * 2016-07-26 2023-01-31 四川大学 视频流像素级数据随机实时访问的存储器及存储方法
CN110738615B (zh) * 2019-10-11 2023-09-19 珠海市杰理科技股份有限公司 鱼眼图像校正方法、装置、系统及可存储介质
CN111131740B (zh) * 2019-12-03 2021-03-05 中国航空工业集团公司洛阳电光设备研究所 一种实现任意比例缩放的vesa时序实时转换方法
CN111915673B (zh) * 2020-07-22 2022-01-11 深圳云天励飞技术股份有限公司 图像处理方法、装置、终端设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7108376B2 (en) * 2003-11-17 2006-09-19 Fujinon Corporation Compact projection display device
CN102467360A (zh) * 2010-11-12 2012-05-23 南京理工大学 参数可配置的图像显示控制方法
CN103533366A (zh) * 2012-07-03 2014-01-22 展讯通信(上海)有限公司 用于视频运动补偿的缓存方法与装置
CN105719324A (zh) * 2014-12-19 2016-06-29 株式会社东芝 图像处理装置以及图像处理方法
CN111095933A (zh) * 2017-09-15 2020-05-01 索尼公司 图像处理装置和方法
CN110458755A (zh) * 2018-05-07 2019-11-15 华为技术有限公司 图像处理方法、相关设备及计算机存储介质
CN110503602A (zh) * 2018-05-18 2019-11-26 杭州海康威视数字技术股份有限公司 一种图像的投影变换方法、装置及电子设备
US10623714B2 (en) * 2018-05-24 2020-04-14 Innolux Corporation Stereoscopic display device and method for operating using pixel offset map
CN110928503A (zh) * 2019-10-26 2020-03-27 森大(深圳)技术有限公司 区域随机打印的数据寻址方法、装置、设备及储存介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022016927A1 (zh) * 2020-07-22 2022-01-27 深圳云天励飞技术股份有限公司 图像处理方法、装置、终端设备及存储介质
CN112508776A (zh) * 2020-12-11 2021-03-16 网易(杭州)网络有限公司 动作迁移方法、装置和电子设备
CN112508776B (zh) * 2020-12-11 2024-02-27 网易(杭州)网络有限公司 动作迁移方法、装置和电子设备
CN114119675A (zh) * 2021-11-10 2022-03-01 爱芯元智半导体(上海)有限公司 像素点的偏移获取方法、装置、电子设备及存储介质
CN114119675B (zh) * 2021-11-10 2023-07-18 爱芯元智半导体(上海)有限公司 像素点的偏移获取方法、装置、电子设备及存储介质
CN115456858A (zh) * 2022-09-16 2022-12-09 深圳思谋信息科技有限公司 图像处理方法、装置、计算机设备及计算机可读存储介质
CN116152043A (zh) * 2023-03-24 2023-05-23 摩尔线程智能科技(北京)有限责任公司 一种基于图像处理的内存管理方法及装置、电子设备
CN116152043B (zh) * 2023-03-24 2024-03-08 摩尔线程智能科技(北京)有限责任公司 一种基于图像处理的内存管理方法及装置、电子设备

Also Published As

Publication number Publication date
WO2022016927A1 (zh) 2022-01-27
CN111915673B (zh) 2022-01-11

Similar Documents

Publication Publication Date Title
CN111915673B (zh) 图像处理方法、装置、终端设备及存储介质
JP2628493B2 (ja) コサイン変換計算装置並びに計算装置等を備えた画像コード装置及び画像デコード装置
CN111815754A (zh) 一种三维信息确定方法、三维信息确定装置及终端设备
US11328395B2 (en) Image processing method, image processing device, electronic equipment and computer readable storage medium
US20190096092A1 (en) Method and device for calibration
US20200193563A1 (en) Image processing apparatus and method, and related circuit
KR102637732B1 (ko) 이미지 신호 프로세서, 상기 이미지 신호 프로세서의 동작 방법 및 상기 이미지 신호 프로세서를 포함하는 애플리케이션 프로세서
CN111984189B (zh) 神经网络计算装置和数据读取、数据存储方法及相关设备
CN102231788A (zh) 信号的高速和低复杂度的分条几何变换的方法及装置
CN108805849B (zh) 图像融合方法、装置、介质及电子设备
US20230252600A1 (en) Image size adjustment structure, adjustment method, and image scaling method and device based on streaming architecture
GB2379149A (en) Display controller including display address generator
CN112215751A (zh) 图像缩放方法、图像缩放装置及终端设备
CN117216459A (zh) 卷积运算方法、卷积运算装置、电子设备及存储介质
CN111083479A (zh) 一种视频帧预测方法、装置及终端设备
CN116051345A (zh) 图像数据处理方法、装置、计算机设备及可读存储介质
CN114170610A (zh) 数据校验方法、装置、设备和介质
CN113971702A (zh) 一种图片压缩方法、解压缩方法以及电子设备
CN110087088B (zh) 一种基于运动估计的数据存储方法、终端设备及存储介质
CN111626938A (zh) 图像插值方法、图像插值装置、终端设备及存储介质
CN114373078A (zh) 目标检测方法、装置、终端设备及存储介质
CN115809959A (zh) 一种图像处理方法及装置
CN111931937A (zh) 图像处理模型的梯度更新方法、装置及系统
CN113111891B (zh) 一种图像重建方法、装置、终端设备和存储介质
CN205451193U (zh) 一种基于多镜头多传感器的图像映射变换装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 518000 1/F, 17 Building, Shenzhen Dayun Software Town, 8288 Longgang Avenue, Henggang Street, Longgang District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen Yuntian lifeI Technology Co., Ltd

Address before: 518000 1/F, 17 Building, Shenzhen Dayun Software Town, 8288 Longgang Avenue, Henggang Street, Longgang District, Shenzhen City, Guangdong Province

Applicant before: SHENZHEN INTELLIFUSION TECHNOLOGIES Co.,Ltd.

GR01 Patent grant
GR01 Patent grant