图像处理方法、装置、存储介质及电子设备与流程

文档序号:22756535发布日期:2020-10-31 09:53阅读:112来源:国知局
图像处理方法、装置、存储介质及电子设备与流程

本申请涉及计算机技术领域,尤其涉及一种图像处理方法、装置、存储介质及电子设备。



背景技术:

随着通信技术的发展,电子设备上的功能也在不断增加。电子设备可以将下载的图像进行显示,以方便用户观看。

目前,电子设备在图像显示过程中,通常将待显示的图像的全部图像数据进行下载(或缓冲),在下载完成后对图像的全部图像数据进行加载显示。



技术实现要素:

本申请实施例提供了一种图像处理方法、装置、存储介质及电子设备,可以为业务线程分配到合适的处理器集群。本申请实施例的技术方案如下:

第一方面,本申请实施例提供了一种图像处理方法,所述方法包括:

对原始图像进行图像抠图处理,得到所述原始图像对应的基础图像以及至少一个图像拆分包;

将所述基础图像以及所述至少一个图像拆分包传输至接收设备,所述接收设备用于显示所述基础图像并在所述基础图像上显示所述图像拆分包对应的图像信息。

第二方面,本申请实施例提供了另一种图像处理方法,所述方法包括:

获取发送设备传输的基础图像以及至少一个图像拆分包,所述基础图像以及所述至少一个图像拆分包为所述发送设备对原始图像进行图像抠图处理后生成;

显示所述基础图像,并在所述基础图像上显示所述图像拆分包对应的图像信息。

第三方面,本申请实施例提供了一种图像处理装置,所述装置包括:

原始图像抠图模块,用于对原始图像进行图像抠图处理,得到所述原始图像对应的基础图像以及至少一个图像拆分包;

图像数据发送模块,用于将所述基础图像以及所述至少一个图像拆分包传输至接收设备,所述接收设备用于显示所述基础图像并在所述基础图像上显示所述图像拆分包对应的图像信息。

第四方面,本申请实施例提供了一种图像处理装置,所述装置包括:

图像数据获取模块,用于获取发送设备传输的基础图像以及至少一个图像拆分包,所述基础图像以及所述至少一个图像拆分包为所述发送设备对原始图像进行图像抠图处理后生成;

图像数据显示模块,用于显示所述基础图像,并在所述基础图像上显示所述图像拆分包对应的图像信息。

第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。

第四方面,本申请实施例提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。

本申请一些实施例提供的技术方案带来的有益效果至少包括:

在本申请一个或多个实施例中,发送设备可以对原始图像进行图像抠图处理,得到所述原始图像对应的基础图像以及至少一个图像拆分包,然后将所述基础图像以及所述至少一个图像拆分包传输至接收设备,所述接收设备用于显示所述基础图像并在所述基础图像上显示所述图像拆分包对应的图像信息;通过将原始图像进行图像抠图拆分,拆分为相较原始图像而言内存小的基础图像以及至少一个图像拆分包,并依次发送至接收设备,接收设备可以在首次接收到原始图像的基础图像之后即可进行显示,以及在基础图像上对接收到的图像拆分包的图像信息进行显示,缩短了图像显示时的加载显示时间。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种图像处理方法的流程示意图;

图2是本申请实施例提供的另一种图像处理方法的流程示意图;

图3是本申请实施例提供的另一种图像处理方法的流程示意图;

图4是本申请实施例提供的另一种图像处理方法的流程示意图;

图5是本申请实施例提供的图像处理方法涉及到的一种差商表示方法的场景示意图;

图6是本申请实施例提供的另一种图像处理方法的流程示意图;

图7是本申请实施例提供的一种图像处理装置的结构示意图;

图8是本申请实施例提供的一种原始图像抠图模块的结构示意图;

图9是本申请实施例提供的一种抠图位置确定单元的结构示意图;

图10是本申请实施例提供的另一种图像处理装置的结构示意图;

图11是本申请实施例提供的一种图像数据显示模块的结构示意图;

图12是本申请实施例提供的一种电子设备的结构示意图;

图13是本申请实施例提供的另一种电子设备的结构示意图;

图14是本申请实施例提供的操作系统和用户空间的结构示意图;

图15是图13中安卓操作系统的架构图;

图16是图13中ios操作系统的架构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

在相关技术中,电子设备(如用于图像显示的接收设备)需要在图像的全部图像数据下载完成后,才能对图像进行显示,当图像的内存较大时,就需要较长的图像下载时间,才能对图像进行显示,从而导致图像的加载显示时间较长。

下面结合具体的实施例对本申请进行详细说明。

在一个实施例中,如图1所示,特提出了一种图像处理方法,该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的图像处理装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,以下以图像处理装置为发送设备为例进行详细释义。

其中,所述发送设备包括但不限于:服务器、可穿戴设备、手持设备、个人电脑、平板电脑、车载设备、智能手机、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端设备可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、接收设备、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理(personaldigitalassistant,pda)、5g网络或未来演进网络中的电子设备等。

具体的,该图像处理方法包括:

步骤s101:对原始图像进行图像抠图处理,得到所述原始图像对应的基础图像以及至少一个图像拆分包。

所述图像是指对自然事物或客观对象(人、动物、植物、景观等)的一种相似性、生动性的描述或写真,或所述图像可以理解为是自然事物或客观对象(人、动物、植物、景观等)的一种表示方式,它包含了被描述对象的有关信息。通常所述图像就是具有视觉效果的画面。而所述原始图像,在本实施例中可以理解待图像处理的图像。所述原始图像可以是照片、绘画、剪贴画、地图、卫星云图、影视画面、x光片、脑电图、心电图等等,在实际应用中,所述原始图像通常用于经图像处理后发送至接收设备进行显示。

所述基础图像可以理解为对原始图像执行本申请实施例的图像处理方法后的图像,所述基础图像所占的内存小于原始图像,基础图像的图像分辨率小于原始图像的分辨率,在实际应用中,对原始图像图像处理后,可以避免相关技术中原始图像内存较大时,接收设备需要接收完原始图像后方可对其进行显示,可以理解的是接收设备只需在接收到基础图像以及至少一个图像拆分包后进行图像显示,也即接收设备只需接收到基础图像后方可对原始图像对应的基础图像进行加载显示,以及可以在所述基础图像上依次显示所述图像拆分包对应的图像信息,整个过程中图像显示的时间大幅缩短。

具体的,发送设备可以获取向发送设备待传输的原始图像,待传输的原始图像可以是发送设备的图像采集系统即由发送设备的摄像头组成的相机系统采集到的图像,也可以是发送设备从互联网络或其他电子设备处得到的图像。然后对待传输的原始图像进行图像抠图处理,其中,所述图像抠图处理通常基于原始图像中的至少一个像素点进行,对原始图像进行至少一轮图像抠图处理,会得到各轮处理后的图像拆分包,以下以一轮抠图处理对原始图像释义:

在原始图像中按照预先设置的像素选取算法确定抠图像素点,也即待抠图的至少一个像素点所处的位置,对各抠图像素点的像素值进行获取,同时可以对原始图像中“各抠图像素点的像素值”进行滤除,如将各抠图像素点的像素值设置为0,或设置为一个参考像素值;对获取到的各抠图像素点的像素值以及各抠图像素点在原始图像中的位置映射关系进行保存,基于各抠图像素点的像素值以及上述位置映射关系进行保存,从而生成所述原始图像对应的一个图像拆分包;

可以理解的是,在实际应用中对原始图像按照上述方式进行多轮抠图处理,可以得到原始图像对应的至少一个图像拆分包,在经多轮图像抠图处理后,通常原始图像中“各抠图像素点的像素值”已进行滤除,对“各抠图像素点的像素值”像素值滤除后的原始图像,即基础图像。

可选的,所述像素选取算法可以根据实际应用环境确定,可以基于线性像素选取算法,即各抠图像素点的选取存在一定的函数线性映射关系,如设置像素选取间隔,每隔n个像素点选取一个抠图像素点;可以基于非线性像素选取算法,即各抠图像素点的选取不存在一定的函数线性映射关系,如常见的各像素点选取可以是离散选取各抠图像素点。

步骤s102:将所述基础图像以及所述至少一个图像拆分包传输至接收设备,所述接收设备用于显示所述基础图像并在所述基础图像上显示所述图像拆分包对应的图像信息。

具体的,发送设备在对原始图像进行图像抠图处理生成所述基础图像以及所述至少一个图像拆分包之后,可以依次将所述基础图像以及所述至少一个图像拆分包传输至接收设备;接收设备可以在接收到所述基础图像之后,无需等待原始图像的数据全部下载完,即对基础图像进行显示,以及在接收到至少一个图像拆分包,在基础图像的基础上对至少一个图像拆分包进行包解析,以便在基础图像上依次显示图像拆分包对应的图像信息。其中,发送设备可以依次传输基础图像以及至少一个图像拆分包,接收设备也可以依次接收发送设备发送的基础图像以及至少一个图像拆分包,然后显示所述基础图像并在所述基础图像上依次显示所述图像拆分包对应的图像信息。

在本申请实施例中,发送设备可以对原始图像进行图像抠图处理,得到所述原始图像对应的基础图像以及至少一个图像拆分包,然后将所述基础图像以及所述至少一个图像拆分包依次传输至接收设备,所述接收设备用于显示所述基础图像并在所述基础图像上依次显示所述图像拆分包对应的图像信息;通过将原始图像进行图像抠图拆分,拆分为相较原始图像而言内存小的基础图像以及至少一个图像拆分包,并依次发送至接收设备,从而便于接收设备在首次接收到原始图像的基础图像之后即可进行显示,以及依次在基础图像上对接收到的图像拆分包的图像信息进行显示,缩短了图像显示时的加载显示时间,提高图像显示速度。

请参见图2,图2是本申请提出的一种图像处理方法的另一种实施例的流程示意图,应用于发送设备。具体的:

步骤s201:在所述原始图像中确定基准点,基于预设的像素选取算法以及所述基准点,在所述原始图像中确定至少一个第一像素点。

所述基准点可以理解为对原始图像进行一轮抠图处理的参考抠图点,基于所述基准点并结合预设的像素选取算法可以得到一轮抠图处理的所有第一像素点。其中,所述参考抠图点的数量可以是一个,也可以是多个,在参考抠图点为多个的情况下,发送设备可以基于多个参考抠图点采用串行或并行的方式基于各参考抠图点分别确定至少一个第一像素点。

所述第一像素点可以理解为原始图像中待抠图的抠图像素点。

所述预设的像素选取算法可以根据实际应用环境确定,可以基于线性像素选取算法,即各抠图像素点的选取存在一定的函数线性映射关系,如设置像素选取间隔,每隔n个像素点选取一个第一像素点,即等间距选取第一像素点;可以基于非线性像素选取算法,即各第一像素点的选取不存在一定的函数线性映射关系,如常见的各像素点选取可以是离散选取各第一像素点。

一种像素选取算法可以是,设置有第一像素点的总选取个数x,基于基准点(a,b)则根据像素选取算法对应的选取规则,如以基准点为参考,每隔两个像素点选取一个第一像素点,待选取到总选取个数x指示的数量个数第一像素点的选取。

一种像素选取算法可以是,对第一像素点的总选取个数不作限定,只需基于基准点(a,b)以及像素选取算法对应的选取规则以基准点为参考,如每隔两个像素点选取一个第一像素点,待对原始图像所对应的所有像素点按照选取规则选取结束第一像素点之后,完成选取过程。

一种像素选取算法可以是:基于基准点的像素值进行选取第一像素点,设置有一基准点(a,b),基准点的像素值为a,将与基准点像素值相匹配的目标像素值所指示的所有第一像素点确定为需要选取的,所述与基准点像素值相匹配可以是,目标像素值与像素值a的差值小于像素阈值b,则将原始图像中所有像素点的像素值与像素值a的差值小于b时,所对应的所有像素点作为第一像素点,其中,这一轮原始图像中的所有第一像素点也即一些实施例中所提及的“原始图像中的第一抠图位置”。

步骤s202:获取所述至少一个第一像素点的第一像素值,生成图像拆分包。

以下对生成图像拆分包的过程进行释义:

1、发送设备在基于预设的像素选取算法以及所述基准点,在所述原始图像中确定至少一个第一像素点之后,获取所述至少一个第一像素点的第一像素值,也即在原始图像中获取所有第一像素点的第一像素值,在获取第一像素值之后,发送设备可以确定每个第一像素点在预设矩阵中的位置信息;

其中,所述预设矩阵为图像拆分包对应的初始图像矩阵,在本申请实施例中,预设矩阵用于对扣取的第一像素点的第一像素值以图像矩阵的形式进行存储,预设矩阵中的各矩阵点用于保存第一像素点的第一像素值。

所述位置信息可以理解为第一像素点在预设矩阵中的矩阵位置(如第i行、第j列),可以理解为当对某一第一像素点的第一像素值进行保存时,基于在预设矩阵中第一像素点所对应的矩阵点的矩阵位置,将第一像素点的第一像素值填入所述矩阵位置。

进一步的,所述每个第一像素点在预设矩阵中的位置信息通常在对原始图像进行像素点选取时即确定,如可以基于第一像素点在原始图像对应的原始图像矩阵中的行列位置,基于每个第一像素点的行列位置按照行列值的大小顺序即可确定每个第一像素点在预设矩阵中的位置信息。

2、基于所述位置信息将所述第一像素点的第一像素值添加至所述预设矩阵中,生成图像差分矩阵。

所述图像差分矩阵为完成对每个第一像素点的第一像素值填入预设矩阵后,所对应的图像矩阵,也即图像差分矩阵。

具体的,按照每个第一像素点的位置信息,将各第一像素点填入至预设矩阵中指定的矩阵点。如位置信息可以是预设矩阵中矩阵点的行列值,则发送设备将第一像素点的第一像素值填入至行列值对应的位置。以此类推可以完成从第一个第一像素点直至最后一个第一像素点在预设矩阵中的像素值写入,从而生成图像差分矩阵。

其中,在本申请实施例中,所述像素值的类型不做限定,可以rgb类型像素值、可以是灰阶类型像素值,等等。

3、基于所述图像差分矩阵、所述基准点以及所述像素选取算法,生成图像拆分包。

具体的,发送设备在生成图像差分矩阵,然后可以对所述图像差分矩阵、所述基准点以及所述像素选取算法进行数据包封装处理和/或数据包压缩处理,从而生成图像拆分包。

步骤s203:基于所述至少一个第一像素点以及所述原始图像,生成所述图像拆分包之外的目标图像。

其中,在本申请实施例中,可以对原始图像进行多轮图像拆分处理,基于每一轮图像拆分处理可以按照上述方式生成一个图像拆分包,而在每一轮图像拆分处理生成图像拆分包的同时,发送设备可以对原始图像的所占内存进行降低。具体如下:

在一种可行的实施方式中,发送设备在所述原始图像中,将所有所述第一像素点的所述第一像素值设置为目标像素值,示意性的,所述目标像素值可以是0,也可以是非0的一个像素值,实际应用中,像素值小于第一像素值的目标像素值均可,此处不做具体限定。优选的,所述目标像素值可以是0,此时,对原始图像的第一像素点设置后的图像,也即目标图像,所述目标图像较原始图像而言降低了所占内存,采用上述方式可以得到所述图像拆分包之外的目标图像。

在一种可行的实施方式中,发送设备在所述原始图像中,将所有所述第一像素点的所述第一像素值设置为目标像素值后,可以对所述原始图像进行图像降阶处理,示意性,假设原始图像对应的图像矩阵为m*n的矩阵,由至少一个第一像素点的像素值构成的图像差分矩阵为m*n的矩阵,则发送设备确定原始图像的降阶阶数为(m-m,n-n)。基于所述降阶阶数对原始图像中的所有第一像素点进行滤除,从而得到降阶之后的目标图像,也即所述图像拆分包之外的目标图像。

其中,经步骤s201-步骤s203,可以实现通过基于基准点在所述原始图像中确定抠图位置(即至少一个第一像素点在原始图像中的位置),然后基于所述抠图位置对应生成图像拆分包以及所述图像拆分包之外的目标图像。

步骤s204:当所述目标图像不满足所述停止抠图条件时,在所述目标图像中确定第二抠图位置,执行所述获取所述至少一个第一像素点的第一像素值,生成图像拆分包的步骤。

具体的,接收设备可以对原始图像进行多轮图像拆分处理,基于每一轮图像拆分处理可以按照上述方式生成一个图像拆分包以及除图像拆分包之外的目标图像,可以理解的是在当前一轮图像抠图处理完成后,接收设备可以在所述目标图像中确定第二抠图位置,所述第二抠图位置也即下一轮待扣图的像素点,具体为在所述目标图像中确定下一个基准点,基于预设的像素选取算法以及所述下一基准点,在所述目标图像中确定至少一个第一像素点,当前这一轮各第一像素点在目标图像中对应的位置即第二抠图位置,然后执行步骤s202-步骤s203,也即执行所述获取所述至少一个第一像素点的第一像素值,生成图像拆分包,基于所述至少一个第一像素点以及所述原始图像,生成所述图像拆分包之外的目标图像的步骤。

其中,所述确定下一个基准点可以是接收设备在对原始图像处理之前预先设置好的各基准点,所述各基准点的位置可以相同也可以不同,另外,为了释义的方面所述停止抠图条件可参考步骤s205。

步骤s205:当所述目标图像满足停止抠图条件时,得到至少一个图像拆分包以及所述至少一个图像拆分包之外的基础图像。

所述停止抠图条件可以理解为结束对原始图像进行抠图处理的条件,也可以理解为当前一轮对目标图像结束图像抠图处理的条件。

一种停止抠图条件可以是抠图次数,所述抠图次数与图形拆分包的总数量相关联,发送设备可以预先设置一个抠图次数阈值,若当前一轮目标图像指示的当前抠图次数等于抠图次数阈值时,确定目标图像满足停止抠图条件,此时将目标图像作为基础图像,从而得到至少一个图像拆分包以及所述至少一个图像拆分包之外的基础图像,反之,若当前一轮目标图像指示的当前抠图次数小于抠图次数阈值时,确定目标图像不满足停止抠图条件,执行步骤s204。

一种停止抠图条件可以是目标图像对应的内存大小,发送设备可以在预先设置一个内存阈值,若当前一轮目标图像的当前内存小于/等于内存阈值时,确定目标图像满足停止抠图条件,此时将目标图像作为基础图像,从而得到至少一个图像拆分包以及所述至少一个图像拆分包之外的基础图像,反之,若当前一轮目标图像的当前内存大于内存阈值,确定目标图像不满足停止抠图条件,执行步骤s204。

一种停止抠图条件可以是原始图像中图像抠图处理过程中第一像素点的总个数,若当前一轮目标图像所指示的图像拆分包的总个数小于个数阈值时,确定目标图像满足停止抠图条件,此时将目标图像作为基础图像,从而得到至少一个图像拆分包以及所述至少一个图像拆分包之外的基础图像,反之,若当前一轮目标图像所指示的图像拆分包的总个数大于/等于个数阈值,确定目标图像不满足停止抠图条件,执行步骤s204。

需要说明的是,停止抠图条件基于实际应用环境确定,此处不作具体限定。

步骤s206:获取所述接收设备的通信质量以及所述接收设备的显示分辨率。

所述通信质量可以理解为用于衡量接收设备的网络状况的至少一个通信参数。

具体的,在发送设备与接收设备之间的通信链路建立之后,发送设备可以具有通信链路监测机制,可以通过通信状态监测机制,对当前通信链路进行监测,从而获取到所述接收设备的通信质量,具体为发送设备可以获取第一通信链路的至少一个通信参数,根据各所述通信参数计算通信质量分,基于通信质量分来评判接收设备的通信状况,具体为:

一种计算方法可以是对各通信参数设置不同或相同的权重值,基于各通信参数以及所述权重值进行加权计算,可以得到当前通信质量分;

其中,一种计算方法可以是对各通信参数设置参考参数特征(如参考指示值、参考指示范围、参考指示距离等),将至少一个通信参数中各通信参数与其对应的参数特征计算差异特征信息(如差异通信参数值),根据差异特征信息进行评分,根据差异特征信息进行评分时,可以是设置评分等级,例如设置三个等级:等级a>等级b>c,以上述数据连接类参数包含两个通信参数为例进行释义:计算通信参数a1与参考指示值a的差异通信值a,当差异通信值a达到等级b对应的数值时,此时即将等级b对应的分数作为当前通信质量分。

其中,所述通信参数包括但不限于当前通信天线上行/下行数据信号的参考信号接收功率(referencesignalreceivingpower,rsrp)、接收信号码功率(receivedsignalcodepower,rscp)、接收的信号的接收码片信号强度和噪声强度的比例(ecio)/每调制比特功率和噪声频谱密度的比率(ecno)/信噪比(signal-to-noiseratio,snr)/参考信号接收质量(referencesignalreceivingquality,rsrq)、接收的信号的误码率(biterrorratio,ber)/误块率(blockerrorrate,bler)/数据包差错率(packeterrorratio,per)等参数中的至少一种参数来实现对当前通信链路中接收设备的通信链路的通信状况的评估,当然也可以通过测量其他的参数来实现对当前通信链路的通信状况的评估。

需要说明的是,所述测量通信链路的通信参数有多种,可以是上述提及的一种或多种的拟合,此处不作具体的限定。

在一种可行的实施方式中,发送设备可以将获取到的各项通信参数输入至训练好的评分确定模型中,输出通信质量分。其中,通过获取实际应用环境中的通信样本数据,提取特征信息,并对所述通信样本数据对应的分值进行标注,所述特征信息包含至少一个通信参数(rssi、snr、rscp等),创建评分确定模型。所述评分确定模型可以是使用大量的通信样本训练出来的,如评分确定模型可以是基于卷积神经网络(convolutionalneuralnetwork,cnn)模型,深度神经网络(deepneuralnetwork,dnn)模型、循环神经网络(recurrentneuralnetworks,rnn)、模型、嵌入(embedding)模型、梯度提升决策树(gradientboostingdecisiontree,gbdt)模型、逻辑回归(logisticregression,lr)模型中的至少一种实现的,基于已经标注分值的样本数据对评分确定模型进行训练,可以得到训练好的评分确定模型。

可选的,所述接收设备的反馈通信质量的通信质量分可以是接收设备主动发送的,如接收设备在获取图像时向发送设备发送当前的通信质量;或,发送设备可以向接收设备针对通信质量发送获取请求,接收设备基于获取请求反馈当前的通信质量至发送设备。

所述接收设备的显示分辨率可以是在发送设备预先保存的,发送设备在本端即可获取到接收设备的显示分辨率;或,接收设备在获取图像时向发送设备发送当前的显示分辨率;或,发送设备可以向接收设备针对显示分辨率发送分辨率获取请求,接收设备基于分辨率获取请求反馈当前的显示分辨率至发送设备。

步骤s207:基于所述通信质量以及所述显示分辨率,在所述至少一个所述图像拆分包中确定参考数量的目标图像拆分包。

在一种可行的实施方式中,发送设备预先保存有通信质量、所述显示分辨率以及参考数量的对应关系,所述参考数量小于图像拆分包的总数量,所述对应关系可以是以对应关系集合的形式,发送设备可以在所述对应关系集合中确定“通信质量(如通信质量分)、所述显示分辨率”共同对应的参考数量,可以理解的是,发送设备可以基于参考数量向接收设备传输参考数量指示的目标图像拆分包,基于接收设备所对应的实际应用环境,如通信质量、显示规格等,确定符合接收设备显示需求的相应图像数据,一方面可以节省图像传输过程中的传输开销,一方面可以更符合接收设备的实际使用场景,如接收设备的显示分辨率小于原始图像的图像分辨率,即使接收设备接收到全部的原始图像数据也无法显示达到原始图像的效果。

在一种可行的实施方式中,发送设备可以基于至少一个图像拆分图以及基础图像,确定接收设备对“至少一个图像拆分图以及基础图像”的参考分辨率,如,图像拆分包的总个数为n,发送设备则依次确定“1个图像拆分图以及基础图像对应的分辨率1”、“2个图像拆分图以及基础图像对应的分辨率2”...“n个图像拆分图以及基础图像对应的分辨率x”,则发送设备基于接收设备基于显示分辨率在所述多个参考显示率中,确定与显示分辨率相匹配的目标分辨率,所述目标分辨率小于或等于接收设备的显示分辨率,基于目标分辨率确定指定数量的图像拆分图以及基础图像,同时根据通信质量分确定可容纳传输的图像拆分图最大传输数量以及基础图像,可以理解的是所述以超过最大传输数量的图像拆分图以及基础图像进行传输,图像数据的丢包率较大、传输时延较大。接收设备确定所述最大传输数量以及所述指定数量中的最小值指示的参考数量。

步骤s208:将所述基础图像以及所述参考数量的目标图像拆分包传输至接收设备,所述接收设备用于显示所述基础图像并在所述基础图像上显示所述图目标图像拆分包对应的图像信息。

具体可参见步骤s102中的相关释义,此处不再赘述。

在一种具体的实施场景中,在步骤s203中,当对原始图像进行降阶处理后,接收设备可以生成基础啊图像对应的图像编码信息,将图像编码信息发送至接收设备,以使接收设备基于图像编码信息可以对降阶处理后的基础图像进行图像还原,具体如下:

1、发送设备在对每一轮对目标图像进行降阶后,获取所述目标图像中各像素点与所述原始图像的位置映射关系,以及所述原始图像的图像尺寸;

其中,位置映射关系用于表征当前目标图像中各像素点在原始图像中的位置。可以理解的是,当每一次对目标图像进行降阶时只需保存第一像素点在原始图像对应的原始图像矩阵的矩阵点坐标即可。

2、基于所述位置映射关系以及所述图像尺寸,生成所述目标图像所对应的图像编码信息;

具体的,发送设备在获取到所述位置映射关系以及所述图像尺寸之后,即可以生成包含位置映射关系以及图像尺寸的图像编码信息,所述图像编码信息用于指示接收设备基于图像尺寸和位置映射关系可以对基础图像进行显示,以及基于依次接收到的图像拆分包在基础图像的基础上进行图像还原。

3、当所述目标图像为所述基础图像时,此时通常目标图像满足停止抠图条件,此时发送设备即将当前一轮或最近一轮的目标图像作为基础图像,可以理解的是,在图像数据发送过程中,接收设备可以是将所述基础图像以及所述至少一个图像拆分包依次传输至接收设备,所述基础图像携带所述图像编码信息。

在本申请实施例中,发送设备可以对原始图像进行图像抠图处理,得到所述原始图像对应的基础图像以及至少一个图像拆分包,然后将所述基础图像以及所述至少一个图像拆分包传输至接收设备,所述接收设备用于显示所述基础图像并在所述基础图像上显示所述图像拆分包对应的图像信息;通过将原始图像进行图像抠图拆分,拆分为相较原始图像而言内存小的基础图像以及至少一个图像拆分包,并依次发送至接收设备,从而便于接收设备在首次接收到原始图像的基础图像之后即可进行显示,以及依次在基础图像上对接收到的图像拆分包的图像信息进行显示,缩短了图像显示时的加载显示时间;以及,在生成基础图像的过程中,可以对原始图像进行降阶处理,大幅降低了接收设备在接收到的基础图像的所占内存;以及可以将接收设备的通信质量以及显示分辨率纳入图像显示过程中进行参考,可以确定出相应数量的图像拆分包和基础图像进行发送,可以节省图像传输过程中的传输开销,以及更符合接收设备的实际使用场景。

在一个实施例中,如图3所示,特提出了一种图像处理方法,该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的图像处理装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,以下以图像处理装置为接收设备为例进行详细释义。

其中,所述接收设备包括但不限于:服务器、可穿戴设备、手持设备、个人电脑、平板电脑、车载设备、智能手机、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端设备可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、接收设备、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理(personaldigitalassistant,pda)、5g网络或未来演进网络中的电子设备等。

具体的,该图像处理方法包括:

步骤s301:获取发送设备传输的基础图像以及至少一个图像拆分包,所述基础图像以及所述至少一个图像拆分包为所述发送设备对原始图像进行图像抠图处理后生成。

所述基础图像可以理解为对原始图像进行图像抠图处理方法后的图像,所述原始图像可以由基础图像以及所述至少一个图像拆分包进行图像还原得到。所述基础图像所占的内存通常远小于原始图像,基础图像的图像分辨率小于原始图像的分辨率,可以理解的是基础图像预原始图像相比图像精度较低,但基础图像的显示效果与原始图像的显示效果相似度较高,在实际应用中,发送设备对原始图像图像处理后,以“传输的基础图像以及至少一个图像拆分包”可以避免相关技术中原始图像内存较大时,接收设备需要接收完原始图像后方可对其进行显示,可以理解的是接收设备只需在接收到基础图像以及至少一个图像拆分包后进行图像显示,也即接收设备只需接收到基础图像后方可对原始图像对应的基础图像进行加载显示,以及可以在所述基础图像上显示所述图像拆分包对应的图像信息,整个过程中图像显示的时间大幅缩短。

其中,发送设备可以依次传输基础图像以及至少一个图像拆分包,接收设备也可以依次接收发送设备发送的基础图像以及至少一个图像拆分包,然后显示所述基础图像并在所述基础图像上依次显示所述图像拆分包对应的图像信息。

具体的,接收设备与进行图像数据发送的发送设备建立通信链接之后,接收设备即可以向发送设备获取发送设备依次传输的基础图像以及至少一个图像拆分包,如接收设备可以向发送设备发送针对原始图像的图像获取请求,发送设备接收到所述图像获取请求并进行响应,对原始图像进行图像抠图处理,得到所述原始图像对应的基础图像以及至少一个图像拆分包,然后基于与接收设备之间的通信链接将基础图像以及所述至少一个图像拆分包依次传输至接收设备,此时接收设备即可依次获取到发送设备发送的基础图像以及所述至少一个图像拆分包;又如,发送设备可以主动向接收设备进行发送,示意性的,发送设备在监测到与接收设备之间的通信链接正常时,向接收设备依次主动发送基础图像以及所述至少一个图像拆分包。

进一步的,接收设备与发送设备之间的通信链接通常可以是采用预设通信架构建立两端之间的通信连接服务,所述通信架构是指进行数据通信的一种通信结构,通信架构定义了数据网络通信系统的各个方面,包含通信的接口类型、使用的网络协议、实现的数据框架、通信布线的类型等。常用的通信架构可以是tcp/ip架构,netty架构、c/s架构、soa架构等。如,一种所述通信架构可以是为采用基于java开源的netty框架,并配合websocket技术从而实现通信网络中接收设备与发送设备建立一种长连接(或短连接)的通信链接,并基于通信链接实现两端之间的通信数据的交互。以下将对基于长连接的通信链路以及基于短连接的通信链接进行详细释义,如下:

其中,所述所建立的通信链接可以为http长连接的通信链路或http短连接的通信链路。

长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。

长连接的操作步骤是:建立连接——数据传输...(保持连接)...数据传输——关闭连接。

短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。

短连接的操作步骤是:建立连接——数据传输——关闭连接...建立连接——数据传输——关闭连接。

长连接多用于操作频繁,点对点的通讯。每个tcp连接都需要三步握手,这需要时间,如果每个操作都是短连接,再操作的话那么处理速度会降低很多,所以每个操作完后都不断开,下次处理时直接发送数据包就ok了,不用建立tcp连接。例如:数据库的连接用长连接,如果用短连接频繁的通信会造成socket错误,而且频繁的socket创建也是对资源的浪费。

而像web网站的http服务一般都用短链接,因为长连接对于接收设备以及发送设备而言来说会耗费一定的资源,而像web网站这么频繁的成千上万甚至上亿客户端的连接用短连接会更省一些资源,如果用长连接,而且同时有成千上万的用户,如果每个用户都占用一个连接的话,那可想而知吧。所以并发量大,但每个用户无需频繁操作情况下需用短链接好。

长连接可以省去较多的tcp建立和关闭的操作,减少浪费,节约时间。在实际应用中,当第一通信链路传输的通信数据为对通信传输质量要求高的实时图像数据时,可以采用基于长连接的通信链路,如接收设备与发送设备之间采用基于长连接的通信链路

此时,长连接对于通信双方来说管理较为简单,存在的连接都是有用的连接,不需要额外的控制手段。但如果客户请求频繁,将在tcp的建立和关闭操作上浪费时间和带宽。因此,本申请实施例中,接收设备可以根据实际通信数据传输的环境,以合适的方式来建立发送设备与接收设备之间的通信连接,如长连接。

步骤s302:显示所述基础图像,并在所述基础图像上显示所述图像拆分包对应的图像信息。

具体的,接收设备可以在依次获取到基于原始图像进行图像抠图处理生成所述基础图像以及所述至少一个图像拆分包之后,也可以依次将所述基础图像以及所述至少一个图像拆分包进行图像输出;在一种可行的实施方式中,接收设备可以先获取到基础图像,再依次获取到至少一个图像拆分包,可以理解的是,接收设备可以在接收到所述基础图像之后,无需等待原始图像的数据全部下载完(即基础图像和所有的图像拆分包),即可以预先对基础图像进行显示,以及在依次接收到至少一个图像拆分包,基于接收到各图像拆分包的顺序,在已经显示基础图像的基础上对各图像拆分包进行包解析,获取到图像拆分包中的用于对基础图像还原显示的图像信息,然后在基础图像上依次显示图像拆分包对应的图像信息,即对图像信息进行图像解析处理,从而一步步还原基础图像对应的原始图像。

在一种可行的实施方式中,接收设备可以基于当前网络下的通信质量以及接收设备的显示分辨率,向发送设备获取到相匹配的清晰度的图像,可以理解的是,发送设备将原始图像拆分为一个基础图像以及n个图像拆分包,接收设备可以基于当前实际应用环境(通信质量以及显示分辨率),获取到发送设备基于“通信质量以及接收设备的显示分辨率”确定发送的一个基础图像以及m个图像拆分包(m小于n),而接收设备基于基础图像以及m个图像拆分包进行图像显示时,所显示的图像的清晰度为与接收设备的实际应用环境相匹配的清晰度。也即,此时接收设备无需对全部的原始图像进行显示。具体如下:

1、接收设备获取当前的通信质量以及所述接收设备的显示分辨率,将所述通信质量以及所述显示分辨率发送至所述发送设备。

具体的,在接收设备与发送设备之间的通信链路建立之后,接收设备可以具有通信链路监测机制,可以通过通信状态监测机制,对当前通信链路进行监测,从而获取到接收设备当前的通信质量,具体为接收设备可以获取第一通信链路的至少一个通信参数,根据各所述通信参数计算通信质量分,基于通信质量分来评判接收设备的通信状况。其中,具体实施步骤可参考步骤s205中的相关释义,此处不再赘述。接收设备在确定当前的通信质量以及显示分辨率之后,即通过与发送设备之间的通信链路发送至发送设备。

2、接收设备获取发送设备依次传输的基础图像,以及获取所述发送设备基于所述通信质量以及所述显示分辨率确定的参考数量的至少一个图像拆分包。

其中,发送设备根据所述通信质量以及所述显示分辨率确定的参考数量的至少一个图像拆分包的步骤,具体可参考步骤s207,此处不再赘述。

进一步的,此时,接收设备只需显示所述基础图像,并在所述基础图像上依次显示所述参考数量指示的至少一个图像拆分包对应的图像信息。可以理解的是,发送设备可以基于参考数量向接收设备传输参考数量指示的目标图像拆分包,实现了接收设备基于所对应的实际应用环境,如通信质量、显示规格等,确定符合接收设备显示需求的相应图像数据,一方面可以节省图像传输过程中的传输开销,一方面可以更符合接收设备的实际使用场景,如接收设备的显示分辨率小于原始图像的图像分辨率,即使接收设备接收到全部的原始图像数据也无法显示达到原始图像的效果。

在本申请实施例中,接收设备获取发送设备依次传输的基础图像以及至少一个图像拆分包,所述基础图像以及所述至少一个图像拆分包为所述发送设备对原始图像进行图像抠图处理后生成,然后显示所述基础图像,并在所述基础图像上显示所述图像拆分包对应的图像信息。通过获取原始图像进行图像抠图拆分后的内存较小的基础图像以及至少一个图像拆分包,接收设备可以在首次接收到原始图像对应的基础图像之后即可进行显示,以及依次在基础图像上对接收到的图像拆分包的图像信息进行显示,缩短了图像显示时的加载显示时间,提高图像显示速度;以及,在生成基础图像的过程中,可以对原始图像进行降阶处理,大幅降低了接收设备在接收到的基础图像的所占内存;以及可以将接收设备的通信质量以及显示分辨率纳入图像显示过程中进行参考,方便发送设备确定出相应数量的图像拆分包和基础图像进行发送,可以节省图像传输过程中的传输开销,以及更符合接收设备的实际使用场景。

请参见图4,图4是本申请提出的一种图像处理方法的另一种实施例的流程示意图,应用于接收设备。具体的:

步骤s401:获取发送设备传输的基础图像以及至少一个图像拆分包,所述基础图像以及所述至少一个图像拆分包为所述发送设备对原始图像进行图像抠图处理后生成。

具体可参见步骤s301,此处不再赘述。

步骤s402:确定所述基础图像中的第一像素点以及所述第一像素点之外的第二像素点。

根据一些实施例中,所述第一像素点为发送设备对原始图像进行图像抠图生成基础图像的处理过程中,扣除了像素值后的像素点,通常发送设备会将第一像素点的像素值更新为目标像素值,如目标像素值可以是0。

具体的,接收设备在实际确定基础图像中的第一像素点时,一种方式是获取基础图像中像素值为目标像素值(如0)的像素点即为第一像素点,一种方式是遍历基础图像中每个像素点的像素值,确定特定像素值数量最多的目标像素值,然后将目标像素值对应的像素点作为目标像素点,可以理解的是,通常基础图像中第一像素点的像素值为基础图像中最多的像素值。

具体的,接收设备在确定基础图像中的第一像素点之后,即可将基础图像中除去第一像素点之外的像素点作为第二像素点,可以理解的是,第二像素点的像素值在对原始图像进行图像抠图处理中未作处理,即与原始图像中该像素点的像素值一致。

步骤s403:基于所述第二像素点的第二像素值,采用预设的差值拟合算法计算所述第一像素点对应的第一参考像素值。

在本申请实施例中,由于第二像素点的像素值在对原始图像进行图像抠图处理中未作处理,在基于基础图像对按照原始图像的规格(如尺寸、图像内容等等)进行显示时,需要对基础图像已经作图像抠图处理的更新为目标像素值的第一像素点进行近似还原,以缩小在对基础图像显示时,第一像素点与第二像素点之间的像素差异度。接收设备通过预设差值拟合算法,基于差值拟合算法在基于图像抠图处理中未作处理的第二像素点,计算第一像素点对应的第一参考像素值。从而实现对第一像素点的实际像素值的近似还原。

以下对采用预设的差值拟合算法计算第一参考像素值进行详细释义:

在本申请实施例中,差值拟合算法利用已知的第二像素点建立合适的插值函数f(x)的表达式,而未知点第一像素点xi由差值拟合算法f(x)可以求出函数值f(xi),以(xi,f(xi))即为第二像素点的近似像素值。

对于基础图像中相异的n个像素点,基于数学思想,可以借助于一个(n-1)次的多项式:y=a0+a1x+a2x2+...+an-1xn-1可以表示这些点。

一种差值拟合方式可以是基于拉格朗日数学思想的差值拟合算法,如下:

假设已知n个像素点的坐标x以及像素值y,也即(x1,y1)、(x2,y2)、...(xn,yn),构造表示这些像素点的插值函数y的表达式(y与上述f(x)等同),

则从第一个像素点至第n个像素点可表示为:

y1=a0+a1x1+a2x12+...+an-1x1n-1

y2=a0+a1x2+a2x22+...+an-1x2n-1

......

yn=a0+anx+a2xn2+...+an-1xnn-1

基于上述像素点可以化简得到差值拟合算法对应的多项式的表达式为:

可以理解的是当需要求的某一第一像素点的第一参考像素值时,只需该第一像素点之前的参考点(即所述第二像素点)依次带入可以得到该第一像素点的像素值,以此类推可以得到各第一像素点对应的第一参考像素值。

一种差值拟合方式可以是基于牛顿数学思想的差值拟合算法,如下:

假设有一个nxn的图像(n行n列),第i个像素点;f(xi,yi)表征图像对应的矩阵中的某一点的像素值,进一步的,已知n个像素点的坐标x以及像素值y,也即(x1,y1)、(x2,y2)、...(xn,yn),以下对基于牛顿数学思想的差值拟合算法的相关基本定义进行释义:

f(x)在xi的0阶差商为f(xi);

f(x)在xi与xj的一阶差商为

f(x)在xi、xj、xk的二阶差商为

...

则f(x)的n阶向前差分可表示为

进一步的,上述可以以如图5所示的差商表表示,在图5中可以确定x的n阶差商。基于图5所示的差商表,可以采用同列维尔法,即每次用前一列同行的差商与前一列上一行的差商在作差商。

然后基于上述式子不断迭代代入消去,并在推导过程中不含未知点x的插值逼近函数保留,对含未知x的余项进行消去,从而可以生成基础图像的第一像素点的进行近似表示的函数公式,如下:

其中,h为系数,在对基础图像的第一像素点的进行拟合表示时确定,基于实际应用环境确定,此处不做具体限定。

可以理解的是当需要求的某一第一像素点的第一参考像素值时,只需该第一像素点之前的参考点(即所述第二像素点)依次带入可以得到该第一像素点的像素值,以此类推可以得到各第一像素点对应的第一参考像素值。

步骤s404:将所述基础图像中第一像素点的第一像素值更新为所述第一参考像素值。

具体的,在根据步骤s403,确定第一像素点的第一参考像素值之后,通常所述第一像素点的数量在实际应用中为至少一个,接收设备即将所述基础图像中第一像素点的第一像素值更新为所述第一参考像素值。

步骤s405:获取所述至少一个图像拆分包中各图像拆分包的图像差分矩阵、所述基准点以及像素选取算法。

具体的,接收设备在依次获取到发送设备发送的至少一个图像拆分包之后,基于接收到各图像拆分包的顺序,在已经显示基础图像的基础上对各图像拆分包进行包解析,获取到图像拆分包中的用于对基础图像还原显示的图像信息,在本申请实施例中,所述图像信息可以是图像拆分包中的图像差分矩阵、所述基准点以及像素选取算法。

所述图像差分矩阵为发送设备在对原始图像每一轮图像抠图处理生成的图像矩阵,在实际应用中,发送设备在原始图像中确定一轮待抠图的所有第一像素点之后,获取第一像素点对应的第一像素值并填入预设矩阵中,从而生成图像差分矩阵。

所述基准点可以理解为发送设备对原始图像进行一轮抠图处理的参考抠图点,实际应用基于所述基准点并结合预设的像素选取算法可以得到一轮抠图处理的所有第一像素点。其中,所述参考抠图点的数量可以是一个,也可以是多个,在参考抠图点为多个的情况下,发送设备可以基于多个参考抠图点采用串行或并行的方式基于各参考抠图点分别确定至少一个第一像素点。在本申请实施例,基准点用于辅助确定基础图像对应的图像矩阵中与所述图像差分矩阵的各矩阵点相关联的所述第四像素点。

在本申请实施例中,接收设备基于基准点以及像素选取算法,来确定发送设备图像抠图时基础图像中所有的待抠图点,也即当前图像拆分包在基础图想中对应的第四像素点。

步骤s406:基于所述基准点以及所述像素选取算法,在所述基础图像对应的图像矩阵中确定与所述图像差分矩阵的各矩阵点相关联的所述第四像素点。

所述第四像素点为接收设备基于图像矩阵中的各矩阵点的参考像素值,需要将所述参考像素值填入至相关联位置处的像素点。

所述预设的像素选取算法为发送设备根据实际应用环境确定,可以基于线性像素选取算法,即发送设备在各抠图像素点的选取存在一定的函数线性映射关系,如设置像素选取间隔,每隔n个像素点选取一个第一像素点,即等间距选取第一像素点;可以基于非线性像素选取算法,即各第一像素点的选取不存在一定的函数线性映射关系,如常见的各像素点选取可以是离散选取各第一像素点。

如,一种像素选取算法可以是,发送设备在对原始图像进行图像抠图处理时,设置有第一像素点的总选取个数x,基于基准点(a,b)则根据像素选取算法对应的选取规则,如以基准点为参考,每隔两个像素点选取一个第一像素点,待选取到总选取个数x指示的数量个数第一像素点的选取。

则接收设备在确定第四像素点时,即可基于基准点在基础图像中的位置,然后每隔两个像素点确定一个第四像素点,以此类推,直至选取完“总选取个数x”指示的第四像素点。

如,一种像素选取算法可以是,发送设备在对原始图像进行图像抠图处理时,对第一像素点的总选取个数不作限定,只需基于基准点(a,b)以及像素选取算法对应的选取规则以基准点为参考,如每隔两个像素点选取一个第一像素点,待对原始图像所对应的所有像素点按照选取规则选取结束第一像素点之后,完成选取过程。

则接收设备在确定第四像素点时,即可基于基准点在基础图像中的位置,然后每隔两个像素点确定一个第四像素点,以此类推,直至原始图像所对应的所有像素点按照选取规则选取完第四像素点。

需要说明的是,像素选取算法有多种,具体根据实际应用环境确定,可以理解的是,接收设备在基础图像中选取或确定第四像素点的过程,也即为发送设备对原始图像进行选取或确定第一像素点的逆过程。

步骤s407:获取所述矩阵点的参考像素值,在所述基础图像对应的图像矩阵中,将所述第四像素点的第四像素值更新为所述参考像素值。

具体的,接收设备获取图像差分矩阵中各所述矩阵点分别对应的参考像素值,然后按照在基础图像对应的图像矩阵中所述矩阵点对应的第四像素点,将所述第四像素点的第四像素值更新为所述参考像素值。从而完成所述在所述基础图像上依次显示所述图像拆分包对应的图像信息的过程。

在本申请实施例中,接收设备获取发送设备传输的基础图像以及至少一个图像拆分包,所述基础图像以及所述至少一个图像拆分包为所述发送设备对原始图像进行图像抠图处理后生成,然后显示所述基础图像,并在所述基础图像上显示所述图像拆分包对应的图像信息。通过获取原始图像进行图像抠图拆分后的内存较小的基础图像以及至少一个图像拆分包,接收设备可以在首次接收到原始图像对应的基础图像之后即可进行显示,以及可以依次在基础图像上对接收到的图像拆分包的图像信息进行显示,缩短了图像显示时的加载显示时间,提高图像显示速度;以及,在生成基础图像的过程中,可以对原始图像进行降阶处理,大幅降低了接收设备在接收到的基础图像的所占内存;以及可以将接收设备的通信质量以及显示分辨率纳入图像显示过程中进行参考,方便发送设备确定出相应数量的图像拆分包和基础图像进行发送,可以节省图像传输过程中的传输开销,以及更符合接收设备的实际使用场景。

请参见图6,图6是本申请提出的一种图像处理方法的另一种实施例的流程示意图,应用于接收设备。具体的:

步骤s501:获取发送设备传输的基础图像以及至少一个图像拆分包,所述基础图像以及所述至少一个图像拆分包为所述发送设备对原始图像进行图像抠图处理后生成。

具体可参见步骤s301,此处不再赘述。

步骤s502:获取所述基础图像携带的所述图像编码信息,基于所述图像编码信息,确定所述基础图像中至少一个第二像素点与原始图像的位置映射关系,以及所述原始图像的图像尺寸。

在本实施例中,所述基础图像为对原始图像进行图像降阶处理后的图像,因此接收设备需要基于基础图像携带的图像编码信息对将基础图像进行图像还原。

其中,所述图像编码信息可以是基础图像中各像素点(也即本申请实时例中的第二像素点)与所述原始图像的位置映射关系,以及所述原始图像的图像尺寸。

示意性,,发送设备在对原始图像进行图像降阶处理时,假设原始图像对应的图像矩阵为m*n的矩阵,由至少一个已抠图的像素点的像素值构成的图像差分矩阵为m*n的矩阵,则发送设备确定原始图像的降阶阶数为(m-m,n-n)。基于所述降阶阶数对原始图像中的所有已抠图的像素点进行滤除,从而得到降阶之后的基础图像,也即所述图像拆分包之外的基础图像。同时发送设备在对每一轮对目标图像(即每一轮对原始图像进行图像抠图处理后的图像)进行降阶后,获取所述目标图像中各像素点与所述原始图像的位置映射关系,以及所述原始图像的图像尺寸,然后会基于位置映射关系以及图像尺寸生成图像编码信息。

基于此,接收设备只需对图像编码信息进行信息解析,即可提取所述图像编码信息所包含的所述基础图像中至少一个第二像素点与原始图像的位置映射关系,以及所述原始图像的图像尺寸。

步骤s503:根据所述图像尺寸以及所述位置映射关系,对所述基础图像中至少一个所述第二像素点进行图像还原显示。

具体的,接收设备在获取到所述图像尺寸以及所述位置映射关系,然后确定对基础图像中的至少一个所述第二像素点,并对至少一个所述第二像素点进行图像还原显示。具体如下:

1、根据所述图像尺寸构建所述原始图像对应的初始矩阵;

具体的,接收设备首先基于所述图像尺寸构建原始图像对应的初始矩阵,例如图像尺寸为a*b,接收设备即可基于图像尺寸对应的每个图像单元上所对应的像素点的个数x,来构建相应的初始矩阵,也即初始矩阵的矩阵规格为“ax*ab”。构建时并对初始矩阵中的矩阵点进行矩阵点像素的初始化处理,如将各矩阵点的像素值设置为0。

2、基于所述位置映射关系,将所述基础图像中至少一个所述第二像素点添加至所述初始矩阵中;

具体的,接收设备基于“所述基础图像中至少一个第二像素点与原始图像的位置映射关系”,也即基于所述第二像素点在原始图像的初始矩阵中的位置,将所述基础图像中至少一个所述第二像素点添加至所述初始矩阵中,具体实施中即将所述初始矩阵上的第二像素点对应的矩阵点的像素值设置为第二像素值,以及将该矩阵点设置为第二像素点。

3、确定所述初始矩阵中除所述第二像素点之外的至少一个所述第三像素点;

具体的,在本实施例中,由于基础图像为降阶后的图像,也即将基础图像中的所有第二像素点还原至初始矩阵后,会存在初始矩阵中矩阵点的像素值为初始像素值(如0)的第三像素点,接收设备可以确定初始矩阵中除所述第二像素点之外的至少一个所述第三像素点。

3、基于所述基础图像中的至少一个所述第二像素点的第二像素值,采用预设的差值拟合算法计算所述第三像素点对应的第二参考像素值;

在本申请实施例中,由于第二像素点的像素值在对原始图像进行图像抠图处理,在基于基础图像对按照原始图像的规格(如尺寸、图像内容等等)进行显示时,需要对基础图像所对应的原始图像的初始矩阵中的的第三像素点进行近似还原,以缩小在对基础图像对应的原始图像显示时,各像素点之间的像素差异度。接收设备通过预设差值拟合算法,基于差值拟合算法在基于图像抠图处理中未作处理的第二像素点(也即至少一个所述第二像素点的第二像素值),计算第三像素点对应的第一参考像素值。从而实现对第三像素点的实际像素值的近似还原。

其中,所述采用预设的差值拟合算法计算所述第三像素点对应的第二参考像素值的步骤,可以参考步骤s403中“采用预设的差值拟合算法计算所述第一像素点对应的第一参考像素值”的相关释义,此处不再赘述。

5、将所述第三像素点的第三像素值更新为所述第二参考像素值。

步骤s504:获取所述至少一个图像拆分包中各图像拆分包的图像差分矩阵、所述基准点以及像素选取算法。

具体可参见步骤s405,此处不再赘述。

步骤s505:基于所述基准点以及所述像素选取算法,对所述初始矩阵中的第三像素点的所述第三像素值进行更新,得到所述基础图像对应的原始图像信息。

具体的,在接收到基础图像对基础图像进行显示时,第三像素点的第三像素值为采用差值拟合算法确定的近似的像素值,在依次获取到发送设备发送的图像拆分包时,图像拆分包中的图像差分矩阵的各矩阵点上的参考像素值为原始图像的初始矩阵上的实际第三像素值,因此,接收设备接收到发送设备的图像拆分包之后对图像拆分包中的所包含的图像差分矩阵的各矩阵点上的参考像素值进行图像还原,具体过程如下,

1、基于所述基准点以及所述矩阵点确定算法,在所述初始矩阵中确定与所述图像差分矩阵的各矩阵点相关联的所述第三像素点。

所述第四像素点为接收设备基于图像矩阵中的各矩阵点的参考像素值,需要将所述参考像素值填入至初始矩阵中相关联位置处的像素点。

所述预设的像素选取算法为发送设备根据实际应用环境确定,可以基于线性像素选取算法,即发送设备在各抠图像素点的选取存在一定的函数线性映射关系,如设置像素选取间隔,每隔n个像素点选取一个第一像素点,即等间距选取第一像素点;可以基于非线性像素选取算法,即各第一像素点的选取不存在一定的函数线性映射关系,如常见的各像素点选取可以是离散选取各第一像素点,其中,第一像素点与第四像素点相对应,在本实施例中,图像编码时通过对原始图像进行图像扣图处理而确定第一像素点,图像差分矩阵中矩阵点的像素值为基于第一像素点的像素值生成的,而图像差分矩阵中矩阵点的像素值需要填入至初始矩阵中的第三像素点上。

如,一种像素选取算法可以是,发送设备在对原始图像进行图像抠图处理时,设置有第一像素点的总选取个数x,基于基准点(a,b)则根据像素选取算法对应的选取规则,如以基准点为参考,每隔两个像素点选取一个第三像素点,待选取到总选取个数x指示的数量个数第三像素点的选取。

则接收设备在确定第三像素点时,即可基于基准点在基础图像中的位置,然后每隔两个像素点确定一个第三像素点,以此类推,直至选取完“总选取个数x”指示的第三像素点。

如,一种像素选取算法可以是,发送设备在对原始图像进行图像抠图处理时,对第一像素点的总选取个数不作限定,只需基于基准点(a,b)以及像素选取算法对应的选取规则以基准点为参考,如每隔两个像素点选取一个第三像素点,待对原始图像所对应的所有像素点按照选取规则选取结束第三像素点之后,完成选取过程。

则接收设备在确定第三像素点时,即可基于基准点在基础图像中的位置,然后每隔两个像素点确定一个第三像素点,以此类推,直至原始图像所对应的所有像素点按照选取规则选取完第三像素点。

需要说明的是,像素选取算法有多种,具体根据实际应用环境确定,可以理解的是,接收设备在基础图像中选取或确定第三像素点的过程,也即为发送设备对原始图像进行选取或确定第一像素点的逆过程,可以理解的是一轮图像拆分包生成过程中,选取的第一像素点的数量,和基于该图像拆分包进行基础图像还原过程中,选取的第三像素点的数量相同。

可以理解的是,当接收的图像拆分包为多个时,则接收设备需要多次执行所述基于所述基准点以及所述矩阵点确定算法,在所述初始矩阵中确定与所述图像差分矩阵的各矩阵点相关联的所述第三像素点的步骤。直至对获取到的发送设备发送的最后一个图像拆分包为止。

2、获取所述矩阵点的参考像素值,将所述第三像素点的所述第三像素值更新为所述参考像素值,得到所述基础图像的原始图像信息。

具体的,接收设备获取图像差分矩阵中各所述矩阵点分别对应的参考像素值,然后按照在基础图像对应的图像矩阵中所述矩阵点对应的第三像素点,将所述第三像素点的第三像素值更新为所述参考像素值。可以理解的是,所述原始图像信息即为第三像素点上的第三像素值。

步骤s506:在所述基础图像上显示所述原始图像信息。

根据一些实施例中,接收设备在所述基础图像上可以依次对基于图像拆分包而确定的第三像素点上的第三像素值进行图像像素值的加载,从而基于原始图像信息(第三像素点上的第三像素值)对基础图像的显示画面进行图像渲染。

在本申请实施例中,接收设备获取发送设备传输的基础图像以及至少一个图像拆分包,所述基础图像以及所述至少一个图像拆分包为所述发送设备对原始图像进行图像抠图处理后生成,然后显示所述基础图像,并在所述基础图像上依次显示所述图像拆分包对应的图像信息。通过获取原始图像进行图像抠图拆分后的内存较小的基础图像以及至少一个图像拆分包,接收设备可以在首次接收到原始图像的基础图像之后即可进行显示,以及依次在基础图像上对接收到的图像拆分包的图像信息进行显示,缩短了图像显示时的加载显示时间,提高图像显示速度;以及,在生成基础图像的过程中,可以对原始图像进行降阶处理,大幅降低了接收设备在接收到的基础图像的所占内存;以及可以将接收设备的通信质量以及显示分辨率纳入图像显示过程中进行参考,方便发送设备确定出相应数量的图像拆分包和基础图像进行发送,可以节省图像传输过程中的传输开销,以及更符合接收设备的实际使用场景。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参见图7,其示出了本申请一个示例性实施例提供的图像处理装置的结构示意图。该图像处理装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置1包括原始图像抠图模块11和图像数据发送模块13。

原始图像抠图模块11,用于对原始图像进行图像抠图处理,得到所述原始图像对应的基础图像以及至少一个图像拆分包;

图像数据发送模块12,用于将所述基础图像以及所述至少一个图像拆分包传输至接收设备,所述接收设备用于显示所述基础图像并在所述基础图像上显示所述图像拆分包对应的图像信息。

可选的,如图8所示,所述原始图像抠图模块11,包括:

抠图位置确定单元111,用于在所述原始图像中确定第一抠图位置,基于所述第一抠图位置生成图像拆分包以及所述图像拆分包之外的目标图像;

所述抠图位置确定单元111,还用于当所述目标图像不满足所述停止抠图条件时,在所述目标图像中确定第二抠图位置,将所述第二抠图位置作为所述第一抠图位置,并执行所述基于所述第一抠图位置生成图像拆分包以及所述图像拆分包之外的目标图像的步骤;

图像数据生成单元112,用于当所述目标图像满足停止抠图条件时,将所述目标图像作为基础图像,得到至少一个所述图像拆分包以及所述至少一个图像拆分包之外的基础图像。

可选的,如图9所示,所述抠图位置确定单元111,包括:

像素点选取子单元1111,用于在所述原始图像中确定基准点,基于预设的像素选取算法以及所述基准点,在所述原始图像中确定至少一个第一像素点;

图像拆分包生成子单元1112,用于获取所述至少一个第一像素点的第一像素值,生成图像拆分包;

目标图像生成子单元1113,用于基于所述至少一个第一像素点以及所述原始图像,生成所述图像拆分包之外的目标图像。

可选的,所述图像拆分包生成子单元1112,具体用于:

获取所述至少一个第一像素点的第一像素值,确定每个所述第一像素点在预设矩阵中的位置信息;

基于所述位置信息将所述第一像素点的第一像素值添加至所述预设矩阵中,生成图像差分矩阵;

基于所述图像差分矩阵、所述基准点以及所述像素选取算法,生成图像拆分包。

可选的,所述目标图像生成子单元1113,具体用于:

在所述原始图像中,将所有所述第一像素点的所述第一像素值设置为目标像素值,得到所述图像拆分包之外的目标图像。

可选的,所述图像拆分包生成子单元1112,具体用于:

在所述原始图像中,将所有所述第一像素点的所述第一像素值设置为目标像素值,并对所述原始图像进行图像降阶处理,得到所述图像拆分包之外的目标图像。

可选的,所述图像拆分包生成子单元1112,具体用于:

获取所述目标图像中各像素点与所述原始图像的位置映射关系,以及所述原始图像的图像尺寸;

基于所述位置映射关系以及所述图像尺寸,生成所述目标图像所对应的图像编码信息;

所述图像数据发送模块12,具体用于:

当所述目标图像为所述基础图像时,将所述基础图像以及所述至少一个图像拆分包依次传输至接收设备,所述基础图像携带所述图像编码信息。

可选的,所述图像数据发送模块12,具体用于:

获取所述接收设备的通信质量以及所述接收设备的显示分辨率;

基于所述通信质量以及所述显示分辨率,在所述至少一个所述图像拆分包中确定参考数量的目标图像拆分包;

将所述基础图像以及所述参考数量的目标图像拆分包依次传输至接收设备。

需要说明的是,上述实施例提供的图像处理装置在执行图像处理方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图像处理装置与图像处理方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请实施例中,发送设备可以对原始图像进行图像抠图处理,得到所述原始图像对应的基础图像以及至少一个图像拆分包,然后将所述基础图像以及所述至少一个图像拆分包传输至接收设备,所述接收设备用于显示所述基础图像并在所述基础图像上依次显示所述图像拆分包对应的图像信息;通过将原始图像进行图像抠图拆分,拆分为相较原始图像而言内存小的基础图像以及至少一个图像拆分包,并依次发送至接收设备,从而便于接收设备在首次接收到原始图像的基础图像之后即可进行显示,以及在基础图像上对接收到的图像拆分包的图像信息进行显示,缩短了图像显示时的加载显示时间,提高图像显示速度。

请参见图10,其示出了本申请一个示例性实施例提供的另一种图像处理装置的结构示意图。该图像处理装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置2包括图像数据获取模块21和图像数据显示模块22。

图像数据获取模块21,用于获取发送设备传输的基础图像以及至少一个图像拆分包,所述基础图像以及所述至少一个图像拆分包为所述发送设备对原始图像进行图像抠图处理后生成;

图像数据显示模块22,用于显示所述基础图像,并在所述基础图像上显示所述图像拆分包对应的图像信息。

可选的,如图11所示,所述图像数据显示模块22,包括:

图像信息确定单元221,用于获取所述基础图像携带的所述图像编码信息,基于所述图像编码信息,确定所述基础图像中至少一个第二像素点与原始图像的位置映射关系,以及所述原始图像的图像尺寸;

图像数据显示单元222,用于根据所述图像尺寸以及所述位置映射关系,对所述基础图像中至少一个所述第二像素点进行图像还原显示。

可选的,所述图像数据显示单元222,具体用于:

根据所述图像尺寸构建所述原始图像对应的初始矩阵;

基于所述位置映射关系,将所述基础图像中至少一个所述第二像素点添加至所述初始矩阵中;

确定所述初始矩阵中除所述第二像素点之外的至少一个所述第三像素点;

基于所述基础图像中的至少一个所述第二像素点的第二像素值,采用预设的差值拟合算法计算所述第三像素点对应的第二参考像素值;

将所述第三像素点的第三像素值更新为所述第二参考像素值。

可选的,所述图像数据显示单元222,具体用于:

获取所述至少一个图像拆分包中各图像拆分包的图像差分矩阵、所述基准点以及像素选取算法;

基于所述基准点以及所述像素选取算法,在所述基础图像对应的图像矩阵中确定与所述图像差分矩阵的各矩阵点相关联的第四像素点;

获取所述矩阵点的参考像素值,在所述基础图像对应的图像矩阵中,将所述第四像素点的第四像素值更新为所述参考像素值。

可选的,所述图像数据显示单元222,具体用于:

获取所述至少一个图像拆分包中各图像拆分包的图像差分矩阵、所述基准点以及像素选取算法;

基于所述基准点以及所述像素选取算法,对所述初始矩阵中的第三像素点的所述第三像素值进行更新,得到所述基础图像对应的原始图像信息;

在所述基础图像上显示所述原始图像信息。

可选的,所述图像数据显示单元222,具体用于:

基于所述基准点以及所述矩阵点确定算法,在所述初始矩阵中确定与所述图像差分矩阵的各矩阵点相关联的所述第三像素点;

获取所述矩阵点的参考像素值,将所述第三像素点的所述第三像素值更新为所述参考像素值。

可选的,所述图像数据获取模块21,具体用于:

获取当前的通信质量以及所述接收设备的显示分辨率,将所述通信质量以及所述显示分辨率发送至所述发送设备;

所述图像数据显示模块22,具体用于:

获取发送设备传输的基础图像,以及获取所述发送设备基于所述通信质量以及所述显示分辨率确定的参考数量的图像拆分包。

需要说明的是,上述实施例提供的图像处理装置在执行图像处理方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图像处理装置与图像处理方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请实施例中,接收设备获取发送设备传输的基础图像以及至少一个图像拆分包,所述基础图像以及所述至少一个图像拆分包为所述发送设备对原始图像进行图像抠图处理后生成,然后显示所述基础图像,并在所述基础图像上依次显示所述图像拆分包对应的图像信息。通过获取原始图像进行图像抠图拆分后的内存较小的基础图像以及至少一个图像拆分包,接收设备可以在首次接收到原始图像的基础图像之后即可进行显示,以及在基础图像上对接收到的图像拆分包的图像信息进行显示,缩短了图像显示时的加载显示时间,提高图像显示速度;以及,在生成基础图像的过程中,可以对原始图像进行降阶处理,大幅降低了接收设备在接收到的基础图像的所占内存;以及可以将接收设备的通信质量以及显示分辨率纳入图像显示过程中进行参考,方便发送设备确定出相应数量的图像拆分包和基础图像进行发送,可以节省图像传输过程中的传输开销,以及更符合接收设备的实际使用场景。

本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图6所示实施例的所述图像处理方法,具体执行过程可以参见图1-图6所示实施例的具体说明,在此不进行赘述。

本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如上述图1-图6所示实施例的所述图像处理方法,具体执行过程可以参见图1-图6所示实施例的具体说明,在此不进行赘述。

请参见图12,为本申请实施例提供了一种电子设备的结构示意图。如图12所示,所述电子设备1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。

其中,通信总线1002用于实现这些组件之间的连接通信。

其中,用户接口1003可以包括显示屏(display)、摄像头(camera),可选用户接口1003还可以包括标准的有线接口、无线接口。

其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。

其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种借口和线路连接整个服务器1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行服务器1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。

其中,存储器1005可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图12所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据传输控制应用程序。

在图12所示的电子设备1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的图像处理应用程序,并具体执行以下操作:

对原始图像进行图像抠图处理,得到所述原始图像对应的基础图像以及至少一个图像拆分包;

将所述基础图像以及所述至少一个图像拆分包传输至接收设备,所述接收设备用于显示所述基础图像并在所述基础图像上显示所述图像拆分包对应的图像信息。

在一个实施例中,所述处理器1001在执行所述对原始图像进行图像抠图处理,得到所述原始图像对应的基础图像以及至少一个图像拆分包时,具体执行以下操作:

在所述原始图像中确定第一抠图位置,基于所述第一抠图位置生成图像拆分包以及所述图像拆分包之外的目标图像;

当所述目标图像不满足所述停止抠图条件时,在所述目标图像中确定第二抠图位置,将所述第二抠图位置作为所述第一抠图位置,并执行所述基于所述第一抠图位置生成图像拆分包以及所述图像拆分包之外的目标图像的步骤;

当所述目标图像满足停止抠图条件时,将所述目标图像作为基础图像,得到至少一个所述图像拆分包以及所述至少一个图像拆分包之外的基础图像。

在一个实施例中,所述处理器1001在执行所述在所述原始图像中确定第一抠图位置,基于所述第一抠图位置生成图像拆分包以及所述图像拆分包之外的目标图像时,具体执行以下操作:

在所述原始图像中确定基准点,基于预设的像素选取算法以及所述基准点,在所述原始图像中确定至少一个第一像素点;

获取所述至少一个第一像素点的第一像素值,生成图像拆分包;

基于所述至少一个第一像素点以及所述原始图像,生成所述图像拆分包之外的目标图像。

在一个实施例中,所述处理器1001在执行所述获取所述至少一个第一像素点的第一像素值,生成图像拆分包时,具体执行以下操作:

获取所述至少一个第一像素点的第一像素值,确定每个所述第一像素点在预设矩阵中的位置信息;

基于所述位置信息将所述第一像素点的第一像素值添加至所述预设矩阵中,生成图像差分矩阵;

基于所述图像差分矩阵、所述基准点以及所述像素选取算法,生成图像拆分包。

在一个实施例中,所述处理器1001在执行所述基于所述至少一个第一像素点以及所述原始图像,生成所述图像拆分包之外的目标图像时,具体执行以下操作:

在所述原始图像中,将所有所述第一像素点的所述第一像素值设置为目标像素值,得到所述图像拆分包之外的目标图像。

在一个实施例中,所述处理器1001在执行所述图像处理方法时,具体执行以下操作:

获取所述目标图像中各像素点与所述原始图像的位置映射关系,以及所述原始图像的图像尺寸;

基于所述位置映射关系以及所述图像尺寸,生成所述目标图像所对应的图像编码信息;

所述将所述基础图像以及所述至少一个图像拆分包传输至接收设备,包括:

当所述目标图像为所述基础图像时,将所述基础图像以及所述至少一个图像拆分包依次传输至接收设备,所述基础图像携带所述图像编码信息。

在一个实施例中,所述处理器1001在执行所述将所述基础图像以及所述至少一个图像拆分包传输至接收设备时,具体执行以下操作:

获取所述接收设备的通信质量以及所述接收设备的显示分辨率;

基于所述通信质量以及所述显示分辨率,在所述至少一个所述图像拆分包中确定参考数量的目标图像拆分包;

将所述基础图像以及所述参考数量的目标图像拆分包传输至接收设备。

在一个实施例中,所述处理器1001在执行所述时,具体执行以下操作:

在本申请实施例中,发送设备可以对原始图像进行图像抠图处理,得到所述原始图像对应的基础图像以及至少一个图像拆分包,然后将所述基础图像以及所述至少一个图像拆分包传输至接收设备,所述接收设备用于显示所述基础图像并在所述基础图像上显示所述图像拆分包对应的图像信息;通过将原始图像进行图像抠图拆分,拆分为相较原始图像而言内存小的基础图像以及至少一个图像拆分包,并依次发送至接收设备,从而便于接收设备在首次接收到原始图像的基础图像之后即可进行显示,以及依次在基础图像上对接收到的图像拆分包的图像信息进行显示,缩短了图像显示时的加载显示时间,提高图像显示速度。

请参考图13,其示出了本申请一个示例性实施例提供的电子设备的结构方框图。本申请中的电子设备可以包括一个或多个如下部件:处理器110、存储器120、输入装置130、输出装置140和总线150。处理器110、存储器120、输入装置130和输出装置140之间可以通过总线150连接。

处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个电子设备内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。

存储器120可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory,rom)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作系统可以是安卓(android)系统,包括基于android系统深度开发的系统、苹果公司开发的ios系统,包括基于ios系统深度开发的系统或其它系统。存储数据区还可以存储电子设备在使用中所创建的数据比如电话本、音视频数据、聊天记录数据,等。

参见图14所示,存储器120可分为操作系统空间和用户空间,操作系统即运行于操作系统空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作系统针对不同第三方应用程序为其分配相应的系统资源。然而,同一第三方应用程序中不同应用场景对系统资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对gpu性能的要求较高。而操作系统与第三方应用程序之间相互独立,操作系统往往不能及时感知第三方应用程序当前的应用场景,导致操作系统无法根据第三方应用程序的具体应用场景进行针对性的系统资源适配。

为了使操作系统能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作系统之间的数据通信,使得操作系统能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的系统资源适配。

以操作系统为android系统为例,存储器120中存储的程序和数据如图15所示,存储器120中可存储有linux内核层320、系统运行时库层340、应用框架层360和应用层380,其中,linux内核层320、系统运行库层340和应用框架层360属于操作系统空间,应用层380属于用户空间。linux内核层320为电子设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、wi-fi驱动、电源管理等。系统运行库层340通过一些c/c++库来为android系统提供了主要的特性支持。如sqlite库提供了数据库的支持,opengl/es库提供了3d绘图的支持,webkit库提供了浏览器内核的支持等。在系统运行时库层340中还提供有安卓运行时库(androidruntime),它主要提供了一些核心库,能够允许开发者使用java语言来编写android应用。应用框架层360提供了构建应用程序时可能用到的各种api,开发者也可以通过使用这些api来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层380中运行有至少一个应用程序,这些应用程序可以是操作系统自带的原生应用程序,比如联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的第三方应用程序,比如游戏类应用程序、即时通信程序、相片美化程序、图像处理程序等。

以操作系统为ios系统为例,存储器120中存储的程序和数据如图16所示,ios系统包括:核心操作系统层420(coreoslayer)、核心服务层440(coreserviceslayer)、媒体层460(medialayer)、可触摸层480(cocoatouchlayer)。核心操作系统层420包括了操作系统内核、驱动程序以及底层程序框架,这些底层程序框架提供更接近硬件的功能,以供位于核心服务层440的程序框架所使用。核心服务层440提供给应用程序所需要的系统服务和/或程序框架,比如基础(foundation)框架、账户框架、广告框架、数据存储框架、网络连接框架、地理位置框架、运动框架等等。媒体层460为应用程序提供有关视听方面的接口,如图形图像相关的接口、音频技术相关的接口、视频技术相关的接口、音视频传输技术的无线播放(airplay)接口等。可触摸层480为应用程序开发提供了各种常用的界面相关的框架,可触摸层480负责用户在电子设备上的触摸交互操作。比如本地通知服务、远程推送服务、广告框架、游戏工具框架、消息用户界面接口(userinterface,ui)框架、用户界面uikit框架、地图框架等等。

在图16所示出的框架中,与大部分应用程序有关的框架包括但不限于:核心服务层440中的基础框架和可触摸层480中的uikit框架。基础框架提供许多基本的对象类和数据类型,为所有应用程序提供最基本的系统服务,和ui无关。而uikit框架提供的类是基础的ui类库,用于创建基于触摸的用户界面,ios应用程序可以基于uikit框架来提供ui,所以它提供了应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。

其中,在ios系统中实现第三方应用程序与操作系统数据通信的方式以及原理可参考android系统,本申请在此不再赘述。

其中,输入装置130用于接收输入的指令或数据,输入装置130包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置140用于输出指令或数据,输出装置140包括但不限于显示设备和扬声器等。在一个示例中,输入装置130和输出装置140可以合设,输入装置130和输出装置140为触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在电子设备的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本申请实施例对此不加以限定。

除此之外,本领域技术人员可以理解,上述附图所示出的电子设备的结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,电子设备中还包括射频电路、输入单元、传感器、音频电路、无线保真(wirelessfidelity,wifi)模块、电源、蓝牙模块等部件,在此不再赘述。

在本申请实施例中,各步骤的执行主体可以是上文介绍的电子设备。可选地,各步骤的执行主体为电子设备的操作系统。操作系统可以是安卓系统,也可以是ios系统,或者其它操作系统,本申请实施例对此不作限定。

本申请实施例的电子设备,其上还可以安装有显示设备,显示设备可以是各种能实现显示功能的设备,例如:阴极射线管显示器(cathoderaytubedisplay,简称cr)、发光二极管显示器(light-emittingdiodedisplay,简称led)、电子墨水屏、液晶显示屏(liquidcrystaldisplay,简称lcd)、等离子显示面板(plasmadisplaypanel,简称pdp)等。用户可以利用电子设备101上的显示设备,来查看显示的文字、图像、视频等信息。所述电子设备可以是智能手机、平板电脑、游戏设备、ar(augmentedreality,增强现实)设备、汽车、数据存储装置、音频播放装置、视频播放装置、笔记本、桌面计算设备、可穿戴设备诸如电子手表、电子眼镜、电子头盔、电子手链、电子项链、电子衣物等设备。

在图13所示的电子设备中,其中电子设备可以是一种终端,处理器110可以用于调用存储器120中存储的图像处理应用程序,并具体执行以下操作:

获取发送设备传输的基础图像以及至少一个图像拆分包,所述基础图像以及所述至少一个图像拆分包为所述发送设备对原始图像进行图像抠图处理后生成;

显示所述基础图像,并在所述基础图像上显示所述图像拆分包对应的图像信息。

在一个实施例中,所述处理器110在执行所述显示所述基础图像时,具体执行以下操作:

确定所述基础图像中的第一像素点以及所述第一像素点之外的第二像素点;

基于所述第二像素点的第二像素值,采用预设的差值拟合算法计算所述第一像素点对应的第一参考像素值;

将所述基础图像中第一像素点的第一像素值更新为所述第一参考像素值。

在一个实施例中,所述处理器110在执行所述显示所述基础图像时,具体执行以下操作:

获取所述基础图像携带的所述图像编码信息,基于所述图像编码信息,确定所述基础图像中至少一个第二像素点与原始图像的位置映射关系,以及所述原始图像的图像尺寸;

根据所述图像尺寸以及所述位置映射关系,对所述基础图像中至少一个所述第二像素点进行图像还原显示。

在一个实施例中,所述处理器110在执行所述根据所述图像尺寸以及所述位置映射关系,对所述基础图像中至少一个所述第二像素点进行图像还原显示时,具体执行以下操作:

根据所述图像尺寸构建所述原始图像对应的初始矩阵;

基于所述位置映射关系,将所述基础图像中至少一个所述第二像素点添加至所述初始矩阵中;

确定所述初始矩阵中除所述第二像素点之外的至少一个所述第三像素点;

基于所述基础图像中的至少一个所述第二像素点的第二像素值,采用预设的差值拟合算法计算所述第三像素点对应的第二参考像素值;

将所述第三像素点的第三像素值更新为所述第二参考像素值。

在一个实施例中,所述处理器110在执行所述在所述基础图像上显示所述图像拆分包对应的图像信息时,具体执行以下步骤:

获取所述至少一个图像拆分包中各图像拆分包的图像差分矩阵、所述基准点以及像素选取算法;

基于所述基准点以及所述像素选取算法,在所述基础图像对应的图像矩阵中确定与所述图像差分矩阵的各矩阵点相关联的第四像素点;

获取所述矩阵点的参考像素值,在所述基础图像对应的图像矩阵中,将所述第四像素点的第四像素值更新为所述参考像素值。

在一个实施例中,所述处理器110在执行所述在所述基础图像上显示所述图像拆分包对应的图像信息时,具体执行以下步骤:

获取所述至少一个图像拆分包中各图像拆分包的图像差分矩阵、所述基准点以及像素选取算法;

基于所述基准点以及所述像素选取算法,对所述初始矩阵中的第三像素点的所述第三像素值进行更新,得到所述基础图像对应的原始图像信息;

在所述基础图像上依次显示所述原始图像信息。

在一个实施例中,所述处理器110在执行所述基于所述基准点以及所述像素选取算法,对所述初始矩阵中的第三像素点的所述第三像素值进行更新时,具体执行以下步骤:

基于所述基准点以及所述矩阵点确定算法,在所述初始矩阵中确定与所述图像差分矩阵的各矩阵点相关联的所述第三像素点;

获取所述矩阵点的参考像素值,将所述第三像素点的所述第三像素值更新为所述参考像素值。

在一个实施例中,所述处理器110在执行所述获取发送设备传输的基础图像以及至少一个图像拆分包时,具体执行以下步骤:

获取当前的通信质量以及所述接收设备的显示分辨率,将所述通信质量以及所述显示分辨率发送至所述发送设备;

获取发送设备传输的基础图像,以及获取所述发送设备基于所述通信质量以及所述显示分辨率确定的参考数量的至少一个图像拆分包。

在本申请实施例中,接收设备获取发送设备传输的基础图像以及至少一个图像拆分包,所述基础图像以及所述至少一个图像拆分包为所述发送设备对原始图像进行图像抠图处理后生成,然后显示所述基础图像,并在所述基础图像上显示所述图像拆分包对应的图像信息。通过获取原始图像进行图像抠图拆分后的内存较小的基础图像以及至少一个图像拆分包,接收设备可以在首次接收到原始图像的基础图像之后即可进行显示,以及依次在基础图像上对接收到的图像拆分包的图像信息进行显示,缩短了图像显示时的加载显示时间,提高图像显示速度;以及,在生成基础图像的过程中,可以对原始图像进行降阶处理,大幅降低了接收设备在接收到的基础图像的所占内存;以及可以将接收设备的通信质量以及显示分辨率纳入图像显示过程中进行参考,方便发送设备确定出相应数量的图像拆分包和基础图像进行发送,可以节省图像传输过程中的传输开销,以及更符合接收设备的实际使用场景。

本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(field-programmablegatearray,fpga)、集成电路(integratedcircuit,ic)等。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1