图像信息处理方法及装置、存储介质与流程

文档序号:15685303发布日期:2018-10-16 20:59阅读:163来源:国知局

本发明涉及信息技术领域,尤其涉及一种图像信息处理方法及装置、存储介质。



背景技术:

序列帧是指由若干张图像按序组成的图像序列;序列帧动画是指按序逐一播放序列帧中各图像的播放技术。

序列帧动画的文件通常包括多张图像。若直接传输这多张图像,会导致的传输数据量大,占用的传输带宽大等问题。

为了减少数据量,会对图像进行压缩之后再传输。接收端接收到压缩后的文件之后,在播放序列帧动画之前需要进行解压缩。在实际的应用中发现,有时候在播放序列帧动画时会出现中央处理单元(centreprocessunit,cpu)等处理器的利用率过高的问题,甚至导致某些线程卡死。



技术实现要素:

有鉴于此,本发明实施例期望提供一种图像信息处理方法及装置、存储介质。

本发明的技术方案是这样实现的:

第一方面,本发明实施例提供一种图像信息处理方法,包括:

在播放序列帧动画之前,还原以视频压缩技术压缩的压缩文件中的图像;

存储所述图像;

在播放所述序列帧动画时,读取所述图像并根据所述图像的播放次序依次播放所述图像。

可选地,所述方法还包括:

若当前负载率小于预设负载率,压缩所述图像以获得压缩数据;

所述存储所述图像包括:

存储所述压缩数据。

可选地,所述若当前负载率小于预设负载率,压缩所述图像以获得压缩数据,包括:

若所述当前负载率小于所述预设负载率,利用jpeg压缩技术压缩所述图像。

可选地,所述图像为yuva图像,其中,所述yuva图像包括:亮度y分量、第一色差u分量、第二色差v分量及透明度a分量、第一空白分量及第二空白分量;所述y分量的数据量等于所述a分量;所述u分量和所述第一空白分量的数据量之和等于1/2所述a分量的数据量;所述v分量和所述第二空白分量的数据量之和等于1/2所述a分量的数据量。

可选地,所述存储所述图像,包括:

存储所述yuva图像;

或,

所述yuva图像的y分量、u分量、v分量及a分量。

可选地,所述方法还包括:

将所述yuva图像转换成rgba图像,其中,所述rgba图像包括:红色r分量、绿色g分量、蓝色b分量及透明度a分量;

所述存储所述图像包括:

存储所述rgba图像;

或者,

存储所述rgba图像的压缩文件。

第二方面,本发明实施例提供一种图像信息处理装置,包括:

还原模块,用于在播放序列帧动画之前,还原以视频压缩技术压缩的压缩文件中的图像;

存储模块,用于存储所述图像;

播放模块,用于在播放所述序列帧动画时,读取所述图像并根据所述图像的播放次序依次播放所述图像。

可选地,所述装置还包括:

压缩模块,用于若当前负载率小于预设负载率,压缩所述图像以获得压缩数据;

所述存储模块,具体用于存储所述压缩数据。

可选地,所述压缩模块,具体用于若所述当前负载率小于所述预设负载率,利用jpeg压缩技术压缩所述图像。

可选地,所述图像为yuva图像,其中,所述yuva图像包括:亮度y分量、第一色差u分量、第二色差v分量及透明度a分量、第一空白分量及第二空白分量;所述y分量的数据量等于所述a分量;所述u分量和所述第一空白分量的数据量之和等于1/2所述a分量的数据量;所述v分量和所述第二空白分量的数据量之和等于1/2所述a分量的数据量。

可选地,所述存储模块,具体用于存储所述yuva图像;或,所述yuva图像的y分量、u分量、v分量及a分量。

可选地,所述装置还包括:

转换模块,用于将所述yuva图像转换成rgba图像,其中,所述rgba图像包括:红色r分量、绿色g分量、蓝色b分量及透明度a分量;

所述存储模块,具体用于存储所述rgba图像;或者,存储所述rgba图像的压缩文件。

第三方面,本发明实施例提供一种电子设备,包括:

存储器;

处理器,与所述存储器连接,用于通过执行位于所述存储器上的计算机可执行指令,能够实现前述一个或多个技术方案提供的图像信息处理方法。

第四方面,本发明实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令被执行后,能够前述一个或多个技术方案提供的图像信息处理方法。

第五方面,本发明实施例提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令;所述计算机可执行指令被执行后,能够实现前述一个或多个技术方案提供的图像信息处理方法。

本发明实施例提供技术方案中,若接收到视频格式的压缩文件之后,会在播放序列帧动画之前就解压该压缩文件换换出压缩文件中的图像,如此,将通过视频压缩技术压缩的压缩文件提前解压之后,可以将解压的得到的图像存储在特定存储区间内,在播放该序列帧动画之前仅需从该特定存储区间读取该图像并播放即可。如此,解决了在播放序列帧动画之前边解压还原并播放导致的cpu等处理器的负载率过高的问题,从而导致因cpu的资源紧张导致的线程开死等问题,从而提升了序列帧动画播放的流畅度,提升了序列帧动画播放的播放效果。

附图说明

图1为本发明实施例提供的第一种图像信息处理方法的流程示意图;

图2为本发明实施例提供的第二种图像信息处理方法的流程示意图;

图3为本发明实施例提供的一种图像的各分量的等效示意图;

图4为本发明实施例提供的一种图像信息处理装置的结构示意图;

图5为本发明实施例提供的第三种图像信息处理方法的流程示意图;

图6为本发明实施例提供的第四种图像信息处理方法的流程示意图;

图7为本发明实施例提供的第五种图像信息处理方法的流程示意图;

图8为本发明实施例提供的第六种图像信息处理方法的流程示意图;

图9为本发明实施例提供的第七种图像信息处理方法的流程示意图;

图10为本发明实施例提供的第八种图像信息处理方法的流程示意图;

图11为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。

如图1所示,本实施例提供一种图像信息处理方法,包括:

步骤s110:在播放序列帧动画之前,还原以视频压缩技术压缩的压缩文件中的图像;

步骤s120;存储所述图像;

步骤s130:在播放所述序列帧动画时,读取所述图像并根据所述图像的播放次序依次播放所述图像。

本实施提供的方法可应用于解压端,该解压端可为该压缩文件的接收端,但是不限于接收端,在特定的情况下,该解压端还可为该压缩文件的压缩端。

该压缩文件可为解压端自行生成的,也可以是从压缩端接收的。该压缩端同时还可为压缩文件的发送端,该方法可为提供所述图像信息的服务器或终端设备。所述服务器可为运用于网络中的云服务器或者服务器组。所述终端设备可为各种电子设备,例如,手机、可穿戴设备、虚拟现实设备或增强现实设备等。

在本实施中所述压缩文件为以视频压缩技术压缩形成的压缩文件。该视频压缩技术至少包括:不同图像之间的图像间压缩,如此可以基于图像间压缩,可以尽可能的删减图像之间相同部分的数据内容,从而达到单一的图像内压缩可以减少数据量,提升压缩效率。另一方面,该视频压缩技术还可包括:单张图像的图像内压缩。如此,采用视频压缩技术压缩的压缩文件具有数据量少,占用的存储资源少及传输消耗的传输资源少的特点。在本实施例中,所述视频压缩技术可包括webn压缩文件等,具体实现时不局限于webn压文件。

在以视频压缩形成压缩文件时,所述方法还包括:

将代压缩的序列帧动画中的各个图像,基于图像之间的相似性区分为关键图像和关键图像以外的普通图像进行分组压缩,如此,一个压缩文件中就可以包括多个压缩组,每一个压缩组包括一个关键图像及与该关键图像相似性很好的普通图像,通过分组压缩相对于所有的图像视为一个组进行压缩,可以基于组之间的图像相似性,进一步减少压缩后的数据量。故所述压缩文件包括:一个或一个以上的压缩组。

在本实施例中,在播放序列帧动画之前,就完成图像的还原,如此,不用等到在播放时再还原所述图像,导致的cpu等处理器的过载的问题。尤其是当存在多个序列帧动画的压缩文件需要被解压并被播放时,通过提前还原所述yuva图像,可以大大降低cpu播放所述序列帧动画时的负载量,降低播放过程中的卡顿现象,提升播放效果。

在步骤s120中存储所述图像,可包括:存储图像的原始数据,该原始数据可包括:图像中各像素的像素值。该图像可为各种类型的图像,例如,rgb图像;yuv图像、rgba图像及yuva图像等。所述rgb图像包括:红色r分量、绿色g分量及蓝色b分量。所述rgba图像包括:红色r分量、绿色g分量、蓝色b分量及透明度a分量;

在本实施例中所述图像数据可为所述yuva图像的图像数据,还可以是所述rgba图像的图像数据。所述yuva图像包括:亮度y分量、第一色差u分量、第二色差v分量及透明度a分量。或者,所述yuva图像包括:亮度y分量、第一色差u分量、第二色差v分量及透明度a分量、第一空白分量及第二空白分量。所述yuv图像包括:亮度y分量、第一色差u分量及第二色差v分量。

此处,每一个分量代表一个像素某一个维度的数据值(又可以称之为分量值),这些分量组构成了像素值。在步骤s120中可博包括:存储该像素的各个分量对应的分量值。

在本实施例中所述图像数据可存在所述解压端的硬盘上,例如,存在解压端的硬盘的预定空间内,所述步骤s130中播放序列帧动画时,从所述预定空间读取数据后直接播放,不需要边播放边还原图像。

可选地,如图2所示,所述方法还包括:

步骤s111:若当前负载率小于预设负载率,压缩所述图像以获得压缩数据;

所述步骤s120可包括步骤s121:存储所述压缩数据。

所述步骤s120可包括步骤s131:在播放所述序列帧动画时,读取所述压缩数据并解压所述压缩数据获得图像,并根据所述图像的播放次序播放图像。

在本发明实施例中为了减少还原之后产生加大的数据量,在存储图像之前,还包括:在cpu等处理器的负载率比较低,例如,低于所述预设负载率时压缩图像,获得压缩数据。最后在步骤s120中存储的压缩数据,该压缩数据可为单个图像的图像内压缩,如此后续还原成图像时所需要的计算量小及时延迟小的特点。且利用图像的图像内压缩可以很好的减少数据量,从而减少存储图像所消耗的存储资源。在步骤s120中可以将图像存储在硬盘上,在另一些实施例中,所述步骤s120还可包括:将所述图像存储在内存上。若存储在内存上则需要播放该序列帧动画时,直接从内存上读取该数据,具有效率高的特点。

在一些实施中,所述预设负载率可为cpu等处理器的利用率的60%、70%等取值,此处的预设负载率仅为举例,具体实现时不局限于这些取值。

在一些实施例中,所述方法可包括:获取该序列帧动画帧的标签信息,该标签信息可为根据该序列帧动画的使用频次设定的,若标签信息指示该序列帧动画为常用序列帧动画或基本序列帧动画,可以将该压缩数据或还原出的数据直接存储在内存上。例如,针对一些趣味化的图像处理应用或软件开发工具,通常设置有一些趣味化的序列帧动画,有一些序列帧动画是该图像处理应用或软件开发工具最基本的序列帧动画或者用户使用频次特别高的序列帧动画,如此,该图像处理应用或软件开发工具启动时就从硬盘中将该数据读取到内存上。或者,在图像处理应用或软件开发工具启动时执行步骤s110至步骤s120或启动后立即步骤s110至步骤s120。如此,此时图像的存储位置可以为硬盘,优先为存储在内存上。

在步骤s130中播放所述序列帧动画可包括:

检测操作指令,该操作指令可包括:从人机交互接口接收的用户指令;

基于所述操作指令从硬盘和/或内存空间内读取所述图像并依次播放所述图像,从而实现序列帧动画的播放。

可选地,所述若当前负载率小于预设负载率,压缩所述图像以获得压缩数据,包括:

若所述当前负载率小于所述预设负载率,利用jpeg压缩技术压缩所述图像。

在本实施例中使用jpeg压缩技术进行压缩,压缩之后得到jpeg图像,jpeg图像具有图像质量损失小且压缩量大的特点。

可选地,如图3所示,所述图像为yuva图像,其中,所述yuva图像包括:亮度y分量、第一色差u分量、第二色差v分量及透明度a分量、第一空白分量及第二空白分量;所述y分量的数据量等于所述a分量;所述u分量和所述第一空白分量的数据量之和等于1/2所述a分量的数据量;所述v分量和所述第二空白分量的数据量之和等于1/2所述a分量的数据量。为一个所述yuva图像的各个分量的一个效果示意图,具体实现时有很多种,不局限于上述任意一种。

在本实施例中所述yuva图像是一种全新的图像,该yuva图像除了包括原有的y分量、u分量、v分量,还引入了a分量及第一空白分量和第二空白分量。

在本实施例中所述y分量和所述a分量可包括:w*h个像素的分量值,所述w为一个所述yuva图像中像素的列数;所述h为一个所述yuva图像中像素的行数。例如,所述y分量可包括:w*h个像素的亮度值;所述a分量可包括:w*h个像素的透明度值。

在本实施例中,所述u分量和v分量均包括:w*1/2h个像素的色度值。当然所述u分量和v分量对应的像素行数不同。

在本实施例中所述y分量和所述a分量可包括:w*h个像素的分量值,所述w为一个所述yuva图像中像素的列数;所述h为一个所述yuva图像中像素的行数。例如,所述y分量可包括:w*h个像素的亮度值;所述a分量可包括:w*h个像素的透明度值。

在本实施例中,所述u分量和v分量均包括:w*h/4个像素的色度值。当然所述u分量和v分量对应的像素行数不同。

在进行图像处理时,所述y分量和所述a分量将,一个分量归属一个第一通道的,如此,一个所述第一通道对应的数据量为:w*h个像素的分量值。

所述u分量和v分量可视为第二通道的分量,若该第二通道仅包括u分量和y分量显然会导致这个通道对应的数据量为:w*h/2个像素的分量值,少于第一通道的数据量,如此在进行图像展示时会由于第一通道和第二通道的数据量的不匹配导致图像播放错误。故在本实施例中还引入了第一空白分量和第二空白分量;所述第一空白分量和第二空白分量均可为取值为“0”的分量。所述u分量与所述第一空白分量的数据量之和为w*h/2个像素的分量值;所述v分量和所述第二空白分量的数据量之和为w*h/2个像素的分量值。如此,u分量、v分量、第一空白分量及第二空白分量之和等于w*h个像素的分量值。此时,若第二通道的分量包括u分量、v分量、第一空白分量及第二空白分量,就解决了第一通道和第二通道包含的数据量不同导致的图像播出错误的问题。如此,一个yuva图像不仅可以包括亮度分量和色度分量,同时包含了透明度分量,如解码显示该yuva图像则直接就可以输出一个自带透明度的图像,而无需如现有技术一般可能需要额外的一张灰度图像来体现透明度,从而减少了图像数量,并减少了因为图像数量产生的数据量。

如此,在一些实施例中所述步骤s120可包括:存储所述yuva图像;

在另一些实施例中,所述步骤s120可包括:所述yuva图像的y分量、u分量、v分量及a分量。由于所述第一空白分量及所述第二空白分量对应的每一个像素的分量值均相同,例如,均为“0”,因此不用单独存储每一个像素的空白分量的分量值,如此可以进一步减少需要存储的数据量,从而减少存储空间的消耗。如此,后续显示yuva图像时需要根据存储的y分量、u分量、v分量及a分量对应的像素个数,补齐第一空白分量和第二空白分量,再结合y分量、u分量、v分量及a分量、第一空白分量及第二空白分量来进行步骤s130中的序列帧动画的播放。

可选地,所述方法还包括:

将所述yuva图像转换成rgba图像,其中,所述rgba图像包括:红色r分量、绿色g分量、蓝色b分量及透明度a分量;

所述步骤s120可包括:存储所述rgba图像;或者,存储所述rgba图像的压缩文件。

在本实施例中所述yuva图像转换为rgba图像,可以方便图像处理器基于rgb三个颜色分量进行快速显示,故在本实施例中所述方法还包括:将yuva图像转换为rgba图像,如此,若显示器等播放器件基于rgb三个颜色分量进行显示时,若提前完成了转换,可以进一步加速后续的播放,减少播放序列帧动画时产生的cpu的利用率过高的问题。

在一些实施例中,所述方法还包括:

接收服务器发送的标签信息或者播放终端(即解压端)根据自身播放动画序列帧动画的频次确定出基本序列帧动画或常用序列帧动画,并生成对应的标签信息;该标签信息可为根据对不同的序列帧动画的使用频次确定的;

图像处理应用在启动时或者在启动后,根据所述标签信息在播放序列帧动画之前还原基本序列帧动画或常用序列帧动画的图像。在另一些实施例中,所述方法还包括:将所述图像存储在硬盘中或者内存中。

如此,所述播放终端或服务器可以动态的确定出基本序列帧动画或者常用序列帧动画。

如图4所示,本实施例提供一种图像信息处理装置,包括:

还原模块110,用于在播放序列帧动画之前,还原以视频压缩技术压缩的压缩文件中的图像;

存储模块120,用于存储所述图像;

播放模块130,用于在播放所述序列帧动画时,读取所述图像并根据所述图像的播放次序依次播放所述图像。

所述还原模块110、存储模块120及播放模块130均可对应于程序模块,该程序模块被处理器执行后可以接受所述压缩文件、还原序列帧动画的图像,并播放序列帧动画。

可选地,所述装置还包括:

压缩模块,用于若当前负载率小于预设负载率,压缩所述图像以获得压缩数据;

所述存储模块120,具体用于存储所述压缩数据。

所述压缩模块可以采用单张图像的图像内压缩,通过图像内压缩可以减少单张图像的数据量,但是同时还原压缩的单张图像时具有解压速度快的特点。

在本实施例中的存储模块120直接存储的压缩数据,压缩数据的数据量相对于单张图像的图像数据的数据量小的特点,故占用的存储资源少的特点。

可选地,所述压缩模块,具体用于若所述当前负载率小于所述预设负载率,利用jpeg压缩技术压缩所述图像。

此处的预设负载率可为cpu等处理器的利用率的60%、70%等取值,此处的预设负载率仅为举例,具体实现时不局限于这些取值。

通过jpeg压缩技术压缩的图像,具有图像质量损失小及压缩率高的特点,从而一方面维持了图像质量,另一方面减少了存储单元占用的存储空间小的特点。

可选地,所述图像为yuva图像,其中,所述yuva图像包括:亮度y分量、第一色差u分量、第二色差v分量及透明度a分量、第一空白分量及第二空白分量;所述y分量的数据量等于所述a分量;所述u分量和所述第一空白分量的数据量之和等于1/2所述a分量的数据量;所述v分量和所述第二空白分量的数据量之和等于1/2所述a分量的数据量。

在还有一些实施例中,所述存储模块120,具体用于存储所述yuva图像;或,所述yuva图像的y分量、u分量、v分量及a分量。

此外,所述装置还包括:

转换模块,用于将所述yuva图像转换成rgba图像,其中,所述rgba图像包括:红色r分量、绿色g分量、蓝色b分量及透明度a分量;

所述存储模块120,还具体用于存储所述rgba图像;或者,存储所述rgba图像的压缩文件。

如图5所示,本发明实施例还提供一种图像信息处理方法,包括:

步骤s210:确定待压缩的图像中的关键图像和所述关键图像以外的普通图像;其中,所述图像包括:亮度y分量、第一色差u分量、第二色差v分量及透明度a分量、第一空白分量及第二空白分量;所述y分量的数据量等于所述a分量;所述u分量和所述第一空白分量的数据量之和等于1/2所述a分量的数据量;所述v分量和所述第二空白分量的数据量之和等于1/2所述a分量的数据量;

步骤s220:根据关键图像和所述普通图像,对所述图像进行视频压缩并获得所述图像的压缩文件。该压缩文件可为前述序列帧动画的压缩文件。

在一些实施例提供的图像信息处理方法可应用于压缩端中,该压缩端同时还可为发送端,该方法可为提供所述图像信息的服务器或终端设备。所述服务器可为运用于网络中的云服务器或者服务器组。所述终端设备可为各种电子设备,例如,手机、可穿戴设备、虚拟现实设备或增强现实设备等。

在步骤s210中待压缩的图像可为多张具有内容关联性的独立的图像。在本实施中由于图像具有内容关联性,这种内容关联性可以体现在:前后播放的两个图像之间具有相似性,这种相似性可以用相似度或差异度来描述相似程度。在本实施中利用这种相似性需要进行视频压缩,如此,将多个独立的图像文件转换为视频进行压缩,可以利用视频压缩技术尽可能减少数据量,从而达到存储该压缩文件所需的存储资源少及传输该压缩文件所消耗的流量小及占用带宽小的特点。

在本实施例中利用视频压缩技术,一方面,可以实现相邻图像之间的图像间压缩,例如,如此,可以实现图像之间的相同部分的冗余数据去除。与此同时,在本实施中确定关键图像和普通图像,所述普通图像为所述关键图像以外的一个图像;此处的关键图像可为前一个图像的差异度大于预设值的图像,例如,第s+1个图像与第s个图像之间差异度大于预设值(即相似度小于特定值),则可认为第s+1个图像为关键图像;与关键图像之间的差异度小于预设值的图像可称之为该关键图像的普通图像。在本实施例中通过关键图像和普通图像的区分,另一方面可以将多张图像按照相似度分为多组待压缩的图像;相对于将所有图像视为一组进行相同部分的数据压缩而言,如此实现每一个组的冗余数据去除的最大化;如此,不仅可以图像间压缩进行数据量压缩,与此同时通过关键图像及普通图像的区分,可以尽可能的提升图像间压缩的压缩效率。

可选地,如图6所示,所述步骤s210可包括:

步骤s211:确定计算分量,,其中,所述计算分量为:所述y分量、所述v分量和所述u分量中的一个或多个,或者,所述计算分量为:所述y分量、所述v分量和所述u分量的转换分量中的一个或多个;

步骤s212:根据所述a分量确定差分计算权值;

步骤s213:基于提取的色差分量及所述计算权值得到第n个所述图像的第n计算值及第n+1个所述图像的第n+1计算值,其中,所述n为正整数;

步骤s214:对所述第n计算值及所述第n+1计算值进行差分计算;

步骤s215:根据所述差分计算的结果确定关键图像及所述普通图像。

在本实施例中首先会确定计算分量,该计算分量可以为图像中y分量、u分量及v分量中的一个或多个;也可以是所述y分量、u分量及v分量中的转换分量中的一个或多个,该转换分量可为与所述y分量、u分量及v分量中的r分量、b分量及g分量中的一个或多个。

对于m个比特的通道而言,若a分量的取值为“0”表示全透明;若取值为“2m-1”表示不透明;若取值在“0”到“2m-1”之间表示半透明。例如,对于8比特的通道而言,若a分量的取值为“0”表示全透明;若取值为“255”表示不透明;若取值在“0”到“255”之间表示半透明。

即值得注意的是,本发明实施例中引入了所述a分量来确定权值,由于a分量的存在,对于8比特的通道而言,若a分量的分量值“0”时表示全透明,则此时对应的像素的有色彩,也不会有呈现该色彩,故本实施例中基于a分量来设置差分计算权值,如此,可以结合a分量对色彩分量的影像来确定两个图像最终呈现给用户的效果层面计算相似度或差异度,从而尽可能的进行图像的差异。

在本实施例中若仅选择一个分量作为计算分量时,可以选择所述y分量;y分量相对于u分量和/或v分量可以更加细致的表征图像的特点,若选择y分量作为单一计算分量的话,可以精确的反应图像的特点,且由于仅引入了一个分量参与计算,可以减少计算量,尤其是包括大量的像素的计算,计算量大大的节省了。

在一些实施例中,在选择图像数据中的一个还是多个作为所述计算分量时,可以对两个图像进行差异度的大致预估。例如,通过降采样或预估算法获得两个图像的预估差异。所述预估差异可包括:预估透明度差异及色彩差异中的至少一个。例如,所述降采样可包括:对像素的各个分量值进行1/2采样、1/5采样或者1/10采样。所述预估算法可包括:均值算法、中值算法及极值算法。

例如,所述方法可包括:

获取图像之间的透明度差异,若透明度差异度大于透明度差异阈值,则需要选择一个以上的分量作为所述计算分量。

在一些实施例中,在确定两个图像的色彩差异之前,可以先匹配两个图像的a分量,根据两个图像的a分量的透明度差异大于透明度差异阈值,则可以直接认为两个图像至少有一个可为关键图像,若两个图像a分量的透明度差异阈值小于透明度差异阈值,在进行两个色彩差异的比较。若两个图像的a分量不同,则可能会向用户呈现的透明区域不同,呈现效果差异很大,故在本实施例中可以优先基于a分量的比较,来确定是选择一个图像数据中的一个分量还是多个分量进行后续的关键图像帧和普通图像的区分,如此,可以大大的减少计算量。

所述预估透明度差异大于预估透明度差异阈值可包括以下至少之一:

若两个图像重叠,两个图像的全透明区域之间的距离大于预设距离;

若两个图像重叠,两个图像的全透明区域之间间隔了一个至少一个半透明或不透明图像子区域。

为了实现快速比对a分量,可以通过降采样的方式从两种图像的各个图像子区域抽取部分像素的a为代表进行比对,来预估两个图像之间的透明度差异。

当然在还有一些实施例中,可以先比对两个图像的色彩差异度以获得所述预估色彩差异,若预估色彩差异小,才根据所述a分量确定两个图像的预估透明度差异度。

在一些实施例中,所述方法还包括:

若所述图像之间的预估透明度差异小于所述透明差异阈值,则进入到基于两个图像的预估色彩差异选择一个或多个分量作为计算分量的步骤。

所述基于两个图像的色彩差异选择一个或多个分量作为计算分量,可包括:

获取图像之间的预估色彩差异,若预估色彩差异大于色彩差异阈值则可以选择两个分量或三个分量作为计算分量参与差分计算;若小于色彩差异阈值则可以仅选择一个分量作为计算分量进行差分计算。此处的图像可为图像或者图像对应的rgba图像等

此处确定所述预估色彩差异可包括以下至少之一;

比较两个图像的像素值的均值,

比较两个图像的像素值的中值;

比较两个图像的极大像素值;

比较两个图像的极小像素值;

根据上述均值、中值、极大像素值及极小像素值的比较结果中的一个或多个,对应的两个图像的色差差异度是否足够大。例如,两个均值的差大于均值预定值,则认为两个图像的预估色彩差异大,否则认为两个图像的预估色彩差异小。再例如,两个中值的差大于中值预定值,则认为两个图像的预估色彩差异大,否则认为两个图像的预估色彩差异小。在必比如,结合极小像素值和极大像素值的比较,确定图像的色差差异度是否足够大;例如,极小像素值的比较直和极大像素值的比较值均大于对应的预定值,可认为图像的色差差异度是否足够大,否则可认为图像的色差差异度是否足够不够大。若图像的预估色彩差异大,则两个图像中的至少一个图像为关键图像。

在本实施例中所述差分计算可为将两个图像中对应坐标的像素逐一进行比较来获得所述差分计算的结果。例如,第n个图像的第x行第y个坐标的像素的y分量和该像素的a分量对应的权值进行计算得到该像素的一个比较值,该比较值为前述的第n计算值的一个。第n+1个图像的第x行第y个坐标的像素的y分量和该像素的a分量对应的权值进行计算得到该像素的比较值,该比较值为前述的第n+1计算值的一个,将这两个比较值的差值较小,例如,在给定的区间内,则认为这两个像素的像素值等同,如此,统计两个图像中像素值等同的像素个数,将该像素个数可作为表明两个图像的差异度的参数,或则计算出像素值等同的像素个数与一个图像中总像素的比值,利用该比值可以反映出两个yuva的相似性。

在一些实施例中,为了降低计算量可通过降采样的方式来确定所述关键图像和普通图像。在计算所述计算值时的采样频率可高于进行预估差异度的采样频率。

可选地,所述步骤s215可包括:

若第n+1计算值相较于所述第n计算值的差分计算的结果位于预设范围外,则所述第n+1个所述图像为所述关键图像;和/或,若第n+1计算值相较于所述第n计算值的差分计算的结果位于所述预设范围内,则所述第n+1个所述图像为所述普通图像。

此处的差分计算的结果可为前述的除去所述像素值等同的像素个数以外的像素个数,也可以一个图像的总像素个数减去所述像素值等同的像素个数得到的像素个数与总像素个数的比值。例如,可以通过参与计算的所有像素的比较值,然后对这些比较值求均值,若均值位于均值范围内,则可认为这两个图像相似度很高,若均值位于均值范围外则认为这两个图像差异度很大,其中有一个为关键图像。总之,该差分计算的结果位于预设范围内,说明这两个图像的差异度大,则第n+1个图像是与前面图像差异大的关键图像,否则可为普通图像。

可选地,所述a分量的取值范围为:0到2m,其中,所述m为色彩通道的位数;所述步骤s212可包括:对所述a分量进行归一化处理,获得与所述差分计算权值。

在进行所述归一化处理时,归一化的分母可为2m,如此,计算得到的a分量对应的差分计算权值的取值范围为:0到1。

在一些实施例中,可以直接将a分量作为差分计算权值进行计算,指示若将a分量直接作为差分计算权值进行计算,由于涉及的数据比较大,会导致计算难度增大,故在上述实施例中进行了a分量的归一化处理之后得到的归一化值作为所述差分计算权值。

可选地,如图7所示,所述方法还包括:

步骤s200:将原始的rgba图像转换为图像,其中,所述rgba图像包括:红色r分量、绿色g分量、蓝色b分量及透明度a分量;

其中,所述图像被压缩后数据量小于所述rgba图像被压缩后的数据量。

在本实施例中,所述图像是由rgba图像转换而来的,即所述rgba图像是原始图像;而所述图像是转换后的图像。

在进行图像到rgba图像的转换时,rgba图像中的r分量、b分量及g分量用于转换为图像中的y分量、u分量及v分量;而所述rgba图像中的a分量直接赋值给所述图像中的a分量。r分量、b分量及g分量用于转换为图像中的y分量、u分量及v分量的可以参见相关技术的rgb图像到yuv图像的转换。

将rgba图像转换图像之后进行图像压缩,相对于直接压缩rgba得到的压缩后的数据量更小,从而压缩幅度更大,故再一次减少了压缩文件的数据量。

在本实施例中所述图像是由所述rgba图像转化而来的,为了提升处理效率,在将所述rgba图像转换图像的同时,直接对rgba图像进行差分计算,再根据rgba图像与图像的对应关系,确定出图像中的关键图像和普通图像。如此,可以同步实现图像类型的转换,并同步确定出关键图像和普通图像,减少压缩延时。例如,利用第一线程进行rgba图像到图像的转换,利用第二线程进行关键图像和普通图像的区分;所述第一线程和第二线程都可以包括一个或多个线程;但是第一线程和第二线程不同,从而通过并行计算可以提升压缩文件的快速压缩。

故在一些实施例中,所述步骤s211可包括:提取所述rgba图像中所述r分量、所述g分量及所述b分量中的一个或多个;

所述步骤s212可包括:根据所述a分量确定差分计算权值;

所述步骤s213可包括:基于提取的色差分量及所述计算权值得到第n个所述rgba图像的第n计算值及所述n+1个所述rgba图像的第n+1计算值,其中,所述n为正整数;

所述步骤s214可包括:对所述第n计算值及所述第n+1计算值进行差分计算;

所述步骤s215可包括:根据所述差分计算的结果确定关键图像及所述普通图像。

在本实施例中,具体是选择所述r分量、g分量及b分量的一个还是多个,可以根据前述的色彩差异来确定。若色差差异度小,可以选择仅用一个色彩分量进行差分计算。

中的色彩分量的一个来差分计算,从而减少计算量。在本实施在进行差分计算时还会a分量,结合一个色差分量和a分量进行差分计算,从而不仅考虑了色彩分量及a分量。

在步骤s114中进行差分计算可包括:将所述第n计算值和第n+1计算值做减法,从而达到差分计算的结果。将所述差分计算的结果与

且进一步地,所述多张所述图像为序列帧动画的图像,或者,所述rgba图像为序列帧动画的图像。若是一个序列动画的图像,则图像之间有较大的内容关联性,如此利用前述压缩技术,可以大大的压缩数据量,减少数据量占用的存储资源和/或带宽资源。

此外,在本发明实施例中,所述图像和所述rgba图像可为至少部分透明的透明图像,如此,利用上述压缩方法可以最大限度的压缩数据量,减少不必要的存储资源及传输资源的浪费。

可选地,所述步骤s220可包括:

根据所述关键图像和所述普通图像,采用vp9编码方式对所述图像进行视频压缩。

在本实施例中采用vp9编码方式对所述图像记性能够视频压缩,可以获得webm视频压缩文件,该压缩文件可以很好的平衡文件的数据量和压缩所需的时间,确保数据量尽可能减小的同时,提升编码速率。

如图11所示,本实施例提供了一种电子设备,包括:

存储器;

处理器,与所述存储器连接,用于通过执行位于所述存储器上的计算机可执行指令,能够实现前述一个或多个应用于第二私有网络、数据库、第一私有网络中一个或多个技术方案提供的信息处理方法,例如,图1至图2、图5至图7及图8至图10所示图像信息处理方法中的一个或多个。

该存储器可为各种类型的存储器,可为随机存储器、只读存储器、闪存等。所述存储器可用于信息存储,例如,存储计算机可执行指令等。所述计算机可执行指令可为各种程序指令,例如,目标程序指令和/或源程序指令等。

所述处理器可为各种类型的处理器,例如,中央处理器、微处理器、数字信号处理器、可编程阵列、数字信号处理器、专用集成电路或图像处理器等。

所述处理器可以通过总线与所述存储器连接。所述总线可为集成电路总线等。

在一些实施例中,所述终端设备还可包括:通信接口,该通信接口可包括:网络接口、例如,局域网接口、收发天线等。所述通信接口同样与所述处理器连接,能够用于信息收发。

在一些实施例中,所述终端设备还包括人机交互接口,例如,所述人机交互接口可包括各种输入输出设备,例如,键盘、触摸屏等。

本实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令被执行后,能够实现一个或多个技术方案提供的图像信息处理方法,例如,图1、图2、图5至图10所示方法中的一个或多个。

所述计算机存储介质可为包括具有记录功能的各种记录介质,例如,cd、软盘、硬盘、磁带、光盘、u盘或移动硬盘等各种存储介质。可选的所述计算机存储介质可为非瞬间存储介质,该计算机存储介质可被处理器读取,从而使得存储在计算机存储机制上的计算机可执行指令被处理器获取并执行后,能够实现前述任意一个技术方案提供的信息处理方法,例如,执行应用于终端设备中的信息处理方法或应用服务器中的信息处理方法。

本实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令;所述计算机可执行指令被执行后,能够实现前述一个或多个技术方案提供的图像信息处理方法,例如,例如,图1、图2、图5至图10所示方法中的一个或多个。

所述包括有形地包含在计算机存储介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本发明实施例提供的方法步骤对应的指令。该程序产品可为各种应用程序或者软件开发工具包等。

以下结合的上述任意实施例提供几个具体示例:

示例1:

如图8所示,本示例提供一种图像信息处理方法,包括:解压、图像转换、编码、缓存及压缩等多个步骤。在一些应用场景下,所述解压是非必要的。

所述解压可包括:

读取压缩文件,例如,前述实施例中利用视频压缩技术压缩的压缩文件;

解压缩,此处,为解压缩读取的压缩文件,从而得到多个图像,在图8中显示有图像1、图像2及图像3等。

若需要将上述文件进行视频压缩,则进入到后续步骤,编码、缓存及压缩等。在一些实施例中所述图像转换可为非必要步骤,例如,原始存储的就是图像,则无需进行图像转换。

所述图像转换、编码及缓存及压缩可包括:

读取文件,此处读取的文件可为读取的图像文件,具体可如图8所示,读取的rbga图像;

复制rgba进行差分计算,此处的差分计算为基于像素粒度的,例如,对两张图像中对应位置像素逐一进行差分计算(也可以是基于降采样的差分计算)差分计算均值大于阈值,若是(y),则认为关键图像,若否(n)则表示是非关键图像;

将rbga图像转换为图像,图像的分量可如图8中所示,其中“0”表示空白分量,前述的第一空白分量和第二空白分量都可以统称为空白分量。

编码过程中,首先编码初始化。编码图像帧可为:根据关键图像和普通图像进行视频编码,此处的关键图像编码可对应于视频中的关键帧,普通图像可对应于视频中的普通帧。

在编码初始化之后编码得到视频头部,该视频头部可包括:视频参数,例如,视频中包括的视频的图像帧个数,图像帧的宽、高、视频格式以及美秒传输帧率(framespersecond,fps)等视频参数。

编码图像帧时,会形成帧头及缓存数据,帧头可包括:图像帧的参数,例如,指示该图像帧是否为对应于关键图像的关键帧,对应于普通图像的普通帧等。所述缓存数据可包括图像数据,例如,图像的图像数据,该图像数据可包括:y分量、a分量、u分量、v分量、第一空白分量及第二空白分量的分量值。

若完成了所有图像的编码,则编码视频文件的尾,同样可包括:帧头+视频数据。

最后进行视频压缩。该压缩过程可包括:压缩初始化、压缩,写入压缩文件,例如,将压缩文件写入到硬盘中,从而减少存储所消耗的存储资源。在一些情况下还包括:发送所述压缩文件。该压缩文件可以携带在图像应用的应用程序的安装包中下发到接收端,也还可以是存在服务器中,基于终端设备中的应用程序的请求下发所述压缩文件。在另一些情况下,所述方法还可包括:定期将更新后的压缩文件传输给应用程序所在的终端设备。

使用场景:需要同时播放多个视频,每个人脸序列帧动画都需要配套的视频解码;编码:使用webm编码优点:占用空间小,减轻服务器负荷。

解码:

方式一:实时视频解码压缩文件或编码视频压缩文件。

方式二:存储原始图像数据到硬盘上。多线程解码多个压缩文件。

cpu空闲时段,将原始图像数据编码为小文件。例如,在cpu的利用率低于特定阈值时,编码原始图像数据,例如,jpeg压缩所述原始图像数据,节省存储资源的消耗。

图像编码:为了实像包括透明度分量的图像编码,例如webp编码采用yuv+alpha(a)的方式,权衡编码时间和文件大小,使用jpg压缩。

示例2:

如图9所示,本示例提供一种图像信息处理方法,该图像信息可包括:各种图像的图像数据。所述方法可包括:

读取压缩文件;

解压压缩文件,得到解压文件1、解压文件2及解压文件3,在具体实现时不局限于3个解压文件。

缓存操作可包括:视频文件头、图像帧头及缓存数据(该缓存数据可包括:原始的图像数据)。

编码操作可包括:

编码初始化;

编码图像帧;

判断是否是最后一张图像,若不是返回缓存操作。

图像转换可包括:

通过编码图像帧得到了图像;

将图像去除空白分量,得到灰度图;

存储原始图像数据,或者,jpeg压缩保存jpeg格式压缩数据。

若当前cpu占用率比较小,从硬盘读取原始图像数据进行jpeg压缩。

示例3:

如图10所示,本示例提供一种序列帧动画的播放示意方法,包括:

请求图像文件序列,由于序列帧动画是按照先后顺序切换图像,从而形成动画效果的,故在一些情况下,图像是按照序列形式存储在设备中的,故形成了所述图像文件序列;

从硬盘读取图像文件;

判断是否存在jpeg图像,若是(y)读取jpeg图像文件,若否(n)读取原始图像文件,该原始图像文件可能是去除了空白分量的图像。

将图像转换为rgba图像;

进行文件映射结果,例如,将图像映射为rgba图像,如此,就可以知晓rgba图像的播放次序了。

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

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

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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