CN118314011A - 图像切片的缩放方法、系统及电子设备 - Google Patents
图像切片的缩放方法、系统及电子设备 Download PDFInfo
- Publication number
- CN118314011A CN118314011A CN202410545890.8A CN202410545890A CN118314011A CN 118314011 A CN118314011 A CN 118314011A CN 202410545890 A CN202410545890 A CN 202410545890A CN 118314011 A CN118314011 A CN 118314011A
- Authority
- CN
- China
- Prior art keywords
- scaling
- input image
- resolution
- image slice
- image
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000007906 compression Methods 0.000 claims abstract description 28
- 230000006835 compression Effects 0.000 claims abstract description 28
- 238000004891 communication Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006837 decompression Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Image Processing (AREA)
Abstract
本申请一些实施例提供一种图像切片的缩放方法、系统及电子设备,所述方法可以获取输入图像与缩放信息,再根据缩放信息与缓存限度值对输入图像执行切片,以生成输入图像切片。其中,缓存限度值包括缓存宽度与缓存高度中的至少一种。根据缩放信息计算输入图像的缩放倍率,并按照缩放倍率缩放输入图像切片,以生成输出图像切片。基于字节对齐算法计算输出图像切片的处理宽高值。再根据处理宽高值裁剪输出图像切片,并压缩裁剪后的输出图像切片,以生成输出图像。所述方法可以在对图像切片进行缩放的同时,使能压缩功能,从而减少大图像缩放时所占用的带宽,提高图像缩放的效率。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及图像切片的缩放方法、系统及电子设备。
背景技术
图像缩放是指更改源图像的尺寸,形成一个与源图像不同尺寸的新图像。图像缩放可以应用于计算机图形学及数字图像处理领域,用于适应不同的显示需求、提高图像的分辨率、调整图像的尺寸等。
为了满足不同场景的需求,可通过不同的缩放算法来进行图像的缩放过程,如最近邻插值、双线性插值以及双三次插值等缩放算法,上述算法可通过计算新像素点的颜色值来缩放图像。在进行图像缩放时,还可以结合抗混叠滤波器、数据压缩等技术来提高图像缩放的效果和质量。针对不同的图像缩放需求,电子设备可以配置有缩放模块以及压缩模块,并通过缩放模块和压缩模块对输入的源图像执行解压缩、缩放以及压缩,从而输出缩放后形成的新图像。
但是,受硬件的限制,缩放模块中会固化用于存储一行或多行图像的缓存(LineBuffer),即输入的源图像不能超出缩放模块的缓存,比如缓存的最大宽度为2048个像素时,水平分辨率超出2048的源图像则无法进行处理。而如果将源图像切分为多个小图像切片,由于电子设备中的压缩模块需要按照预设的字节格式对齐,切片操作会导致无法使能压缩模块,使图像缩放占用的带宽增大,从而影响图像缩放的效率。
发明内容
本申请提供一种图像切片的缩放方法、系统及电子设备,以解决图像缩放占用带宽大的问题。
第一方面,本申请一些实施例提供一种图像切片的缩放方法,包括以下步骤:
获取输入图像与缩放信息,所述缩放信息包括所述输入图像的原始分辨率以及输出图像的缩放分辨率;
根据所述缩放信息与缓存限度值对所述输入图像执行切片,以生成输入图像切片,所述缓存限度值包括缓存宽度与缓存高度中的至少一种;
根据所述缩放信息计算所述输入图像的缩放倍率;
按照所述缩放倍率缩放所述输入图像切片,以生成输出图像切片;
基于字节对齐算法计算所述输出图像切片的处理宽高值;
根据所述处理宽高值裁剪所述输出图像切片,以生成预处理图像;
压缩所述预处理图像,以生成输出图像。
结合第一方面,在一种可实施的方式中,所述根据所述缩放信息与缓存限度值对所述输入图像执行切片前,还包括:对比所述缩放信息与所述缓存限度值;如果所述原始分辨率和/或所述输出分辨率大于所述缓存限度值,执行根据所述缩放信息与缓存限度值对所述输入图像执行切片的步骤;如果所述原始分辨率和所述输出分辨率小于或等于所述缓存限度值,根据所述原始分辨率与所述缩放分辨率计算所述输入图像的缩放倍率,并按照所述缩放倍率缩放所述输入图像,以生成所述输出图像。
结合第一方面,在一种可实施的方式中,所述对比所述缩放信息与所述缓存限度值,包括:当所述缓存限度值包括所述缓存宽度时,解析所述原始分辨率的第一水平分辨率以及所述缩放分辨率的第二水平分辨率,对比所述第一水平分辨率、所述第二水平分辨率与所述缓存宽度;当所述缓存限度值包括所述缓存高度时,解析所述原始分辨率的第一垂直分辨率以及所述缩放分辨率的第二垂直分辨率,对比所述第一垂直分辨率、所述第二垂直分辨率与所述缓存高度。
结合第一方面,在一种可实施的方式中,所述根据所述缩放信息与缓存限度值对所述输入图像执行切片,包括:当所述第一水平分辨率或所述第二水平分辨率大于所述缓存宽度时,按照所述缓存宽度对所述输入图像执行切片,所述输入图像切片或所述输出图像切片中包括目标子图像,所述目标子图像的水平分辨率等于所述缓存宽度;当所述第一垂直分辨率或所述第二垂直分辨率大于所述缓存高度时,按照所述缓存高度对所述输入图像执行切片,所述输入图像切片或所述输出图像切片中包括目标子图像,所述目标子图像的垂直分辨率等于所述缓存高度。
结合第一方面,在一种可实施的方式中,所述根据所述缩放信息计算所述输入图像的缩放倍率,包括:解析所述原始分辨率的第一水平分辨率与所述缩放分辨率的第二水平分辨率,以及解析所述原始分辨率的第一垂直分辨率以及所述缩放分辨率的第二垂直分辨率;计算所述第二水平分辨率与所述第一水平分辨率的第一比值,以及计算所述第二垂直分辨率与所述第一垂直分辨率的第二比值;记录所述第一比值与所述第二比值,以生成所述缩放倍率。
结合第一方面,在一种可实施的方式中,所述基于字节对齐计算所述输出图像切片的处理宽高值,以及根据所述处理宽高值裁剪所述输出图像切片,包括:获取用于执行所述字节对齐的目标字节位数;根据所述目标字节位数计算第一输出图像切片的第一处理宽高值,所述第一输出图像切片为按照所述缩放倍率缩放所述第一输入图像切片生成的图像切片,所述第一输入图像切片为所述输入图像中起始坐标最小的图像切片;根据所述第一处理宽高值裁剪所述第一输出图像切片。
结合第一方面,在一种可实施的方式中,当所述缩放倍率大于1时,所述方法还包括:根据所述目标字节位数计算第二输入图像切片的第二处理宽高值,所述第二输入图像切片为所述输入图像中起始坐标小于所述第一输入图像切片起始坐标的图像切片;根据所述第二处理高度设置所述第二输入图像切片的起始缩放点;根据所述起始缩放点与所述缩放倍率缩放所述第二输入图像切片,以生成所述第二输出图像。
结合第一方面,在一种可实施的方式中,当所述缩放倍率小于1时,所述方法还包括:根据所述目标字节位数与所述第一处理宽高值计算第二输入图像的起始坐标,所述第二输入图像切片为所述输入图像中起始坐标小于所述第一输入图像切片起始坐标的图像切片;根据所述第二输入图像的起始坐标与所述缩放倍率计算第二处理宽高值;按照所述缩放倍率缩放所述第二输入图像切片,以生成第二输出图像切片;根据所述第二处理宽高值裁剪所述第二输出图像切片。
第二方面,本申请一些实施还提供一种图像切片的缩放系统,包括输入模块、缩放模块、裁剪模块与压缩及输出模块,其中:
输入模块,被配置为获取输入图像与缩放信息,所述缩放信息包括所述输入图像的原始分辨率以及输出图像的缩放分辨率;
缩放模块,被配置为根据所述缩放信息与缓存限度值对所述输入图像执行切片,以生成输入图像切片,所述缓存限度值包括缓存宽度与缓存高度中的至少一种;根据所述缩放信息计算所述输入图像的缩放倍率;按照所述缩放倍率缩放所述输入图像切片,以生成输出图像切片;基于字节对齐算法计算所述输出图像切片的处理宽高值;
裁剪模块,被配置为根据所述处理宽高值裁剪所述输出图像切片,以生成所述输出图像;
压缩及输出模块,被配置为压缩所述输出图像,以及输出压缩后的所述输出图像。
第三方面,本申请还提供一种电子设备,包括处理器、存储器与总线;
所述处理器和所述存储器通过所述总线通信连接;
所述存储器存储有可被所述处理器执行的计算机程序指令,所述处理器被配置为执行以下程序步骤:
获取输入图像与缩放信息,所述缩放信息包括所述输入图像的原始分辨率以及输出图像的缩放分辨率;
根据所述缩放信息与缓存限度值对所述输入图像执行切片,以生成输入图像切片,所述缓存限度值包括缓存宽度与缓存高度中的至少一种;
根据所述缩放信息计算所述输入图像的缩放倍率;
按照所述缩放倍率缩放所述输入图像切片,以生成输出图像切片;
基于字节对齐算法计算所述输出图像切片的处理宽高值;
根据所述处理宽高值裁剪所述输出图像切片,以生成预处理图像;
压缩所述预处理图像,以生成输出图像。
由以上技术方案可知,本申请一些实施例提供的图像切片的缩放方法、系统及电子设备,所述方法可以获取输入图像与与缩放信息。其中,缩放信息包括输入图像原始分辨率以及输出图像缩放分辨率。再根据缩放信息与缓存限度值对输入图像执行切片,以生成输入图像切片。其中,缓存限度值包括缓存宽度与缓存高度中的至少一种。根据缩放信息计算输入图像的缩放倍率,并按照缩放倍率缩放输入图像切片,以生成输出图像切片。基于字节对齐算法计算输出图像切片的处理宽高值。再根据处理宽高值裁剪输出图像切片,并压缩裁剪后的输出图像切片,以生成输出图像。所述方法可以在对图像切片进行缩放的同时,使能压缩功能,从而减少大图像缩放时所占用的带宽,提高图像缩放的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一些实施例提供的切分输入图像的示例图;
图2为本申请一些实施例提供的一种图像切片缩放方法的流程示意图;
图3为本申请一些实施例提供的对比缓存限度值的流程示意图;
图4为本申请一些实施例提供的第一输入图像切片的示意图;
图5为本申请一些实施例提供的缩小输入图像场景的原理示例图;
图6为本申请一些实施例提供的放大输入图像场景的原理示例图;
图7为本申请一些实施例提供的图像切片缩放系统的结构示意图;
图8为本申请一些实施例提供的缩放系统执行缩放的流程示意图;
图9为本申请一些实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请示例性实施例的目的、技术方案和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请中示出的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整技术方案。
应当理解,本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
为了适应不同场景的图像处理需求,在一些实施方式中,通过多媒体图像处理引擎执行图像处理。其中,多媒体处理引擎中配置有图像处理功能模块,如缩放、裁剪、压缩以及解压缩等功能模块,且多媒体处理引擎可以搭载在不同类型的电子设备中。即在一些实施例中,电子设备配置有多媒体图像处理引擎,多媒体图像处理引擎包括缩放模块、裁剪模块与压缩模块。其中,缩放模块用于对输入图像(源图像)执行缩放,以生成输出图像;裁剪模块用于对图像执行裁剪;压缩模块用于对图像执行压缩及解压缩,压缩模块可以减少输入图像和输出图像的图像文件数据量,可便于存储和传输。。
而在部分场景下,用户可能需要缩放或方法一个大尺寸的图像,即一个高分辨率的图像。例如,将一个分辨率为400万像素的图像缩小至200万像素,以便在屏幕较小的电子设备上显示,或者将低分辨率图像放大以获取更多的细节信息。然而,此种场景下的缩放操作受硬件的限制,由于多媒体图像处理引擎内部会固化用于存储图像的缓存(LineBuffer),将多媒体图像处理引擎可处理的图像最大宽度或高度限定在一定范围。
为此,如图1所示,在一些实施例中,如果输入图像或输出图像的水平分辨率或垂直分辨率超过缓存的容量,则需要将输入图像切分成多个小图像,再分别对小图像进行多次缩放处理。为了便于描述,本申请部分实施例将输入图像切分的小图像表示为切片图像,将对输入图像的切分过程表示为对输入图像执行切片。
然而,将输入图像切分为多个切片图像,不仅会使缩放过程的时间和复杂性增加,还可能会引入额外的误差和不一致性,从而影响图像的缩放效果。并且,压缩模块还需要将输入图像及输出图像的图像数据按照特定的格式对齐,如以128字节为单位进行字节对齐。因此,上述切片操作还会导致压缩模块无法使能,增大图像缩放占用的系统带宽,从而影响图像缩放的效率。
基于上述应用场景,为了减少图像压缩占用的系统带宽,本申请一些实施例提供一种图像切片的缩放方法,可应用于电子设备中,电子设备可以配置有上述实施例提供的多媒体图像处理引擎。如图2所示,所述包括以下步骤:
S100:获取输入图像与缩放信息。
其中,缩放信息包括输入图像的原始分辨率以及输出图像的缩放分辨率,即原始分辨率为缩放前源图像的分辨率、缩放分辨率为缩放源图像后生成的新图像的分辨率。例如,放大图像时,原始分辨率为1920×1080、缩放分辨率为2688×1520;缩小图像时,原始分辨率为2688×1520、缩放分辨率为1920×1080。
在一些实施例中,用于执行缩放功能的缩放模块配置有缓存限度值,缓存限度值可以包括缓存宽度与缓存高度中的至少一种,如可以配置有缓存宽度,或者可以配置有缓存高度,又或者可以同时配置有缓存宽度与缓存高度。示例性的,多媒体图像处理引擎固化的最大缓存宽度为2048,缩放模块则只能对水平分辨率小于或等于2048的图像进行处理。又例如,多媒体图像处理引擎固化的最大缓存高度为2048,缩放模块则只能对垂直分辨率小于或等于2048的图像进行处理。
为了可以正常执行缩放功能,在获取输入图像以及对应的缩放信息后,可以根据缩放信息判断输入图像及输出图像的分辨率是否超出缓存限度值。如果超出缓存限度值,则需要按照缓存限度值对输入图像执行切片。
因此,如图3所示,在一些实施例中,对输入图像执行切片前,还对比缩放信息与缓存限度值。如果原始分辨率和/或输出分辨率大于所述缓存限度值,则执行根据缩放信息与缓存限度值对输入图像执行切片的步骤,即执行下述步骤S200;如果原始分辨率和输出分辨率小于或等于缓存限度值,则根据原始分辨率与缩放分辨率计算输入图像的缩放倍率,并按照缩放倍率缩放输入图像,以生成输出图像。
对于对比缩放信息与缓存限度值的过程,在一些实施例中,当缓存限度值包括缓存宽度时,解析原始分辨率的第一水平分辨率以及缩放分辨率的第二水平分辨率(即输入图像和输出图像的水平分辨率),对比第一水平分辨率、第二水平分辨率与缓存宽度。当所述缓存限度值包括缓存高度时,解析原始分辨率的第一垂直分辨率以及缩放分辨率的第二垂直分辨率(即输入图像和输出图像的垂直分辨率),对比第一垂直分辨率、第二垂直分辨率与缓存高度。
也就是说,当输入图像和输出图像的分辨率均未超出缓存限度值时,无需对输入图像执行切片,直接按照缩放倍率缩放输入图像生成输出图像即可;而输入图像或输出图像任意一个图像的分辨率超出缓存限度值时,则按照缓存限度值对输入图像执行切片,以使切分后形成的输入图像切片及输出图像切片可以适应于配置的缓存限度值。
在一些实施例中,根据所述缩放信息计算所述输入图像的缩放倍率时,解析原始分辨率的第一水平分辨率与缩放分辨率的第二水平分辨率(即输入图像和输出图像的水平分辨率),以及解析原始分辨率的第一垂直分辨率以及缩放分辨率的第二垂直分辨率(即输入图像和输出图像的垂直分辨率)。再计算第二水平分辨率与第一水平分辨率的第一比值(即输出图像水平分辨率与输入图像水平分辨率的比值),以及计算第二垂直分辨率与第一垂直分辨率的第二比值(即输出图像垂直分辨率与输入图像垂直分辨率的比值)。然后,记录第一比值与第二比值,以生成缩放倍率。
例如,输入图像的分辨率为1920×1080,输出图像的分辨率为2688×1520时,水平方向与垂直方向的缩放倍率均为1.4,为将输入图像放大1.4倍的过程;输入图像的分辨率为2688×1520,输出图像的分辨率为1920×1080时,水平方向与垂直方向的缩放倍率均为0.7,也可以表示为将输入图像缩小1.4倍的过程。需要说明的是,本申请实施例提供的缩放过程可以是等比例缩放,也可以为非等比例缩放。对此,本申请不作限制。
为了减少缩放过程占用的系统带宽,在一些实施例中,获取的输入图像为压缩数据,对压缩数据进行解压缩再进行输入图像的缩放;以及,在缩放后将缩放生成的图像执行压缩,并输出压缩后的图像数据,以作为输出图像。
S200:根据所述缩放信息与缓存限度值对所述输入图像执行切片,以生成输入图像切片。
在获取输入图像和缩放信息后,通过对比缩放信息和缓存限度值,对输入图像执行切片,以生成多个小于或等于缓存限度值的输入图像切片。例如,如图4所示,输入图像的原始分辨率为2688×1520、输出图像的缩放分辨率为1920×1080且缓存宽度为2048时,则将输入图像切分,第一片输入图像切片为2048×1520。为了便于描述,本申请部分实施例将第一片输入图像切片表示为第一输入图像切片,即第一输入图像切片为输入图像中起始坐标最小的图像切片。
由于图像的缩放和压缩还涉及预设格式的字节对齐和缩放倍率,因此除第一输入图像切片外的其他输入图像切片,还需要根据输入图像的缩放倍率和字节对齐的格式来计算起始位置和终止位置。
S300:根据所述缩放信息计算所述输入图像的缩放倍率。
因此,还需要根据缩放信息计算输入图像的缩放倍率,缩放倍率可以包括上述实施例提供的第一比值和第二比值。其中,第一比值和第二比值的数值可以相同,也可以不同。即,可以通过输入图像和输出图像的水平分辨率和垂直分辨率来计算缩放倍率。
S400:按照所述缩放倍率缩放所述输入图像切片,以生成输出图像切片。
在计算出缩放倍率后,按照缩放倍率来缩放输入图像切片,从而生成与输入图像切片对应的输出图像切片。例如,输入图像的原始分辨率为2688×1520、输出图像的缩放分辨率为1920×1080且缓存宽度为2048时,则将输入图像切分,第一输入图像切片为2048×1520,计算得出的缩放倍率为缩小1.4倍。此时,第一输入图像缩放后形成的第一输出图像切片为1462.86×1080。
S500:基于字节对齐算法计算所述输出图像切片的处理宽高值。
在缩放生成输出图像切片后,基于字节对齐算法,即根据预设格式的字节对齐,计算输出图像的处理宽高值。换句话说,基于预设格式的字节对齐,计算切片字节对齐后的实际宽高值。
S600:根据所述处理宽高值裁剪所述输出图像切片,以生成预处理图像。
计算出处理宽高值后,再根据处理宽高值裁剪输出图像切片,从而生成预处理图像。这样,裁剪后的预处理图像既可以满足缓存限度值的限制,又可以满足压缩要求的字节对齐格式,从而可以在减少带宽占用的前提下,对大图像执行缩放。
在一些实施例中,获取用于执行字节对齐的目标字节位数,如可以为128字节等格式。再根据目标字节位数计算第一输出图像的第一处理宽高值。其中,第一输出图像切片为按照缩放倍率缩放第一输入图像切片生成的图像切片,第一输入图像切片为输入图像中起始坐标最小的图像切片。再根据第一处理宽高值裁剪第一输出图像切片。
对于图像放大的过程,在一些实施例中,当所述缩放倍率大于1时,还根据目标字节位数计算第二输入图像切片的第二处理宽高值。其中,第二输入图像切片为输入图像中起始坐标小于第一输入图像切片起始坐标的图像切片。再根据第二处理高度设置第二输入图像切片的起始缩放点。然后,根据起始缩放点与缩放倍率缩放第二输入图像切片,以生成第二输出图像。
对于图像缩小的过程,在一些实施例中,当所述缩放倍率小于1时,还根据目标字节位数与第一处理宽高值计算第二输入图像的起始坐标,再根据第二输入图像的起始坐标与缩放倍率计算第二处理宽高值。然后,按照缩放倍率缩放第二输入图像切片,以生成第二输出图像切片。再根据第二处理宽高值裁剪第二输出图像切片。
S700:压缩所述预处理图像,以生成输出图像。
根据处理宽高值裁剪图像切片后生成预处理图像,再将预处理图像压缩,即可以形成输入图像对应的输出图像,从而完成图像的压缩及缩放过程,可减少缩放过程占用的系统带宽,提高图像缩放的效率。
在一些实施例中,裁剪输出图像时,还检测输出图像切片是否为最后一个输出图像切片,当输出图像切片为最后一个输出图像切片时,结束对输入图像的缩放。例如,可以检测输出图像切片的切片序列号,或者可以检测输出图像切片的终止坐标,从而判断输出图像切片是否为最后的输出图像切片。
以下通过两个示例对上述步骤S100-S700进行说明,示例中缓存限度值为缓存宽度,缓存宽度为2048。
示例一:图像缩小场景,目标字节位数为1287,输入图像的原始分辨率为2688×1520,输出图像的缩放分辨率为1920×1080。
如图5所示,计算宽度的缩放倍率为2688/1920=1.4。将输入图像按照2048的缓存宽度切出第一片输入图像切片,即第一输入图像切片。再将第一输入图像切片缩小1.4倍,得出2048/1.4=1462.86。然后,向下128对齐到1462(处理宽高值),将1462写入到输出宽寄存器(第一输出图像切片)。再对1462的宽度向下128对齐,得出1408的宽度。相应的,通过多媒体图像处理引擎的硬件裁剪出1408宽度,并使能压缩模块压缩裁剪后的图像切片(预处理图像),从而输出第一片数据(输出图像的一部分)。
再计算第二片图像数据(第二输入图像切片)的起始地址,通过上述计算出的处理宽高值1462计算得出1408*1.4=1971.2,再向下128对齐,得出第二片数据起始地址(1920,0)。因此,第二输入图像切片的宽度为2688-1920=768。再通过缩放的起始坐标寄存器,设置起始缩放点1971.2-1920=51.2。然后,将(51.2,0)进缩小1.4倍,输出宽(768-51.2)/1.4=512(第二输出图像切片)。再使能压缩模块压缩第二输出图像切片,从而输出第二片数据。
示例二:图像放大场景,目标字节位数为1287,输入图像的原始分辨率为1920×1080,输出图像的缩放分辨率为2688×1520。
以输出2688进行切片,倒推输入图像如何进行切片才可以满足字节对齐及缓存宽度。如图6所示,输出图像切片的宽度为2048,输入图像对应宽度为1462.86.,对1462.86宽度向下128对齐,计算得出1408(第一输入图像切片),即第一输入图像切片的宽度为1408。将第一输入切片放大1.4倍,计算得出1971.2(第一输出图像切片),通过裁剪为1920(预处理图像)。再通过1920/1.4=1371.43,对1371.43向下128对齐,得到1280,所以第二输入图像切片的起始位置为(1280,0),对应的切片宽度640。将第二输入图像切片放大1.4倍,得到宽度896的图片(第二输出图像切片)。再对第二输出图像切片执行裁剪,通过1920+896-2688=128计算裁剪坐标,裁剪坐标为(128,0),即裁剪第二输出图像切片中宽768(处理宽高值)的图像(预处理图像)。再使能压缩模块压缩裁剪后的第二输出图像切片,从而输出第二片数据。
需要说明的是,上述示例通过两片切片的过程进行示例性说明,而输入图像切片或输出图像切片为更多的数量,或缓存限度值包括缓存高度时,原理与上述示例中相同。在此,本申请不做赘述。
基于上述图像切片的缩放方法,本申请的部分实施例还提供一种图像切片的缩放系统,可以用于执行上述实施例提供的图像切片的缩放方法。如图7所述,所述缩放系统包括输入模块701、缩放模块702、裁剪模块703与压缩及输出模块704,其中:
输入模块701,被配置为获取输入图像与缩放信息,所述缩放信息包括所述输入图像的原始分辨率以及输出图像的缩放分辨率;
缩放模块702,被配置为根据所述缩放信息与缓存限度值对所述输入图像执行切片,以生成输入图像切片,所述缓存限度值包括缓存宽度与缓存高度中的至少一种;根据所述缩放信息计算所述输入图像的缩放倍率;按照所述缩放倍率缩放所述输入图像切片,以生成输出图像切片;基于字节对齐算法计算所述输出图像切片的处理宽高值;
裁剪模块703,被配置为根据所述处理宽高值裁剪所述输出图像切片,以生成所述输出图像;
压缩及输出模块704,被配置为压缩所述输出图像,以及输出压缩后的所述输出图像。
在一些实施例中,输入模块701、缩放模块702、裁剪模块703与压缩及输出模块704均为硬件模块。其中,缩放模块中配置有用于计算切片宽度的软件模块。图像切片的缩放系统可以通过硬件及软件结合的方式,执行上述步骤S100-S700。
示例性的,基于上述实施例以及图5-图6所示的缩放过程,如图8所示的流程示意图。可以将输入图像和缩放信息输入至输入模块701,当输入图像或输出图像的水平分辨率小于或等于缓存宽度时,直接通过缩放模块702缩放输入图像;否则,通过缩放模块702计算字节对齐后的实际处理宽高值,再通过裁剪模块703裁剪图像切片,并通过压缩及输出模块704压缩并输出裁剪后的图像数据,直至最后一片输出图像切片裁剪和压缩完毕,从而生成输出图像的压缩数据。
基于上述图像切片的缩放方法及系统,本申请的部分实施例还提供一种电子设备900,包括上述实施例所述的图像切片的缩放系统。
在一些实施例中,如图9所示,电子设备900包括:至少一个处理器901,至少一个通信接口902,至少一个存储器903和至少一个总线904。其中,总线904用于实现这些组件直接的连接通信,通信接口902用于与其他节点设备进行信令或数据的通信,存储器903存储有可被处理器901执行的计算机程序指令。当电子设备900运行时,处理器901与存储器903之间通过总线904通信,处理器901可调用存储器903中存储的计算机程序,并执行该计算机程序可以实现本申请实施例提供的图像切片的缩放方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
Claims (10)
1.一种图像切片的缩放方法,其特征在于,包括:
获取输入图像与缩放信息,所述缩放信息包括所述输入图像的原始分辨率以及输出图像的缩放分辨率;
根据所述缩放信息与缓存限度值对所述输入图像执行切片,以生成输入图像切片,所述缓存限度值包括缓存宽度与缓存高度中的至少一种;
根据所述缩放信息计算所述输入图像的缩放倍率;
按照所述缩放倍率缩放所述输入图像切片,以生成输出图像切片;
基于字节对齐算法计算所述输出图像切片的处理宽高值;
根据所述处理宽高值裁剪所述输出图像切片,以生成预处理图像;
压缩所述预处理图像,以生成输出图像。
2.根据权利要求1所述的图像切片的缩放方法,其特征在于,所述根据所述缩放信息与缓存限度值对所述输入图像执行切片前,还包括:
对比所述缩放信息与所述缓存限度值;
如果所述原始分辨率和/或所述输出分辨率大于所述缓存限度值,执行根据所述缩放信息与缓存限度值对所述输入图像执行切片的步骤;
如果所述原始分辨率和所述输出分辨率小于或等于所述缓存限度值,根据所述原始分辨率与所述缩放分辨率计算所述输入图像的缩放倍率,并按照所述缩放倍率缩放所述输入图像,以生成所述输出图像。
3.根据权利要求2所述的图像切片的缩放方法,其特征在于,所述对比所述缩放信息与所述缓存限度值,包括:
当所述缓存限度值包括所述缓存宽度时,解析所述原始分辨率的第一水平分辨率以及所述缩放分辨率的第二水平分辨率,对比所述第一水平分辨率、所述第二水平分辨率与所述缓存宽度;
当所述缓存限度值包括所述缓存高度时,解析所述原始分辨率的第一垂直分辨率以及所述缩放分辨率的第二垂直分辨率,对比所述第一垂直分辨率、所述第二垂直分辨率与所述缓存高度。
4.根据权利要求3所述的图像切片的缩放方法,其特征在于,所述根据所述缩放信息与缓存限度值对所述输入图像执行切片,包括:
当所述第一水平分辨率或所述第二水平分辨率大于所述缓存宽度时,按照所述缓存宽度对所述输入图像执行切片,所述输入图像切片或所述输出图像切片中包括目标子图像,所述目标子图像的水平分辨率等于所述缓存宽度;
当所述第一垂直分辨率或所述第二垂直分辨率大于所述缓存高度时,按照所述缓存高度对所述输入图像执行切片,所述输入图像切片或所述输出图像切片中包括目标子图像,所述目标子图像的垂直分辨率等于所述缓存高度。
5.根据权利要求1所述的图像切片的缩放方法,其特征在于,所述根据所述缩放信息计算所述输入图像的缩放倍率,包括:
解析所述原始分辨率的第一水平分辨率与所述缩放分辨率的第二水平分辨率,以及解析所述原始分辨率的第一垂直分辨率以及所述缩放分辨率的第二垂直分辨率;
计算所述第二水平分辨率与所述第一水平分辨率的第一比值,以及计算所述第二垂直分辨率与所述第一垂直分辨率的第二比值;
记录所述第一比值与所述第二比值,以生成所述缩放倍率。
6.根据权利要求1所述的图像切片的缩放方法,其特征在于,所述基于字节对齐算法计算所述输出图像切片的处理宽高值,以及根据所述处理宽高值裁剪所述输出图像切片,包括:
获取用于执行所述字节对齐的目标字节位数;
根据所述目标字节位数计算第一输出图像切片的第一处理宽高值,所述第一输出图像切片为按照所述缩放倍率缩放所述第一输入图像切片生成的图像切片,所述第一输入图像切片为所述输入图像中起始坐标最小的图像切片;
根据所述第一处理宽高值裁剪所述第一输出图像切片。
7.根据权利要求6所述的图像切片的缩放方法,其特征在于,当所述缩放倍率大于1时,所述方法还包括:
根据所述目标字节位数计算第二输入图像切片的第二处理宽高值,所述第二输入图像切片为所述输入图像中起始坐标小于所述第一输入图像切片起始坐标的图像切片;
根据所述第二处理高度设置所述第二输入图像切片的起始缩放点;
根据所述起始缩放点与所述缩放倍率缩放所述第二输入图像切片,以生成所述第二输出图像。
8.根据权利要求6所述的图像切片的缩放方法,其特征在于,当所述缩放倍率小于1时,所述方法还包括:
根据所述目标字节位数与所述第一处理宽高值计算第二输入图像的起始坐标,所述第二输入图像切片为所述输入图像中起始坐标小于所述第一输入图像切片起始坐标的图像切片;
根据所述第二输入图像的起始坐标与所述缩放倍率计算第二处理宽高值;
按照所述缩放倍率缩放所述第二输入图像切片,以生成第二输出图像切片;
根据所述第二处理宽高值裁剪所述第二输出图像切片。
9.一种图像切片的缩放系统,其特征在于,包括:
输入模块,被配置为获取输入图像与缩放信息,所述缩放信息包括所述输入图像的原始分辨率以及输出图像的缩放分辨率;
缩放模块,被配置为根据所述缩放信息与缓存限度值对所述输入图像执行切片,以生成输入图像切片,所述缓存限度值包括缓存宽度与缓存高度中的至少一种;根据所述缩放信息计算所述输入图像的缩放倍率;按照所述缩放倍率缩放所述输入图像切片,以生成输出图像切片;基于字节对齐算法计算所述输出图像切片的处理宽高值;
裁剪模块,被配置为根据所述处理宽高值裁剪所述输出图像切片,以生成所述输出图像;
压缩及输出模块,被配置为压缩所述输出图像,以及输出压缩后的所述输出图像。
10.一种电子设备,其特征在于,包括处理器、存储器与总线;
所述处理器和所述存储器通过所述总线通信连接;
所述存储器存储有可被所述处理器执行的计算机程序指令,所述处理器被配置为:
获取输入图像与缩放信息,所述缩放信息包括所述输入图像的原始分辨率以及输出图像的缩放分辨率;
根据所述缩放信息与缓存限度值对所述输入图像执行切片,以生成输入图像切片,所述缓存限度值包括缓存宽度与缓存高度中的至少一种;
根据所述缩放信息计算所述输入图像的缩放倍率;
按照所述缩放倍率缩放所述输入图像切片,以生成输出图像切片;
基于字节对齐算法计算所述输出图像切片的处理宽高值;
根据所述处理宽高值裁剪所述输出图像切片,以生成预处理图像;
压缩所述预处理图像,以生成输出图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410545890.8A CN118314011A (zh) | 2024-04-30 | 2024-04-30 | 图像切片的缩放方法、系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410545890.8A CN118314011A (zh) | 2024-04-30 | 2024-04-30 | 图像切片的缩放方法、系统及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118314011A true CN118314011A (zh) | 2024-07-09 |
Family
ID=91732922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410545890.8A Pending CN118314011A (zh) | 2024-04-30 | 2024-04-30 | 图像切片的缩放方法、系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118314011A (zh) |
-
2024
- 2024-04-30 CN CN202410545890.8A patent/CN118314011A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102697331B1 (ko) | 인물 이미지 복원 방법, 장치, 전자 기기, 기억 매체 및 프로그램 제품 | |
US8351730B2 (en) | System and method for scaling images | |
KR101134668B1 (ko) | 화상 생성 방법, 장치 및 그 프로그램과 프로그램을 기록한 기록매체 | |
US20070237425A1 (en) | Image resolution increasing method and apparatus for the same | |
JP2007067917A (ja) | 画像データ処理装置 | |
CN111447359B (zh) | 数字变焦方法、系统、电子设备、介质及数字成像设备 | |
US7433544B2 (en) | Apparatus and method for producing thumbnail images and for improving image quality of re-sized images | |
WO2020253103A1 (zh) | 视频图像处理方法、装置、设备及存储介质 | |
CN111402139A (zh) | 图像处理方法、装置、电子设备和计算机可读存储介质 | |
CN110765799B (zh) | 客户端扫码识别方法、装置、设备及存储介质 | |
CN110602410B (zh) | 一种图像处理方法、装置、航拍相机及存储介质 | |
CN116489457A (zh) | 视频的显示控制方法、装置、设备、系统和存储介质 | |
CN118314011A (zh) | 图像切片的缩放方法、系统及电子设备 | |
US7466862B2 (en) | Image expansion and display method, image expansion and display device, and program for image expansion and display | |
JP4329429B2 (ja) | 画像転送装置、画像転送方法、画像転送プログラム | |
CN113592844A (zh) | 图像畸变矫正方法及装置、终端和存储介质 | |
US8369637B2 (en) | Image processing apparatus, image processing method, and program | |
JP5641898B2 (ja) | 画像圧縮装置及び画像圧縮方法並びにプログラム | |
JP3278936B2 (ja) | ズーム率算出方法 | |
CN111105356A (zh) | 图像处理方法、装置及计算机可读存储介质 | |
CN114422694B (zh) | 预览分辨率适配方法和装置、电子设备 | |
CN112532957B (zh) | 一种图像处理方法及装置 | |
CN118485575A (zh) | 一种平板电脑的图像增强方法 | |
US9424657B2 (en) | Image motion detection method, image processing method and apparatus using the methods | |
CN114170122A (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 |