CN116744035A - 图像处理方法、装置及电子设备 - Google Patents
图像处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116744035A CN116744035A CN202310702001.XA CN202310702001A CN116744035A CN 116744035 A CN116744035 A CN 116744035A CN 202310702001 A CN202310702001 A CN 202310702001A CN 116744035 A CN116744035 A CN 116744035A
- Authority
- CN
- China
- Prior art keywords
- image
- coding mode
- determining
- type
- target
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 230000000694 effects Effects 0.000 claims abstract description 180
- 238000000034 method Methods 0.000 claims abstract description 104
- 238000012545 processing Methods 0.000 claims abstract description 69
- 239000003086 colorant Substances 0.000 claims description 79
- 238000013507 mapping Methods 0.000 claims description 45
- 230000003068 static effect Effects 0.000 claims description 45
- 238000013139 quantization Methods 0.000 claims description 25
- 238000003860 storage Methods 0.000 claims description 19
- 230000006835 compression Effects 0.000 description 28
- 238000007906 compression Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 23
- 238000001914 filtration Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 18
- 238000004590 computer program Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- ORFSSYGWXNGVFB-UHFFFAOYSA-N sodium 4-amino-6-[[4-[4-[(8-amino-1-hydroxy-5,7-disulfonaphthalen-2-yl)diazenyl]-3-methoxyphenyl]-2-methoxyphenyl]diazenyl]-5-hydroxynaphthalene-1,3-disulfonic acid Chemical compound COC1=C(C=CC(=C1)C2=CC(=C(C=C2)N=NC3=C(C4=C(C=C3)C(=CC(=C4N)S(=O)(=O)O)S(=O)(=O)O)O)OC)N=NC5=C(C6=C(C=C5)C(=CC(=C6N)S(=O)(=O)O)S(=O)(=O)O)O.[Na+] ORFSSYGWXNGVFB-UHFFFAOYSA-N 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000000779 smoke Substances 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开提供一种图像处理方法、装置及电子设备,该方法包括:获取待编码的特效资源,所述特效资源包括多个第一图像;确定所述第一图像的图像类型;针对于任意一个所述第一图像,根据所述第一图像的图像类型,确定所述第一图像对应的目标编码方式;根据每个第一图像对应的目标编码方式,对所述特效资源进行编码处理。降低特效资源编码后的数据包的数据量。
Description
技术领域
本公开实施例涉及图像处理技术领域,尤其涉及一种图像处理方法、装置及电子设备。
背景技术
在短视频的特效场景中,电子设备可以在服务器中下载特效资源,进而可以在短视频中添加特效资源对应的特效。
目前,服务器可以通过一种编码方式对特效资源中的多个图像进行编码,得到特效资源对应的数据包,在电子设备请求下载特效资源时,服务器可以向电子设备发送特效资源对应的数据包。但是,随着短视频特效的多样化,特效资源中的图像越来越多,服务器基于相同的编码方式对多个图像进行编码,导致特效资源对应的数据包的数据量较大。
发明内容
本公开提供一种图像处理方法、装置及电子设备,用于解决现有技术中的一个或多个技术问题。
第一方面,本公开提供一种图像处理方法,该方法包括:
获取待编码的特效资源,所述特效资源包括多个第一图像;
确定所述第一图像的图像类型;
针对于任意一个所述第一图像,根据所述第一图像的图像类型,确定所述第一图像对应的目标编码方式;
根据每个第一图像对应的目标编码方式,对所述特效资源进行编码处理。
第二方面,本公开提供一种图像处理装置,该图像处理装置包括获取模块、第一确定模块、第二确定模块和编码模块,其中:
所述获取模块用于,获取待编码的特效资源,所述特效资源包括多个第一图像;
所述第一确定模块用于,确定所述第一图像的图像类型;
所述第二确定模块用于,针对于任意一个所述第一图像,根据所述第一图像的图像类型,确定所述第一图像对应的目标编码方式;
所述编码模块用于,根据每个第一图像对应的目标编码方式,对所述特效资源进行编码处理。
第三方面,本公开实施例提供一种电子设备包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能涉及的所述图像处理方法。
第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能涉及的所述图像处理方法。
本公开提供一种图像处理方法、装置及电子设备,电子设备可以获取待编码的特效资源,其中,特效资源可以包括多个第一图像,确定第一图像的图像类型,针对于任意一个第一图像,根据第一图像的图像类型,确定第一图像对应的目标编码方式,根据每个第一图像对应的目标编码方式,对特效资源进行编码处理。在上述方法中,由于电子设备可以结合特效资源中的第一图像的图像类型,确定第一图像对应的目标编码方式,因此,电子设备对特效资源中的多个第一图像进行编码时,每类第一图像都可以与编码方式相匹配,这样可以提高第一图像的编码质量,降低第一图像编码后的大小,进而降低特效资源编码后的数据包的数据量。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种应用场景示意图;
图2为本公开实施例提供的一种图像处理方法的流程示意图;
图3为本公开实施例提供的一种特效资源的示意图;
图4为本公开实施例提供的一种确定颜色映射类型的图像示意图;
图5为本公开实施例提供的一种特效资源的编码过程示意图;
图6为本公开实施例提供的一种确定目标编码方式的方法示意图;
图7为本公开实施例提供的一种压缩率和解码性能的对应关系示意图;
图8为本公开实施例提供的另一种确定目标编码方式的方法示意图;
图9为本公开实施例提供的一种无损编码方式的过程示意图;
图10为本公开实施例提供的一种图像处理装置的结构示意图;
图11为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
为了便于理解,下面,对本公开实施例涉及的概念进行说明。
电子设备:是一种具有无线收发功能的设备。电子设备可以部署在陆地上,包括室内或室外、手持、穿戴或车载;也可以部署在水面上(如轮船等)。所述电子设备可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)电子设备、增强现实(augmented reality,AR)电子设备、工业控制(industrialcontrol)中的无线终端、车载电子设备、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线电子设备、智能电网(smart grid)中的无线电子设备、运输安全(transportation safety)中的无线电子设备、智慧城市(smart city)中的无线电子设备、智慧家庭(smart home)中的无线电子设备、可穿戴电子设备等。本公开实施例所涉及的电子设备还可以称为终端、用户设备(user equipment,UE)、接入电子设备、车载终端、工业控制终端、UE单元、UE站、移动站、移动台、远方站、远程电子设备、移动设备、UE电子设备、无线通信设备、UE代理或UE装置等。电子设备也可以是固定的或者移动的。
下面,结合图1,对本公开实施例的应用场景进行说明。
图1为本公开实施例提供的一种应用场景示意图。请参见图1,包括:服务器、电子设备和特效资源。其中,特效资源中可以包括图像1、图像2、……、图像n。服务器接收到特效资源之后,可以对特效资源中的多个图像进行编码,得到特效资源对应的数据包。电子设备的显示页面包括视频的拍摄页面和特效控件,在用户点击特效控件时,电子设备可以向服务器发送特效下载请求,服务器接收到电子设备发送的特效下载请求之后,可以向电子设备发送特效资源的数据包。电子设备接收到特效资源的数据包之后,可以对该数据包进行解码,进而可以得到特效资源对应的多个图像。
需要说明的是,图1只是示例性的示意本公开实施例的应用场景,并非对本公开实施例的应用场景的限定。
在相关技术中,电子设备可以在服务器中下载特效资源,进而可以在短视频中添加特效资源对应的特效。目前,服务器可以通过一种编码方式对特效资源中的多个图像进行编码,得到特效资源对应的数据包,在电子设备请求下载该特效资源时,服务器可以向电子设备发送特效资源对应的数据包,电子设备对该数据包进行解码,得到特效资源对应的多个图像,进而得到添加的特效。但是,随着短视频特效的多样化,特效资源中可以包括较多的图像,并且,多个图像的图像类型也多样化,在服务器基于一种编码方式,对特效资源的多个图像进行编码时,部分类型的图像与该种编码方式不匹配,导致特效资源对应的数据包的数据量较大。
为了解决相关技术中的技术问题,本公开实施例提供一种图像处理方法,电子设备可以获取待编码的特效资源,并确定特效资源中的每个第一图像的图像类型,针对于任意一个第一图像,若第一图像的图像类型为颜色映射类型,则确定第一图像的目标编码方式为第一编码方式中的无损编码方式,若第一图像的图像类型为静态类型,则根据第一编码方式、第二编码方式和第一图像,确定第一图像对应的目标编码方式,若第一图像的类型为序列帧类型,则获取第一图像所包括的颜色数量,并根据颜色数量,确定第一图像对应的目标编码方式,终端设备得到每个第一图像对应的目标编码方式之后,可以根据每个第一图像对应的目标编码方式,对特效资源进行编码处理。在上述方法中,由于电子设备可以结合特效资源中的第一图像的图像类型,确定第一图像对应的目标编码方式,并且,每种类型的图像都包括相对应的目标编码方式,因此,特效资源中的每类第一图像都可以与相对应的目标编码方式匹配,这样可以提高第一图像的编码质量,降低第一图像编码后的大小,进而降低特效资源对应的数据包的数据量。
下面以具体地实施例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。
图2为本公开实施例提供的一种图像处理方法的流程示意图。请参见图2,该方法可以包括:
S201、获取待编码的特效资源。
本公开实施例的执行主体可以为电子设备,也可以为设置在电子设备中的图像处理装置。其中,图像处理装置可以基于软件实现,图像处理装置也可以基于软件和硬件的结合实现,本公开实施例对此不作限定。可选的,电子设备可以为任意具备端上计算能力的设备,例如,电子设备可以为服务器、编码设备、计算机等,本公开实施例对此不作限定。
其中,特效资源可以为制作特效镜头的资源。例如,若特效资源为贴纸特效资源,则在电子设备对视频进行后期剪辑或拍摄新的视频时,电子设备可以基于该特效资源,在视频中添加贴纸的特效;若特效资源为动态烟雾特效资源,则在电子设备对视频进行后期剪辑或拍摄新的视频时,电子设备可以基于该特效资源,在视频中添加动态烟雾的特效。
需要说明的是,特效资源还可以为虚拟头饰特效(如、发带特效、眼镜特效、帽子特效等)、滤镜特效、动画特效等,本公开实施例对此不做限定。
可选的,特效资源可以包括多个第一图像。例如,若特效资源对应的特效为动画特效,则特效资源中可以包括动画特效对应的一组图像(即,多个第一图像);若特效资源对应的特效为烟花绽放的特效,则该特效资源可以包括烟花绽放的动画对应的多个图像(即,多个第一图像)。例如,若特效资源对应的特效包括贴纸特效、滤镜特效和烟花绽放的特效,则该特效资源可以包括贴纸特效对应的图像、滤镜特效对应的图像和烟花绽放的特效对应的图像。
下面,结合图3,对本公开实施例的特效资源进行说明。
图3为本公开实施例提供的一种特效资源的示意图。请参见图3,包括:特效资源。其中,特效资源中可以包括图像1、图像2、图像3、图像4和图像5。其中,每个图像都可以包括相同的人物,图像1和图像5的人物动作相同,图像2、图像3和图像4中的人物动作不同,图像顺序为由图像1至图像5。这样,该特效资源对应的特效为人物挥手的动画贴纸特效,若终端设备下载该特效资源的数据包,并解码该数据包之后,终端设备在拍摄视频时,可以在视频中添加人物挥手的动画贴纸特效。
可选的,电子设备可以接收其它设备发送的待编码的特效资源。例如,其它设备可以为特效资源的编译设备,用户在其它设备中完成特效资源的编译之后,其它设备可以向电子设备发送特效资源,电子设备可以对该特效资源进行编码。
可选的,电子设备可以在数据库中获取待编码的特效资源。例如,数据库中可以预先存储多个待编码的特效资源,电子设备接收到特效资源的编码消息时,可以在数据库中获取多个待编码的特效资源。例如,数据库中预先存储的多个特效资源都包括唯一的标识,电子设备可以接收到其它设备发送的特效资源的编码消息,该编码消息可以包括多个特效资源对应的标识,电子设备可以根据多个特效资源对应的标识,在数据库中获取待编码的特效资源。
需要说明的是,电子设备可以根据任意可行的实现方式,获取待编码的特效资源,本公开实施例对此不作限定。
S202、确定第一图像的图像类型。
其中,电子设备可以根据如下可行的实现方式,确定每个第一图像的图像类型:对第一图像的亮度值进行梯度处理,得到第二图像,根据第二图像及第一图像相关联的帧数量,确定第一图像的图像类型。可选的,图像类型可以包括如下至少一种:颜色映射类型、静态类型和序列帧类型。
其中,颜色映射类型的第一图像可以表示一组颜色映射的关系。例如,颜色映射类型的第一图像可以为颜色查找表(Look-Up Table,LUT)图像,LUT图像可以将一个图像的每个像素值,映射到另一个图像的像素值,通过使用LUT图像可以对其它图像进行各种效果的调整(色彩校正、曝光调整、曲线调整等)。例如,滤镜特效可以使用LUT图像,若电子设备获取纯蓝色(RGB值为0,0,1)对应的映射值,则电子设备可以获取纯蓝色在该LUT上的坐标,并将该坐标上的颜色,确定为纯蓝色在该LUT图像的映射颜色。
其中,静态类型的第一图像可以为静态特效对应的图像。例如,在特效资源对应的特效中可以包括静态的贴纸特效,该贴纸对应的图像可以为静态的图像。例如,若电子设备下载的特效为静态的眼镜特效,则该特效资源中包括的第一图像的图像类型可以为静态类型。
其中,序列帧类型的第一图像可以为组成动态特效的一组图像。例如,在特效资源对应的特效中可以包括烟花绽放的特效,该特效是由多个连续的图像组成的,因此,多个连续的图像可以为序列帧类型的图像。例如,在图3所示的实施例中,特效资源可以包括5个图像,该5个图像可以组成人物挥手的动态特效,因此,该5个图像都可以为序列帧类型的图像。
其中,亮度值可以为图像的亮度分部信息。例如,第一图像的亮度值可以为第一图像的亮度分布信息,即,第一图像的亮度值可以为第一图像的对比度,第一图像的亮度值可以指示第一图像的明亮程度。
其中,图像的梯度值可以指示图像亮度在x方向和y方向上的变化程度。例如,图像的梯度值可以指示图像的亮度变化快慢的程度,并且,图像的梯度值也可以指示图像的亮度变化的方向,因此,电子设备对第一图像的亮度值进行梯度处理之后,可以得到第一图像对应的第二图像。
需要说明的是,电子设备可以根据任意可行的实现方式,对第一图像的亮度值进行梯度处理,本公开实施例对此不作限定。
其中,电子设备基于第二图像及第一图像相关联的帧数量,确定第一图像的图像类型,具体可以为:对第二图像进行二值化处理,得到第二图像的二值化图,根据第二图像的二值化图中的图像块重复单元量,确定第一图像为颜色映射类型,根据第一图像相关联的帧数量,确定第一图像的图像类型为序列帧类型或静态类型。
其中,二值化处理可以为将第一图像变换为只有黑色和白色的视觉效果的处理方法。例如,电子设备可以将第一图像中的像素的灰度值设置为0或255,这样,可以将第一图像中只包括黑色和白色,通过对第二图像进行二值化处理,可以得到第二图像的二值化图。
可选的,若第二图像的二值化图中的图像块重复单元量大于预设值,则确定第一图像的类型为颜色映射类型。例如,若第二图像的二值化图中包括多个重复的图像块单元,则确定该第二图像对应的第一图像的图像类型为颜色映射类型,若第二图像的二值化图中未包括多个个重复的图像块单元,则确定第二图像对应的第一图像的图像类型为静态类型或序列帧类型。
例如,若电子设备对第一图像对应的第二图像进行二值化处理之后,得到的二值化图像是由M*M个重复的图像块单元组成的图像,则电子设备可以确定该第二图像对应的第一图像为LUT图像,若二值化图像中未包括M*M个重复的图像块单元,则电子设备可以确定该第二图像为静态类型的图像或序列帧类型的图像,其中,M为大于1的整数。
需要说明的是,基于LUT图像的构建规则,在对LUT图像的亮度值进行梯度处理,并对梯度处理的结果进行二值化处理之后,LUT图像可以变换为由4*4个相同的图像块或8*8个相同的图像组成的图像,因此,电子设备基于第二图像的二值化图像,可以准确的识别LUT图像。
下面,结合图4,对电子设备确定颜色映射类型的图像的过程进行说明。
图4为本公开实施例提供的一种确定颜色映射类型的图像示意图。请参见图4,包括:第一图像和第一图像对应的第二图像的二值化图像。其中,颜色映射类型的图像有如下特征:由多个格子组成(如,图像的每条边可以包括4个格子或8个格子),每个格子内部颜色变化是平滑的。电子设备(图4未示出)可以对第一图像的亮度值进行梯度处理,并对梯度处理的结果进行二值化处理,得到第二图像的二值化图像。由于第二图像的二值化图像中包括8*8个重复的图像块,因此,第二图像的二值化图像满足颜色映射类型的图像的判断条件,电子设备可以确定第一图像的图像类型为颜色映射类型(即,第一图像为LUT图像)。
可选的,若第二图像的二值化图像中未包括M*M个重复的图像块,则电子设备可以确定第二图像对应的第一图像为纹理图像,电子设备可以进一步确定该纹理图像的图像类型。可选的,电子设备可以根据第一图像相关联的帧数量,确定第一图像的图像类型为序列帧类型或静态类型。例如,若第一图像相关联的帧数量为0,则电子设备可以确定该第一图像不存在相关的连续图像,电子设备可以确定该第一图像的图像类型为静态类型,若第一图像相关联的帧数量大于0,则电子设备可以确定该第一图像存在相关的连续图像,电子设备可以确定该第一图像的图像类型为序列帧类型。
可选的,在实际应用的过程中,序列帧类型的图像可以包括相同的标识,若多个连续的图像为相同的标识,则电子设备可以将多个连续的图像确定为序列帧类型的图像,若多个图像中的每个图像的标识都不相同,则电子设备可以将多个图像确定为静态类型的图像。
需要说明的是,本公开实施例只是示例性的示意电子设备确定静态类型的图像和序列帧类型的图像的方法,并非对电子设备确定静态类型的图像和序列帧类型的图像的方法的限定,电子设备也可以基于任意可行的实现方式,判断第一图像对应的图像类型,本公开实施例对此不作限定。
S203、针对于任意一个第一图像,根据第一图像的图像类型,确定第一图像对应的目标编码方式。
其中,目标编码方式可以为第一图像对应的编码方式,电子设备可以根据目标编码方式,对目标编码方式对应的第一图像进行编码。例如,在实际应用的过程中,第一图像的图像类型可以与第一图像的编码方式相匹配,这样,可以提高第一图像的编码效果,降低编码后的数据包大小,并且可以提高解码的效率。
需要说明的是,电子设备获取到特效资源中的多个第一图像之后,电子设备可以确定每个第一图像的图像类型,进而可以得到每个第一图像所对应的目标编码方式。
其中,电子设备可以基于如下可行的实现方式,确定第一图像对应的目标编码方式:获取第一编码方式和第二编码方式,分别基于颜色映射类型、静态类型或序列帧类型,在第一编码方式和第二编码方式中确定第一图像对应的目标编码方式。
其中,第一编码方式可以包括无损编码方式和量化编码方式。可选的,第一编码方式可以为便携式网络图型(Portable Network Graphics,PNG)编码方式。其中,PNG编码方式中可以包括PNG32编码方式(无损编码方式)和PNG索引编码方式(量化编码方式)。
可选的,PNG32编码方式在存储图像的RGBA数据时,每个像素可以用32位宽的数据表示。例如,PNG32编码方式可以用24个bit标识颜色,其中,RGB值各占8bit,透明值alpha可以用8bit表示,这样,该编码方式可以支持1600多万种颜色的编码和256种透明度的编码,因此,图像编码后损失的信息较少。
可选的,PNG索引编码方式在存储图像的RGBA数据时,每个像素可以用8位宽的数据表示。例如,PNG索引编码方式可以用8bit表示像素的RGB值,用1bit表示透明,因此,PNG索引编码方式可以支持256种颜色的编码和2种透明度的编码(即,透明或不透明),若图像的颜色数量大于256,则需要对图像的颜色进行量化处理,进而损失较多的图像信息。
可选的,第二编码方式可以为WebP编码方式。例如,WebP编码方式可以为一种支持有损压缩和无损压缩的图像编码方式,由于第一图像的图像类型为静态类型,因此,该第一图像在加载时只需解码一次,在编码时可以参考压缩率更大的算法,其中,在使用WebP编码方式时,WebP编码参数可以选择90。
需要说明的是,本公开实施例中第一编码方式、第二编码方式也可以为其它的编码方式,本公开实施例对此不作限定。
其中,电子设备分别基于颜色映射类型、静态类型或序列帧类型,在第一编码方式和第二编码方式中确定第一图像对应的目标编码方式,有如下三种情况:
情况1:第一图像的图像类型为颜色映射类型。
若第一图像的图像类型为颜色映射类型,则将第一编码方式中的无损编码方式,确定为第一图像对应的目标编码方式。例如,第一编码方式的无损编码方式对第一图像编码之后,第一图像损失的信息较少,第一编码方式的量化编码方式对第一图像编码之后,第一图像损失的信息较多,由于颜色映射类型的第一图像可以基于颜色确定映射关系,若颜色损失较多,则颜色映射的准确度较低,因此,电子设备可以确定颜色映射类型的第一图像的目标编码方式为第一编码方式的无损编码方式(如,PNG32编码方式)。
需要说明的是,在第一编码方式对第一图像进行编码时,第一编码方式中的无损编码方式可以准确的对第一图像进行编码,第一图像编码后损失的图像信息较少,但是,第一图像编码后的体积较大,并且,解码的速度较慢,第一编码方式中的量化编码方式对第一图像进行编码之后,会损失较多的图像信息,但是,第一图像编码后的体积较小,并且,解码的速度较快,因此,若第一图像的图像类型为颜色映射类型,则电子设备可以确定第一图像对应的目标编码方式为第一编码方式中的无损编码方式,这样,可以保证编码后的第一图像的准确度,进而避免颜色映射出错。
情况2:第一图像的图像类型为静态类型。
若第一图像的图像类型为静态类型,则电子设备可以根据第一编码方式、第二编码方式和第一图像,确定第一图像对应的目标编码方式。
可选的,电子设备可以基于第一编码方式和第二编码方式对第一图像进行编码,并基于编码后的结果,确定第一图像对应的编码方式。例如,在实际应用过程中,编码后的图像需要在解码端进行解码,因此,在对第一图像进行编码时,还需考虑到解码端的解码效率,电子设备通过对比两种编码方式对第一图像的编码结果,可以准确的确定与第一图像相匹配的编码方式,进而提高第一图像的编码准确度和编码效果。
情况3:第一图像的类型为序列帧类型。
若第一图像的类型为序列帧类型,则获取第一图像所包括的颜色数量,并根据颜色数量,确定第一图像对应的目标编码方式。例如,由于序列帧类型的图像在解码端需要连续解码,对解码的耗时较高,因此,电子设备可以基于第一编码方式对序列帧类型的第一图像进行编码,但是,由于第一编码方式中还包括无损编码方式和量化编码方式,因此,电子设备可以基于第一图像中的颜色数量,确定目标编码方式。
例如,在实际应用过程中,若对第一图像进行量化之后,损失的图像信息对画质影响较小,则电子设备可以基于量化编码方式对该第一图像进行编码,进而可以降低第一图像编码后的体积,提高解码的效率,若第一图像进行量化之后,损失的图像信息对画质影响较大,则电子设备可以基于无损编码方式对该第一图像进行编码,进而可以提高第一图像解码后的完整度,提高第一图像的显示效果。
S204、根据每个第一图像对应的目标编码方式,对特效资源进行编码处理。
可选的,电子设备可以根据每个第一图像对应的目标编码方式,对特效资源中的多个第一图像进行编码处理,得到特效资源编码之后的数据包。例如,若特效资源中包括图像A、图像B和图像C,图像A对应的目标编码方式为编码方式1,图像B和图像C对应的目标编码方式为编码方式2,则电子设备可以基于编码方式1对图像A进行编码,基于编码方式2对图像B和图像C进行编码,在图像A、图像B和图像C编码结束之后,电子设备可以得到特效资源对应的数据包(即,特效资源编码结束)。
下面,结合图5,对电子设备对特效资源进行编码处理的过程进行说明。
图5为本公开实施例提供的一种特效资源的编码过程示意图。请参见图5,包括:特效资源。其中,特效资源中可以包括图像1、图像2、图像3和图像4。其中,图像1、图像2和图像3的图像类型为序列帧类型,图像4的图像类型为静态类型。电子设备(图5未示出)可以确定图像1、图像2和图像3对应的编码方式为编码方式1,图像4对应的编码方式为编码方式2。电子设备可以基于编码方式1对图像1、图像2和图像3进行编码,基于编码方式2对图像4进行编码,编码结束之后,可以得到特效资源对应的数据包。
可选的,在电子设备对特效资源进行编码处理之后,上述方法还可以包括:接收其它设备发送的特效资源下载请求,其中,特效资源下载请求中可以包括至少一个特效资源的标识,电子设备可以基于至少一个特效资源的标识,在多个特效资源对应的多个数据包中确定目标数据包,并向其它设备发送目标数据包。
本公开实施例提供一种图像处理方法,电子设备可以获取待编码的特效资源,并确定特效资源中的每个第一图像的图像类型,针对于任意一个第一图像,若第一图像的图像类型为颜色映射类型,则确定第一图像的目标编码方式为PNG32编码方式,若第一图像的图像类型为静态类型,则根据PNG编码方式、WebP编码方式和第一图像,确定第一图像对应的目标编码方式,若第一图像的类型为序列帧类型,则获取第一图像所包括的颜色数量,并根据颜色数量,在PNG32编码方式和PNG索引编码方式中,确定第一图像对应的目标编码方式,电子设备得到每个第一图像对应的目标编码方式之后,对特效资源中的多个第一图像进行编码处理,进而得到特效资源对应的数据包。在上述方法中,由于电子设备可以结合特效资源中的第一图像的图像类型,确定第一图像对应的目标编码方式,并且,每种类型的图像都包括相对应的目标编码方式,因此,特效资源中的每类第一图像都可以与相对应的目标编码方式匹配,这样可以提高第一图像的编码质量,降低第一图像编码后的大小,进而降低特效资源对应的数据包的数据量。
在图2所示的实施例的基础上,下面,结合图6,对上述图像处理方法中,针对于静态类型的第一图像,根据第一编码方式、第二编码方式和第一图像,确定第一图像对应的目标编码方式的方法进行详细的说明。
图6为本公开实施例提供的一种确定目标编码方式的方法示意图。请参见图6,该方法流程可以包括:
S601、根据第一编码方式,对第一图像进行预编码处理,得到第一图像对应的第一预编码结果。
其中,第一预编码结果可以为电子设备基于第一编码方式对第一图像进行预编码处理之后,得到的编码结果。例如,电子设备可以基于PNG32编码方式对第一图像进行预编码,进而得到PNG32编码方式对应的编码结果,即,第一预编码结果,电子设备也可以基于PNG索引编码方式,对第一图像进行预编码,进而得到PNG索引编码方式对应的编码结果,即,第一预编码结果。
S602、根据第二编码方式,对第二图像进行预编码处理,得到第一图像对应的第二预编码结果。
其中,第二预编码结果可以为电子设备基于第二编码方式对第一图像进行预编码处理之后的,得到的编码结果。例如,电子设备可以基于WebP编码方式对第一图像进行编码,得到WebP编码方式对应的编码结果,即,第二预编码结果。
需要说明的是,由于PNG编码方式和WebP编码方式都包括无损编码方式和量化编码方式,因此,若第一预编码结果是基于PNG32编码方式编码得到的,则第二预编码结果可以为基于WebP无损编码方式编码得到的,若第一预编码结果是基于PNG索引编码方式编码得到的,则第二预编码结果可以为基于WebP量化编码方式编码得到的。
S603、根据第一预编码结果和第二预编码结果,确定第一图像对应的目标编码方式。
其中,电子设备可以根据如下可行的实现方式,确定第一图像对应的目标编码方式:若第二预编码结果与第一预编码结果的比值大于或等于第一阈值,则确定第一图像对应的目标编码方式为第二编码方式,若第二预编码结果与第一预编码结果的比值小于第一阈值,则确定第一图像对应的目标编码方式为第一编码方式。例如,若第二预编码结果的数据量与第一预编码结果的数据量的比值大于或等于第一阈值,则电子设备确定目标编码方式为WebP编码方式,若第二预编码结果的数据量与第一预编码结果的数据量的比值小于第一阈值,则确定目标编码方式为PNG编码方式。
需要说明的是,上述第二预编码结果与第一预编码结果的比值只是示例性的示意确定目标编码方式的方法,并非对确定目标编码方式的方法的限定,电子设备可以对第二预编码结果与第一预编码结果做任意运算,并根据运算结果确定目标编码方式,本公开实施例对此不作限定。
可选的,由于静态类型的第一图像只需要在加载时解码一次,因此,电子设备对静态类型的第一图像进行编码时,可以结合解码效率,确定第一图像对应的目标编码方式。
其中,若第二编码方式为WebP编码方式,则WebP编码方式的压缩率和解码性能存在相应的对应关系,下面,结合图7,对该对应关系进行说明。
图7为本公开实施例提供的一种压缩率和解码性能的对应关系示意图。请参见图7,包括:坐标系。其中,坐标系的横轴可以为WebP编码方式相对于PNG编码方式的相对压缩率,其中,x为0表示WebP编码方式相比于PNG编码方式无体积优化。纵轴可以为Webp编码方式相对于PNG编码方式的相对解码耗时增量,其中,y大于0表示WebP编码方式相比PNG编码方式解码耗时有劣化(即,虚线以上部分),y小于0表示WebP编码方式相比于PNG编码方式解码耗时有优化(即,虚线以下部分)。
请参见图7,坐标系中还包括相对压缩率与相对解码耗时增强之间的线性关系,在相同的编码参数下,WebP编码方式压缩率越大,解码耗时增量越小,因此,在WebP编码方式的相对压缩率大于一定阈值之后,WebP编码方式的解码耗时可以优于PNG编码方式的解码耗时,该阈值(即,第一阈值)可以为坐标系中虚线与实线的焦点,即,x为0.78。若WebP编码方式的压缩率大于或等于PNG编码方式的压缩率的78%,则电子设备可以确定目标编码方式为WebP编码方式,若WebP编码方式的压缩率小于PNG编码方式的压缩率的78%,则电子设备可以确定目标编码方式为PNG编码方式。
这样,电子设备可以基于解码端对静态类型的第一图像的解码耗时,在多种编码方式中,确定第一图像对应的目标解码方式,进而可以提高解码端对静态类型的第一图像的解码效率。
本公开实施例提供一种确定目标编码方式的方法,电子设备可以根据第一编码方式,对第一图像进行预编码处理,得到第一图像对应的第一预编码结果,根据第二编码方式,对第二图像进行预编码处理,得到第一图像对应的第二预编码结果,若第二预编码结果与第一预编码结果的比值大于或等于第一阈值,则确定目标编码方式为第二编码方式,若第二预编码结果与第一预编码结果的比值小于第一阈值,则确定目标编码方式为第一编码方式。这样,电子设备可以在多个编码方式中,确定解码耗时较小的编码方式,对静态类型的第一图像进行编码,进而可以提高第一图像的解码效率。
在图2所示的实施例的基础上,下面,结合图8,对上述图像处理方法中,针对于序列帧类型的第一图像,根据颜色数量,确定第一图像对应的目标编码方式的方法进行详细的说明。
图8为本公开实施例提供的另一种确定目标编码方式的方法示意图。请参见图8,该方法流程可以包括:
S801、获取第一图像所包括的颜色数量。
可选的,电子设备可以根据如下可行的实现方式,获取第一图像所包括的颜色数量:获取第一图像对应的颜色直方图,根据所述颜色直方图,确定第一图像所包括的颜色数量。
可选的,由于颜色直方图可以指示不同的颜色在第一图像中所占的比例,因此,电子设备基于颜色直方图,可以得到第一图像所包括的颜色的数量。需要说明的是,电子设备可以基于任意可行的实现方式,获取第一图像的颜色直方图,本公开实施例对此不作限定。
可选的,电子设备也可以根据任意可行的实现方式,对第一图像进行处理,得到第一图像中的颜色数量,本公开实施例对此不作限定。
S802、根据颜色数量,确定第一图像对应的目标编码方式。
其中,电子设备根据颜色数量,确定第一图像对应的目标编码方式,有如下两种情况:
情况1:颜色数量小于或等于第二阈值。
其中,若颜色数量小于或等于第二阈值,则电子设备可以确定目标编码方式为第一编码方式中的无损编码方式。例如,若颜色数量小于或等于第二阈值,则电子设备可以通过PNG索引编码方式,对第一图像进行编码,并且,由于序列帧类型的第一图像需要连续解码,因此,通过PNG编码方式可以提高序列帧类型的第一图像的解码效率。
可选的,第二阈值可以为256。例如,若第一图像中所包含的颜色数量小于256,则电子设备基于PNG索引编码方式对第一图像进行编码时,无需对第一图像的颜色进行量化(PNG索引编码方式最多可以存储256种颜色),因此,电子设备基于PNG索引编码方式对第一图像进行编码之后,第一图像损失的图像信息较少,提高第一图像的编码准确度。
情况2:颜色数量大于第二阈值。
若颜色数量大于第二阈值,则电子设备可以将第一图像的多种颜色聚类为N类颜色,并确定每类颜色对应的聚类误差,电子设备可以根据N个聚类误差,确定目标编码方式。其中,N可以为大于0,且小于256的整数。
例如,若第一图像的颜色数量大于第二阈值,则说明电子设备基于PNG索引编码方式无法存储第一图像中的所有颜色,因此,在对第一图像进行编码的过程中,电子设备可以对第一图像中的颜色进行量化,若量化后的第一图像画质损失较小,则可以将PNG索引编码方式确定为目标编码方式,若量化后的第一图像画质损失较大,则可以将PNG32编码方式确定为目标编码方式。
可选的,电子设备可以基于聚类算法,对第一图像中的所有颜色进行聚类处理,得到N个类别,电子设备也可以基于其它任意可行的实现方式,将第一图像中的所有颜色聚类为N个类别,本公开实施例对此不作限定。
可选的,电子设备可以根据如下可行的实现方式,确定每类颜色对应的聚类误差:针对于任意一类聚类后的颜色,电子设备可以根据如下公式确定聚类误差:
其中,Ek为聚类误差;Nk为该类颜色中的颜色数量;i为该类颜色中的颜色序号;为该类颜色中第i个颜色的值;/>为聚类中心(聚类算法对多个颜色进行聚类处理之后,电子设备可以得到每类颜色对应的聚类中心)。
这样,电子设备根据上述公式,可以得到N类颜色中每类颜色的聚类误差,进而可以根据N个聚类误差,确定第一图像量化后是否会对损失较多的图像信息。
其中,电子设备根据N个聚类误差,确定目标编码方式,具体可以为:获取N个聚类误差中最大的聚类误差、以及N个聚类误差中大于第三阈值的聚类误差的目标数量,根据最大的聚类误差和目标数量,确定目标编码方式。
例如,若电子设备将第一图像的多个颜色聚类为256类颜色,电子设备可以得到每类颜色对应的聚类误差,并在256个聚类误差中,得到最大的聚类误差。例如,若第三阈值为10,256个聚类误差中存在50个聚类误差大于10,则电子设备可以确定目标数量为50。
需要说明的是,电子设备可以基于任意可行的实现方式确定第三阈值,本公开实施例对此不作限定。
可选的,电子设备根据最大的聚类误差和目标数量,确定目标编码方式,具体可以为:若最大的聚类误差大于第四阈值,且目标数量大于第五阈值,则确定目标编码方式为第一编码方式中的无损编码方式,若最大的聚类误差小于或等于第四阈值,或者,目标数量小于或等于第五阈值,则确定目标编码方式为第一编码方式中的量化编码方式。
例如,若最大的聚类误差大于第四阈值,且目标数量大于第五阈值,则说明电子设备对第一图像进行量化处理之后,第一图像会损失较多的图像信息,进而影响第一图像解码之后的画质,因此,电子设备可以基于第一编码方式的无损编码方式(即,PNG32编码方式),对第一图像进行编码处理。
需要说明的是,电子设备可以根据任意可行的实现方式,确定第四阈值和第五阈值,本公开实施例对此不作限定。
例如,若最大的聚类误差小于或等于第四阈值,则说明电子设备对第一图像进行量化处理之后,第一图像损失的图像信息较少,并且对第一图像解码之后的画质影响较小,因此,电子设备可以基于第一编码方式中的量化编码方式(即,PNG索引编码方式),对第一图像进行编码处理。这样,电子设备不仅可以保证第一图像解码之后的画质,还可以降低第一图像编码之后的数据包的数据量。
可选的,电子设备基于第一编码方式中的无损编码方式,对第一图像进行编码时,也可以对编码后的数据量进行优化,下面,结合图9,对无损编码方式的编码过程进行说明。
图9为本公开实施例提供的一种无损编码方式的过程示意图。请参见图9,包括:第一图像的像素数据、滤波模块(可以为差分滤波器)和压缩模块。其中,滤波模块中可以包括滤波参数1、滤波参数2、……、滤波参数n,压缩模块可以执行压缩模式A和压缩模式B。
请参见图9,滤波模块中可以包括多种滤波参数,压缩模块中可以包括2中压缩模式,电子设备(图9未示出)可以遍历滤波模块和压缩模块的每种组合参数,对第一图像的像素数据压缩后的压缩数据,并将最小的压缩数据对应的一组组合参数,设置为滤波模块和压缩模块的参数,进而对第一图像进行压缩处理。
例如,在图9所示的实施例中,滤波模块可以基于滤波参数1对第一图像的像素数据进行滤波处理,压缩模块可以基于压缩模式A对滤波处理后的数据进行压缩,得到压缩数据A,滤波模块还可以基于滤波参数2对第一图像的像素数据进行滤波处理,压缩模块可以基于压缩模式B对滤波处理后的数据进行压缩,得到压缩数据B,若压缩数据A小于压缩数据B,则电子设备可以确定滤波模块的滤波参数为滤波参数1,压缩模块的压缩模式为压缩模式A,并基于滤波模块和压缩模块对第一图像进行编码处理,这样,可以降低第一图像编码后的数据量。
可选的,在PNG32编码方式中,若第一图像的RGBA中的alpha通道数全为255,则说明该第一图像不存在透明的像素,因此,在对该第一图像进行编码时,无需存储alpha通道,进而可以降低第一图像编码后的数据量。
可选的,在PNG32编码方式中,若解码端可以在屏幕中渲染alpha*RGB颜色数据的特效场景,则电子设备基于PNG32对第一图像进行编码时,电子设备可以存储alpha*RGB颜色数据,这样会产生大量的0值,提高编码效率,降低第一图像编码后的数据量,并且,在解码端对该第一图像进行解码时,可以节约计算量,提高解码效率。
本公开实施例提供一种确定目标编码方式的方法,电子设备可以获取第一图像所包括的颜色数量,若颜色数量小于或等于第二阈值,则电子设备可以确定目标编码方式为第一编码方式中的无损编码方式,若颜色数量大于第二阈值,则电子设备可以将第一图像的多种颜色聚类为N类颜色,并确定每类颜色对应的聚类误差,电子设备可以根据N个聚类误差,确定目标编码方式。这样,电子设备不仅可以保证第一图像解码之后的画质,还可以降低第一图像编码之后的数据包的数据量。
图10为本公开实施例提供的一种图像处理装置的结构示意图。请参见图10,该图像处理装置100包括获取模块101、第一确定模块102、第二确定模块103和编码模块104,其中:
所述获取模块101用于,获取待编码的特效资源,所述特效资源包括多个第一图像;
所述第一确定模块102用于,确定所述第一图像的图像类型;
所述第二确定模块103用于,针对于任意一个所述第一图像,根据所述第一图像的图像类型,确定所述第一图像对应的目标编码方式;
所述编码模块104用于,根据每个第一图像对应的目标编码方式,对所述特效资源进行编码处理。
根据本公开一个或多个实施例,所述第一确定模块102具体用于:
对所述第一图像的亮度值进行梯度处理,得到第二图像;
基于所述第二图像及所述第一图像相关联的帧数量,确定所述第一图像的图像类型,所述图像类型包括颜色映射类型、静态类型和序列帧类型。
根据本公开一个或多个实施例,所述第一确定模块102具体用于:
对所述第二图像进行二值化处理,得到所述第二图像的二值化图;
根据所述第二图像的二值化图中的图像块重复单元量,确定所述第一图像为颜色映射类型;
根据所述第一图像相关联的帧数量,确定所述第一图像的图像类型为所述序列帧类型或所述静态类型。
根据本公开一个或多个实施例,所述第二确定模块103具体用于:
获取第一编码方式和第二编码方式,所述第一编码方式包括无损编码方式和量化编码方式;
分别基于所述颜色映射类型、静态类型或序列帧类型,在所述第一编码方式和所述第二编码方式中确定所述第一图像对应的目标编码方式。
根据本公开一个或多个实施例,所述第二确定模块103具体用于:
若所述第一图像类型为颜色映射类型,则将所述第一编码方式中的所述无损编码方式,确定为所述第一图像对应的目标编码方式;
若所述第一图像的图像类型为静态类型,则根据所述第一编码方式、所述第二编码方式和所述第一图像,确定所述第一图像对应的目标编码方式;
若所述第一图像的图像类型为序列帧类型,则获取所述第一图像所包括的颜色数量,并根据所述颜色数量,确定所述第一图像对应的目标编码方式。
根据本公开一个或多个实施例,所述第二确定模块103具体用于:
基于所述第一编码方式,对所述第一图像进行预编码处理,得到所述第一图像对应的第一预编码结果;
基于所述第二编码方式,对所述第一图像进行预编码处理,得到所述第一图像对应的第二预编码结果;
若所述第二预编码结果与所述第一预编码结果的比值大于或等于第一阈值,则确定所述第一图像对应的目标编码方式为所述第二编码方式;
若所述第二预编码结果与所述第一预编码结果的比值小于所述第一阈值,则确定所述第一图像对应的目标编码方式为所述第一编码方式。
根据本公开一个或多个实施例,所述第二确定模块103具体用于:
若所述颜色数量小于或等于第二阈值,则确定所述目标编码方式为第一编码方式中的量化编码方式;
若所述颜色数量大于所述第二阈值,则将所述第一图像的多种颜色聚类为N类颜色,并确定每类颜色对应的聚类误差,根据N个聚类误差,确定所述目标编码方式,所述N为大于0,且小于256的整数。
根据本公开一个或多个实施例,所述第二确定模块103具体用于:
获取所述N个聚类误差中最大的聚类误差、以及所述N个聚类误差中大于第三阈值的聚类误差的目标数量;
若所述最大的聚类误差大于第四阈值,且所述目标数量大于第五阈值,则确定所述目标编码方式为第一编码方式中的无损编码方式;
若所述最大的聚类误差小于或等于所述第四阈值,或者,所述目标数量小于或等于所述第五阈值,则确定所述目标编码方式为所述第一编码方式中的量化编码方式。
本公开实施例提供的图像处理装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图11为本公开实施例提供的一种电子设备的结构示意图。请参见图11,其示出了适于用来实现本公开实施例的电子设备1100的结构示意图,该电子设备1100可以为任意具备端上计算能力的设备。图11示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,电子设备1100可以包括处理装置(例如中央处理器、图形处理器等)1101,其可以根据存储在只读存储器(Read Only Memory,简称ROM)1102中的程序或者从存储装置1108加载到随机访问存储器(Random Access Memory,简称RAM)1103中的程序而执行各种适当的动作和处理。在RAM 1103中,还存储有电子设备1100操作所需的各种程序和数据。处理装置1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
通常,以下装置可以连接至I/O接口1105:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1106;包括例如液晶显示器(Liquid CrystalDisplay,简称LCD)、扬声器、振动器等的输出装置1107;包括例如磁带、硬盘等的存储装置1108;以及通信装置1109。通信装置1109可以允许电子设备1100与其他设备进行无线或有线通信以交换数据。虽然图11示出了具有各种装置的电子设备1100,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1109从网络上被下载和安装,或者从存储装置1108被安装,或者从ROM 1102被安装。在该计算机程序被处理装置1101执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能涉及的所述图像处理方法。
本公开实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能涉及的所述图像处理方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network,简称LAN)或广域网(Wide Area Network,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的终端设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向终端设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。数据可以包括信息、参数和消息等,如切流指示信息。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
第一方面,本公开一个或多个实施例,提供一种图像处理方法,该方法包括:
获取待编码的特效资源,所述特效资源包括多个第一图像;
确定所述第一图像的图像类型;
针对于所述第一图像,根据所述第一图像的图像类型,确定所述第一图像对应的目标编码方式;
根据每个第一图像对应的目标编码方式,对所述特效资源进行编码处理。
根据本公开一个或多个实施例,所述确定所第一图像的图像类型,包括:
对所述第一图像的亮度值进行梯度处理,得到第二图像;
基于所述第二图像及所述第一图像相关联的帧数量,确定所述第一图像的图像类型,所述图像类型包括颜色映射类型、静态类型和序列帧类型。
根据本公开一个或多个实施例,所述基于所述第二图像及所述第一图像相关联的帧数量,确定所述第一图像的图像类型,包括:
对所述第二图像进行二值化处理,得到所述第二图像的二值化图;
根据所述第二图像的二值化图中的图像块重复单元量,确定所述第一图像为颜色映射类型;
根据所述第一图像相关联的帧数量,确定所述第一图像的图像类型为所述序列帧类型或所述静态类型。
根据本公开一个或多个实施例,根据所述第一图像的图像类型,确定所述第一图像对应的目标编码方式,包括:
获取第一编码方式和第二编码方式,所述第一编码方式包括无损编码方式和量化编码方式;
分别基于所述颜色映射类型、静态类型或序列帧类型,在所述第一编码方式和所述第二编码方式中确定所述第一图像对应的目标编码方式。
根据本公开一个或多个实施例,所述分别基于所述颜色映射类型、静态类型或序列帧类型,在所述第一编码方式和所述第二编码方式中确定所述第一图像对应的目标编码方式,包括:
若所述第一图像类型为颜色映射类型,则将所述第一编码方式中的所述无损编码方式,确定为所述第一图像对应的目标编码方式;
若所述第一图像的图像类型为静态类型,则根据所述第一编码方式、所述第二编码方式和所述第一图像,确定所述第一图像对应的目标编码方式;
若所述第一图像的图像类型为序列帧类型,则获取所述第一图像所包括的颜色数量,并根据所述颜色数量,确定所述第一图像对应的目标编码方式。
根据本公开一个或多个实施例,根据所述第一编码方式、所述第二编码方式和所述第一图像,确定所述第一图像对应的目标编码方式,包括:
基于所述第一编码方式,对所述第一图像进行预编码处理,得到所述第一图像对应的第一预编码结果;
基于所述第二编码方式,对所述第一图像进行预编码处理,得到所述第一图像对应的第二预编码结果;
若所述第二预编码结果与所述第一预编码结果的比值大于或等于第一阈值,则确定所述第一图像对应的目标编码方式为所述第二编码方式;
若所述第二预编码结果与所述第一预编码结果的比值小于所述第一阈值,则确定所述第一图像对应的目标编码方式为所述第一编码方式。
根据本公开一个或多个实施例,所述根据所述颜色数量,确定所述第一图像对应的目标编码方式,包括:
若所述颜色数量小于或等于第二阈值,则确定所述目标编码方式为第一编码方式中的量化编码方式;
若所述颜色数量大于所述第二阈值,则将所述第一图像的多种颜色聚类为N类颜色,并确定每类颜色对应的聚类误差,根据N个聚类误差,确定所述目标编码方式,所述N为大于0,且小于256的整数。
根据本公开一个或多个实施例,所述根据N个聚类误差,确定所述目标编码方式,包括:
获取所述N个聚类误差中最大的聚类误差、以及所述N个聚类误差中大于第三阈值的聚类误差的目标数量;
若所述最大的聚类误差大于第四阈值,且所述目标数量大于第五阈值,则确定所述目标编码方式为第一编码方式中的无损编码方式;
若所述最大的聚类误差小于或等于所述第四阈值,或者,所述目标数量小于或等于所述第五阈值,则确定所述目标编码方式为所述第一编码方式中的量化编码方式。
第二方面,本公开一个或多个实施例,提供一种图像处理装置,该图像处理装置包括获取模块、第一确定模块、第二确定模块和编码模块,其中:
所述获取模块用于,获取待编码的特效资源,所述特效资源包括多个第一图像;
所述第一确定模块用于,确定所述第一图像的图像类型;
所述第二确定模块用于,针对于任意一个所述第一图像,根据所述第一图像的图像类型,确定所述第一图像对应的目标编码方式;
所述编码模块用于,根据每个第一图像对应的目标编码方式,对所述特效资源进行编码处理。
根据本公开一个或多个实施例,所述第一确定模块具体用于:
对所述第一图像的亮度值进行梯度处理,得到第二图像;
基于所述第二图像及所述第一图像相关联的帧数量,确定所述第一图像的图像类型,所述图像类型包括颜色映射类型、静态类型和序列帧类型。
根据本公开一个或多个实施例,所述第一确定模块具体用于:
对所述第二图像进行二值化处理,得到所述第二图像的二值化图;
根据所述第二图像的二值化图中的图像块重复单元量,确定所述第一图像为颜色映射类型;
根据所述第一图像相关联的帧数量,确定所述第一图像的图像类型为所述序列帧类型或所述静态类型。
根据本公开一个或多个实施例,所述第二确定模块具体用于:
获取第一编码方式和第二编码方式,所述第一编码方式包括无损编码方式和量化编码方式;
分别基于所述颜色映射类型、静态类型或序列帧类型,在所述第一编码方式和所述第二编码方式中确定所述第一图像对应的目标编码方式。
根据本公开一个或多个实施例,所述第二确定模块具体用于:
若所述第一图像类型为颜色映射类型,则将所述第一编码方式中的所述无损编码方式,确定为所述第一图像对应的目标编码方式;
若所述第一图像的图像类型为静态类型,则根据所述第一编码方式、所述第二编码方式和所述第一图像,确定所述第一图像对应的目标编码方式;
若所述第一图像的图像类型为序列帧类型,则获取所述第一图像所包括的颜色数量,并根据所述颜色数量,确定所述第一图像对应的目标编码方式。
根据本公开一个或多个实施例,所述第二确定模块具体用于:
基于所述第一编码方式,对所述第一图像进行预编码处理,得到所述第一图像对应的第一预编码结果;
基于所述第二编码方式,对所述第一图像进行预编码处理,得到所述第一图像对应的第二预编码结果;
若所述第二预编码结果与所述第一预编码结果的比值大于或等于第一阈值,则确定所述第一图像对应的目标编码方式为所述第二编码方式;
若所述第二预编码结果与所述第一预编码结果的比值小于所述第一阈值,则确定所述第一图像对应的目标编码方式为所述第一编码方式。
根据本公开一个或多个实施例,所述第二确定模块具体用于:
若所述颜色数量小于或等于第二阈值,则确定所述目标编码方式为第一编码方式中的量化编码方式;
若所述颜色数量大于所述第二阈值,则将所述第一图像的多种颜色聚类为N类颜色,并确定每类颜色对应的聚类误差,根据N个聚类误差,确定所述目标编码方式,所述N为大于0,且小于256的整数。
根据本公开一个或多个实施例,所述第二确定模块具体用于:
获取所述N个聚类误差中最大的聚类误差、以及所述N个聚类误差中大于第三阈值的聚类误差的目标数量;
若所述最大的聚类误差大于第四阈值,且所述目标数量大于第五阈值,则确定所述目标编码方式为第一编码方式中的无损编码方式;
若所述最大的聚类误差小于或等于所述第四阈值,或者,所述目标数量小于或等于所述第五阈值,则确定所述目标编码方式为所述第一编码方式中的量化编码方式。
第三方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能涉及的所述图像处理方法。
第四方面,本公开实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能涉及的所述图像处理方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (11)
1.一种图像处理方法,其特征在于,包括:
获取待编码的特效资源,所述特效资源包括多个第一图像;
确定所述第一图像的图像类型;
针对于所述第一图像,根据所述第一图像的图像类型,确定所述第一图像对应的目标编码方式;
根据每个第一图像对应的目标编码方式,对所述特效资源进行编码处理。
2.根据权利要求1所述的方法,其特征在于,所述确定所第一图像的图像类型,包括:
对所述第一图像的亮度值进行梯度处理,得到第二图像;
基于所述第二图像及所述第一图像相关联的帧数量,确定所述第一图像的图像类型,所述图像类型包括颜色映射类型、静态类型和序列帧类型。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第二图像及所述第一图像相关联的帧数量,确定所述第一图像的图像类型,包括:
对所述第二图像进行二值化处理,得到所述第二图像的二值化图;
根据所述第二图像的二值化图中的图像块重复单元量,确定所述第一图像为颜色映射类型;
根据所述第一图像相关联的帧数量,确定所述第一图像的图像类型为所述序列帧类型或所述静态类型。
4.根据权利要求2或3所述的方法,其特征在于,所述根据所述第一图像的图像类型,确定所述第一图像对应的目标编码方式,包括:
获取第一编码方式和第二编码方式,所述第一编码方式包括无损编码方式和量化编码方式;
分别基于所述颜色映射类型、静态类型或序列帧类型,在所述第一编码方式和所述第二编码方式中确定所述第一图像对应的目标编码方式。
5.根据权利要求4所述的方法,其特征在于,所述分别基于所述颜色映射类型、静态类型或序列帧类型,在所述第一编码方式和所述第二编码方式中确定所述第一图像对应的目标编码方式,包括:
若所述第一图像类型为颜色映射类型,则将所述第一编码方式中的所述无损编码方式,确定为所述第一图像对应的目标编码方式;
若所述第一图像的图像类型为静态类型,则根据所述第一编码方式、所述第二编码方式和所述第一图像,确定所述第一图像对应的目标编码方式;
若所述第一图像的图像类型为序列帧类型,则获取所述第一图像所包括的颜色数量,并根据所述颜色数量,确定所述第一图像对应的目标编码方式。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一编码方式、所述第二编码方式和所述第一图像,确定所述第一图像对应的目标编码方式,包括:
基于所述第一编码方式,对所述第一图像进行预编码处理,得到所述第一图像对应的第一预编码结果;
基于所述第二编码方式,对所述第一图像进行预编码处理,得到所述第一图像对应的第二预编码结果;
若所述第二预编码结果与所述第一预编码结果的比值大于或等于第一阈值,则确定所述第一图像对应的目标编码方式为所述第二编码方式;
若所述第二预编码结果与所述第一预编码结果的比值小于所述第一阈值,则确定所述第一图像对应的目标编码方式为所述第一编码方式。
7.根据权利要求5所述的方法,其特征在于,所述根据所述颜色数量,确定所述第一图像对应的目标编码方式,包括:
若所述颜色数量小于或等于第二阈值,则确定所述目标编码方式为第一编码方式中的量化编码方式;
若所述颜色数量大于所述第二阈值,则将所述第一图像的多种颜色聚类为N类颜色,并确定每类颜色对应的聚类误差,根据N个聚类误差,确定所述目标编码方式,所述N为大于0,且小于256的整数。
8.根据权利要求7所述的方法,其特征在于,所述根据N个聚类误差,确定所述目标编码方式,包括:
获取所述N个聚类误差中最大的聚类误差、以及所述N个聚类误差中大于第三阈值的聚类误差的目标数量;
若所述最大的聚类误差大于第四阈值,且所述目标数量大于第五阈值,则确定所述目标编码方式为第一编码方式中的无损编码方式;
若所述最大的聚类误差小于或等于所述第四阈值,或者,所述目标数量小于或等于所述第五阈值,则确定所述目标编码方式为所述第一编码方式中的量化编码方式。
9.一种图像处理装置,其特征在于,包括获取模块、第一确定模块、第二确定模块和编码模块,其中:
所述获取模块用于,获取待编码的特效资源,所述特效资源包括多个第一图像;
所述第一确定模块用于,确定所述第一图像的图像类型;
所述第二确定模块用于,针对于任意一个所述第一图像,根据所述第一图像的图像类型,确定所述第一图像对应的目标编码方式;
所述编码模块用于,根据每个第一图像对应的目标编码方式,对所述特效资源进行编码处理。
10.一种电子设备,其特征在于,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求1-8任一项所述的图像处理方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-8任一项所述的图像处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310702001.XA CN116744035A (zh) | 2023-06-13 | 2023-06-13 | 图像处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310702001.XA CN116744035A (zh) | 2023-06-13 | 2023-06-13 | 图像处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116744035A true CN116744035A (zh) | 2023-09-12 |
Family
ID=87902350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310702001.XA Pending CN116744035A (zh) | 2023-06-13 | 2023-06-13 | 图像处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116744035A (zh) |
-
2023
- 2023-06-13 CN CN202310702001.XA patent/CN116744035A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10110936B2 (en) | Web-based live broadcast | |
CN111698504B (zh) | 编码方法、解码方法及装置 | |
KR102617258B1 (ko) | 이미지 프로세싱 방법 및 장치 | |
US20220327743A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
CN110463206B (zh) | 图像滤波方法、装置及计算机可读介质 | |
CN111417985A (zh) | 用于编码/解码表示3d对象的点云的几何形状的方法和设备 | |
CN114286172B (zh) | 数据处理方法及装置 | |
US20180184096A1 (en) | Method and apparatus for encoding and decoding lists of pixels | |
KR102063373B1 (ko) | 컬러 압축을 위한 클러스터링 및 인코딩 | |
CN108471536B (zh) | Alpha通道传输方法及装置、终端装置及存储介质 | |
US11263786B2 (en) | Decoding data arrays | |
WO2021174959A1 (en) | Systems and methods for processing infrared data | |
US11146826B2 (en) | Image filtering method and apparatus | |
CN111246208B (zh) | 视频处理方法、装置及电子设备 | |
CN110097520B (zh) | 图像处理方法和装置 | |
CN116744035A (zh) | 图像处理方法、装置及电子设备 | |
CN111738950A (zh) | 图像处理方法及装置 | |
WO2023035973A1 (zh) | 视频处理方法、装置、设备及介质 | |
CN115103191A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN114205583B (zh) | 一种基于h265的视频编码方法、系统及电子设备 | |
CN116760986B (zh) | 候选运动矢量生成方法、装置、计算机设备和存储介质 | |
CN112396671B (zh) | 水波纹效果实现方法、装置、电子设备和计算机可读存储介质 | |
CN115801976A (zh) | 视频处理方法、装置、设备及介质 | |
CN116630190A (zh) | 一种锐化处理方法、装置、设备和存储介质 | |
CN118678123A (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 |