CN111064986B - 带透明度的动画数据发送方法、播放方法和计算机设备 - Google Patents

带透明度的动画数据发送方法、播放方法和计算机设备 Download PDF

Info

Publication number
CN111064986B
CN111064986B CN201811208989.XA CN201811208989A CN111064986B CN 111064986 B CN111064986 B CN 111064986B CN 201811208989 A CN201811208989 A CN 201811208989A CN 111064986 B CN111064986 B CN 111064986B
Authority
CN
China
Prior art keywords
data
target
animation
playing
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811208989.XA
Other languages
English (en)
Other versions
CN111064986A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201811208989.XA priority Critical patent/CN111064986B/zh
Publication of CN111064986A publication Critical patent/CN111064986A/zh
Application granted granted Critical
Publication of CN111064986B publication Critical patent/CN111064986B/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/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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • 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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Abstract

本发明涉及一种带透明度的动画数据发送方法、播放方法和计算机设备,带透明度的动画数据发送方法包括:获取播放数据发送指令;根据所述播放数据发送指令获取图像格式的发送内容,所述发送内容包括目标图像数据以及带透明度的动画对应的目标动画数据,所述目标图像数据存储于所述发送内容对应的目标图像格式文件的图像内容数据块中,所述目标动画数据嵌入于所述发送内容对应的目标图像格式文件的扩展数据块中;将所述发送内容发送给播放终端。上述带透明度的动画数据发送方法得到的发送内容的兼容性高。

Description

带透明度的动画数据发送方法、播放方法和计算机设备
技术领域
本发明涉及计算机设备领域,特别是涉及带透明度的动画数据发送方法、播放方法和计算机设备。
背景技术
随着多媒体技术和网络技术的飞速发展和广泛应用,通过动画展示信息的场景越来越多,动画通过动态展示图像,可以增加用户的视觉体验以及形象展示图像内容的变化过程,传播准确的信息。
目前,动画数据的格式多种多样,例如可以为MP4格式、RMVB动画格式等,然而,并非所有的播放设备均支持播放对应的动画格式,因此,有些动画在部分设备上不能播放,播放数据的兼容性低,浪费播放设备的资源。
发明内容
基于此,有必要针对上述播放数据的兼容性低,浪费播放设备的资源的问题,提供一种带透明度的动画数据发送方法、播放方法和计算机设备。
一种带透明度的动画数据发送方法,所述方法包括:获取播放数据发送指令;根据所述播放数据发送指令获取图像格式的发送内容,所述发送内容包括目标图像数据以及带透明度的动画对应的目标动画数据,所述目标图像数据存储于所述发送内容对应的目标图像格式文件的图像内容数据块中,所述目标动画数据嵌入于所述发送内容对应的目标图像格式文件的扩展数据块中;将所述发送内容发送给播放终端。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述带透明度的动画数据发送方法的步骤。
上述带透明度的动画数据发送方法和计算机设备,在接收到播放数据发送指令时,获取图像格式的发送内容,将发送内容发送给播放终端,其中,发送内容包括目标图像数据以及带透明度的动画对应的目标动画数据,目标图像数据存储于图像内容数据块中,目标动画数据嵌入于扩展数据块中,因此,可以使得播放终端自适应地选取动画数据或者图像数据进行播放,数据的兼容性高。
一种上述发送内容的播放方法,所述方法包括:接收发送内容;获取当前播放策略,根据所述当前播放策略从所述发送内容中选择所述扩展数据块中的目标动画数据或所述图像内容数据块中的数据作为目标播放数据;播放所述目标播放数据。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述发送内容的播放方法的步骤。
上述发送内容的播放方法和计算机设备,接收到发送内容时,可以自适应地根据当前的播放策略选取动画数据或者图像数据作为目标播放数据进行播放,因此播放数据的播放效率以及成功率高。
附图说明
图1为一个实施例中提供的带透明度的动画数据发送方法以及播放方法的应用环境图;
图2为一个实施例中带透明度的动画数据发送方法的流程图;
图3A为一个实施例中根据播放数据发送指令获取图像格式的发送内容的流程图;
图3B为一个实施例中发送内容的示意图;
图4A为一个实施例中目标动画数据的生成步骤对应的流程图;
图4B为一个实施例中动画帧的示意图;
图4C为一个实施例中动画帧对应的透明度参数值与色彩参数值的对应关系的示意图;
图4D为一个实施例中动画帧对应的透明度参数值与色彩参数值的对应关系的示意图;
图5A为一个实施例中发送内容的播放方法的流程图;
图5B为一个实施例中目标播放数据为扩展数据块中存储的目标动画数据时对应的播放效果示意图;
图5C为一个实施例中目标播放数据为目标图像数据时对应的播放效果示意图;
图6为一个实施例中播放目标播放数据的流程图;
图7为一个实施例中带透明度的动画发送装置的结构框图;
图8为一个实施例中播放装置的结构框图;
图9为一个实施例中计算机设备的内部结构框图;
图10为一个实施例中计算机设备的内部结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一图像区域称为第二图像区域,且类似地,可将第二图像区域称为第一图像区域。
图1为一个实施例中提供的带透明度的动画数据发送方法以及播放方法的应用环境图,如图1所示,在该应用环境中,包括第一终端110、服务器120以及第二终端130。第一终端110为第一会话用户对应的终端,第二终端130为第二会话用户对应的终端,第一会话用户和第二会话用户可以通过各自对应的终端以及服务器120进行即时通信会话。服务器120中可以预先存储发送内容,当第一会话用户需要向第二会话用户发送带透明度的动画时,例如带有透明度的动态表情时,可以通过第一终端110向服务器120发送动态表情发送指令,服务器120接收到动态表情发送指令后,向第二终端130发送对应的发送内容,发送内容中包括动态表情对应的目标动画数据以及目标图像数据,第二终端130接收发送内容,获取第二终端130对应的当前播放策略,根据当前播放策略从发送内容中选择扩展数据块中的目标动画数据或图像内容数据块中的数据在对应的会话界面中进行播放。此外,第一终端110也可以获取发送内容,获取第一终端110对应的当前播放策略,根据当前播放策略从发送内容中选择扩展数据块中的目标动画数据或图像内容数据块中的数据在对应的会话界面中进行播放。
在一些实施例中,发送内容可以是根据会话发送指令实时生成的。例如,当接收到动态表情发送指令时,服务器120还可以获取第一会话用户对应的头像,根据第一会话用户的头像、目标动画数据以及目标动画数据对应的目标图像数据得到发送内容,如将第一会话用户的头像添加到对应的发送内容中,使得播放数据时,可以在图像或者动画的上方显示第一会话用户的图像。
可以理解,上述应用场景仅是一种示例,并不能构成对本发明实施例提供的带透明度的动画数据发送方法或者播放方法的限制。在一些实施例中,带透明度的动画数据发送方法也可以在终端中执行。例如当第一终端110接收到发送指令时,可以获取预先存储的发送内容或者根据播放请求生成发送内容,将发送内容发送给第二终端130。在一些实施例中,第二终端130也可以向服务器120发送播放数据发送指令,服务器120可以根据播放数据发送指令实时生成发送内容,并发送给第二终端130。第二终端130中可以安装有播放应用,例如直播应用,播放应用可以根据应用的版本高低选择扩展数据块或图像内容数据块中的数据作为目标播放数据。服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器120可以通过网络等通讯连接方式进行连接,本发明在此不做限制。
如图2所示,在一些实施例中,提出了一种带透明度的动画数据发送方法,本实施例提供的带透明度的动画数据发送方法可以应用于上述图1中的服务器以及终端,具体可以包括以下步骤:
步骤S202,获取播放数据发送指令。
具体地,播放数据发送指令用于请求发送播放数据。播放数据发送指令可以是通过接收用户对终端的操作得到的或者其他计算机设备发送的,也可以是根据预设的条件自动触发的。例如,可以预先设置每隔预设时长自动触发播放数据发送指令。
在一些实施例中,终端可以向服务器发送播放数据发送指令,服务器接收该播放数据发送指令。例如,当在微信、WhatsApp等即时通信应用进行会话时,第一终端中的会话应用向对应的即时通信服务器发送动态会话信息发送指令,动态会话信息发送指令用于指示即时通信服务器向第二会话用户对应的第二终端发送动态会话信息,即时通信服务器获取该动态会话信息发送指令。
在一些实施例中,终端可以接收用户通过相应的触摸操作发出的播放数据发送指令,执行本发明实施例提供的带透明度的动画数据发送方法。
步骤S204,根据播放数据发送指令获取图像格式的发送内容,发送内容包括目标图像数据以及带透明度的动画对应的目标动画数据,目标图像数据存储于发送内容对应的目标图像格式文件的图像内容数据块中,目标动画数据嵌入于发送内容对应的目标图像格式文件的扩展数据块中。
具体地,动画包括多个动画帧,通过连续播放动画帧形成活动影像。带透明度的动画对应的目标动画数据是含有透明度数据的动画数据。透明度数据可以作为图片的像素的一个分量,代表所在像素的透明度。当透明度数值代表全透明的时候,置于图片下层的背景就会完全显示。当透明度数值代表完全不透明的时候,图片将下层背景完全掩盖,图片本身就会完全显示。当透明度代表动画既不是完全透明到也不是完全不透明时,根据透明度数值,图片本身和置于图片下方的图片就会加权显示。透明度参数值可以存储在图像的Alpha通道中,透明度参数值对应的透明度可以根据需要设置。例如白色(值为255或1)可以用于表示不透明,而黑色(值为0)可以用于表示完全透明,而介于黑白之间的数值表示半透明的像素点。目标动画数据例如可以是引导动画对应的数据、动态表情数据以及送礼物动画数据中的一个或多个。目标图像数据是目标图像的图像数据,发送内容通过图像格式进行存储,例如可以是PNG(Portable Network Graphic Format))格式、JPG(Joint PhotographicExperts Group)格式或者GIF(Graphics Interchange Format)格式等。
目标图像格式文件是图像格式的文件,目标图像格式文件用于存储发送内容。目标图像格式文件的格式可以是预先设置的也可以是根据应用环境确定的,具体可以根据需要设置,例如可以是PNG、JPG、BMP或者GIF等格式。图像格式的文件包括标准数据块以及扩展数据块,标准数据块是图像格式文件所必须有的数据块,包括图像内容数据块,图像内容数据块用于存储图像各个像素点的像素数据,例如图像内容数据块可以是PNG的IDAT数据块。扩展数据块是可选的、自定义的数据块,可以自定义数据块标识以及对应的数据。因此,将目标图像数据存储至存储图像内容数据块中,将目标动画数据嵌入于扩展数据块中。这样,对于能够识别扩展数据块的播放应用,可以获取扩展数据块中的目标动画数据进行播放,而对于不能识别扩展数据块的播放应用,扩展数据块中嵌入的目标动画数据并不影响图像内容数据块的内容的提取,故也可以获取图像内容数据块中的数据,以展示对应的目标图像,这样可以提高发送内容的兼容性,解决由于一些应用中不能读取透明动画数据,导致透明动画完全不能播放的问题。
在一些实施例中,在一些实施例中,发送内容是根据播放数据发送指令生成的。目标动画数据与目标图像数据的对应关系可以是预先设置也可以是播放数据发送指令中携带的,根据播放数据发送指令可以获取到对应的目标动画数据以及目标图像数据生成发送内容。
在一些实施例中,发送内容是预先生成并存储在计算机设备中的,可以根据播放数据发送指令获取预先存储的图像格式的发送内容。例如,播放数据发送指令中可以携带发送内容对应的内容标识,服务器可以根据内容标识获取对应的发送内容。
在一些实施例中,目标图像是与目标动画相关的图像。目标图像可以是目标动画中的动画帧以及对目标动画的内容进行描述的图像中的一个或多个,目标动画与目标图像通过不同的展示形式传达对应的信息。例如,假设需要在社交应用中向社交好友发送虚拟礼物,则虚拟礼物的展示形式可以有两种:动态以及静态。动态的形式通过动画的方式展现,静态的形式通过静态图像的方式展现。可以从目标动画中提取动画帧作为目标图像。目标图像也可以是人工绘制的,可以由用户根据目标动画的内容绘制用于体现目标动画内容的图像作为目标图像数据。
步骤S206,将发送内容发送给播放终端。
具体地,播放终端用于对发送内容进行播放,根据播放数据发送指令将发送内容发送到播放终端。播放终端可以是发送播放数据发送指令的终端。播放数据发送指令也可以携带终端标识,根据终端标识将发送内容发送给对应的播放终端。例如,在即时通讯会话中,第一终端向服务器发送会话信息发送指令,会话信息发送指令携带第二终端的标识,服务器获取发送内容,将发送内容发送到第二终端。或者,当用户需要在终端中观看动画时,可以通过终端向服务器发送播放数据发送指令,服务器根据播放数据发送指令获取图像格式的发送内容,将发送内容发送到发出播放数据发送指令的终端。
上述带透明度的动画数据发送方法,在接收到播放数据发送指令时,获取图像格式的发送内容,将发送内容发送给播放终端,其中,发送内容包括目标图像数据以及带透明度的动画对应的目标动画数据,目标图像数据存储于图像内容数据块中,目标动画数据嵌入于扩展数据块中,因此,可以使得播放终端自适应地选取动画数据或者图像数据进行播放,数据的兼容性高。
在一些实施例中,如图3A所示,步骤S206即根据播放数据发送指令获取图像格式的发送内容包括:
步骤S302,根据播放数据发送指令获取对应的目标动画数据以及目标图像数据。
具体地,目标动画数据与目标图像数据可以是预先存储的也可以是播放数据发送指令中携带的,根据播放数据发送指令可以获取到对应的目标动画数据以及目标图像数据。
在一些实施例中,播放数据发送指令中可以携带目标动画的标识以及目标图像的标识中的一个或多个。如果播放数据发送指令中携带目标动画的标识以及目标图像的标识,则可以根据目标动画标识获取目标动画数据,根据目标图像标识获取目标图像数据。如果播放数据发送指令中携带目标动画的标识以及目标图像的标识中的其中一个,则可以根据目标动画数据与目标图像数据的对应关系获取播放数据发送指令中没有携带数据标识的数据。例如,假设会话过程中需要向第二终端的会话用户发送动态会话信息如动态表情,则第一终端可以向服务器发送动态表情对应的标识,服务器接收到动态表情对应的标识时,获取动态表情标识对应的动画数据,并获取动态表情对应的静态表情图像数据。
在一些实施例中,播放数据发送指令中可以携带目标动画数据以及目标图像数据中的一个或多个。如果播放数据发送指令中携带目标动画数据以及目标图像数据,则从播放数据发送指令中提取得到目标动画数据以及对应的目标图像数据。如果播放数据发送指令中携带目标动画数据或者目标图像数据中的其中一个,则可以根据目标动画数据与目标图像数据的对应关系获取播放数据发送指令中没有携带的数据。例如,假设播放数据发送指令中携带目标动画数据,则可以从目标动画数据中提取一个或多个动画帧作为目标图像。
可以理解,播放数据发送指令中也可以携带目标动画的标识、目标图像的标识、目标图像数据以及目标动画数据中的一个或多个。
步骤S304,将目标图像数据存储至目标图像格式文件对应的图像内容数据块中,将目标动画数据嵌入于目标图像格式文件对应的目标扩展数据块中,得到发送内容。
具体地,格式为存储信息而使用的对信息的特殊编码方式,每一类信息,都可以用一种或多种文件格式进行存储,文件的格式可以通过扩展名进行标识,例如MP4格式的文件中包括“MP4”扩展名,表示文件的格式为MP4格式。将目标图像数据存储至目标图像格式文件对应的图像内容数据块中,将目标动画数据嵌入于目标图像格式文件对应的目标扩展数据块中,得到发送内容。对于能够识别扩展数据块的播放应用,可以获取扩展数据块中的目标动画数据进行播放,而对于不能识别扩展数据块的播放应用,也可以获取图像内容数据块中的数据,以展示对应的目标图像,这样可以提高发送内容的兼容性,解决由于一些应用中不能读取透明动画数据,导致透明动画完全不能播放的问题。目标图像格式文件可以是预先创建的,也可以是在接收到播放数据发送指令后创建的。
在一些实施例中,PNG的画质相对比较好且文件体积小,因此可以将PNG格式作为目标图像格式文件的格式。也可以是在A应用中采用PNG格式,在B应用中采用BMP格式。例如,对于PNG格式,标准数据块包括IHDR、PLTE、IDAT和IEND,这是PNG文件必不可少的数据块,而可选的数据块包括TEXT、BKGD以及CHRM等数据块,但不可更改数据块标识。此外,还可以自定义数据块的标识以及对应的数据,只要不与PNG格式标准中已经定义的数据块标识相同即可。其中,IDHR、PLTE、IDAT、IEND、TEXT、BKGD、CHRM分别指文件头数据块、调色板数据块、图像数据块、图像结束数据块、文本信息数据块、背景颜色数据块、基色和白色数据块。因此,可以将目标图像数据存储至IDAT数据块中,并且创建与PNG格式标准中的数据块标识不同的扩展数据块标识,将目标动画数据存储至对应的扩展数据块中。
在一些实施例中,目标图像数据在未存储在目标图像格式文件前,是存储在初始图像格式文件中的。初始图像格式与目标图像格式文件的格式可以相同也可以不同。可以将初始图像格式文件中各个数据块的数据对应存储在目标图像数据格式文件中。例如,假设初始图像格式文件与目标图像格式文件的格式均是PNG格式的,则可以将初始图像格式文件的文件头数据块作为目标图像格式文件的文件头数据,将初始图像格式文件的图像数据块中的数据作为目标图像格式文件的图像数据块数据。而如果初始图像格式文件为BMP格式,而目标图像格式文件的格式是PNG格式,则可以将初始图像格式文件的文件头数据转换为符合PNG格式标准的文件头数据。
在一些实施例中,将目标动画数据嵌入于目标图像格式文件对应的目标扩展数据块中包括:将动画数据类型标识作为目标扩展数据块的数据块类型标识,将目标动画数据存储至目标扩展数据块中。
具体地,动画数据类型标识表示数据块对应的数据的类型为动画数据类型,动画数据类型标识具体可以根据需要设置,可以是由字母、数字中的一个或多个组成的。例如,动画数据类型标识可以是“VPNG”。目标图像格式文件可以包括一种或多种类型的扩展数据块,动画数据类型的数据存储在目标扩展数据块中,将动画数据类型标识作为存储目标动画数据的数据块的标识,因此可以根据数据块的类型标识确定发送内容中是否存在带透明度的动画数据,方便且高效。
在一些实施例中,由于图像内容数据块是图像文件中所需包含的数据块。因此目标扩展数据块可以位于目标图像格式文件对应的图像内容数据块之后,这样,在目标图像格式文件中添加目标动画数据并不会改变目标图像格式文件在图像内容数据块之前的数据块结构,使得获取图像内容数据时,可以按照该图像格式对应的数据读取方法读取图像数据。
举个实际的例子,假设目标图像格式文件以及初始图像格式文件为PNG格式的文件,PNG文件由文件头和多个数据块组成,其中文件头长度是固定的8个字节,而数据块长度是不固定的。PNG格式的每个数据块由4部分组成:长度、数据块类型标识、数据块数据和循环冗余校验。因此如果要定义一种动画类型的数据块,就需要为它设定一个数据块类型标识,但不能与已有的PNG数据块类型标识重复(如IDAT),由于数据块类型码由4个字节组成,故可以用“VPNG”作为动画数据类型标识。因此,可以创建PNG格式的目标图像格式文件以及获取初始图像格式文件,从初始图像格式文件提取文件头数据块对应的数据,写入到目标图像格式文件中,作为目标图像格式文件的文件头数据块对应的数据,并继续从初始图像格式文件中获取数据块中的数据,写入到目标图像格式文件的数据块中,并判断当前写入的数据块是否为IDAT数据块,如果是,则在IDAT数据块之后,向目标图像格式文件写入动画数据类型标识“VPNG”,并将目标动画数据写入到动画数据类型标识对应的数据块中。此外,还可以从初始图像格式文件中继续获取其他数据块的数据,直至得到IEND数据块,说明初始图像格式文件的数据块已经获取完毕,得到发送内容。
发送内容的示意图可以如图3B所示。其中,图中的PNG数据块可以是指PNG格式标准中的任意数据块,具体根据PNG格式标准的数据块结构确定。因此,当要播放发送内容时,如果当前播放策略为透明动画播放策略,则可以从发送内容中获取目标动画数据进行播放,如果当前播放策略为放图像播放策略,则获取图像内容块对应的数据,展示目标图像。
在一些实施例中,目标动画数据包括多个动画帧,动画帧包括第一图像区域以及第二图像区域,第一图像区域的色彩通道存储像素点的色彩参数值,第二图像区域的色彩通道存储像素点对应的透明度参数值。
在一些实施例中,如图4A所示,目标动画数据的生成步骤包括:
步骤S402,获取原始图片集合,原始图片集合包括多张原始图片。
具体地,原始图片集合中原始图片的个数可以根据需要确定。例如可以为8张,原始图片集合可以是预先存储的也可以是动画生成指令中携带的。当要生成包括透明参数值的动画数据时,可以发送透明动画生成指令,以指示计算机设备例如服务器或者终端生成透明动画数据。透明动画数据是含有透明度数据的动画数据。透明度数据可以作为图片的像素的一个分量,代表所在像素的透明度。当透明度数值代表全透明的时候,置于图片下层的背景就会完全显示。当透明度数值代表完全不透明的时候,图片将下层背景完全掩盖,图片本身就会完全显示。当透明度代表动画既不是完全透明到也不是完全不透明时,根据透明度数值,图片本身和置于图片下方的图片就会加权显示。
在一些实施例中,目标动画数据可以是根据播放数据发送指令生成的,也可以是预先生成并存储的。
步骤S404,获取原始图片集合中各张原始图片对应的色彩参数值以及透明度参数值。
具体地,透明度参数值用于表示图片的透明度。透明度参数值可以存储在图像的Alpha通道中,例如一个使用16bit存储的图片,可以用5bit表示红色(R),5bit表示绿色(G),5bit表示蓝色(B),1bit表示透明度。在这种情况下,图片要么完全透明要么完全不透明。而对于一个使用32bit存储的图片,可以用8bit表示红、8bit表示绿、8bit表示蓝和8bit表示透明度。在这种情况下,Alpha通道的数值可以表示256级的透明度。白色(值为255或1)可以用于表示不透明,而黑色(值为0)可以用于表示完全透明,而介于黑白之间的数值表示半透明的像素点。因而,通过带Alpha通道的图片,就能呈现出透明或半透明的视觉效果。色彩参数值用于表述图片的颜色,色彩参数值除了可为RGB(Red Green Blue,红绿蓝)值外,还可以为YUV(Luma-Chroma,明亮度-色度)值或CMYK(Cyan-Magenta-Yellow-blacK,青色-品红-黄色-黑色)值,本发明实施例对此不进行具体限定。也即,本发明实施例提供的方法可适用于具有RGB、YUV、或CMYK等色彩模式的图片。原始图片是包括色彩参数值以及透明度参数值的图片,即可以呈现出透明或半透明的视觉效果。
步骤S406,根据原始图片对应的色彩参数值以及透明度参数值生成动画帧,动画帧包括第一图像区域以及第二图像区域。
具体地,色彩参数值是保存在第一图像区域的色彩通道中的,而透明度参数值保存在第二图像区域的色彩通道中。如第一图像区域的R色彩通道用于保存R参数值,第一区域的G色彩通道用于保存G参数值,第一区域的B色彩通道用于保存B参数值,即各种色彩参数值保存在匹配的色彩通道中。而第二图像区域中R色彩通道、G色彩通道以及B色彩通道中的一个或多个存储的参数值是透明度参数值。例如包括第一图像区域以及第二图像区域的动画帧可以划分为左边部分以及右边部分两个图像区域,第一图像区域以及第二图像区域分别为左边部分以及右边部分中的一个。动画帧也可以划分为上边部分以及下边部分两个图像区域,第一图像区域以及第二图像区域分别为上边部分以及下边部分中的一个。例如,如图4B所示,为动画帧的示意图。其中,图4B中,左半部分为原始图片,右半部分为存储透明度参数值对应的图像区域。可以理解,第二图像区域中图片的颜色根据透明度参数值存储的通道确定,假设第二图像区域均是由R通道存储透明度参数值,则第二图像区域的图像颜色为红色。
第一图像区域与原始图片是相同大小的,体现的是原始图片对应的内容,而第二图像区域可以与原始图片的大小相同或者不同。例如,第二图像区域中,可以是像素点的任一个色彩通道保存对应的像素点对应的透明度数据。为了减少动画帧的数据量,一个像素点对应的色彩通道也可以存储多个像素点的透明度参数值。这样,第二图像区域的尺寸小于原始图片。例如,如图4C以及4D所示,为动画帧对应的透明度参数值与色彩参数值的对应关系的示意图。其中,在图4C以及4D中,左边的数据为第一图像区域对应的数据,右边的数据为第二图像区域对应的数据。根据图4C以及4D可以得到,图4C中,原始图片的第一个像素点的色彩参数值保存在左边区域的第一个像素点对应的色彩通道中,原始图片的第一个像素点的透明度参数值保存在右边区域的第一个像素点对应的任意一个色彩通道中,原始图片的第二个像素点的色彩参数值保存在左边区域的第一个像素点对应的色彩通道中,原始图片的第二个像素点的透明度参数值保存在右边区域的第二个像素点的对应的任意一个色彩通道中。而在图4D中,原始图片的第一个像素点的透明度参数值保存在右边区域的第一个像素点对应的第一个色彩通道中,原始图片的第二个像素点的透明度参数值保存在右边区域的第一个像素点对应的第二个色彩通道中,即图4C中,第二图像区域中像素点的任意一个色彩通道保存对应位置的像素点的透明度参数值,因此,第二图像区域比第一图像区域大小一致。而图4D中,由于像素点有多个色彩通道,因此一个像素点可以保存多个像素点的透明度参数值,故第二图像区域比第一图像区域小。
步骤S408,将各张原始图片对应的动画帧合成动画,得到对应的目标动画数据。
具体地,得到动画帧后,将动画帧合成动画,例如可以采用FFMPEG工具将动画帧合成动画,动画的格式可以是MP4格式。对于一个正常的动画文件来说,由于一般都是按照正常形式进行播放,默认没有对该动画文件进行透明播放的需求,所以合成动画时并不会保留Alpha通道的数据,即这个动画文件本身是无法通过非色彩通道例如Alpha通道携带透明度信息的。而本发明实施例中,通过将透明度参数值保存在第二图像区域的色彩通道中,以实现通过色彩通道保存透明度信息,而第一图像区域用于保存原始图片的色彩参数值,这样便避免了在将透明度信息保存在原始的非色彩通道时,如果将图片合成为动画文件,则透明度参数会丢失的缺陷。而且在当需要播放目标动画数据时,则可以通过解码器得到动画帧,根据动画帧第二图像区域的透明度参数值对第一图像区域对应的色彩参数值进行处理,得到包括透明度信息的原始图片并播放,达到能够播放具有透明效果的动画的目的。
在一些实施例中,得到目标动画数据后,可以对目标动画数据进行编码,在进行编码时,由于透明度参数值是存储在第二图像区域的色彩通道中的,因此透明度参数值将被作为第二图像区域的色彩参数值进行编码,能够进一步减小发送内容的数据量,而且也不会在编码过程中丢弃透明度数据,使得动画数据能够在播放时呈现透明效果。
透明动画的实现方案也可以通过其他方案实现,例如通过由透明图片组成的PNG图片序列实现,透明图片组成的PNG图片序列可以避免动画在压缩时丢掉透明度信息,但是数据量相对比较大,而包括第一图像区域以及第二图像区域的动画帧,通过第二图像区域的色彩通道存储透明度参数值,因此在动画压缩时将第二图像区域的数据作为色彩数据进行压缩,并不会丢失透明度信息。表一为采用PNG图片序列、GIF图片、APNG(AnimatedPortable Network Graphics)图片序列、通过在PNG图片格式中嵌入本发明实施例提供的透明动画数据的方式得到动画数据的实验结果统计表,通过实验发现,通过在PNG图片格式中嵌入本发明实施例提供的透明动画数据,相比PNG图片序列、GIF图片、APNG图片序列等方式,在资源包大小、绘制动画帧的时间、播放动画时的CPU占用率以及内存占用上均有较大改进。
表1
Figure GDA0001877045890000141
在一些实施例中,获取播放数据发送指令包括:接收向会话用户对应的终端发送动态会话信息的会话发送指令;根据播放数据发送指令获取目标动画数据以及目标动画数据对应的图像内容数据包括:获取会话发送指令对应的图像格式的发送内容;将发送内容发送给播放终端包括:将会话用户对应的终端作为播放终端,将发送内容发送给会话用户对应的终端:将发送内容发送到终端。
具体地,动态会话信息是指在终端展示时具有动画效果的会话信息,例如可以是动态表情或者动态礼物等。通过播放一段关于赠送透明效果的礼物的展示动画或者礼物的赠送流程动画,可使得会话双方均获得良好的视觉体验。接收到会话发送指令后,可以将会话发送指令作为播放数据发送指令,获取动态会话信息对应的目标动画数据以及目标动画数据对应的图像内容数据,以得到发送内容。并将发送内容发送到对应的终端。
例如,假设第一终端对应的第一会话用户与第二终端对应的第二会话用户进行即时通信会话,第一终端可以接收第一会话用户触发的向第二终端发送动态表情的会话指令并发送会话发送指令至服务器,服务器接收到会话发送指令后,可以获取预先存储的发内容或者获取对应的目标动画数据以及目标图像数据,生成发送内容,将发送内容发送到第二终端中。可以理解,服务器还可以将发送内容发送到第一终端中。
如图5A所示,在一些实施例中,提出了一种发送内容的播放方法,本实施例提供的播放方法可以应用于上述图1中的终端。具体可以包括以下步骤:
步骤S502,接收发送内容。
具体地,发送内容包括目标图像数据以及带透明度的动画对应的目标动画数据。对发送内容的描述具体可以参考上述实施例中提供的带透明度的动画数据发送方法,在此不再赘述。发送内容是根据播放数据发送指令发送的。例如,在进行即时通信会话时,第一终端向服务器发送播放数据发送指令,服务器根据播放数据发送指令向第二终端发送对应的发送内容,第二终端接收服务器发送的发送内容。又例如,可以通过终端的输入设备触发播放请求,如通过触摸屏接收对发送内容对应的图标的点击操作得到播放请求,终端向服务器发送播放请求,服务器接收到播放请求后,根据目标动画数据以及目标图像数据得到发送内容并返回给终端。
步骤S506,获取当前播放策略,根据当前播放策略从发送内容中选择扩展数据块中的目标动画数据或图像内容数据块中的数据作为目标播放数据。
具体地,当前播放策略用于确定所要播放的数据是图像数据还是动画数据。如果当前播放策略是图像播放策略,则选择图像内容数据块中的目标图像数据作为目标播放数据,如果当前播放策略是透明动画播放策略,则选择扩展数据块的目标动画数据作为目标播放数据。当前播放策略可以根据需要播放数据的当前播放设备对应的参数、当前播放设备是否能够解析得到扩展数据块中存储的数据为动画数据类型中的一个或多个得到。当前播放设备对应的参数可以是设备对应的硬件参数以及播放应用对应的软件参数中的一个或多个。例如,可以根据播放设备的处理能力确定播放策略,如果播放设备的处理能力弱,则确定当前播放策略为图像播放策略,如果播放设备的处理能力强,则确定当前播放策略为动画播放策略。播放设备的处理能力的强弱可以根据需要设定,例如可以设置播放设备的处理字长小于预设值为处理能力弱,大于设置值为处理能力强。处理字长指单位时间内能一次处理的二进制数的位数。也可以根据播放应用的版本确定当前播放策略。对于有些播放应用,由于没有配置识别图像格式的文件中动画类型标识的功能,不能识别得到发送内容的扩展数据块中存储有目标动画数据,因此当前播放策略为图像播放策略。对于有些播放应用,经过配置后能够识别得到发送内容的扩展数据块中存储有目标动画数据,因此当前播放策略为动画播放策略。在一些实施例中,对于能够识别得到发送内容的扩展数据块中存储有目标动画数据的播放应用,也可以进一步根据播放设备的硬件参数确定当前播放策略。
在一些实施例中,还可以通过播放应用解析目标动画数据的能力得到当前目标播放策略。例如,如果目标动画数据为透明动画数据,且动画帧包括第一图像区域以及第二图像区域,由于实际上第一图像区域对应的图像才是需要播放的图像,而第二图像区域对应的图像数据是透明度参数,需要根据第二图像区域透明度参数对第一图像区域的色彩参数进行处理,才能得到具有透明效果的动画,否则,如果将第二图像区域色彩通道存储的透明度参数值作为色彩参数值,则展现出来的动画效果就会如图4B所示,播放的动画图像包括第一图像区域以及第二图像区域,但并不能展现出透明效果。因此,需要对播放应用进行配置,使得播放应用能够具有透明效果合成处理的功能,即播放应用能够根据第二图像区域透明度参数对第一图像区域的色彩参数进行处理,并播放第一图像区域对应的图片,从而使得动画具有透明效果。因此,如果播放应用具有进行透明效果合成处理的功能,则确定当前播放策略为动画播放策略,如果播放应用不具有进行透明效果合成处理的功能,则确定当前播放策略为图像播放策略。
步骤S508,播放目标播放数据。
具体地,得到目标播放数据后,在终端中播放目标播放数据。当目标播放数据为图像内容数据块中的数据时,则播放对应的目标图像数据,呈现出的可以是静态的图像,而如果目标播放数据为扩展数据块中的目标动画数据时,则将目标动画数据从目标动画中提取出来并进行播放。
上述发送内容的播放方法,接收到发送内容时,可以自适应地根据当前的播放策略选取动画数据或者图像数据作为目标播放数据进行播放,因此播放数据的播放效率以及成功率高。
本发明实施例提供的带透明度的动画数据发送方法可应用到各种场景下,例如应用在社交应用中,在通信双方沟通交流的过程中,在契合的时机下进行透明动画播放可显著提升用户体验。举例来说,某一社交应用具备送礼物功能,则在用户向好友赠送礼物的过程中,若能够播放一段动画,比如播放一段关于赠送礼物的展示动画或者礼物的赠送流程动画,则可使得通信双方均获得良好的视觉体验。如果动画为透明动画,还可以在播放透明动画时,通信双方还可以查看聊天框中的交流内容。如果播放设备不支持播放透明动画,则也能够以图片的形式展示对应的信息如赠送的礼物。
例如,假设在会话时,B用户向A用户发送“好人卡”,如果目标播放数据为扩展数据块中存储的目标动画数据,则展示效果如图5B所示,会话界面上会展示未打开的好人卡信封到好人卡信封完全打开的动态过程的画面,而如果目标播放数据为图像内容数据块中存储的数据,则展示效果如图5C所示,会话界面上只会展示一个静态的“好人卡”图像。其中,“好人卡”是互联网中虚拟的礼物卡。
在一些实施例中,如果目标播放数据为目标动画数据,还可以将目标图像数据对应的目标图像作为目标透明动画的预览图。
在一些实施例中,获取当前播放策略,根据当前播放策略从发送内容中选择扩展数据块或图像内容数据块中的数据作为目标播放数据包括:解析发送内容确定扩展数据块对应的目标数据块类型;当目标数据块类型为动画数据类型时,确定当前播放策略为动画播放策略,根据动画播放策略将扩展数据块中的目标动画数据作为目标播放数据。当目标数据块类型不是图像对应的预设数据块类型时,确定当前播放策略为图像播放策略,将图像内容数据块的数据作为目标播放数据。
具体地,动画数据类型用于标识数据的类型为动画类型,例如透明动画类型。图像对应的预设数据块类型是预先设置的,例如是一个图像格式对应的标准中已经存在的数据块类型。各个图像格式对应的标准中会确定图像块的数据块类型标识以及对应的数据。例如,PNG格式中,IDHR、PLTE、IDAT、IEND、TEXT、BKGD是预设的数据块类型,但是PNG格式是图像格式,并不会存储动画数据,所以并没有动画数据对应的数据块类型,因此对于一般的图像查看器,在解析发送内容确定扩展数据块的数据块类型时,解析得到的结果为目标数据块类型不是图像对应的预设数据块类型,而对于配置了识别图像格式的文件中动画数据块类型的功能的播放应用中,能够解析到发送内容中存储目标动画数据的扩展数据块的类型为动画数据类型,故可以得到发送内容中存储有动画数据,将扩展数据块中的目标动画数据作为目标播放数据。因此,终端中的播放应用可以对发送内容进行解析,确定扩展数据块对应的目标数据块类型,如果解析得到存储目标数据的扩展数据块的类型为动画数据类型,确定当前播放策略为动画播放策略,将目标动画数据作为目标播放数据。如果解析得到存储目标数据的扩展数据块的类型并不是图像对应的预设数据块类型时,确定当前播放策略为图像播放策略,将目标图像数据作为目标播放数据。本发明实施例中,对于能够解析得到扩展数据块的类型为动画数据类型的播放应用,可以播放目标动画数据,呈现动态的影像,而对于不能解析到扩展数据块的类型为动画数据类型的播放应用,也可以播放对应的图像,兼容性以及播放效率高。例如,在得到发送内容时,如果需要播放目标动画数据,则可以获取发送内容的数据块对应的标识,确定发送内容的数据块是否有“VPNG”标识的数据块,如果有,则创建动画文件,向动画文件中写入目标动画数据,使得目标动画数据存储在动画文件中,可以根据动画文件播放动画。
在一个实施中,获取当前播放策略包括:获取当前播放设备对应的播放设备参数;根据播放设备参数和扩展数据块对应的目标数据块类型确定当前播放策略。
具体地,播放设备参数包括播放设备固有的参数以及在使用过程中设置的参数中的一个或多个,可以包括播放设备的处理速度、播放设备中优先播放的数据的类型中一个或多个。例如,在播放设备中可以设置优先播放动画数据,只有当不能解析动画数据时才播放对应的图像数据。在解析扩展数据块对应的目标数据块类型时,如果目标数据块类型为动画数据类型时,可以进一步确定播放设备参数是否满足播放动画数据的条件,例如动画处理速度是否大于预设速度,如果是,则确定当前播放策略为动画播放策略,否则,当前播放策略为图像播放策略。
在一些实施例中,还可以根据播放设备解析透明动画的性能确定当前播放策略。例如,对于包括第一图像区域以及第二图像区域的动画帧,第一图像区域的色彩通道存储像素点的色彩参数值,第二图像区域的色彩通道存储像素点对应的透明度参数值的目标动画。在播放动画时,需要根据第二图像区域的透明度参数值对第一图像区域对应位置像素点的色彩参数值进行处理,得到动画帧对应的透明图像。如果播放设备处理得到透明图像的性能不能满足预设性能条件,则当前播放策略为图像播放策略,如果满足预设性能条件,则确定当前播放策略为透明动画播放策略。预设性能条件可以根据需要设置。例如可以是如果处理速度大于预设速度,则确定当前播放策略为透明动画播放策略。预设性能条件还可以是播放设备存在处理透明动画的预设硬件设备或者算法中的一个或多个。如果播放设备存在处理透明动画的预设硬件设备或者算法中的一个或多个,则确定当前播放策略为透明动画播放策略。
在一些实施例中,如图6所示,步骤S508即播放目标播放数据包括:
步骤S602,当目标动画数据为目标播放数据时,获取第一图像区域的色彩参数值以及第二图像区域的透明度参数值。
具体地,目标动画数据包括多个动画帧,动画帧包括第一图像区域以及第二图像区域,第一图像区域的色彩通道存储像素点的色彩参数值,第二图像区域的色彩通道存储像素点对应的透明度参数值,因此,在需要播放目标动画数据时,从获取第一图像区域的色彩通道中获取色彩参数值以及从第二图像区域的色彩通道中获取透明度参数值。
步骤S604,根据第二图像区域的透明度参数值对第一图像区域对应位置像素点的色彩参数值进行处理,得到各个动画帧对应的透明图像。
具体地,通过利用透明度参数值对色彩参数值进行数学运算,能够得到具有透明效果的图像。例如,可以将透明度参数数值与对应像素点的色彩参数值相乘,得到像素点在屏幕上对应的显示值。举个实际的例子,假设一个像素点对应的参数值为(Redx,Greenx,Bulex,Alphax),其中Redx,Greenx,Bulex,Alphax分别表示红色通道的值、绿色通道的值、蓝色通道的值、透明度参数值,则屏幕上相应像素点的显示值就转换为:(Redx*Alphax,Greenx*Alphax,Bluex*Alphax)。得到透明度参数值以及对应位置像素点的色彩参数值后,根据第二图像区域的透明度参数值对第一图像区域对应位置像素点的色彩参数值进行处理,合成透明图像。例如,对于图4B中的动画帧,合成后将只有一张具有透明效果的好人卡,而不是两张好人卡并排显示,其中,本发明实施例中好人卡是指一种虚拟礼物卡。
需要说明的一点是,之所以要利用第二图像区域的透明度参数值对第一图像区域对应位置像素点的色彩参数值进行处理,是因为动画帧是基于原始图片生成的,但是比原始图片多出了第二图像区域,若直接对动画帧进行播放,则屏幕上便会出现诸如图4B所示的画面,即屏幕上会出现包括第二图像区域的图像,但是都不具有透明动画效果。为了避免这种情况出现,因此需要利用第二图像区域的透明度参数值对第一图像区域对应位置像素点的色彩参数值进行处理,合成透明图像。
步骤S606,根据目标动画数据中各个动画帧的播放顺序播放对应的透明图像。
具体地,目标动画中各个动画帧是具有播放顺序的,得到动画帧对应的透明图像后,根据动画帧在目标动画的顺序播放对应的透明图像。例如,假设目标动画中包括3张动画帧:A1、B1以及C1,这三张动画帧对应的播放顺序为1、2以及3。A1、B1以及C1对应的透明图像为A2、B2以及C2,则可以依次播放A2、B2以及C2。
目标动画数据可以通过OpenGL进行播放,当通过OpenGL进行播放时,可以通过用shader(着色器)在每一个动画帧中分离出色彩参数值和透明度参数值,以便用于后续进行合成。并利用OpenGL的离屏渲染功能,将得到的透明图像保存于位图中,然后把每一帧的位图设置到视图(View)上,最终能够显示出动态画面。其中,离屏渲染是指把绘制的图像不直接显示到显示屏幕上,而是渲染到缓冲区中。
在一些实施例中,接收发送内容包括:获取动态会话消息展示请求,动态会话消息展示请求中携带发送内容:获取当前播放策略,根据当前播放策略从发送内容中选择扩展数据块或图像内容数据块中的数据作为目标播放数据包括:获取当前会话应用对应的动态消息播放策略,根据动态消息播放策略从发送内容中选择扩展数据块或图像内容数据块中的数据作为目标播放数据;播放目标播放数据包括:在当前会话应用对应的会话界面上播放目标播放数据。
具体地,终端可以接收会话信息展示请求,动态会话消息展示请求用于请求播放发送内容。会话应用对应的动态消息播放策略可以是根据会话应用的动画播放功能以及用户的设置中的一个或多个确定的。例如,低级版本的会话应用可能不存在播放动态表情以及播放透明动画的功能,则动态消息播放策略为图像播放策略。而高级版本的会话应用存在播放动态表情或者播放透明动画数据的功能,则动态消息播放策略为动画播放策略。又例如,会话应用可以接收用户对动态表情播放策略的设置操作,根据设置操作确定各种数据类型的播放优先级。如果是优先播放动画,则可以确定当前播放策略为动画播放策略,如果是优先播放图像,则可以确定当前播放策略为图像播放策略。得到目标播放数据后,在当前会话应用对应的会话界面上播放目标播放数据。
以下以目标动画数据为透明动画数据,具体的应用环境为即时通信会话对本发明实施例提供的带透明度的动画数据发送方法以及播放方法进行说明,具体可以包括以下步骤:
1、在第一会话用户与第二会话用户的聊天界面上,第一终端可以接收第一会话用户对动态表情的点击操作,向服务器发送动态会话信息发送指令,动态会话信息发送指令中携带动态表情标识。
2、服务器接收到第一终端发送的动态会话信息发送请求后,获取动态表情标识对应的透明动态表情数据以及该透明动态表情对应的图像数据,透明动态表情对应的图像数据为PNG格式。
3、服务器创建PNG格式的目标图像格式文件,读取透明动态表情对应的图像数据中的数据,写入到目标图像格式文件中,当透明动态表情对应的图像数据中IDAT数据块的数据均写入到目标图像格式文件后,服务器读取透明动态表情数据,并向目标图像格式文件写入数据块标识“VPNG”,将透明动态表情数据写入到数据块标识为“VPNG”的数据块中。服务器继续读取透明动态表情对应的图像数据中的数据块数据,直至透明动态表情对应的图像数据中均写入完成,得到PNG格式的发送内容。
4、服务器向第二终端发送动态会话消息展示请求,动态会话消息展示请求中携带发送内容。
5、第二终端接收动态会话消息展示请求,从动态会话消息展示请求中提取发送内容。
6、第二终端对发送内容中的数据块标识进行解析,如果解析得到数据块标识为“VPNG”标识的数据块,则从“VPNG”标识的数据块中提取目标动画数据。
7、第二终端从动画帧的第一图像区域对应的色彩通道中提取色彩参数值以及从第二图像区域对应的色彩通道中提取透明度参数值。
8、第二终端根据透明度参数值对色彩参数值进行处理,得到各个动画帧对应的具有透明效果的原始图片,并在第一会话用户与第二会话用户的聊天界面上播放原始图片。
如图7所示,在一些实施例中,提供了一种带透明度的动画数据发送装置,该带透明度的动画数据发送装置可以集成于终端中以及服务器中,具体可以包括发送指令获取模块702、发送内容获取模块704以及发送模块706。
发送指令获取模块702,用于获取播放数据发送指令。
发送内容获取模块704,用于根据播放数据发送指令获取图像格式的发送内容,发送内容包括目标图像数据以及带透明度的动画对应的目标动画数据,目标图像数据存储于发送内容对应的目标图像格式文件的图像内容数据块中,目标动画数据嵌入于发送内容对应的目标图像格式文件的扩展数据块中。
发送模块706,用于将发送内容发送给播放终端。
在一些实施例中,发送内容获取模块704包括:
数据获取单元,用于根据播放数据发送指令获取对应的目标动画数据以及目标图像数据;
存储单元,用于将目标图像数据存储至目标图像格式文件对应的图像内容数据块中,将目标动画数据嵌入于目标图像格式文件对应的目标扩展数据块中,得到发送内容。
在一些实施例中,存储单元704用于:将目标动画数据嵌入于目标图像格式文件对应的目标扩展数据块中包括:
将动画数据类型标识作为目标扩展数据块的数据块类型标识,将目标动画数据存储至目标扩展数据块中。
在一些实施例中,发送内容获取模块704用于:根据播放数据发送指令获取预先存储的图像格式的发送内容。
在一些实施例中,生成目标动画数据的生成模块包括:
原始图片集合获取模块,用于获取原始图片集合,原始图片集合包括多张原始图片。
参数值获取模块,用于获取原始图片集合中各张原始图片对应的色彩参数值以及透明度参数值。
动画帧生成模块,用于根据原始图片对应的色彩参数值以及透明度参数值生成动画帧,动画帧包括第一图像区域以及第二图像区域。
合成模块,用于将各张原始图片对应的动画帧合成动画,得到对应的目标动画数据。
在一些实施例中,发送指令获取模块702用于:接收向会话用户对应的终端发送动态会话信息的会话发送指令;发送内容获取模块704用于:获取会话发送指令对应的图像格式的发送内容;发送模块706用于:将会话用户对应的终端作为播放终端,将发送内容发送给会话用户对应的终端。
如图8所示,在一些实施例中,提供了一种发送内容的播放装置,该带透明度的动画数据处理装置可以集成于终端中,具体可以包括发送内容接收模块802、目标播放数据选择模块804以及播放模块806。
发送内容接收模块802,用于接收发送内容;
目标播放数据选择模块804,用于获取当前播放策略,根据当前播放策略从发送内容中选择扩展数据块中的目标动画数据或图像内容数据块中的数据作为目标播放数据;
播放模块806,用于播放目标播放数据。
在一些实施例中,目标播放数据选择模块804包括:
解析单元,用于解析发送内容确定扩展数据块对应的目标数据块类型;
目标播放数据选择单元,用于当目标数据块类型为动画数据类型时,确定当前播放策略为动画播放策略,根据动画播放策略将扩展数据块中的目标动画数据作为目标播放数据。当目标数据块类型不是图像对应的预设数据块类型时,确定当前播放策略为图像播放策略,将图像内容数据块的数据作为目标播放数据。
在一个实施中,目标播放数据选择模块706用于:解析发送内容确定扩展数据块的数据块类型;当目标数据块类型不是图像对应的预设数据块类型时,确定当前播放策略为图像播放策略,将图像内容数据块中的数据作为目标播放数据。
在一个实施中,目标播放数据选择模块706用于:获取当前播放设备对应的播放设备参数;根据播放设备参数和扩展数据块对应的目标数据块类型确定当前播放策略。
在一个实施中,播放模块708用于:当目标动画数据为目标播放数据时,获取第一图像区域的色彩参数值以及第二图像区域的透明度参数值。根据第二图像区域的透明度参数值对第一图像区域对应位置像素点的色彩参数值进行处理,得到各个动画帧对应的透明图像。根据目标动画数据中各个动画帧的播放顺序播放对应的透明图像。
图9示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端。如图9所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现带透明度的动画数据发送方法以及播放方法的至少一种。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行带透明度的动画数据发送方法以及播放方法中的至少一种。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
图10示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器120。如图10所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器以网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现带透明度的动画数据发送方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行带透明度的动画数据发送方法。
本领域技术人员可以理解,图9以及图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,本申请提供的带透明度的动画数据发送装置可以实现为一种计算机程序的形式,计算机程序可在如图10所示的计算机设备上运行。计算机设备的存储器中可存储组成该带透明度的动画发送装置的各个程序模块,比如,图7所示的发送指令获取模块702、发送内容获取模块704以及发送模块706。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的带透明度的动画数据发送方法中的步骤。
例如,图10所示的计算机设备可以通过如图7所示的带透明度的动画发送装置中的发送指令获取模块702,用于获取播放数据发送指令。通过发送内容获取模块704根据播放数据发送指令获取图像格式的发送内容,发送内容包括目标图像数据以及带透明度的动画对应的目标动画数据,目标图像数据存储于发送内容对应的目标图像格式文件的图像内容数据块中,目标动画数据嵌入于发送内容对应的目标图像格式文件的扩展数据块中。通过发送模块706将发送内容发送给播放终端。
在一些实施例中,本申请提供的播放装置可以实现为一种计算机程序的形式,计算机程序可在如图9以及图10所示的计算机设备上运行。计算机设备的存储器中可存储组成该播放装置的各个程序模块,比如,图8所示的发送内容接收模块802、目标播放数据选择模块804以及播放模块806。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的播放方法中的步骤。
例如,图9以及图10所示的计算机设备可以通过如图8所示的播放装置中的发送内容接收模块802接收发送内容;通过目标播放数据选择模块804获取当前播放策略,根据当前播放策略从发送内容中选择扩展数据块中的目标动画数据或图像内容数据块中的数据作为目标播放数据;通过播放模块806播放目标播放数据。
在一些实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述带透明度的动画数据发送方法的步骤。此处带透明度的动画数据发送方法的步骤可以是上述各个实施例的带透明度的动画数据发送方法中的步骤。
在一些实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述带透明度的动画数据发送方法的步骤。此处带透明度的动画数据发送方法的步骤可以是上述各个实施例的带透明度的动画数据发送方法中的步骤。
在一些实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述播放方法的步骤。此处带透明度的动画数据发送方法的步骤可以是上述各个实施例的播放方法中的步骤。
在一些实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述播放方法的步骤。此处播放方法的步骤可以是上述各个实施例的带透明度的动画数据处理装置方法中的步骤。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (20)

1.一种带透明度的动画数据发送方法,所述方法包括:
获取播放数据发送指令;
根据所述播放数据发送指令获取图像格式的发送内容,所述发送内容包括目标图像数据以及带透明度的动画对应的目标动画数据,所述目标图像数据存储于所述发送内容对应的目标图像格式文件的图像内容数据块中,所述目标动画数据嵌入于所述发送内容对应的目标图像格式文件的扩展数据块中;
将所述发送内容发送给播放终端;其中,所述目标动画数据的动画帧包括第一图像区域以及第二图像区域,所述第一图像区域的色彩通道存储原始图片各个像素点的色彩参数值,所述第二图像区域的色彩通道存储原始图片中各个像素点对应的透明度参数值;所述动画帧的第二图像区域中的透明度参数值用于对所述第一图像区域中的色彩参数值进行处理,得到所述动画帧对应的透明图像。
2.根据权利要求1所述的方法,其特征在于,根据所述播放数据发送指令获取图像格式的发送内容包括:
根据所述播放数据发送指令获取对应的目标动画数据以及目标图像数据;
将所述目标图像数据存储至目标图像格式文件对应的图像内容数据块中,将所述目标动画数据嵌入于目标图像格式文件对应的目标扩展数据块中,得到所述发送内容。
3.根据权利要求2所述的方法,其特征在于,将所述目标动画数据嵌入于目标图像格式文件对应的目标扩展数据块中包括:
将动画数据类型标识作为所述目标扩展数据块的数据块类型标识,将所述目标动画数据存储至所述目标扩展数据块中。
4.根据权利要求1所述的方法,其特征在于,根据所述播放数据发送指令获取图像格式的发送内容包括:
根据所述播放数据发送指令获取预先存储的图像格式的发送内容。
5.根据权利要求1所述的方法,其特征在于,所述第二图像区域中一个像素点的任一个色彩通道保存所述第一图像区域中对应的像素点对应的透明度参数值。
6.根据权利要求1所述的方法,其特征在于,所述获取播放数据发送指令包括:
接收向会话用户对应的终端发送动态会话信息的会话发送指令;
所述根据所述播放数据发送指令获取对应的图像格式的发送内容包括:
获取所述会话发送指令对应的图像格式的发送内容;
所述将所述发送内容发送给播放终端包括:
将所述会话用户对应的终端作为播放终端,将所述发送内容发送给所述会话用户对应的终端。
7.一种权利要求1至6任一项权利要求所述的发送内容的播放方法,所述方法包括:
接收发送内容;
获取当前播放策略,根据所述当前播放策略从所述发送内容中选择所述扩展数据块中的目标动画数据或所述图像内容数据块中的数据作为目标播放数据;
播放所述目标播放数据;其中,所述目标动画数据的动画帧包括第一图像区域以及第二图像区域,所述第一图像区域的色彩通道存储像素点的色彩参数值,所述第二图像区域的色彩通道存储像素点对应的透明度参数值;当所述目标动画数据为目标播放数据时,根据所述第二图像区域的透明度参数值对所述第一图像区域对应位置像素点的色彩参数值进行处理,得到所述动画帧对应的透明图像。
8.根据权利要求7所述的方法,其特征在于,所述获取当前播放策略,根据所述当前播放策略从所述发送内容中选择所述扩展数据块的目标动画数据或所述图像内容数据块中的数据作为目标播放数据包括:
解析所述发送内容确定所述扩展数据块对应的目标数据块类型;
当所述目标数据块类型为动画数据类型时,确定所述当前播放策略为动画播放策略,根据所述动画播放策略将所述扩展数据块中的目标动画数据作为目标播放数据;
当所述目标数据块类型不是图像对应的预设数据块类型时,确定所述当前播放策略为图像播放策略,将所述图像内容数据块中的数据作为目标播放数据。
9.根据权利要求7所述的方法,其特征在于,所述播放所述目标播放数据包括:
当所述目标动画数据为目标播放数据时,获取所述第一图像区域的色彩参数值以及所述第二图像区域的透明度参数值;
根据所述第二图像区域的透明度参数值对所述第一图像区域对应位置像素点的色彩参数值进行处理,得到各个所述动画帧对应的透明图像;
根据所述目标动画数据中所述动画帧的播放顺序播放对应的透明图像。
10.一种带透明度的动画数据发送装置,所述装置包括:
发送指令获取模块,用于获取播放数据发送指令;
发送内容获取模块,用于根据所述播放数据发送指令获取图像格式的发送内容,所述发送内容包括目标图像数据以及带透明度的动画对应的目标动画数据,所述目标图像数据存储于所述发送内容对应的目标图像格式文件的图像内容数据块中,所述目标动画数据嵌入于所述发送内容对应的目标图像格式文件的扩展数据块中;
发送模块,用于将所述发送内容发送给播放终端;其中,所述目标动画数据的动画帧包括第一图像区域以及第二图像区域,所述第一图像区域的色彩通道存储原始图片各个像素点的色彩参数值,所述第二图像区域的色彩通道存储原始图片中各个像素点对应的透明度参数值;所述动画帧的第二图像区域中的透明度参数值用于对所述第一图像区域中的色彩参数值进行处理,得到所述动画帧对应的透明图像。
11.根据权利要求10所述的装置,其特征在于,所述发送内容获取模块包括:
数据获取单元,用于根据所述播放数据发送指令获取对应的目标动画数据以及目标图像数据;
存储单元,用于将所述目标图像数据存储至目标图像格式文件对应的图像内容数据块中,将所述目标动画数据嵌入于目标图像格式文件对应的目标扩展数据块中,得到所述发送内容。
12.根据权利要求11所述的装置,其特征在于,所述存储单元用于:
将动画数据类型标识作为所述目标扩展数据块的数据块类型标识,将所述目标动画数据存储至所述目标扩展数据块中。
13.根据权利要求10所述的装置,其特征在于,所述发送内容获取模块用于:
根据所述播放数据发送指令获取预先存储的图像格式的发送内容。
14.根据权利要求10所述的装置,其特征在于,所述第二图像区域中一个像素点的任一个色彩通道保存所述第一图像区域中对应的像素点对应的透明度参数值。
15.根据权利要求10所述的装置,其特征在于,所述送指令获取模块用于:
接收向会话用户对应的终端发送动态会话信息的会话发送指令;
所述发送内容获取模块用于:
获取所述会话发送指令对应的图像格式的发送内容;
所述发送模块用于:
将所述会话用户对应的终端作为播放终端,将所述发送内容发送给所述会话用户对应的终端。
16.一种权利要求10至15任一项权利要求所述的发送内容的播放装置,所述装置包括:
发送内容接收模块,用于接收发送内容;
目标播放数据选择模块,用于获取当前播放策略,根据所述当前播放策略从所述发送内容中选择所述扩展数据块中的目标动画数据或所述图像内容数据块中的数据作为目标播放数据;所述目标动画数据包括多个动画帧,所述动画帧包括第一图像区域以及第二图像区域,所述第一图像区域的色彩通道存储像素点的色彩参数值,所述第二图像区域的色彩通道存储像素点对应的透明度参数值;
播放模块,用于播放所述目标播放数据;其中,所述目标动画数据的动画帧包括第一图像区域以及第二图像区域,所述第一图像区域的色彩通道存储像素点的色彩参数值,所述第二图像区域的色彩通道存储像素点对应的透明度参数值;当所述目标动画数据为目标播放数据时,根据所述第二图像区域的透明度参数值对所述第一图像区域对应位置像素点的色彩参数值进行处理,得到所述动画帧对应的透明图像。
17.根据权利要求16所述的装置,其特征在于,所述目标播放数据选择模块用于:
解析所述发送内容确定所述扩展数据块对应的目标数据块类型;
当所述目标数据块类型为动画数据类型时,确定所述当前播放策略为动画播放策略,根据所述动画播放策略将所述扩展数据块中的目标动画数据作为目标播放数据;
当所述目标数据块类型不是图像对应的预设数据块类型时,确定所述当前播放策略为图像播放策略,将所述图像内容数据块中的数据作为目标播放数据。
18.根据权利要求16所述的装置,其特征在于,所述播放模块用于:
当所述目标动画数据为目标播放数据时,获取所述第一图像区域的色彩参数值以及所述第二图像区域的透明度参数值;
根据所述第二图像区域的透明度参数值对所述第一图像区域对应位置像素点的色彩参数值进行处理,得到各个所述动画帧对应的透明图像;
根据所述目标动画数据中各个所述动画帧的播放顺序播放对应的透明图像。
19.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至9中任一项权利要求所述方法的步骤。
20.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时,使得处理器执行权利要求1至9中任一项权利要求所述方法的步骤。
CN201811208989.XA 2018-10-17 2018-10-17 带透明度的动画数据发送方法、播放方法和计算机设备 Active CN111064986B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811208989.XA CN111064986B (zh) 2018-10-17 2018-10-17 带透明度的动画数据发送方法、播放方法和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811208989.XA CN111064986B (zh) 2018-10-17 2018-10-17 带透明度的动画数据发送方法、播放方法和计算机设备

Publications (2)

Publication Number Publication Date
CN111064986A CN111064986A (zh) 2020-04-24
CN111064986B true CN111064986B (zh) 2021-10-26

Family

ID=70296918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811208989.XA Active CN111064986B (zh) 2018-10-17 2018-10-17 带透明度的动画数据发送方法、播放方法和计算机设备

Country Status (1)

Country Link
CN (1) CN111064986B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114760525A (zh) * 2021-01-08 2022-07-15 北京字节跳动网络技术有限公司 视频生成及播放方法、装置、设备、介质
CN113423016A (zh) * 2021-06-18 2021-09-21 北京爱奇艺科技有限公司 一种视频播放方法、装置、终端及服务器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8724029B2 (en) * 2011-05-26 2014-05-13 Adobe Systems Incorporated Accelerating video from an arbitrary graphical layer
CN106296774B (zh) * 2015-06-24 2021-08-20 周公谨 一种pvg格式图像的生成方法及系统
CN105574920B (zh) * 2016-01-28 2018-03-13 网易(杭州)网络有限公司 材质贴图生成方法及装置、材质合成方法及装置
CN108307173A (zh) * 2016-08-31 2018-07-20 北京康得新创科技股份有限公司 图片的处理方法、接收终端、发送终端
CN108256062B (zh) * 2018-01-16 2020-11-24 携程旅游信息技术(上海)有限公司 网页动画实现方法、装置、电子设备、存储介质

Also Published As

Publication number Publication date
CN111064986A (zh) 2020-04-24

Similar Documents

Publication Publication Date Title
CN106611435B (zh) 动画处理方法和装置
US10129385B2 (en) Method and apparatus for generating and playing animated message
CN111899155B (zh) 视频处理方法、装置、计算机设备及存储介质
CN111899322B (zh) 视频处理方法、动画渲染sdk和设备及计算机存储介质
CN109309842B (zh) 直播数据处理方法和装置、计算机设备和存储介质
CN108959392B (zh) 在3d模型上展示富文本的方法、装置及设备
CN112073794B (zh) 动画处理方法、装置、计算机可读存储介质和计算机设备
CN111064986B (zh) 带透明度的动画数据发送方法、播放方法和计算机设备
CN112714357B (zh) 视频播放方法、视频播放装置、电子设备和存储介质
CN110189384B (zh) 基于Unity3D的图像压缩方法、装置、计算机设备和存储介质
CN112416346A (zh) 界面配色方案的生成方法、装置、设备及存储介质
CN107767437B (zh) 一种多层混合异步渲染方法
CN112651475A (zh) 二维码显示方法、装置、设备及介质
CN110187858B (zh) 图像显示方法及系统
KR101984825B1 (ko) Api 정보를 이용한 클라우드 디스플레이 화면의 부호화 방법 및 그 장치
CN114466246A (zh) 一种视频处理方法及其装置
CN113411660B (zh) 视频数据的处理方法、装置和电子设备
CN113938572A (zh) 图片传输方法、显示方法、装置、电子设备及存储介质
CN115641397A (zh) 虚拟形象的合成、展示方法和系统
CN117376660A (zh) 字幕元素的渲染方法、装置、设备、介质及程序产品
CN108366285B (zh) 一种视频数据显示方法和装置
CN114143477B (zh) 图像标注方法和装置
CN115118922B (zh) 一种云会议中实时视频合屏插入动图的方法与装置
KR200433204Y1 (ko) 문자메시지를 플래시 이미지로 출판하는 기능을 구비하는이동기기(1)
KR100922438B1 (ko) 동영상 메시지 서비스 제공 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40021603

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant