CN112770185A - 雪碧图的处理方法、装置、电子设备和存储介质 - Google Patents

雪碧图的处理方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN112770185A
CN112770185A CN202011566814.3A CN202011566814A CN112770185A CN 112770185 A CN112770185 A CN 112770185A CN 202011566814 A CN202011566814 A CN 202011566814A CN 112770185 A CN112770185 A CN 112770185A
Authority
CN
China
Prior art keywords
icon
video
sprite
target
sticker
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.)
Granted
Application number
CN202011566814.3A
Other languages
English (en)
Other versions
CN112770185B (zh
Inventor
矫志宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202011566814.3A priority Critical patent/CN112770185B/zh
Publication of CN112770185A publication Critical patent/CN112770185A/zh
Application granted granted Critical
Publication of CN112770185B publication Critical patent/CN112770185B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2621Cameras specially adapted for the electronic generation of special effects during image pickup, e.g. digital cameras, camcorders, video cameras having integrated special effects capability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2628Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开关于雪碧图的处理方法、装置、电子设备和存储介质,所述方法包括:获取雪碧图和图像数据,所述图像数据用于记录所述雪碧图中各个图标的位置信息;按照所述位置信息,从所述雪碧图中依次裁剪所述各个图标以生成图标序列;从所述图标序列中选取关键图标,并使用所述关键图标生成图标视频,所述图标视频用于下发至客户端。本方案能够减少客户端从服务端获取的数据量,从而有效减少服务端的带宽占用,并有助于降低客户端的资源占用率。

Description

雪碧图的处理方法、装置、电子设备和存储介质
技术领域
本公开涉及图像处理领域,尤其涉及一种雪碧图的处理方法、装置、电子设备和存储介质。
背景技术
现有的视频剪辑工具中,通常会为用户提供动态贴纸功能,以便用户在待处理视频中添加动态贴纸特效。
在相关技术中,用户在使用动态贴纸功能时,客户端需向服务端请求获取包含多个图标的雪碧图以及雪碧图的图像数据,并根据上述图像数据确定雪碧图中各个图标的位置及其顺序,然后按照该顺序依次展示各个图标,从而呈现出动态贴纸特效。
然而,因为雪碧图中包含动态贴纸对应的各个图标,并且需要图像数据记录各个图标在雪碧图中的位置,所以客户端从服务端获取的雪碧图和图像数据的总数据量较大,导致服务端向客户端下发数据时会占用较高的网络带宽。而且,因为客户端端在接收到雪碧图和图像数据后,需要进一步解析图像数据才能确定雪碧图中各个图标的播放顺序,所以处理逻辑较为复杂,导致客户端的内存等资源占用率较高。
发明内容
本公开提供了雪碧图的处理方法、装置、电子设备和存储介质,以至少解决相关技术中的技术问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提出一种雪碧图的处理方法,包括:
获取雪碧图和图像数据,所述图像数据用于记录所述雪碧图中各个图标的位置信息;
按照所述位置信息,从所述雪碧图中依次裁剪所述各个图标以生成图标序列;
从所述图标序列中选取关键图标,并使用所述关键图标生成图标视频,所述图标视频用于下发至客户端。
可选的,所述获取雪碧图和图像数据,包括:
获取所述雪碧图和图像数据对应的合并存储路径,并从所述合并存储路径指示的存储位置处下载所述雪碧图和图像数据;或者,
获取所述雪碧图和图像数据分别对应的独立存储路径,并从所述独立存储路径分别指示的存储位置处,分别下载所述雪碧图和图像数据。
可选的,获取所述合并存储路径或所述独立存储路径,包括:
在ImageMagick工具的命令行模式下接收CLI命令,并从所述CLI命令中解析所述合并存储路径或所述独立存储路径。
可选的,所述下载所述雪碧图和所述图像数据,包括:
利用ImageMagick工具中集成的CURL工具下载所述雪碧图和所述图像数据。
可选的,所述位置信息包括尺寸信息和坐标信息,所述按照所述位置信息,从所述雪碧图中依次裁剪所述各个图标以生成图标序列,包括:
解析所述图像数据分别获取所述各个图标的尺寸信息和坐标信息;
根据所述各个图标的尺寸信息和坐标信息,分别确定所述各个图标在所述雪碧图中对应的图标区域;
按照所述各个图标在所述雪碧图中的排列顺序,从所述雪碧图中依次裁剪各个所述图标区域,并将裁剪得到的所述各个图标按照所述排列顺序生成图标序列。
可选的,所述图标序列中包括所述关键图标和所述关键图标之外的非关键图标,所述从所述图标序列中选取关键图标,并使用所述关键图标生成图标视频,包括:
从所述图标序列中按照相同间隔选取预设数量或预设比例的图标作为关键图标,并按照所述各个图标在所述图标序列中的排列顺序,依次求取所述图标序列中各个非关键图标与其前方最近的关键图标之间的第一差异,根据所述关键图标和所述第一差异生成图标视频;或者,
依次求取所述图标序列中相邻图标之间的第二差异,并按照所述各个图标在所述图标序列中的排列顺序,将与前方相邻图标之间的所述第二差异小于预设差异阈值的图标作为关键图标,根据所述关键图标和所述第二差异生成图标视频。
可选的,所述生成图标视频,包括:
在ImageMagick工具的命令行模式下执行FFMPEG命令,以生成所述图标视频。
可选的,还包括:
确定所述图标视频对应的动态贴纸的贴纸标识;
将所述贴纸标识与所述图标视频的视频标识之间的绑定关系记录在标识关系表中;
将所述图标视频发送至内容分发网络,以由所述内容分发网络向所述客户端下发所述图标视频。
可选的,还包括:
接收所述客户端发送的包含目标贴纸标识的路径获取请求,其中,所述目标贴纸标识由所述客户端根据接收到的贴纸选取指令所确定;
在所述标识关系表中查询对应于所述目标贴纸标识的目标视频标识;
将所述目标视频标识所对应的目标图标视频在所述内容分发网络中的目标路径返回至所述客户端,以使所述客户端根据所述目标路径获取所述目标图标视频。
可选的,所述图标视频包括透明视频,所述透明视频的任一视频帧图像中包含所述图标序列中相应位置处的图标、以及所述图标对应的透明图标,所述透明图标用于记录所述任一视频帧图像的透明信息。
根据本公开实施例的第二方面,提出一种透明视频的获取方法,包括:
展示备选贴纸标签,任一备选贴纸标签被预关联至透明视频,所述透明视频被根据从图标序列中选取的关键图标生成,所述图标序列由从所述任一备选贴纸标签对应的雪碧图中裁剪得到的各个图标生成;
响应于接收到的贴纸选取指令,确定被选取的目标贴纸标签对应的目标贴纸标识;
向服务端发送包含所述目标贴纸标识的路径获取请求,并在接收到所述服务端返回的目标路径后,从所述目标路径处获取被关联至所述目标贴纸标识的目标透明视频。
可选的,还包括:
在当前时刻被展示的待处理视频上方展示所述目标透明视频;
响应于接收到的视频合并操作,将所述目标透明视频与所述待处理视频合并生成处理后视频,所述处理后视频在播放时在所述目标透明视频的位置呈现出动态视频特效。
可选的,还包括:
将所述目标透明视频保存在本地存储空间,并在再次接收到用于选取所述目标贴纸标签的贴纸选取指令的情况下,展示所述目标透明视频。
根据本公开实施例的第三方面,提出一种雪碧图的处理装置,包括:
图像获取模块,被配置为获取雪碧图和图像数据,所述图像数据用于记录所述雪碧图中各个图标的位置信息;
图像裁剪模块,被配置为按照所述位置信息,从所述雪碧图中依次裁剪所述各个图标以生成图标序列;
视频生成模块,被配置为从所述图标序列中选取关键图标,并使用所述关键图标生成图标视频,所述图标视频用于下发至客户端。
可选的,所述图像获取模块还被配置为:
获取所述雪碧图和图像数据对应的合并存储路径,并从所述合并存储路径指示的存储位置处下载所述雪碧图和图像数据;或者,
获取所述雪碧图和图像数据分别对应的独立存储路径,并从所述独立存储路径分别指示的存储位置处,分别下载所述雪碧图和图像数据。
可选的,所述图像获取模块还被配置为:
在ImageMagick工具的命令行模式下接收CLI命令,并从所述CLI命令中解析所述合并存储路径或所述独立存储路径。
可选的,所述图像获取模块还被配置为:
利用ImageMagick工具中集成的CURL工具下载所述雪碧图和所述图像数据。
可选的,所述位置信息包括尺寸信息和坐标信息,所述图像裁剪模块还被配置为:
解析所述图像数据分别获取所述各个图标的尺寸信息和坐标信息;
根据所述各个图标的尺寸信息和坐标信息,分别确定所述各个图标在所述雪碧图中对应的图标区域;
按照所述各个图标在所述雪碧图中的排列顺序,从所述雪碧图中依次裁剪各个所述图标区域,并将裁剪得到的所述各个图标按照所述排列顺序生成图标序列。
可选的,所述图标序列中包括所述关键图标和所述关键图标之外的非关键图标,所述视频生成模块还被配置为:
从所述图标序列中按照相同间隔选取预设数量或预设比例的图标作为关键图标,并按照所述各个图标在所述图标序列中的排列顺序,依次求取所述图标序列中各个非关键图标与其前方最近的关键图标之间的第一差异,根据所述关键图标和所述第一差异生成图标视频;或者,
依次求取所述图标序列中相邻图标之间的第二差异,并按照所述各个图标在所述图标序列中的排列顺序,将与前方相邻图标之间的所述第二差异小于预设差异阈值的图标作为关键图标,根据所述关键图标和所述第二差异生成图标视频。
可选的,所述视频生成模块还被配置为:
在ImageMagick工具的命令行模式下执行FFMPEG命令,以生成所述图标视频。
可选的,还包括:
标识确定模块,被配置为确定所述图标视频对应的动态贴纸的贴纸标识;
标识绑定模块,被配置为将所述贴纸标识与所述图标视频的视频标识之间的绑定关系记录在标识关系表中;
视频发送模块,被配置为将所述图标视频发送至内容分发网络,以由所述内容分发网络向所述客户端下发所述图标视频。
可选的,还包括:
请求接收模块,被配置为接收所述客户端发送的包含目标贴纸标识的路径获取请求,其中,所述目标贴纸标识由所述客户端根据接收到的贴纸选取指令所确定;
标识查询模块,被配置为在所述标识关系表中查询对应于所述目标贴纸标识的目标视频标识;
路径返回模块,被配置为将所述目标视频标识所对应的目标图标视频在所述内容分发网络中的目标路径返回至所述客户端,以使所述客户端根据所述目标路径获取所述目标图标视频。
可选的,所述图标视频包括透明视频,所述透明视频的任一视频帧图像中包含所述图标序列中相应位置处的图标、以及所述图标对应的透明图标,所述透明图标用于记录所述任一视频帧图像的透明信息。
根据本公开实施例的第四方面,提出一种透明视频的获取装置,包括:
标签展示模块,被配置为展示备选贴纸标签,任一备选贴纸标签被预关联至透明视频,所述透明视频被根据从图标序列中选取的关键图标生成,所述图标序列由从所述任一备选贴纸标签对应的雪碧图中裁剪得到的各个图标生成;
标识确定模块,被配置为响应于接收到的贴纸选取指令,确定被选取的目标贴纸标签对应的目标贴纸标识;
视频获取模块,被配置为向服务端发送包含所述目标贴纸标识的路径获取请求,并在接收到所述服务端返回的目标路径后,从所述目标路径处获取被关联至所述目标贴纸标识的目标透明视频。
可选的,还包括:
视频展示模块,被配置为在当前时刻被展示的待处理视频上方展示所述目标透明视频;
视频合并模块,被配置为响应于接收到的视频合并操作,将所述目标透明视频与所述待处理视频合并生成处理后视频,所述处理后视频在播放时在所述目标透明视频的位置呈现出动态视频特效。
可选的,还包括:
视频保存模块,被配置为将所述目标透明视频保存在本地存储空间,并在再次接收到用于选取所述目标贴纸标签的贴纸选取指令的情况下,展示所述目标透明视频。
根据本公开实施例的第五方面,提出一种服务器,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述第一方面中任一实施例所述的雪碧图的处理方法。
根据本公开实施例的第六方面,提出一种客户端,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述第二方面中任一实施例所述的透明视频的获取方法。
根据本公开实施例的第七方面,提出一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面中任一实施例所述的雪碧图的处理方法或上述第二方面中任一实施例所述的透明视频的获取方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
根据本公开的实施例,由服务端按照图像数据中记录的雪碧图中各个图标的位置信息对各个图标进行裁剪以生成图标序列,仅使用图标序列中的部分关键图标生成图标视频,从而在后台将数据量较大的雪碧图和图像数据转换为数据量较小的图标视频。转换完成后,服务端只需要向客户端下发较小数据量的图标视频即可,从而有效减少了服务端的带宽占用;而客户端只需在接收到图标视频后直接进行展示即可,无需解析复杂的位置信息,从而简化了动态特效的展示及处理逻辑,有助于降低客户端的资源占用率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是一示例性实施例提供的一种雪碧图的处理系统的架构示意图;
图2是根据本公开的实施例示出的一种雪碧图的处理方法的流程图;
图3是根据本公开的实施例示出的一种雪碧图的示意图;
图4是根据本公开的实施例示出的一种透明视频的获取方法的流程图;
图5是根据本公开的实施例示出的一种雪碧图的处理方法和透明视频的获取方法的交互流程图;
图6是根据本公开的实施例示出的一种图标序列的示意图;
图7是根据本公开的实施例示出的一种透明视频的示意图;
图8是根据本公开的实施例示出的一种选取动态贴纸的客户端界面示意图;
图9是根据本公开的实施例示出的一种合并生成视频的客户端界面示意图;
图10分别是本公开的实施例示出的一种雪碧图的处理装置框图;
图11分别是本公开的实施例示出的一种透明视频的获取装置框图;
图12是根据本公开的实施例示出的一种电子设备的结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
现有的视频剪辑工具中,通常会为用户提供动态贴纸功能,以便用户在待处理视频中添加动态贴纸特效。
在相关技术中,用户在使用动态贴纸功能时,客户端需向服务端请求获取包含多个图标的雪碧图以及雪碧图的图像数据,并根据上述图像数据确定雪碧图中各个图标的位置及其顺序,然后按照该顺序依次展示各个图标,从而呈现出动态贴纸特效。
然而,因为雪碧图中包含动态贴纸对应的各个图标,并且需要图像数据记录各个图标在雪碧图中的位置,所以客户端从服务端获取的雪碧图和图像数据的总数据量较大,导致服务端向客户端下发数据时会占用较高的网络带宽。而且,因为客户端端在接收到雪碧图和图像数据后,需要进一步解析图像数据才能确定雪碧图中各个图标的播放顺序,所以处理逻辑较为复杂,导致客户端的内存等资源占用率较高。
为解决上述技术问题,本公开实施例提出一种雪碧图的处理方法,由服务端在后台将数据量较大的雪碧图和图像数据转换为数据量较小的图标视频,从而不仅减少了服务端向客户端下发数据的数据量,降低了服务端的带宽占用;而且简化了动态特效的展示及处理逻辑,有助于降低客户端的资源占用率。
图1是一示例性实施例提供的一种多媒体资源处理平台的架构示意图。如图1所示,该系统可以包括网络10、服务器11、若干电子设备,比如手机12、手机12和手机14等。
服务器11可以为包含一独立主机的物理服务器,或者该服务器11可以为主机集群承载的虚拟服务器或云服务器。在运行过程中,服务器11可以运行某一应用的服务器侧的程序,以实现该应用的相关业务功能,比如当该服务器11运行多媒体资源处理平台的程序时,可以实现为该多媒体资源处理平台的服务端。而在本说明书一个或多个实施例的技术方案中,可由服务器11通过与手机12-14上运行的客户端进行配合,以实现多媒体资源处理过程中的动态贴纸特效的提供及展示方案。
在本实施例中,多媒体资源处理平台不仅可以实现将雪碧图转换为图标视频的功能,还可以作为诸多其他功能的集成化功能平台,比如裁剪雪碧图、生成图标序列、选取关键图标、生成图标视频、将图标视频上传至内容分发网络、接收并响应客户端的地址获取请求等,本说明书一个或多个实施例并不对此进行限制。
手机12-14只是用户可以使用的一种类型的电子设备。实际上,用户显然还可以使用诸如下述类型的电子设备:平板设备、笔记本电脑、掌上电脑(PDAs,Personal DigitalAssistants)、可穿戴设备(如智能眼镜、智能手表等)等,本说明书一个或多个实施例并不对此进行限制。在运行过程中,该电子设备可以运行某一应用的客户端侧的程序,以实现该应用的相关业务功能,比如当该电子设备运行多媒体资源处理平台的程序时,可以实现为该多媒体资源处理平台的客户端。
需要指出的是:多媒体资源处理平台的客户端的应用程序可以被预先安装在电子设备上,使得该客户端可以在该电子设备上被启动并运行;当然,当采用诸如HTML5技术的在线“客户端”时,无需在电子设备上安装相应的应用程序,即可获得并运行该客户端。其中,上述多媒体资源处理平台可以用于处理文本、图片、视频等多种形式的多媒体资源,本公开实施例并不对此进行限制。
而对于手机12-14与服务器11之间进行交互的网络10,可以包括多种类型的有线或无线网络。
图2是根据本公开的实施例示出的一种雪碧图的处理方法的流程图。如图2所示,所述方法应用于多媒体资源处理平台的服务端,所述方法可以包括:
步骤202,获取雪碧图和图像数据,所述图像数据用于记录所述雪碧图中各个图标的位置信息。
本实施例中涉及到的雪碧图与相关技术中的雪碧图并不存在本质区别,均是通过将多个图标按照预设顺序依次整合在一张背景图片中得到的图片文件。图3是根据本公开的实施例示出的一种雪碧图的示意图,如图3所示,该雪碧图中包含5*6=30个心形图标,客户端按照雪碧图对应的图像数据中所记录的各个心形图标的位置信息,可以确定各个心形图标在雪碧图中的位置,进而能够通过依次展示各个心形图标实现动态贴纸特效(类似于连环画的播放原理)。其中,上述图像数据可以为JOSN(JavaScript Object Notation,JS对象简谱)格式的数据,此时可以采用独立于编程语言的文本格式来存储和表示图像数据,并且以其简洁和清晰的层次结构保证图像数据的传输和交换过程能够更加高效。
在一实施例中,上述雪碧图和其对应的图像数据可以被保存在服务端、服务端连接的数据库或者CDN(Content Delivery Network,内容分发网络)服务器中,因此服务端可以按照相应的存储路径从上述存储位置处下载雪碧图和图像数据。作为一示例性实施例,上述雪碧图和图像信息可以被保存在相同的存储路径——即合并存储路径下,因此服务端可以获取雪碧图和图像数据对应的合并存储路径,并从合并存储路径指示的存储位置处下载雪碧图和图像数据,此时能够一次性下载得到雪碧图和图像数据,提高获取效率。作为另一示例性实施例,为了提升图像和数据的存储效率以及对存储空间的利用率,考虑到雪碧图和图像信息的格式往往并不相同,因此二者可以被分别保存在不同的存储路径——即独立存储路径下,此时服务端可以获取雪碧图和图像数据分别对应的独立存储路径,并从各自的独立存储路径分别指示的存储位置处,分别下载得到雪碧图和图像数据。
进一步的,可以在图像处理软件ImageMagick(下称ImageMagick工具)的命令行模式下实现上述获取雪碧图和图像数据的处理逻辑。具体的,服务端可以预先部署并运行有ImageMagick工具,从而服务端可以在ImageMagick工具的命令行模式下接收CLI(command-line interface,命令行界面)命令,并从该CLI命令中解析上述合并存储路径或独立存储路径。利用ImageMagick工具在命令行模式下使用CLI命令解析雪碧图和图像数据对应的合并存储路径或独立存储路径,用户可以通过撰写命令行脚本的方式实现对多个雪碧图及其各自对应图像数据的批量获取,从而有效提升服务端获取雪碧图和图像数据的效率。
更进一步的,上述ImageMagick工具中还可以集成CURL工具作为文件上传和下载的功能组件,从而服务端可以利用该CURL工具从上述合并存储路径或独立存储路径对应的存储位置处下载上述雪碧图和图像数据,以实现数据的批量化高效下载。
步骤204,按照所述位置信息,从所述雪碧图中依次裁剪所述各个图标以生成图标序列。
在一实施例中,上述图像数据记录的各个图标的位置信息可以包括尺寸信息和坐标信息,其中,尺寸信息可以为各个图标的长和宽(矩形图标)、图标半径(圆形图标)等信息;坐标信息可以为各个图标的中心点或某一顶点坐标(矩形图标)、圆心坐标(圆形图标)、图标特征点坐标(不规则图标)等信息,本公开实施例并不对此进行限制。此时,服务端可以通过下述方式裁剪各个图标并生成图标序列:先解析解析图像数据分别获取各个图标的尺寸信息和坐标信息,然后根据各个图标的尺寸信息和坐标信息,分别确定各个图标在雪碧图中对应的图标区域,最后按照各个图标在雪碧图中的排列顺序,从雪碧图中依次裁剪各个图标分别对应的图标区域,并将裁剪得到的各个图标按照上述排列顺序生成图标序列。其中,裁剪得到的各个图标在所述图标序列中的排列顺序与各个图标在雪碧图中的排列顺序应当保持相同,以保证生成的图标视频的与雪碧图的相互对应,进而保证依次展示各个图标时的动态展示效果与播放透明视频时的展示效果相同。当然,对于烟花、雪花、雨滴等细节复杂的图标,也可以不严格按照上述排列顺序生成图标序列,甚至按照乱序生成图标序列,不再赘述。通过上述尺寸信息和坐标信息能够较为准确地确定出雪碧图中各个图标的具体位置,从而保证所确定图标区域的准确性,进而保证裁剪得到的图标序列中各个图标的准确性。
步骤206,从所述图标序列中选取关键图标,并使用所述关键图标生成图标视频,所述图标视频用于下发至客户端。
在一实施例中,图标序列中的各个图标可以分为关键图标和除关键图标之外的非关键图标,此时服务端可以通过多种方式生成图标视频。具体的,作为一示例性实施例,可以从图标序列中按照相同间隔选取预设数量或预设比例的图标作为关键图标,并按照各个图标在图标序列中的排列顺序,依次求取图标序列中各个非关键图标与其前方最近的关键图标之间的第一差异,根据关键图标和第一差异生成图标视频。或者,作为另一示例性实施例,可以依次求取图标序列中相邻图标之间的第二差异,并按照各个图标在图标序列中的排列顺序,将与前方相邻图标之间的第二差异小于预设差异阈值的图标作为关键图标,根据关键图标和第二差异生成图标视频。其中,上述预设数量可以小于雪碧图中图标总数,如在图标总数为30的情况下,上述预设数量可以为5或10等;上述预设比例可以小于1,如可以为10%、20%等,本公开实施例对于上述预设数量与预设比例的具体值并不进行限制。上述第一差异与第二查差异可以为两图标(实际为两图标对应的图像)中各个像素点的像素值之间的差异,当然,还可以将颜色梯度值、颜色变化率等参数作为上述差异,本公开实施例并不对此进行限制。
进一步的,可以在ImageMagick工具的命令行模式下实现上述生成图标视频的处理逻辑。具体的,ImageMagick工具中可以封装FFMPEG命令,此时服务端可以在ImageMagick工具的命令行模式下执行该FFMPEG命令,以生成图标视频,从而实现图标视频的快速高效生成。
在一实施例中,服务端对应的客户端可以为用户提供动态贴纸以供使用,在用户选择某动态贴纸的情况下,客户端需要获取并向用户展示该动态贴纸对应的图标视频。相应的,服务端在生成图标视频后,还可以确定图标视频对应的动态贴纸的贴纸标识,并将贴纸标识与图标视频的视频标识之间的绑定关系记录在标识关系表中,进而将图标视频发送至CDN,以由CDN向客户端下发图标视频。通过在表示关系表中记录上述标识之间的绑定关系,实现了视频标识与贴纸标识之间的绑定,从而便于快速查找贴纸标识对应的图标视频,而且因为将图标视频发送至CDN进行预存储,所以能够保证客户端从最近的CDN服务器处获取该图标视频,从而缩短了视频传输链路,有助于加快客户端的视频获取速度。
进一步的,上述客户端可以向用户展示动态贴纸标签,从而客户端可以在接收到用户发出的贴纸选取指令后确定被选取的目标贴纸标签,进而确定相应的目标贴纸标识,然后将该目标贴纸标识包含在路径获取请求中发送至服务端;相应的,服务端可以从接收到的上述路径获取请求中提取目标贴纸标识,进而在标识关系表中查询对应于目标贴纸标识的目标视频标识,再将目标视频标识所对应的目标图标视频在CDN中的目标路径返回至客户端,以使客户端从该目标路径指定的存储位置处下载目标图标视频。
在上述各实施例中,生成的图标视频可以为透明视频,该透明视频的任一视频帧图像中可以包含图标序列中相应位置处的图标、以及该图标对应的透明图标,其中,该透明图标用于记录上述任一视频帧图像的透明信息。其中,上述相应位置处的图标可以为雪碧图中图标的原图,如可以为灰度图、RGB颜色图等,而对应于该原图的透明图标中的各个像素点的取值并非颜色值,而是该像素点在原图中对应像素点的透明度。相应的,客户端展示上述透明视频得过程,即为按照上述顺序依次展示透明视频中各个视频帧图像对应的合并帧图像的过程。进一步的,上述合并帧图像可以由上述原图与透明图标相互结合合并得到的帧图像,该帧图像中的各个像素点会按照该像素点对应的透明度进行展示,从而在依次展示透明视频的各个视频帧图像对应的合并帧图像的过程中,能够在客户端的展示界面中呈现出透明视频的展示效果,即视频中的部分被展示对象具有透明效果,从而用户可以将该透明视频作为动态贴纸。
与前述实施例相对应的,本公开还提出一种应用于客户端的透明视频的获取方法。如图4所示为该方法的流程图。如图4所示,该方法可以包括:
步骤402,展示备选贴纸标签,任一备选贴纸标签被预关联至透明视频,所述透明视频被根据从图标序列中选取的关键图标生成,所述图标序列由从所述任一备选贴纸标签对应的雪碧图中裁剪得到的各个图标生成。
步骤404,响应于接收到的贴纸选取指令,确定被选取的目标贴纸标签对应的目标贴纸标识。
步骤406,向服务端发送包含所述目标贴纸标识的路径获取请求,并在接收到所述服务端返回的目标路径后,从所述目标路径处获取被关联至所述目标贴纸标识的目标透明视频。
在一实施例中,客户端可以在当前时刻被展示的待处理视频上方展示获取到的目标透明视频以供用户查看,此时,用户可以通过实施预设操作对该目标透明视频进行展示位置、个数、大小、播放速度等相关参数的调整,以使目标透明视频在待处理视频上方的合适位置呈现出用户满意的动态贴纸效果。从而,用户可以在调整完成后实施视频合并操作,如触发客户端中展示的“视频合并”按钮,以指示客户端将上述待处理视频和目标透明视频进行合并处理。相应的,客户端可以响应于接收到的视频合并操作,将目标透明视频与待处理视频合并生成处理后视频,该处理后视频在播放时在可以目标透明视频的位置呈现出动态视频特效,从而实现在待处理视频中添加动态贴纸的目的。
在另一实施例中,为避免频繁向服务端获取透明视频,客户端可以在获取到目标透明视频后将其保存在本地存储空间中,进而可以在再次接收到用于选取目标贴纸标签的贴纸选取指令的情况下,直接展示目标透明视频,而无需再次向服务端请求获取。通过本地缓存的方式有效减少客户端与服务端或CDN服务器之间的交互次数,有助于进一步降低服务端的请求处理压力。
根据本公开的上述实施例,由服务端按照图像数据中记录的雪碧图中各个图标的位置信息对各个图标进行裁剪以生成图标序列,进而仅使用图标序列中的部分关键图标生成图标视频,从而在后台将数据量较大的雪碧图和图像数据转换为数据量较小的图标视频。转换完成后,服务端只需要向客户端下发较小数据量的图标视频即可,能够有效减少服务端的带宽占用;而客户端只需要在接收到图标视频后直接展示即可,无需解析复杂的位置信息,从而简化了动态特效的展示及处理逻辑,有助于降低客户端的资源占用率。
图5是根据本公开的实施例示出的一种雪碧图的处理方法和透明视频的获取方法的交互流程图。下面以图5-图9所示的实施例,对服务端将雪碧图转换为透明视频,以及客户端向服务端请求获取并展示服务端生成的透明视频的具体过程进行详细说明。该过程可以包括下述步骤501-516。
步骤501,服务端安装ImageMagick工具。
在本实施例中,服务端可以运行如图1所示实施例所述的ImageMagick工具,从而多媒体资源处理平台的后台工作人员可以在该工具的命令将模式下,通过输入命令行、或编辑并运行脚本的方式,控制服务端在该工具的命令行模式下执行雪碧图转换脚本以实现本实施例下述步骤502-509的处理逻辑。本实施例即以使用该工具为例进行下述说明。在下述步骤中,后台工作人员编辑命令行以及服务端编译及执行命令行的具体方式可以参见相关技术中关于ImageMagick工具的底层实现方案,本实施例不再赘述。
当然,也可以不使用上述ImageMagick工具而通过其他方式实现本实施例的下述处理逻辑,本公开实施例并不对此进行限制。
步骤502,服务端获取雪碧图和雪碧图对应的图像数据。
在一实施例中,后台工作人员可以在ImageMagick工具的命令行模式下向服务端发送CLI命令,以向服务端指定待处理的雪碧图和雪碧图对应的图像数据对应的存储路径,进而便于服务端获取雪碧图和雪图像数据。相应的,服务端可以解析其接收到的CLI命令中的合并存储路径或者独立存储路径,并通过ImageMagick工具中集成的CURL工具下载雪碧图和图像数据。其中,服务端、服务端连接的数据库或者CDN服务器中可以保存多个雪碧图以及各个雪碧图对应的图像数据。其中,对于任一雪碧图及其对应的数据图像,可以被保存在相同或不同存储路径下,相应的,服务端可以采用不同的方式获取上述雪碧图及其对应的数据图像。
具体的,上述雪碧图和图像信息可以被保存在相同的存储路径下,此时二者同时对应于合并存储路径,因此服务端可以获取雪碧图和图像数据对应的合并存储路径,并从合并存储路径指示的存储位置处下载雪碧图和图像数据,此时能够一次性下载得到雪碧图和图像数据,提高获取效率。或者,为了提升图像和数据的存储效率以及对存储空间的利用率,考虑到雪碧图和图像信息的格式往往并不相同,因此二者可以被分别保存在不同的存储路径下,即二者分别对应不同的独立存储路径,此时服务端可以获取雪碧图和图像数据分别对应的独立存储路径,并从各自的独立存储路径分别指示的存储位置处,分别下载得到雪碧图和图像数据。
步骤503,服务端提取雪碧图中各个图标的位置信息。
在一实施例中,对于任一雪碧图及其对应的图像数据,服务端可以从图像数据中提取雪碧图中包含的各个图标的位置信息。
具体的,可以提取其中的尺寸信息和坐标信息,以图3所示雪碧图中矩形的图标P14为例,若以雪碧图的左下顶点为坐标原点,以像素(Pixel)为长度单位,图标P14的长和宽均为280px、中心点坐标为(1540,1260),则图标P15对应的矩形图标区域的四个顶点的坐标分别为(1120,840)、(1120,1260)、(1540,1260)和(1540,840)。当然,对于圆形图标,可以通过图标半径和圆心坐标确定其对应的圆形图标区域,具体过程不再赘述。另外,上述尺寸或坐标的原点可以为雪碧图中的其他预设点,如雪碧图中心点、边界中点等,且单位也可以为毫米、厘米等,不再赘述。
步骤504,服务端裁剪雪碧图中的各个图标并生成图标序列。
在一实施例中,ImageMagick工具提供了Covert等原生裁剪命令,因此服务端可以通过该裁剪命令对上述过程确定出的各个图标区域进行裁剪,以从雪碧图中裁剪得到各个图标。
仍以图3所示的心形雪碧图为例,通过裁剪能够得到30个心形图标,此时,服务端可以按照各个心形图标在雪碧图中的排列顺序生成图标序列,生成的图标序列如图6所示。其中,裁剪得到的P0-P29这30个图标构成图标序列,且该图标序列中各个图标的排列顺序与各个图标在雪碧图中的排列顺序(即编号顺序)相同,从而保证了生成的透明视频的播放效果与依次展示雪碧图中各个图标的展示效果相同,保证了透明视频的播放质量,有助于避免产生乱序画面。
步骤505,服务端确定图标序列中的关键图标。
步骤506,服务端使用关键图标生成透明视频。
在一实施例中,服务端可以从图标序列中选取部分图标作为关键图标用于生成透明视频。具体的,作为一示例性实施例,可以从图标序列中按照相同间隔选取预设数量或预设比例的图标作为关键图标,并按照各个图标在图标序列中的排列顺序,依次求取图标序列中各个非关键图标与其前方最近的关键图标之间的第一差异;进而,可以根据各个非关键图标与关键图标之间的第一差异以及各个关键图标生成对应于上述雪碧图的透明视频。例如,可以从上述30个图标中选取图标0、图标4、图标9…图标29共12个图标作为关键图标,进而对于上述任一关键图标i(i=0、4、9…29),依次计算图标i+1、图标i+2、图标i+3与图标i之间的第一差异,最终使用12个关键图标以及其余18个非关键图标对应的第一差异生成透明视频。
作为另一示例性实施例,可以依次求取图标序列中相邻图标之间的第二差异,并按照各个图标在图标序列中的排列顺序,将与前方相邻图标之间的第二差异小于预设差异阈值的图标作为关键图标;进而,可以根据各个非关键图标与其前方相邻图标之间的第二差异以及各个关键图标生成对应于上述雪碧图的透明视频。例如,对于上述30个图标,可以依次计算图标1相对于图标0的第二差异S1、图标2相对于图标1的第二差异S2…图标29相对于图标28的第二差异S29;然后将S1、S2…S29中大于预设差异阈值的第二差异对应的在后图标确定为关键图标,即在Si(i=1、2、3…29)大于预设差异阈值的情况下,将图标i确定为关键图标。假设确定出图标1、4、5、10、15、20、24、29这8个图标为关键图标,则可以使用这8个关键图标以及其余非关键图标各自对应的第二差异生成透明视频。
其中,上述第一差异与第二查差异可以为两图标(实际为两图标对应的图像)中各个像素点的像素值之间的差异,当然,还可以将颜色梯度值、颜色变化率等参数作为上述差异,本公开实施例并不对此进行限制。实际上,正是因为仅使用关键图标和非关键图标对应的参数生成透明视频,所以透明视频中仅包含上述关键图标和非关键图标对应的参数,即相当于对图标序列进行了压缩,从而保证生成的透明视频的数据量远小于原有雪碧图和图像数据的数据量之和。
图7是根据本公开的实施例示出的一种透明视频的示意图。如图7所示,生成的左右方式的透明视频的任一视频帧图像中可以包括原图标701和透明图标702,其中,左半边的原图标701即为RGB原图(当然也可以为其他颜色值的原图),而右半边的透明图标702是对应于左半边的原图标701的透明图,该透明图中任一像素点的取值为该像素点在原图标701中所对应像素点的透明度,如0、20%、50%、90%、100%等,从而客户端的多媒体展示应用(如视频播放器或具有视频播放功能的其他应用)可以根据该透明视频中的原图标701和透明图标702生成具有透明效果的合成视频用于展示。实际上,透明视频的各张视频帧中均包括原图标和相应的透明图标,不再赘述。
至此,服务端根据雪碧图和雪碧图对应的图像数据生成透明视频的过程即告结束。实际上,上述步骤502-506的完整处理逻辑均可以通过在ImageMagick工具中编写并运行命令行脚本实现,从而能够实现对于雪碧图的自动化转换,即将满足预设条件的雪碧图自动生成相应的透明视频。
步骤507,服务端绑定视频标识和贴纸标识。
客户端可以为用户提供动态贴纸功能,相应的,用户可选的动态贴纸均相应的被分配有贴纸标识,服务端中可以维护有各个动态贴纸对应的贴纸标识。本实施例中服务端生成的上述透明视频即用于在客户端展示(或称播放),该透明视频被展示的过程中即呈现出动态贴纸特效。其中,上述动态贴纸的呈现效果可以包括多种形式,如可以为花朵开放、水滴落下、翅膀扇动等,本公开实施例并不对此进行限制,以图3所示的心形雪碧图为例,按照该雪碧图生成的透明视频对应的动态贴纸的呈现效果,即为图标中的心形图案由小变大再变小的逐渐变化过程。
在一实施例中,生成上述透明视频后,服务端可以将透明视频的视频标识与该透明视频用于呈现的动态贴纸的贴纸标识进行绑定,从而在用户选用某动态贴纸后,客户端或服务端可以根据该绑定关系确定相应的透明视频。具体的,在根据对应于动态贴纸T的某雪碧图X生成透明视频V的情况下,可以将雪碧图X的标识与动态贴纸T的标识之间的绑定关系更新为透明视频V的标识与动态贴纸T的标识之间的绑定关系,从而在用户选用动态贴纸T的情况下,客户端不再获取雪碧图X,而是获取透明视频V,从而实现透明视频对雪碧图的替换,以减少服务端的流量占用。
其中,上述视频标识可以为视频编号或视频名称,上述贴纸标识可以为贴纸编号或贴纸名称。在将上述标识绑定后,可以生成相应的标识关系表,该标识关系表中可以记录多种透明视频的视频标识与多种动态贴纸的贴纸标识之间的一一对应(即绑定)关系。
步骤508,服务端向CDN服务器上传其生成的透明视频。
服务端可以将生成的透明视频上传至CDN服务器,以由分散在各地的CDN服务器将上述透明视频分散保存在多地,以便不同地点的客户端均能够以较小的流量成本近距离的获取到透明视频。
实际上,本公开实施例对于步骤508与步骤507的执行顺序并不进行限制,不再赘述。
步骤509,服务端向客户端下发其生成的标识关系表。
在一实施例中,服务端可以向客户端下发上述标识关系表,以使客户端在检测到用户实施的贴纸选取操作后,能够根据该标识关系表确定的个被选取的动态贴纸对应的目标透明视频的视频标识。
类似的,本公开实施例对于步骤508与步骤509的执行顺序也不进行限制,不再赘述。
步骤510,客户端向用户展示各个备选动态贴纸的贴纸标签。
在一实施例中,客户端可以为用户提供动态贴纸功能,因此可以展示各个动态贴纸对应的贴纸标签,其中,被展示的任一备选贴纸标签均被预关联至透明视频。
步骤511,客户端检测用户实施的贴纸选取操作,并确定被选取的目标动态贴纸的目标贴纸标识。
用户可以在待处理视频的展示界面中展示备选动态贴纸的贴纸标签。如图8所示,待处理视频AAA的展示界面中可以展示针对该视频的编辑菜单栏,该菜单栏中可以展示动态贴纸按钮,从而客户端可以在检测到用户触发该按钮后,进一步展示“心形”、“笑脸”“太阳”等多个备选动态贴纸的贴纸标签。
进而,在检测到用户触发“心形”贴纸标签后,可以确定该贴纸标签对应的“心形”动态贴纸的贴纸标识,并通过查询上述标识关系表确定该贴纸标识对应的目标视频标识。
步骤512,客户端向服务端发送包含目标贴纸标识的路径获取请求。
步骤513,服务端向客户端返回目标动态贴纸对应的目标透明视频的存储路径。
在一实施例中,客户端在确定上述目标贴纸标识后,可以向服务端发送包含该目标贴纸标识的路径获取请求。相应的,服务端可以从接收到的该请求中提取目标贴纸标识,并从本地维护的视频路径信息中查询目标透明视频的存储路径,并将该存储路径包含在针对路径获取请求的响应消息中返回至客户端。
步骤514,客户端向CDN服务器请求并获取目标透明视频。
客户端在获取到目标透明视频的存储路径后,按照该存储路径向相应的CDN服务器发送请求,并在请求通过的情况下从CDN服务器下载上述目标透明视频。
在一实施例中,也可以不执行上述步骤509-514,而由服务端维护上述标识关系表,从而客户端可以在检测到用户实施的贴纸选取操作后确定目标贴纸标识,并向服务端发送包含该目标贴纸标识的路径获取请求;相应的,服务端可以在标识关系表中查询对应于目标贴纸标识的目标视频标识,并进一步确定该目标视频标识所对应目标透明视频的存储路径,然后将该存储路径返回至客户端,以便客户端根据该存储路径从CDN服务器下载得到目标透明视频。
在另一实施例中,也可以不执行上述步骤509-514,而由客户端维护上述标识关系表。具体的,服务端甚至可以将上述标识关系表和目标图标视频的存储路径下发至客户端,以使客户端在检测到用户实施的贴纸选取操作后确定目标贴纸标识,并在标识关系表中查询对应于目标贴纸标识的目标视频标识,进一步确定该目标视频标识所对应目标透明视频的存储路径,最后根据该存储路径从CDN服务器下载得到目标透明视频。
步骤515,客户端在当前展示的待处理视频上方展示目标透明视频。
客户端可以在待处理视频的展示画面上方展示获取到的目标透明视频。如前所述,客户端的多媒体展示应用展示上述目标透明视频的过程,即为将透明视频的各个视频帧图像中包含的原图标和透明图标进行合并处理得到各个合并帧图像,并依次展示展示各个合并帧图像的以呈现出视频播放效果的过程。
图9是根据本公开的实施例示出的一种合并生成视频的客户端界面示意图,如图9所示,客户端可以在展示有“手表”的处理视频AAA的展示画面上方展示目标透明视频901。
此时,用户可以针对该目标透明视频901实施预设的拖动、缩放或复制粘贴等操作,从而调整目标透明视频901的展示位置、大小、数量等,以实现最佳的展示效果。具体的,客户端可以以视频播放的形式播放该目标透明视频901,也可以以显示静态图片的形式显示该目标透明视频901的封面图片,本公开实施例并不对此进行限制。其中,上述封面图片可以为生成目标透明视频901所使用的任一关键图标。
步骤516,客户端响应于用户实施的视频合成操作,将待处理视频与目标透明视频合并为处理后视频。
客户端还可以展示“合成”按钮,从而在用户调整完成后,可以通过触发该“合成”按钮将当前的嗲处理视频AAA与目标透明视频901合成为完整的处理后视频,该处理后视频在播放过程中,可以在视频画面中呈现出目标透明视频对应的动态贴纸特效。
与前述雪碧图的处理方法的实施例相对应地,本公开还提出了雪碧图的处理装置的实施例。
图10是根据本公开的实施例示出的一种雪碧图的处理装置的示意框图。本实施例所示的雪碧图的处理装置可以适用于多媒体资源处理平台的服务端,所述服务端可以为包含一独立主机的物理服务器、主机集群承载的虚拟服务器、云服务器等,本公开实施例并不对此进行限制。
如图10所示,所述雪碧图的处理装置可以包括:
图像获取模块1001,被配置为获取雪碧图和图像数据,所述图像数据用于记录所述雪碧图中各个图标的位置信息;
图像裁剪模块1002,被配置为按照所述位置信息,从所述雪碧图中依次裁剪所述各个图标以生成图标序列;
视频生成模块1003,被配置为从所述图标序列中选取关键图标,并使用所述关键图标生成图标视频,所述图标视频用于下发至客户端。
可选的,所述图像获取模块1001还被配置为:
获取所述雪碧图和图像数据对应的合并存储路径,并从所述合并存储路径指示的存储位置处下载所述雪碧图和图像数据;或者,
获取所述雪碧图和图像数据分别对应的独立存储路径,并从所述独立存储路径分别指示的存储位置处,分别下载所述雪碧图和图像数据。
可选的,所述图像获取模块1001还被配置为:
在ImageMagick工具的命令行模式下接收CLI命令,并从所述CLI命令中解析所述合并存储路径或所述独立存储路径。
可选的,所述图像获取模块1001还被配置为:
利用ImageMagick工具中集成的CURL工具下载所述雪碧图和所述图像数据。
可选的,所述位置信息包括尺寸信息和坐标信息,所述图像裁剪模块1002还被配置为:
解析所述图像数据分别获取所述各个图标的尺寸信息和坐标信息;
根据所述各个图标的尺寸信息和坐标信息,分别确定所述各个图标在所述雪碧图中对应的图标区域;
按照所述各个图标在所述雪碧图中的排列顺序,从所述雪碧图中依次裁剪各个所述图标区域,并将裁剪得到的所述各个图标按照所述排列顺序生成图标序列。
可选的,所述图标序列中包括所述关键图标和所述关键图标之外的非关键图标,所述视频生成模块1003还被配置为:
从所述图标序列中按照相同间隔选取预设数量或预设比例的图标作为关键图标,并按照所述各个图标在所述图标序列中的排列顺序,依次求取所述图标序列中各个非关键图标与其前方最近的关键图标之间的第一差异,根据所述关键图标和所述第一差异生成图标视频;或者,
依次求取所述图标序列中相邻图标之间的第二差异,并按照所述各个图标在所述图标序列中的排列顺序,将与前方相邻图标之间的所述第二差异小于预设差异阈值的图标作为关键图标,根据所述关键图标和所述第二差异生成图标视频。
可选的,所述视频生成模块1003还被配置为:
在ImageMagick工具的命令行模式下执行FFMPEG命令,以生成所述图标视频。
可选的,还包括:
标识确定模块1004,被配置为确定所述图标视频对应的动态贴纸的贴纸标识;
标识绑定模块1005,被配置为将所述贴纸标识与所述图标视频的视频标识之间的绑定关系记录在标识关系表中;
视频发送模块1006,被配置为将所述图标视频发送至内容分发网络,以由所述内容分发网络向所述客户端下发所述图标视频。
可选的,还包括:
请求接收模块1007,被配置为接收所述客户端发送的包含目标贴纸标识的路径获取请求,其中,所述目标贴纸标识由所述客户端根据接收到的贴纸选取指令所确定;
标识查询模块1008,被配置为在所述标识关系表中查询对应于所述目标贴纸标识的目标视频标识;
路径返回模块1009,被配置为将所述目标视频标识所对应的目标图标视频在所述内容分发网络中的目标路径返回至所述客户端,以使所述客户端根据所述目标路径获取所述目标图标视频。
可选的,所述图标视频包括透明视频,所述透明视频的任一视频帧图像中包含所述图标序列中相应位置处的图标、以及所述图标对应的透明图标,所述透明图标用于记录所述任一视频帧图像的透明信息。
与前述透明视频的获取方法的实施例相对应地,本公开还提出了透明视频的获取装置的实施例。
图11是根据本公开的实施例示出的一种透明视频的获取装置的示意框图。本实施例所示的透明视频的获取装置可以适用于终端,所述终端包括但不限于手机、平板电脑、可穿戴设备、个人计算机等电子设备。所述终端中可以安装有多媒体资源处理平台的客户端或者运行有在线形式的多媒体资源处理平台的客户端,本公开实施例并不对此进行限制。
如图11所示,所述透明视频的获取装置可以包括:
标签展示模块1101,被配置为展示备选贴纸标签,任一备选贴纸标签被预关联至透明视频,所述透明视频被根据从图标序列中选取的关键图标生成,所述图标序列由从所述任一备选贴纸标签对应的雪碧图中裁剪得到的各个图标生成;
标识确定模块1102,被配置为响应于接收到的贴纸选取指令,确定被选取的目标贴纸标签对应的目标贴纸标识;
视频获取模块1103,被配置为向服务端发送包含所述目标贴纸标识的路径获取请求,并在接收到所述服务端返回的目标路径后,从所述目标路径处获取被关联至所述目标贴纸标识的目标透明视频。
可选的,还包括:
视频展示模块1104,被配置为在当前时刻被展示的待处理视频上方展示所述目标透明视频;
视频合并模块1105,被配置为响应于接收到的视频合并操作,将所述目标透明视频与所述待处理视频合并生成处理后视频,所述处理后视频在播放时在所述目标透明视频的位置呈现出动态视频特效。
可选的,还包括:
视频保存模块1106,被配置为将所述目标透明视频保存在本地存储空间,并在再次接收到用于选取所述目标贴纸标签的贴纸选取指令的情况下,展示所述目标透明视频。
本公开的实施例还提出一种服务端,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述任一实施例所述的雪碧图的处理方法。
本公开的实施例还提出一种客户端,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述任一实施例所述的透明视频的获取方法。
本公开的实施例还提出一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一实施例所述的雪碧图的处理方法。
图12是根据本公开的实施例示出的一种电子设备的示意框图。例如,电子设备1200可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图12,电子设备1200可以包括以下一个或多个组件:处理组件1202,存储器1204,电源组件1206,多媒体组件1208,音频组件1210,输入/输出(I/O)的接口1212,传感器组件1214,以及通信组件1218。
处理组件1202通常控制电子设备1200的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1202可以包括一个或多个处理器1220来执行指令,以完成上述雪碧图的处理方法的全部或部分步骤。此外,处理组件1202可以包括一个或多个模块,便于处理组件1202和其他组件之间的交互。例如,处理组件1202可以包括多媒体模块,以方便多媒体组件1208和处理组件1202之间的交互。
存储器1204被配置为存储各种类型的数据以支持在电子设备1200的操作。这些数据的示例包括用于在电子设备1200上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1204可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1206为电子设备1200的各种组件提供电力。电源组件1206可以包括电源管理系统,一个或多个电源,及其他与为电子设备1200生成、管理和分配电力相关联的组件。
多媒体组件1208包括在电子设备1200和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1208包括一个前置摄像头和/或后置摄像头。当电子设备1200处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1210被配置为输出和/或输入音频信号。例如,音频组件1210包括一个麦克风(MIC),当电子设备1200处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1204或经由通信组件1218发送。在一些实施例中,音频组件1210还包括一个扬声器,用于输出音频信号。
I/O接口1212为处理组件1202和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1214包括一个或多个传感器,用于为电子设备1200提供各个方面的状态评估。例如,传感器组件1214可以检测到电子设备1200的打开/关闭状态,组件的相对定位,例如所述组件为电子设备1200的显示器和小键盘,传感器组件1214还可以检测电子设备1200或电子设备1200一个组件的位置改变,用户与电子设备1200接触的存在或不存在,电子设备1200方位或加速/减速和电子设备1200的温度变化。传感器组件1214可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1214还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1214还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
图像采集组件1216可以用于采集被摄对象的图像数据,以形成关于被摄对象的图像,并可以对该图像进行必要的处理。该图像采集组件1216可以包括相机模组,相机模组中的图像传感器(Sensor)通过镜头感应来自被摄对象的光线,将得到的感光数据提供给图像信号处理器(ISP,Image Signal Processing),由后者根据感光数据生成对应于被摄对象的图像。其中,上述图像传感器可以为CMOS传感器或CCD传感器,当然,也可以为红外传感器、深度传感器等;相机模组可以内置在电子设备1200中,也可以为电子设备1200的外接模组;上述ISP可以内置在相机模组中,也可以外挂在上述电子设备中(不在相机模组内)。
通信组件1218被配置为便于电子设备1200和其他设备之间有线或无线方式的通信。电子设备1200可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件1218经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1218还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在本公开一实施例中,电子设备1200可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述雪碧图的处理方法。
在本公开一实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1204,上述指令可由电子设备1200的处理器1220执行以完成上述雪碧图的处理方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
需要说明的是,在本公开中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本公开实施例所提供的方法和装置进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。

Claims (10)

1.一种雪碧图的处理方法,其特征在于,包括:
获取雪碧图和图像数据,所述图像数据用于记录所述雪碧图中各个图标的位置信息;
按照所述位置信息,从所述雪碧图中依次裁剪所述各个图标以生成图标序列;
从所述图标序列中选取关键图标,并使用所述关键图标生成图标视频,所述图标视频用于下发至客户端。
2.根据权利要求1所述的方法,其特征在于,所述获取雪碧图和图像数据,包括:
获取所述雪碧图和图像数据对应的合并存储路径,并从所述合并存储路径指示的存储位置处下载所述雪碧图和图像数据;或者,
获取所述雪碧图和图像数据分别对应的独立存储路径,并从所述独立存储路径分别指示的存储位置处,分别下载所述雪碧图和图像数据。
3.根据权利要求2所述的方法,其特征在于,获取所述合并存储路径或所述独立存储路径,包括:
在ImageMagick工具的命令行模式下接收CLI命令,并从所述CLI命令中解析所述合并存储路径或所述独立存储路径。
4.根据权利要求2所述的方法,其特征在于,所述下载所述雪碧图和所述图像数据,包括:
利用ImageMagick工具中集成的CURL工具下载所述雪碧图和所述图像数据。
5.一种透明视频的获取方法,其特征在于,包括:
展示备选贴纸标签,任一备选贴纸标签被预关联至透明视频,所述透明视频被根据从图标序列中选取的关键图标生成,所述图标序列由从所述任一备选贴纸标签对应的雪碧图中裁剪得到的各个图标生成;
响应于接收到的贴纸选取指令,确定被选取的目标贴纸标签对应的目标贴纸标识;
向服务端发送包含所述目标贴纸标识的路径获取请求,并在接收到所述服务端返回的目标路径后,从所述目标路径处获取被关联至所述目标贴纸标识的目标透明视频。
6.一种雪碧图的处理装置,其特征在于,包括:
图像获取模块,被配置为获取雪碧图和图像数据,所述图像数据用于记录所述雪碧图中各个图标的位置信息;
图像裁剪模块,被配置为按照所述位置信息,从所述雪碧图中依次裁剪所述各个图标以生成图标序列;
视频生成模块,被配置为从所述图标序列中选取关键图标,并使用所述关键图标生成图标视频,所述图标视频用于下发至客户端。
7.一种透明视频的获取装置,其特征在于,包括:
标签展示模块,被配置为展示备选贴纸标签,任一备选贴纸标签被预关联至透明视频,所述透明视频被根据从图标序列中选取的关键图标生成,所述图标序列由从所述任一备选贴纸标签对应的雪碧图中裁剪得到的各个图标生成;
标识确定模块,被配置为响应于接收到的贴纸选取指令,确定被选取的目标贴纸标签对应的目标贴纸标识;
视频获取模块,被配置为向服务端发送包含所述目标贴纸标识的路径获取请求,并在接收到所述服务端返回的目标路径后,从所述目标路径处获取被关联至所述目标贴纸标识的目标透明视频。
8.一种服务器,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至4中任一项所述的雪碧图的处理方法。
9.一种客户端,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求5所述的透明视频的获取方法。
10.一种计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至5中任一项所述的雪碧图的处理方法。
CN202011566814.3A 2020-12-25 2020-12-25 雪碧图的处理方法、装置、电子设备和存储介质 Active CN112770185B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011566814.3A CN112770185B (zh) 2020-12-25 2020-12-25 雪碧图的处理方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011566814.3A CN112770185B (zh) 2020-12-25 2020-12-25 雪碧图的处理方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN112770185A true CN112770185A (zh) 2021-05-07
CN112770185B CN112770185B (zh) 2023-01-20

Family

ID=75694679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011566814.3A Active CN112770185B (zh) 2020-12-25 2020-12-25 雪碧图的处理方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN112770185B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140245227A1 (en) * 2013-02-22 2014-08-28 Xiaomi Inc. Method and terminal device for displaying dynamic icon
CN105979282A (zh) * 2016-06-02 2016-09-28 腾讯科技(深圳)有限公司 一种动画帧处理方法、服务器、终端及系统
US20160328877A1 (en) * 2014-03-13 2016-11-10 Tencent Technology (Shenzhen) Company Limited Method and apparatus for making personalized dynamic emoticon
CN107341827A (zh) * 2017-07-27 2017-11-10 腾讯科技(深圳)有限公司 一种视频处理方法、装置和存储介质
CN107563962A (zh) * 2017-09-08 2018-01-09 北京奇虎科技有限公司 视频数据实时处理方法及装置、计算设备
CN110209393A (zh) * 2019-04-24 2019-09-06 深圳点猫科技有限公司 一种用于游戏化教育中头像更换的编程实现方法及装置
US20200005513A1 (en) * 2017-08-10 2020-01-02 Tencent Technology (Shenzhen) Company Limited Sticker presentation method and apparatus computer-readable storage medium, and terminal
CN110853122A (zh) * 2019-11-07 2020-02-28 网易(杭州)网络有限公司 动画生成方法、装置及存储介质
CN111225232A (zh) * 2018-11-23 2020-06-02 北京字节跳动网络技术有限公司 基于视频的贴纸动画引擎、实现方法、服务器和介质
CN111556254A (zh) * 2020-04-10 2020-08-18 早安科技(广州)有限公司 利用视频内容进行视频切割的方法、系统、介质及智能设备
CN111913777A (zh) * 2020-08-12 2020-11-10 曙光信息产业(北京)有限公司 信息处理方法、装置、电子设备及存储介质
CN112052416A (zh) * 2020-08-26 2020-12-08 腾讯科技(上海)有限公司 用于展示图像元素的方法和装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140245227A1 (en) * 2013-02-22 2014-08-28 Xiaomi Inc. Method and terminal device for displaying dynamic icon
US20160328877A1 (en) * 2014-03-13 2016-11-10 Tencent Technology (Shenzhen) Company Limited Method and apparatus for making personalized dynamic emoticon
CN105979282A (zh) * 2016-06-02 2016-09-28 腾讯科技(深圳)有限公司 一种动画帧处理方法、服务器、终端及系统
CN107341827A (zh) * 2017-07-27 2017-11-10 腾讯科技(深圳)有限公司 一种视频处理方法、装置和存储介质
US20200005513A1 (en) * 2017-08-10 2020-01-02 Tencent Technology (Shenzhen) Company Limited Sticker presentation method and apparatus computer-readable storage medium, and terminal
CN107563962A (zh) * 2017-09-08 2018-01-09 北京奇虎科技有限公司 视频数据实时处理方法及装置、计算设备
CN111225232A (zh) * 2018-11-23 2020-06-02 北京字节跳动网络技术有限公司 基于视频的贴纸动画引擎、实现方法、服务器和介质
CN110209393A (zh) * 2019-04-24 2019-09-06 深圳点猫科技有限公司 一种用于游戏化教育中头像更换的编程实现方法及装置
CN110853122A (zh) * 2019-11-07 2020-02-28 网易(杭州)网络有限公司 动画生成方法、装置及存储介质
CN111556254A (zh) * 2020-04-10 2020-08-18 早安科技(广州)有限公司 利用视频内容进行视频切割的方法、系统、介质及智能设备
CN111913777A (zh) * 2020-08-12 2020-11-10 曙光信息产业(北京)有限公司 信息处理方法、装置、电子设备及存储介质
CN112052416A (zh) * 2020-08-26 2020-12-08 腾讯科技(上海)有限公司 用于展示图像元素的方法和装置

Also Published As

Publication number Publication date
CN112770185B (zh) 2023-01-20

Similar Documents

Publication Publication Date Title
CN112039929B (zh) 文件编辑方法、装置及电子设备
CN112131410A (zh) 多媒体资源展示方法、装置、系统和存储介质
CN115516413A (zh) 一种对象拖拽方法及设备
CN106844705B (zh) 用于显示多媒体内容的方法和装置
CN113365106B (zh) 一种多媒体资源生成方法、装置、电子设备及存储介质
CN110932963A (zh) 多媒体资源分享方法、系统、装置、终端、服务器及介质
CN113411680A (zh) 多媒体资源播放方法、装置、终端及存储介质
CN113157366A (zh) 动画播放方法、装置、电子设备和存储介质
CN111367447A (zh) 信息显示方法、装置、电子设备及计算机可读存储介质
CN112153396A (zh) 页面展示方法、装置、系统和存储介质
CN110971974B (zh) 配置参数创建方法、装置、终端及存储介质
CN110868632B (zh) 视频处理方法、装置、存储介质及电子设备
CN113254784A (zh) 信息显示方法、装置、电子设备及存储介质
CN115729534A (zh) 低代码页面的创建方法、展示方法、装置、设备及介质
CN110636318A (zh) 消息显示方法、装置、客户端设备、服务器及存储介质
CN113986574A (zh) 评论内容的生成方法、装置、电子设备和存储介质
CN113190307A (zh) 控件添加方法、装置、设备及存储介质
CN114845152A (zh) 播放控件的显示方法、装置、电子设备及存储介质
CN112770185B (zh) 雪碧图的处理方法、装置、电子设备和存储介质
CN113965768B (zh) 直播间信息展示方法、装置、电子设备及服务器
CN115379136A (zh) 特效道具处理方法、装置、电子设备及存储介质
CN115379113A (zh) 拍摄处理方法、装置、设备及存储介质
CN105607958B (zh) 信息输入方法及装置
CN114025317A (zh) 多媒体资源的传播方法、装置、服务器、终端及存储介质
CN114268802A (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
GR01 Patent grant
GR01 Patent grant