CN115471404B - 图像缩放方法、处理设备及存储介质 - Google Patents
图像缩放方法、处理设备及存储介质 Download PDFInfo
- Publication number
- CN115471404B CN115471404B CN202211330888.6A CN202211330888A CN115471404B CN 115471404 B CN115471404 B CN 115471404B CN 202211330888 A CN202211330888 A CN 202211330888A CN 115471404 B CN115471404 B CN 115471404B
- Authority
- CN
- China
- Prior art keywords
- pixel
- pixel point
- buffer
- register
- processed
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 239000000872 buffer Substances 0.000 claims abstract description 202
- 238000004364 calculation method Methods 0.000 claims abstract description 52
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 38
- 238000004590 computer program Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本申请提供一种图像缩放方法、处理设备及存储介质,涉及图像处理技术领域。该方法通过在包含有并行运行的第一缓存器、第二缓存器、第一寄存器及第二寄存器的目标处理器上执行,在采用目标双线性插值算法计算得到待生成的缩放图像中当前待处理像素点对应在原始图像中的第一像素点的坐标后,可根据第一像素点的坐标控制第一缓存器、第二缓存器、第一寄存器及第二寄存器并行输出当前待处理像素点在原始图像中对应的多个目标像素点的像素值,确保了在处理单元执行双线性插值运算的过程中,第一缓存器、第二缓存器、第一寄存器及第二寄存器均可以实时并行的输出双线性插值运算所需的计算参数,使得处理单元可持续不断的运算,提高图像缩放处理效率。
Description
技术领域
本申请涉及图像处理技术领域,具体而言,涉及一种图像缩放方法、处理设备及存储介质。
背景技术
双线性插值算法是一种重要的处理算法,在图像处理领域有着广泛的应用,可用于进行图像缩放。
现有技术中,通常是在CPU(central processing unit,中央处理器)或者GPU(graphics processing unit,图形处理器)上运行双线性插值算法以实现图像缩放处理。
但是由于CPU和GPU自身处理性能的限制,导致图像缩放的处理效率较低。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种图像缩放方法、处理设备及存储介质,以便于解决现有技术中存在的图像缩放处理效率较低的问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种图像缩放方法,应用于目标处理器中的处理单元,所述目标处理器中包括所述处理单元,以及并行运行的第一缓存器、第二缓存器、第一寄存器、第二寄存器,所述第一缓存器、第二缓存器、第一寄存器、第二寄存器均与所述处理单元连接,所述方法包括:
获取待生成的缩放图像中当前待处理像素点的坐标,并根据所述当前待处理像素点的坐标,采用目标双线性插值算法,确定所述当前待处理像素点对应在原始图像中的第一像素点的坐标;
根据所述第一像素点的坐标,控制所述第一缓存器、所述第二缓存器、所述第一寄存器以及所述第二寄存器并行输出所述当前待处理像素点在所述原始图像中对应的多个目标像素点的像素值,其中,所述多个目标像素点中包括所述第一像素点;
根据各所述目标像素点的像素值,确定所述当前待处理像素点的像素值。
可选地,所述目标双线性插值算法根据缩放比例、以及缩放比例调节参数对原始的双线性插值算法变形得到,所述第一像素点与所述当前待处理像素点满足预设位置关系。
可选地,所述根据所述第一像素点的坐标,控制所述第一缓存器、所述第二缓存器、所述第一寄存器以及所述第二寄存器并行输出所述当前待处理像素点在所述原始图像中对应的多个目标像素点的像素值,包括:
根据所述第一像素点的坐标、以及所述第一缓存器、所述第二缓存器、所述第一寄存器、所述第二寄存器的预设的逻辑配置信息,控制所述第一缓存器、所述第二缓存器、所述第一寄存器以及所述第二寄存器并行输出所述当前待处理像素点在所述原始图像中对应的多个目标像素点的像素值。
可选地,所述根据所述第一像素点的坐标,控制所述第一缓存器、所述第二缓存器、所述第一寄存器以及所述第二寄存器并行输出所述当前待处理像素点在所述原始图像中对应的多个目标像素点的像素值,包括:
将所述第一像素点的坐标输入至所述第一缓存器,触发所述第一缓存器、所述第二缓存器、所述第一寄存器、所述第二寄存器分别按照所述预设的逻辑配置信息输出第四像素点的像素值、第二像素点的像素值、第三像素点的像素值以及第一像素点的像素值;
其中,所述第二像素点的纵坐标与所述第一像素点的纵坐标相同,且所述第二像素点的横坐标大于所述第一像素点的横坐标1个单位;所述第三像素点的纵坐标大于所述第一像素点的纵坐标1个单位,且所述第三像素点的横坐标与所述第一像素点的横坐标相同;所述第四像素点的纵坐标大于所述第一像素点的纵坐标1个单位,且所述第四像素点的横坐标大于所述第一像素点的横坐标1个单位。
可选地,所述第一缓存器与所述第二缓存器分别用于输出所述原始图像中相邻行的像素点的像素值,且所述第一缓存器输出的像素点的纵坐标大于所述第二缓存器输出的像素点的纵坐标1个单位;
所述第一寄存器用于输出与所述第一缓存器相同行的像素点的像素值,且所述第一寄存器输出的像素点的横坐标小于所述第一缓存器输出的像素点的横坐标1个单位;
所述第二寄存器用于输出与所述第二缓存器相同行的像素点的像素值,且所述第二寄存器输出的像素点的横坐标小于所述第二缓存器输出的像素点的横坐标1个单位。
可选地,所述根据各所述目标像素点的像素值,确定所述当前待处理像素点的像素值之前,包括:
根据所述第一像素点的坐标,分别确定各所述目标像素点对应的计算系数。
可选地,所述根据各所述目标像素点的像素值,确定所述当前待处理像素点的像素值,包括:
根据各目标像素点的像素值、以及各目标像素点对应的计算系数,确定所述当前待处理像素点的像素值。
可选地,所述根据各目标像素点的像素值、以及各目标像素点对应的计算系数,确定所述当前待处理像素点的像素值,包括:
确定所述第一像素点的像素值与所述第一像素点对应的计算系数的第一乘积、确定所述第二像素点的像素值与所述第二像素点对应的计算系数的第二乘积、确定所述第三像素点的像素值与所述第三像素点对应的计算系数的第三乘积、确定所述第四像素点的像素值与所述第四像素点对应的计算系数的第四乘积;
将所述第一乘积、所述第二乘积、所述第三乘积及所述第四乘积的和作为所述当前待处理像素点的初始像素值;
对所述当前待处理像素点的初始像素值进行右移运算,确定所述当前待处理像素点的像素值。
第二方面,本申请实施例还提供了一种图像缩放装置,应用于目标处理器中的处理单元,所述目标处理器中包括所述处理单元,以及并行运行的第一缓存器、第二缓存器、第一寄存器、第二寄存器,所述第一缓存器、第二缓存器、第一寄存器、第二寄存器均与所述处理单元连接,所述装置包括:确定模块、控制模块;
所述确定模块,用于获取待生成的缩放图像中当前待处理像素点的坐标,并根据所述当前待处理像素点的坐标,采用目标双线性插值算法,确定所述当前待处理像素点对应在原始图像中的第一像素点的坐标;
所述控制模块,用于根据所述第一像素点的坐标,控制所述第一缓存器、所述第二缓存器、所述第一寄存器以及所述第二寄存器并行输出所述当前待处理像素点在所述原始图像中对应的多个目标像素点的像素值,其中,所述多个目标像素点中包括所述第一像素点;
所述确定模块,用于根据各所述目标像素点的像素值,确定所述当前待处理像素点的像素值。
可选地,所述目标双线性插值算法根据缩放比例、以及缩放比例调节参数对原始的双线性插值算法变形得到,所述第一像素点与所述当前待处理像素点满足预设位置关系。
可选地,所述控制模块,具体用于根据所述第一像素点的坐标、以及所述第一缓存器、所述第二缓存器、所述第一寄存器、所述第二寄存器的预设的逻辑配置信息,控制所述第一缓存器、所述第二缓存器、所述第一寄存器以及所述第二寄存器并行输出所述当前待处理像素点在所述原始图像中对应的多个目标像素点的像素值。
可选地,所述控制模块,具体用于将所述第一像素点的坐标输入至所述第一缓存器,触发所述第一缓存器、所述第二缓存器、所述第一寄存器、所述第二寄存器分别按照所述预设的逻辑配置信息输出第四像素点的像素值、第二像素点的像素值、第三像素点的像素值以及第一像素点的像素值;
其中,所述第二像素点的纵坐标与所述第一像素点的纵坐标相同,且所述第二像素点的横坐标大于所述第一像素点的横坐标1个单位;所述第三像素点的纵坐标大于所述第一像素点的纵坐标1个单位,且所述第三像素点的横坐标与所述第一像素点的横坐标相同;所述第四像素点的纵坐标大于所述第一像素点的纵坐标1个单位,且所述第四像素点的横坐标大于所述第一像素点的横坐标1个单位。
可选地,所述第一缓存器与所述第二缓存器分别用于输出所述原始图像中相邻行的像素点的像素值,且所述第一缓存器输出的像素点的纵坐标大于所述第二缓存器输出的像素点的纵坐标1个单位;
所述第一寄存器用于输出与所述第一缓存器相同行的像素点的像素值,且所述第一寄存器输出的像素点的横坐标小于所述第一缓存器输出的像素点的横坐标1个单位;
所述第二寄存器用于输出与所述第二缓存器相同行的像素点的像素值,且所述第二寄存器输出的像素点的横坐标小于所述第二缓存器输出的像素点的横坐标1个单位。
可选地,所述确定模块,还用于根据所述第一像素点的坐标,分别确定各所述目标像素点对应的计算系数。
可选地,所述确定模块,具体用于根据各目标像素点的像素值、以及各目标像素点对应的计算系数,确定所述当前待处理像素点的像素值。
可选地,所述确定模块,具体用于确定所述第一像素点的像素值与所述第一像素点对应的计算系数的第一乘积、确定所述第二像素点的像素值与所述第二像素点对应的计算系数的第二乘积、确定所述第三像素点的像素值与所述第三像素点对应的计算系数的第三乘积、确定所述第四像素点的像素值与所述第四像素点对应的计算系数的第四乘积;
将所述第一乘积、所述第二乘积、所述第三乘积及所述第四乘积的和作为所述当前待处理像素点的初始像素值;
对所述当前待处理像素点的初始像素值进行右移运算,确定所述当前待处理像素点的像素值。
第三方面,本申请实施例提供了一种处理设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当处理设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行时执行如第一方面中提供的方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面提供的方法的步骤。
本申请的有益效果是:
本申请提供一种图像缩放方法、处理设备及存储介质,通过采用包含有并行运行的第一缓存器、第二缓存器、第一寄存器及第二寄存器的目标处理器执行本方法,在采用目标双线性插值算法计算得到待生成的缩放图像中当前待处理像素点对应在原始图像中的第一像素点的坐标后,可根据第一像素点的坐标控制第一缓存器、第二缓存器、第一寄存器及第二寄存器并行输出当前待处理像素点在原始图像中对应的多个目标像素点的像素值,确保了在处理单元执行双线性插值运算的过程中,第一缓存器、第二缓存器、第一寄存器及第二寄存器均可以实时并行的读取并输出双线性插值运算所需的计算参数,从而使得处理单元可持续不断的运算,以达到提高图像缩放处理的效率。
另外,通过对原始的双线性插值算法的变形,可有效的消除在运算第一像素点的过程中所涉及的复杂的除法运算,从而可减少资源消耗。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种图像缩放系统的架构示意图;
图2为本申请实施例提供的图像缩放方法的流程示意图一;
图3为本申请实施例提供的图像缩放方法的流程示意图二;
图4为本申请实施例提供的图像缩放方法的流程示意图三;
图5为本申请实施例提供的一种图像缩放装置的示意图;
图6为本申请实施例提供的一种处理设备的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
图1为本申请实施例提供的一种图像缩放系统的架构示意图,本申请中以图像缩放方法运行于FPGA(Field Programmable Gate Array, 现场可编程的门阵列)为例,也即,目标处理器为FPGA。
如图1所示,图像缩放系统可包括集成于FPGA芯片上的处理单元、以及与处理单元均连接的第一缓存器、第二缓存器、第一寄存器及第二寄存器,其中,处理单元可以为控制器或者控制芯片,第一缓存器和第二缓存器均可采用fifo(First In First Out,先进先出的数据缓存器)缓存器,以充分利用fifo缓存器在数据读写时先进先出的特性。
另外,还可包括读写控制模块,读写控制模块用于控制第一缓存器、第二缓存器、第一寄存器及第二寄存器的数据读写逻辑的配置。
在对原始图像进行缩放处理时,处理单元可依次遍历待生成的缩放图像中各像素点,并根据获取的当前待处理像素点的坐标,采用双线性插值算法计算得到当前待处理像素点在原始图像中对应的第一像素点的坐标,从而根据第一像素点的坐标生成数据读写指令,数据读写指令可发送至读写控制模块,从而通过读写控制模块控制第一缓存器、第二缓存器、第一寄存器及第二寄存器并行输出当前待处理像素点在原始图像中对应的多个目标像素点的像素值。
其中,原始图像中各像素点的像素值可按顺序存储至第一缓存器中,并且基于对第一缓存器、第二缓存器、第一寄存器及第二寄存器之间的数据读写逻辑的配置、以及数据读写指令,可触发第一缓存器、第二缓存器、第一寄存器及第二寄存器并行输出当前待处理像素点在原始图像中对应的多个目标像素点的像素值。
基于上述方式,可分别确定出待生成的缩放图像中每个像素点的像素值,从而将得到的待生成的缩放图像中各像素点的像素值赋予对应的像素点,则可生成原始图像对应的缩放后的图像。
当然,目标处理器并不限于FPGA,也可以是其他可以执行并行运算逻辑的处理器。
图2为本申请实施例提供的图像缩放方法的流程示意图一;本方法可应用于图1所示的图像缩放系统中的处理单元。如图2所示,该方法可包括:
S201、获取待生成的缩放图像中当前待处理像素点的坐标,并根据当前待处理像素点的坐标,采用目标双线性插值算法,确定当前待处理像素点对应在原始图像中的第一像素点的坐标。
对图像进行缩放实质上是求出缩放后的图像中每个像素点的像素值。在原始图像尺寸已知的前提下,当确定了对原始图像的缩放比例后,可确定出待生成的缩放图像的尺寸以及待生成的缩放图像中各像素点的坐标,这里的尺寸可以指图像的宽度和高度。
在一些实施例中,可按照预设的顺序依次遍历待生成的缩放图像中各像素点,确定当前待处理像素的坐标。例如:按照从左到右从下到上的顺序依次遍历各像素点,在初始时,可将位于缩放后的图像中最下层第一排最左侧的像素点作为当前待处理像素点,那么,依次可将最下层第一排与最左侧的像素点右相邻的像素点作为当前待处理像素点、直到遍历至将最下层第一排最右侧的像素点作为当前待处理像素点之后,则从第二排的最左侧的像素点继续遍历,直至遍历完待生成的缩放后的图像中的每个像素点。
这里值得注意的是,所采用的双线性插值算法为目标双线性插值算法,在下述的具体实施例中会对目标双线性插值算法进行说明,其是对原始的双线性插值算法进行变形后得到的。
S202、根据第一像素点的坐标,控制第一缓存器、第二缓存器、第一寄存器以及第二寄存器并行输出当前待处理像素点在原始图像中对应的多个目标像素点的像素值,其中,多个目标像素点中包括第一像素点。
在一种可实现的方式中,可将所计算得到的第一像素点的坐标直接输入至第一缓存器,从而控制第一缓存器、第二缓存器、第一寄存器以及第二寄存器并行输出当前待处理像素点在原始图像中对应的多个目标像素点的像素值。
在另一种可实现的方式中,也可根据计算得到的第一像素点的坐标,生成数据读写指令,并将数据读写指令发送至fifo读写控制模块,从而通过fifo读写控制模块控制第一缓存器、第二缓存器、第一寄存器以及第二寄存器并行输出当前待处理像素点在原始图像中对应的多个目标像素点的像素值。
这里需要说明的是,图像压缩也即将原始图像中的像素点经过算法映射到待生成的缩放图像中的像素点的过程,那么,需要在原始图像中找到待生成的缩放图像中各像素点对应的原始像素点,也即这里所要确定的当前待处理像素点在原始图像中对应的多个目标像素点。
S203、根据各目标像素点的像素值,确定当前待处理像素点的像素值。
可选地,基于所确定出的当前待处理像素点在原始图像中对应的多个目标像素点的像素值,可进一步地通过目标双线性插值算法计算得到当前待处理像素点的像素值。
循环执行上述步骤S201- S203,获取待生成的缩放图像中新的当前待处理像素点的坐标,并确定出新的当前待处理像素点的像素值,直至确定出待生成的缩放图像中各像素点的像素值。
可选地,可将得到的待生成的缩放图像中各像素点的像素值填充至对应的各像素点,从而生成原始图像对应的缩放图像。
综上,本实施例提供的图像缩放方法,通过采用包含有并行运行的第一缓存器、第二缓存器、第一寄存器及第二寄存器的目标处理器执行本方法,在采用目标双线性插值算法计算得到待生成的缩放图像中当前待处理像素点对应在原始图像中的第一像素点的坐标后,可根据第一像素点的坐标控制第一缓存器、第二缓存器、第一寄存器及第二寄存器并行输出当前待处理像素点在原始图像中对应的多个目标像素点的像素值,确保了在处理单元执行双线性插值运算的过程中,第一缓存器、第二缓存器、第一寄存器及第二寄存器均可以实时并行的读取并输出双线性插值运算所需的计算参数,从而使得处理单元可持续不断的运算,以达到提高图像缩放处理的效率。
可选地,目标双线性插值算法根据缩放比例、以及缩放比例调节参数对原始的双线性插值算法变形得到,第一像素点与当前待处理像素点满足预设位置关系。
在这里首先对双线性插值算法的计算原理进行说明:
假设原始图像的宽度为src_w,高度为src_h,待生成的缩放图像的宽度为des_w,高度为des_h,记待生成的缩放图像中当前待处理像素点的坐标为(des_x,des_y),那么,当前待处理像素点对应在原始图像中的第一像素点的坐标(src_x,src_y),则采用如下公式计算得到:
src_x =(des_x+0.5)*src_w/des_w-0.5 ;
src_y =(des_y+0.5)*src_h/des_h-0.5 ;
记u=(int)src_x ,v=(int)src_y,a=src_x-u,b=src_y-v。其中,(int)指的是取整运算,也即直接舍弃小数点后面的数据。
那么,当前待处理像素点(des_x,des_y)处的像素值为(1-a)*(1-b)*f(u,v)+(1-a)*b*f(u,v+1)+a*(1-b)*f(u+1,v)+a*b*f(u+1,v+1),其中,f(u,v)指原始图像中像素点(u,v)处的像素值。
而为了消去上述过程中的除法运算(消去src_w/des_w,src_h/des_h的运算),本实施例中,可假设原始图像的宽度为src_w,高度为src_h,而待生成的缩放图像的宽度为src_w*2n/i,高度为src_h*2n/j,也即,对待生成的缩放图像的宽度和高度的表示方式进行了变形。
其中n指的是上述的缩放比例调节参数,i,j为可设的变量,i,j的值根据所需的缩放比例进行调节。在i和j固定的情况下,可通过调节n的取值以达到想要的缩放比例。
基于对待生成的缩放图像的宽度和高度的变形,引入缩放比例调节参数、以及缩放比例可对原始的双线性插值算法进行变形,得到的目标双线性插值算法可如下所示:
src_x =(des_x+0.5)*src_w/des_w-0.5=(des_x+0.5)*i/2n -0.5
src_y =(des_y+0.5)*src_h/des_h-0.5=(des_y+0.5)*j/2n-0.5
基于此,将待处理的像素点的坐标(des_x,des_y)代入公式中则可以计算得到(src_x,src_y),那么,第一像素点的坐标则为u=(int)src_x , v=(int)src_y。
可选地,步骤S202中,根据第一像素点的坐标,控制第一缓存器、第二缓存器、第一寄存器以及第二寄存器并行输出当前待处理像素点在原始图像中对应的多个目标像素点的像素值,可以包括:根据第一像素点的坐标、以及第一缓存器、第二缓存器、第一寄存器、第二寄存器的预设的逻辑配置信息,控制第一缓存器、第二缓存器、第一寄存器以及第二寄存器并行输出当前待处理像素点在原始图像中对应的多个目标像素点的像素值。
在一种可实现的方式中,可将第一缓存器、第二缓存器、第一寄存器、第二寄存器的预设的逻辑配置为:第一缓存器中按顺序存储若干像素值,其输出值为第二缓存器的输入,规定当第二缓存器中存储的像素值个数为src_w(即为原始图像中一行的像素点数)且使能第一缓存器的读时,控制第二缓存器读使能;第一寄存器、第二寄存器分别保存并输出第一缓存器、第二缓存器的上一次的输出,即可保证当第二寄存器输出为f(u,v)时,第一缓存器的输出为f(u+1,v+1),第一寄存器的输出为f(u,v+1),第二缓存器的输出为f(u+1,v),即保证第一缓存器、第二缓存器、第一寄存器、第二寄存器的输出为上下左右4个相邻像素值。
当当前待处理像素点对应在原始图像中的第一像素点的坐标为(u,v)时,这里的四个像素值则可以指当前待处理像素点在原始图像中对应的多个目标像素点的像素值。
当然,上述对第一缓存器、第二缓存器、第一寄存器、第二寄存器的预设的逻辑配置方式仅为一种可能实现的方式,但并不限于这种方式,还可以有其他的方式,以能保证第一缓存器、第二缓存器、第一寄存器、第二寄存器的输出为上下左右4个相邻像素值为原则。
图3为本申请实施例提供的图像缩放方法的流程示意图二;可选地,本申请的方法还可包括:
S301、第一缓存器与第二缓存器分别用于输出原始图像中相邻行的像素点的像素值,且第一缓存器输出的像素点的纵坐标大于第二缓存器输出的像素点的纵坐标1个单位。
以第一缓存器对原始图像中各像素点的像素值的读取顺序为由下至上由左至右为例,基于上述对第一缓存器、第二缓存器、第一寄存器、第二寄存器的逻辑配置,使得第一缓存器、第二缓存器、第一寄存器、第二寄存器在输出原始图像中像素点的像素值时,可达到如下的效果:
其中,第一缓存器和第二缓存器分别用于输出相邻行且正对的像素点的像素值。
以原始图像为2x2为例,那么,原始图像包含2行2列,当第一缓存器输出的为第二行右侧的像素点的像素值时,第二缓存器输出的则为第一行右侧的像素点的像素值;当第一缓存器输出的为第二行左侧的像素点的像素值时,第二缓存器输出的则为第一行左侧的像素点的像素值。
S302、第一寄存器用于输出与第一缓存器相同行的像素点的像素值,且第一寄存器输出的像素点的横坐标小于第一缓存器输出的像素点的横坐标1个单位。
而第一寄存器则被配置为输出与第一缓存器相同行的像素点的像素值,且第一寄存器输出的像素点的横坐标小于第一缓存器输出的像素点的横坐标1个单位,那么,第一寄存器则输出的为第二行左侧的像素点的像素值。
S303、第二寄存器用于输出与第二缓存器相同行的像素点的像素值,且第二寄存器输出的像素点的横坐标小于第二缓存器输出的像素点的横坐标1个单位。
而第二寄存器则被配置为输出与第二缓存器相同行的像素点的像素值,且第二寄存器输出的像素点的横坐标小于第二缓存器输出的像素点的横坐标1个单位,那么,第二寄存器则输出的为第一行左侧的像素点的像素值。
从而使得第一缓存器、第二缓存器、第一寄存器、第二寄存器输出的为上下左右4个相邻的像素点的像素值。
当然,在对第一缓存器、第二缓存器、第一寄存器、第二寄存器的逻辑配置进行调整后,第一缓存器、第二缓存器、第一寄存器、第二寄存器各自所对应输出的像素点的位置也可能会发生改变,但是,只要最终保证第一缓存器、第二缓存器、第一寄存器、第二寄存器的总体输出结果上下左右4个相邻即可。
可选地,步骤S202中,根据第一像素点的坐标,控制第一缓存器、第二缓存器、第一寄存器以及第二寄存器并行输出当前待处理像素点在原始图像中对应的多个目标像素点的像素值,可以包括:将第一像素点的坐标输入至第一缓存器,触发第一缓存器、第二缓存器、第一寄存器、第二寄存器分别按照预设的逻辑配置信息输出第四像素点的像素值、第二像素点的像素值、第三像素点的像素值以及第一像素点的像素值;
其中,第二像素点的纵坐标与第一像素点的纵坐标相同,且第二像素点的横坐标大于第一像素点的横坐标1个单位;第三像素点的纵坐标大于第一像素点的纵坐标1个单位,且第三像素点的横坐标与第一像素点的横坐标相同;第四像素点的纵坐标大于第一像素点的纵坐标1个单位,且第四像素点的横坐标大于第一像素点的横坐标1个单位。
通常,待生成的缩放图像中当前待处理像素点对应在原始图像中的多个目标像素点可包括:包围当前待处理像素点的上下左右4个相邻的像素点。
本实施例中是以第一像素点为位于当前待处理像素点左下方的像素点为例的。那么。基于本实施例中所提供的第一缓存器、第二缓存器、第一寄存器、第二寄存器的逻辑配置方式,则可触发第一缓存器、第二缓存器、第一寄存器、第二寄存器分别输出第四像素点的像素值、第二像素点的像素值、第三像素点的像素值以及第一像素点的像素值。
这里,假设第一像素点的像素值为(u,v),那么,第二像素点的像素值则为(u+1,v), 第三像素点的像素值则为(u,v+1),第四像素点的像素值则为(u+1,v+1),也即如图1中所示出的,第一缓存器输出的像素数据为f(u+1,v+1), 第二缓存器输出的像素数据为f(u+1,v),第一寄存器输出的像素数据为f(u,v+1),第二寄存器输出的像素数据为f(u,v)。
在一些实施例中,在控制第一缓存器、第二缓存器、第一寄存器、第二寄存器分别输出多个目标像素点的像素值时,还可根据当前待处理像素点的坐标计算一预设的中间量,具体计算公式如下:
src_x_tmp=src_x*2n =(des_x+0.5)*i -2n-1
src_y_tmp=src_y*2n =(des_y+0.5)*j-2n-1
那么,预设的中间量则可以表示为:(int) src_x_tmp,(int) src_y_tmp,其中,(int) src_x_tmp表示横坐标,(int) src_y_tmp表示纵坐标。
通过将预设的中间量与第二寄存器当前所输出的像素点的坐标进行比对,根据比对结果,控制第一缓存器当前输出的像素点的偏移信息。以保证第一缓存器、第二缓存器、第一寄存器、第二寄存器分别输出的多个目标像素点恰好为包围当前待处理像素点的上下左右4个相邻的像素点,当前待处理像素点能够尽可能的位于4个相邻像素点的中心位置,以使得根据第一缓存器、第二缓存器、第一寄存器、第二寄存器分别输出的4个目标像素点的像素值能够用于准确的计算出当前待处理像素点的像素值。
可选地,可判断预设的中间量的横坐标是否小于或等于第二寄存器当前输出的像素点的横坐标,且预设的中间量的纵坐标是否小于或等于第二寄存器当前输出的像素点的纵坐标,若否,则控制第一缓存器当前输出的像素点的横坐标依次递增(也即控制第一缓存器输出的像素点向右偏移),直至预设的中间量的横坐标小于或等于第二寄存器当前输出的像素点的横坐标,且预设的中间量的纵坐标小于或等于第二寄存器当前输出的像素点的纵坐标,则停止移动,并获取第一缓存器、第二缓存器、第一寄存器、第二寄存器当前分别输出的各目标像素点的像素值。
可选地,步骤S203中,根据各目标像素点的像素值,确定当前待处理像素点的像素值之前,可以包括:根据第一像素点的坐标,分别确定各目标像素点对应的计算系数。
在一些实施例中,由双线性插值算法的算法原理可看出,在根据各目标像素点的像素值计算当前待处理像素点的像素值时, 每个目标像素点的像素值还会有对应的计算系数。
可选地,本实施例采用下述方式计算各目标像素点对应的计算系数。
第一步:计算a_tmp=2n *a= src_x_tmp-(int) src_x_tmp;
b_tmp=2n *b= src_y_tmp-(int) src_y_tmp;
c_tmp=2n *(1-a)=2n -src_x_tmp+(int) src_x_tmp;
d_tmp=2n *(1-b)= 2n -src_y_tmp+(int) src_y_tmp;
其中,src_x_tmp=src_x*2n =(des_x+0.5)*i -2n-1;
src_y_tmp=src_y*2n =(des_y+0.5)*j-2n-1,在当前待处理像素点的坐标(des_x,des_y)、以及缩放比例调节参数n和缩放比例i,j已知的情况下,则可分别计算出参数:a_tmp,b_tmp,c_tmp,d_tmp。
第二步:计算e_tmp=22n *(1-a)*(1-b)=c_tmp*d_tmp ;
f_tmp=22n *(1-a)*b=c_tmp*b_tmp ;
g_tmp=22n *a*(1-b)=a_tmp*d_tmp ;
h_tmp=22n *a*b=a_tmp*b_tmp ;
在a_tmp,b_tmp,c_tmp,d_tmp已知的情况下,则可分别计算出参数e_tmp, f_tmp,g_tmp,h_tmp。
其中,参数e_tmp则为第一像素点(u,v)对应的计算系数,参数f_tmp则为第三像素点(u,v+1)对应的计算系数,参数g_tmp则为第二像素点(u+1,v)对应的计算系数,参数h_tmp则为第四像素点(u+1,v+1)对应的计算系数。
可选地,步骤S203中,根据各目标像素点的像素值,确定当前待处理像素点的像素值,可以包括:根据各目标像素点的像素值、以及各目标像素点对应的计算系数,确定当前待处理像素点的像素值。
在一种可实现的方式中,当前待处理像素点的像素值则可以通过所确定出的当前待处理像素点对应在原始图像中的各目标像素点的像素值、以及上述确定出的各目标像素点对应的计算系数计算得到。
图4为本申请实施例提供的图像缩放方法的流程示意图三;可选地,上述步骤中,根据各目标像素点的像素值、以及各目标像素点对应的计算系数,确定当前待处理像素点的像素值,可以包括:
S401、确定第一像素点的像素值与第一像素点对应的计算系数的第一乘积、确定第二像素点的像素值与第二像素点对应的计算系数的第二乘积、确定第三像素点的像素值与第三像素点对应的计算系数的第三乘积、确定第四像素点的像素值与第四像素点对应的计算系数的第四乘积。
可选地,第一乘积k_tmp=22n *(1-a)*(1-b)*f(u,v)=e_tmp* f(u,v),第二乘积m_tmp =22n *a*(1-b)*f(u+1,v)=g_tmp* f(u+1,v),第三乘积l_tmp=22n *(1-a)*b* f(u,v+1)=f_tmp* f(u,v+1),第四乘积n_tmp=22n *a*b* f(u+1,v+1)= h_tmp* f(u+1,v+1)。
其中,在前面对双线性插值算法的计算原理时已清楚的说明,u=(int)src_x ,v=(int)src_y,a=src_x-u,b=src_y-v。
S402、将第一乘积、第二乘积、第三乘积及第四乘积的和作为当前待处理像素点的初始像素值。
那么,则可计算得到当前待处理像素点的初始像素值为(k_tmp+l_tmp+m_tmp+n_tmp)。
S403、对当前待处理像素点的初始像素值进行右移运算,确定当前待处理像素点的像素值。
由此,当前待处理像素点的像素值则为:(k_tmp+l_tmp+m_tmp+n_tmp)>>2n,其中,“>>”为右移运算。右移运算为常规的已知运算,此处不再进行详细描述。
可选地,对于待生成的缩放图像中每个像素点均可采用本申请的上述步骤计算得到对应的像素值,从而将计算得到的每个像素点的像素值填充至每个像素点上,则可生成原始图像对应的压缩图像。例如:将计算得到的像素点1的像素值填充至像素点1,将计算得到的像素点2的像素值填充至像素点2,将计算得到的像素点n的像素值填充至像素点n。
综上所述,本实施例提供的图像缩放方法,通过采用包含有并行运行的第一缓存器、第二缓存器、第一寄存器及第二寄存器的目标处理器执行本方法,在采用目标双线性插值算法计算得到待生成的缩放图像中当前待处理像素点对应在原始图像中的第一像素点的坐标后,可根据第一像素点的坐标控制第一缓存器、第二缓存器、第一寄存器及第二寄存器并行输出当前待处理像素点在原始图像中对应的多个目标像素点的像素值,确保了在处理单元执行双线性插值运算的过程中,第一缓存器、第二缓存器、第一寄存器及第二寄存器均可以实时并行的读取并输出双线性插值运算所需的计算参数,从而使得处理单元可持续不断的运算,以达到提高图像缩放处理的效率。
另外,通过对原始的双线性插值算法的变形,可有效的消除在运算第一像素点的过程中所涉及的复杂的除法运算,从而可减少资源消耗。
下述对用以执行本申请所提供的图像缩放方法的装置、设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
图5为本申请实施例提供的一种图像缩放装置的示意图,该图像缩放装置实现的功能对应上述方法执行的步骤。该装置可以理解为上述的目标处理器,或者目标处理器中的处理单元。如图5所示,该装置可包括:确定模块510、控制模块520;
确定模块510,用于获取待生成的缩放图像中当前待处理像素点的坐标,并根据当前待处理像素点的坐标,采用目标双线性插值算法,确定当前待处理像素点对应在原始图像中的第一像素点的坐标;
控制模块520,用于根据第一像素点的坐标,控制第一缓存器、第二缓存器、第一寄存器以及第二寄存器并行输出当前待处理像素点在原始图像中对应的多个目标像素点的像素值,其中,多个目标像素点中包括第一像素点;
确定模块510,用于根据各目标像素点的像素值,确定当前待处理像素点的像素值。
可选地,目标双线性插值算法根据缩放比例、以及缩放比例调节参数对原始的双线性插值算法变形得到,第一像素点与当前待处理像素点满足预设位置关系。
可选地,控制模块520,具体用于根据第一像素点的坐标、以及第一缓存器、第二缓存器、第一寄存器、第二寄存器的预设的逻辑配置信息,控制第一缓存器、第二缓存器、第一寄存器以及第二寄存器并行输出当前待处理像素点在原始图像中对应的多个目标像素点的像素值。
可选地,控制模块520,具体用于将第一像素点的坐标输入至第一缓存器,触发第一缓存器、第二缓存器、第一寄存器、第二寄存器分别按照预设的逻辑配置信息输出第四像素点的像素值、第二像素点的像素值、第三像素点的像素值以及第一像素点的像素值;
其中,第二像素点的纵坐标与第一像素点的纵坐标相同,且第二像素点的横坐标大于第一像素点的横坐标1个单位;第三像素点的纵坐标大于第一像素点的纵坐标1个单位,且第三像素点的横坐标与第一像素点的横坐标相同;第四像素点的纵坐标大于第一像素点的纵坐标1个单位,且第四像素点的横坐标大于第一像素点的横坐标1个单位。
可选地,第一缓存器与第二缓存器分别用于输出原始图像中相邻行的像素点的像素值,且第一缓存器输出的像素点的纵坐标大于第二缓存器输出的像素点的纵坐标1个单位;
第一寄存器用于输出与第一缓存器相同行的像素点的像素值,且第一寄存器输出的像素点的横坐标小于第一缓存器输出的像素点的横坐标1个单位;
第二寄存器用于输出与第二缓存器相同行的像素点的像素值,且第二寄存器输出的像素点的横坐标小于第二缓存器输出的像素点的横坐标1个单位。
可选地,确定模块510,还用于根据第一像素点的坐标,分别确定各目标像素点对应的计算系数。
可选地,确定模块510,具体用于根据各目标像素点的像素值、以及各目标像素点对应的计算系数,确定当前待处理像素点的像素值。
可选地,确定模块510,具体用于确定第一像素点的像素值与第一像素点对应的计算系数的第一乘积、确定第二像素点的像素值与第二像素点对应的计算系数的第二乘积、确定第三像素点的像素值与第三像素点对应的计算系数的第三乘积、确定第四像素点的像素值与第四像素点对应的计算系数的第四乘积;
将第一乘积、第二乘积、第三乘积及第四乘积的和作为当前待处理像素点的初始像素值;
对当前待处理像素点的初始像素值进行右移运算,确定当前待处理像素点的像素值。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
上述模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合线缆等,或其任意组合。无线连接可以包括通过LAN、WAN、蓝牙、ZigBee、或NFC等形式的连接,或其任意组合。 两个或更多个模块可以组合为单个模块,并且任何一个模块可以分成两个或更多个单元。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。
图6为本申请实施例提供的一种处理设备的示意图,该设备可包括:处理器801、存储器802。
存储器802用于存储程序,处理器801调用存储器802存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
其中,存储器802存储有程序代码,当程序代码被处理器801执行时,使得处理器801执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的方法中的各种步骤。
处理器801可以是通用处理器,例如中央处理器(CPU)、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器802还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (9)
1.一种图像缩放方法,其特征在于,应用于目标处理器中的处理单元,所述目标处理器中包括所述处理单元,以及并行运行的第一缓存器、第二缓存器、第一寄存器、第二寄存器,所述第一缓存器、第二缓存器、第一寄存器、第二寄存器均与所述处理单元连接,所述方法包括:
获取待生成的缩放图像中当前待处理像素点的坐标,并根据所述当前待处理像素点的坐标,采用目标双线性插值算法,确定所述当前待处理像素点对应在原始图像中的第一像素点的坐标;
根据所述第一像素点的坐标,控制所述第一缓存器、所述第二缓存器、所述第一寄存器以及所述第二寄存器并行输出所述当前待处理像素点在所述原始图像中对应的多个目标像素点的像素值,其中,所述多个目标像素点中包括所述第一像素点;
根据各所述目标像素点的像素值,确定所述当前待处理像素点的像素值;
所述目标双线性插值算法根据缩放比例、以及缩放比例调节参数对原始的双线性插值算法变形得到,所述第一像素点与所述当前待处理像素点满足预设位置关系;
所述目标双线性插值算法如公式所示:src_x =(des_x+0.5)*i/2n -0.5;src_y =(des_y+0.5)*j/2n-0.5,其中,src_x和src_y分别表示所述第一像素点的浮点横坐标和浮点纵坐标;des_x和des_y分别表示所述待处理像素点的横坐标和纵坐标;n表示缩放比例调节参数;i和j表示可设的变量,根据缩放比例进行调节。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一像素点的坐标,控制所述第一缓存器、所述第二缓存器、所述第一寄存器以及所述第二寄存器并行输出所述当前待处理像素点在所述原始图像中对应的多个目标像素点的像素值,包括:
根据所述第一像素点的坐标、以及所述第一缓存器、所述第二缓存器、所述第一寄存器、所述第二寄存器的预设的逻辑配置信息,控制所述第一缓存器、所述第二缓存器、所述第一寄存器以及所述第二寄存器并行输出所述当前待处理像素点在所述原始图像中对应的多个目标像素点的像素值。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一像素点的坐标,控制所述第一缓存器、所述第二缓存器、所述第一寄存器以及所述第二寄存器并行输出所述当前待处理像素点在所述原始图像中对应的多个目标像素点的像素值,包括:
将所述第一像素点的坐标输入至所述第一缓存器,触发所述第一缓存器、所述第二缓存器、所述第一寄存器、所述第二寄存器分别按照所述预设的逻辑配置信息输出第四像素点的像素值、第二像素点的像素值、第三像素点的像素值以及第一像素点的像素值;
其中,所述第二像素点的纵坐标与所述第一像素点的纵坐标相同,且所述第二像素点的横坐标大于所述第一像素点的横坐标1个单位;所述第三像素点的纵坐标大于所述第一像素点的纵坐标1个单位,且所述第三像素点的横坐标与所述第一像素点的横坐标相同;所述第四像素点的纵坐标大于所述第一像素点的纵坐标1个单位,且所述第四像素点的横坐标大于所述第一像素点的横坐标1个单位。
4.根据权利要求3所述的方法,其特征在于,
所述第一缓存器与所述第二缓存器分别用于输出所述原始图像中相邻行的像素点的像素值,且所述第一缓存器输出的像素点的纵坐标大于所述第二缓存器输出的像素点的纵坐标1个单位;
所述第一寄存器用于输出与所述第一缓存器相同行的像素点的像素值,且所述第一寄存器输出的像素点的横坐标小于所述第一缓存器输出的像素点的横坐标1个单位;
所述第二寄存器用于输出与所述第二缓存器相同行的像素点的像素值,且所述第二寄存器输出的像素点的横坐标小于所述第二缓存器输出的像素点的横坐标1个单位。
5.根据权利要求3所述的方法,其特征在于,所述根据各所述目标像素点的像素值,确定所述当前待处理像素点的像素值之前,包括:
根据所述第一像素点的坐标,分别确定各所述目标像素点对应的计算系数。
6.根据权利要求5所述的方法,其特征在于,所述根据各所述目标像素点的像素值,确定所述当前待处理像素点的像素值,包括:
根据各目标像素点的像素值、以及各目标像素点对应的计算系数,确定所述当前待处理像素点的像素值。
7.根据权利要求6所述的方法,其特征在于,所述根据各目标像素点的像素值、以及各目标像素点对应的计算系数,确定所述当前待处理像素点的像素值,包括:
确定所述第一像素点的像素值与所述第一像素点对应的计算系数的第一乘积、确定所述第二像素点的像素值与所述第二像素点对应的计算系数的第二乘积、确定所述第三像素点的像素值与所述第三像素点对应的计算系数的第三乘积、确定所述第四像素点的像素值与所述第四像素点对应的计算系数的第四乘积;
将所述第一乘积、所述第二乘积、所述第三乘积及所述第四乘积的和作为所述当前待处理像素点的初始像素值;
对所述当前待处理像素点的初始像素值进行右移运算,确定所述当前待处理像素点的像素值。
8.一种处理设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当处理设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1至7任一所述的方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211330888.6A CN115471404B (zh) | 2022-10-28 | 2022-10-28 | 图像缩放方法、处理设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211330888.6A CN115471404B (zh) | 2022-10-28 | 2022-10-28 | 图像缩放方法、处理设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115471404A CN115471404A (zh) | 2022-12-13 |
CN115471404B true CN115471404B (zh) | 2023-03-24 |
Family
ID=84336079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211330888.6A Active CN115471404B (zh) | 2022-10-28 | 2022-10-28 | 图像缩放方法、处理设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115471404B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115829842B (zh) * | 2023-01-05 | 2023-04-25 | 武汉图科智能科技有限公司 | 一种基于fpga实现图片超分辨率重建的装置 |
CN116071245B (zh) * | 2023-04-06 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 图像处理方法、装置及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112508793A (zh) * | 2020-12-22 | 2021-03-16 | 深圳开立生物医疗科技股份有限公司 | 一种图像缩放方法、装置及电子设备和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6300935B1 (en) * | 1999-04-20 | 2001-10-09 | Agilent Technologies, Inc. | Image interpolation circuit architecture and method for fast bi-cubic interpolation of image information |
CN101795405A (zh) * | 2009-11-06 | 2010-08-04 | 杭州士兰微电子股份有限公司 | H.264高速亮度插值装置与方法 |
CN104104888A (zh) * | 2014-07-01 | 2014-10-15 | 大连民族学院 | 一种并行多核fpga数字图像实时缩放处理方法和装置 |
CN105160622B (zh) * | 2015-09-25 | 2018-08-31 | 南京铁道职业技术学院 | 基于fpga的图像超分辨率的实现方法 |
CN107680028B (zh) * | 2016-08-01 | 2020-04-21 | 北京百度网讯科技有限公司 | 用于缩放图像的处理器和方法 |
WO2019041264A1 (zh) * | 2017-08-31 | 2019-03-07 | 深圳市大疆创新科技有限公司 | 图像处理装置、方法及相关电路 |
CN115205115A (zh) * | 2022-06-24 | 2022-10-18 | 兰州大学 | 一种基于双线性插值算法的图像放大方法 |
-
2022
- 2022-10-28 CN CN202211330888.6A patent/CN115471404B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112508793A (zh) * | 2020-12-22 | 2021-03-16 | 深圳开立生物医疗科技股份有限公司 | 一种图像缩放方法、装置及电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115471404A (zh) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115471404B (zh) | 图像缩放方法、处理设备及存储介质 | |
CN111192356A (zh) | 感兴趣区域的显示方法、装置、设备和存储介质 | |
CN108122266B (zh) | 一种缓存骨骼动画渲染纹理的方法、装置和存储介质 | |
JP2003271987A (ja) | プリミティブにより覆われるピクセルの割合を求める方法 | |
JPH1098730A (ja) | 動きベクトル検出方法及び動きベクトル検出装置 | |
US9530241B2 (en) | Clipping of graphics primitives | |
CN106780336B (zh) | 一种图像缩小方法及装置 | |
TWI439964B (zh) | 群集予以紋理化的像素之方法與裝置及其非暫態電腦可讀取媒體 | |
CN107680028B (zh) | 用于缩放图像的处理器和方法 | |
WO2013005366A1 (ja) | アンチエイリアス画像生成装置およびアンチエイリアス画像生成方法 | |
CN109658474A (zh) | 三维草图的创建方法、装置和计算机设备 | |
US8681173B2 (en) | Device, system, and method for improving processing efficiency by collectively applying operations | |
US8712167B2 (en) | Pattern identification apparatus, control method and program thereof | |
US11704546B2 (en) | Operation processing apparatus that calculates addresses of feature planes in layers of a neutral network and operation processing method | |
JP2010287110A (ja) | 情報処理装置、情報処理方法、プログラム及び記録媒体 | |
US11748933B2 (en) | Method for performing shader occupancy for small primitives | |
CN104008560B (zh) | 图像处理lsi和图像处理程序 | |
CN111951348A (zh) | 确定框选区域的方法、装置及电子设备 | |
CN115829820A (zh) | 插值方法、图像处理方法、gpu及芯片 | |
JP7227769B2 (ja) | 情報処理装置及びメモリ制御方法 | |
JP4970378B2 (ja) | メモリコントローラおよび画像処理装置 | |
CN107527319A (zh) | 图像收缩方法和装置 | |
CN112085155A (zh) | 数据处理装置和控制方法 | |
US9286654B2 (en) | Image scaling processor and image scaling processing method | |
JP7316130B2 (ja) | 画像処理装置、画像処理装置の制御方法、プログラム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |