CN113538302A - 虚拟物品展示方法、装置和计算机可读存储介质 - Google Patents
虚拟物品展示方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113538302A CN113538302A CN202010301991.2A CN202010301991A CN113538302A CN 113538302 A CN113538302 A CN 113538302A CN 202010301991 A CN202010301991 A CN 202010301991A CN 113538302 A CN113538302 A CN 113538302A
- Authority
- CN
- China
- Prior art keywords
- pixel
- article
- information
- virtual
- virtual article
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000000694 effects Effects 0.000 claims abstract description 224
- 230000004927 fusion Effects 0.000 claims abstract description 129
- 230000003993 interaction Effects 0.000 claims description 14
- 238000007499 fusion processing Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 4
- 238000002156 mixing Methods 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 abstract description 19
- 241000272525 Anas platyrhynchos Species 0.000 description 35
- 238000012545 processing Methods 0.000 description 22
- 238000001914 filtration Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000009877 rendering Methods 0.000 description 7
- 238000009499 grossing Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 239000000463 material Substances 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000007921 spray Substances 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种虚拟物品展示方法、装置和计算机可读存储介质;本申请实施例可以接收虚拟物品发送指令,该虚拟物品发送指令携带虚拟物品标识,基于该虚拟物品标识获取组成虚拟物品的物品图像和目标动效视频,该目标动效视频包括至少一个视频帧,然后确定该视频帧内物品图像融合区域中每个像素点的位置信息,再根据该位置信息在该物品图像中获取对应位置的像素信息,将该像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频,将该虚拟物品动效视频发送给目标对象的终端进行虚拟物品的动效展示;该方案可以有效地提高虚拟物品展示的丰富性,改善视觉效果。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种虚拟物品展示方法、装置和计算机可读存储介质。
背景技术
随着电子技术的发展,电子设备(比如手机、平板电脑等等)的大量普及,电子设备能够支持的应用越来越多,功能也越来越强大,电子设备向着多样化、个性化的方向发展,成为用户生活中不可缺少的电子用品。
在现有电子设备的应用中,用户可以从应用平台所提供的候选虚拟礼物中挑选某个特定的虚拟礼物送给目标对象(比如亲人、朋友、同事等等),当用户给目标对象送礼物时,可以在目标对象的电子设备中展示礼物或者用户的电子设备及目标对象的电子设备会同时展示礼物。但是,目前对礼物的展示都太过于单调,视觉效果欠佳。
发明内容
本申请实施例提供一种虚拟物品展示方法、装置和计算机可读存储介质,可以有效地提高虚拟物品展示的丰富性,改善视觉效果。
本申请实施例提供一种虚拟物品展示方法,包括:
接收虚拟物品发送指令,所述虚拟物品发送指令携带虚拟物品标识;
基于所述虚拟物品标识获取组成虚拟物品的物品图像和目标动效视频,所述目标动效视频包括至少一个视频帧;
确定所述视频帧内物品图像融合区域中每个像素点的位置信息;
根据所述位置信息在所述物品图像中获取对应位置的像素信息,将所述像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频;
将所述虚拟物品动效视频发送给目标对象的终端进行虚拟物品的动效展示。
相应的,本申请实施例还提供一种虚拟物品展示装置,包括:
接收单元,用于接收虚拟物品发送指令,所述虚拟物品发送指令携带虚拟物品标识;
获取单元,用于基于所述虚拟物品标识获取组成虚拟物品的物品图像和目标动效视频,所述目标动效视频包括至少一个视频帧;
计算单元,用于确定所述视频帧内物品图像融合区域中每个像素点的位置信息;
融合单元,用于根据所述位置信息在所述物品图像中获取对应位置的像素信息,将所述像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频;
发送单元,用于将所述虚拟物品动效视频发送给目标对象的终端进行虚拟物品的动效展示。
可选的,在一些实施例中,所述视频帧包括动画融合区域,所述位置信息包括全局位置信息和相对位置信息,所述计算单元可以包括确定子单元、第一计算子单元和第二计算子单元,如下:
所述确定子单元,用于对所述动画融合区域进行像素识别,确定动画融合区域中的物品图像融合区域;
所述第一计算子单元,用于计算所述物品图像融合区域中的每个像素点在所述动画融合区域的全局位置信息;
所述第二计算子单元,用于计算所述物品图像融合区域中的每个像素点在所述物品图像融合区域中的相对位置信息。
可选的,在一些实施例中,所述第二计算子单元,具体可以用于计算所述物品图像融合区域中的每个像素点在所述物品图像融合区域中第一方向的百分比;计算所述物品图像融合区域中的每个像素点在所述物品图像融合区域中第二方向的百分比;根据所述第一方向的百分比和所述第一方向的百分比确定所述像素点在所述物品图像融合区域中的相对位置信息。
可选的,在一些实施例中,所述融合单元,具体可以用于根据所述第一方向的百分比和所述物品图像的长度确定所述像素点在所述物品图像中第一方向上的位置信息;根据所述第二方向的百分比和所述物品图像的宽度确定所述像素点在所述物品图像中第二方向上的位置信息;基于所述第一方向上的位置信息和所述第二方向上的位置信息,获取对应位置的像素信息。
可选的,在一些实施例中,所述视频帧包括动画特效区域,所述融合单元,具体可以用于根据所述相对位置信息在所述物品图像中获取对应位置的像素信息;将所述全局位置信息映射到所述动画特效区域,得到动画特效区域中的对应像素点;将所述像素信息与动画特效区域中对应像素点的像素信息进行融合,得到虚拟物品动效视频。
可选的,在一些实施例中,所述融合单元可以包括判断子单元和融合子单元,如下:
所述判断子单元,用于判断物品图像的像素点是否位于物品图像的边缘;
所述融合子单元,用于若所述像素点位于物品图像的边缘,则对所述像素点的像素信息进行融合处理,得到融合后像素信息,利用所述融合后像素信息替换目标动效视频中对应位置的像素信息,得到虚拟物品动效视频;若所述像素点不位于物品图像的边缘,则利用所述像素信息替换目标动效视频中对应位置的像素信息,得到虚拟物品动效视频。
可选的,在一些实施例中,所述判断子单元,具体可以用于获取物品图像中每个像素点的像素信息和位置信息;基于所述位置信息确定所述像素点的相邻像素点;获取所述相邻像素点的像素信息,根据所述像素点的像素信息和所述相邻像素点的像素信息判断所述像素点是否位于物品图像的边缘。
可选的,在一些实施例中,所述融合子单元,具体可以用于根据所述像素点的像素信息和所述相邻像素点的像素信息分别确定所述像素点的像素值和所述相邻像素点的相邻像素值;计算所述像素值和所述相邻像素值的平均值;将所述像素值和所述平均值进行融合处理,得到融合后像素信息。
可选的,在一些实施例中,所述判断子单元,具体可以用于利用开放图形库加载物品图像,得到物品图像对应的目标纹理;对所述目标纹理进行采样,得到每个像素点的像素信息和位置信息。
可选的,在一些实施例中,所述虚拟物品展示装置还可以包括透明处理单元,所述透明处理单元,具体可以用于获取目标动效视频中的非物品图像融合区域;将所述非物品图像融合区域中每个像素点设置为透明像素点。
可选的,在一些实施例中,所述接收单元,具体可以用于显示用户交互页面,所述用户交互页面包括虚拟物品选择控件;当检测到用户针对所述虚拟物品选择控件的触发操作时,显示虚拟物品选择页面;当用户针对所述虚拟物品选择页面的虚拟物品发送操作时,接收到虚拟物品发送指令。
可选的,在一些实施例中,所述获取单元,具体可以用于基于所述虚拟物品标识,利用动画组件加载组成虚拟物品的物品图像和目标动效视频,所述动画组件包括解码器;利用所述解码器对所述目标动效视频进行解析,得到至少一个视频帧。
此外,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请实施例提供的任一种虚拟物品展示方法中的步骤。
此外,本申请实施例还提供一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本申请实施例提供的任一种虚拟物品展示方法中的步骤。
本申请实施例可以接收虚拟物品发送指令,所述虚拟物品发送指令携带虚拟物品标识,然后,基于所述虚拟物品标识获取组成虚拟物品的物品图像和目标动效视频,所述目标动效视频包括至少一个视频帧,再确定所述视频帧内物品图像融合区域中每个像素点的位置信息,接着,根据所述位置信息在所述物品图像中获取对应位置的像素信息,将所述像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频,再然后,将所述虚拟物品动效视频发送给目标对象的终端进行虚拟物品的动效展示;该方案可以有效地提高虚拟物品展示的丰富性,改善视觉效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的虚拟物品展示方法的场景示意图;
图1b是本申请实施例提供的虚拟物品展示方法的流程图;
图1c是本申请实施例提供的动画组件的架构图;
图1d是本申请实施例提供的动画组件的处理流程图;
图1e是本申请实施例提供的边缘融合的流程示意图;
图2a是本申请实施例提供的虚拟物品展示方法的另一流程图;
图2b是本申请实施例提供的用户交互页面图;
图2c是本申请实施例提供的虚拟物品选择页面图;
图2d是本申请实施例提供的虚拟物品的切换页面示意图;
图2e是本申请实施例提供的虚拟物品展示方法的像素点处理示意图;
图2f是本申请实施例提供的滤波平滑处理前后的对比图;
图2g是本申请实施例提供的虚拟物品已发送的页面展示图;
图3是本申请实施例提供的虚拟物品展示装置的结构示意图;
图4是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种虚拟物品展示方法、装置和计算机可读存储介质。其中,该虚拟物品展示装置可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。
例如,参见图1a,首先,该集成了虚拟物品展示装置的终端可以接收用户触发的虚拟物品发送指令,该虚拟物品发送指令携带虚拟物品标识,然后,基于该虚拟物品标识获取组成虚拟物品的物品图像和目标动效视频,该目标动效视频包括至少一个视频帧,再确定该视频帧中的物品图像融合区域,计算该物品图像融合区域中每个像素点的位置信息,接着,根据该位置信息在该物品图像中获取对应位置的像素信息,将该像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频,再然后,将该虚拟物品动效视频发送给目标对象的终端进行虚拟物品的动效展示。
由于该方案可以利用像素识别和融合来实现动画效果的组合,提供丰富的动画效果,使得动画视频帧中的元素可以被替换、合成,在类似的使用场景下可以复用,解决了在类似场景下效率低的问题,同时具备定制特性视觉效果丰富有个性。利用视频帧的透明处理技术来实现透明动画效果解决遮挡问题,提高用户的视觉体验。该方案使得用户在选中虚拟物品后,虚拟物品不仅可以以透明形式的动画呈现在视频上,还可以和背景动效效果融合形成新的动画效果在视频上呈现,在对目标纹理采样时应用了自定义的滤波算法,消除像素融合到视频帧中出现的边缘锯齿,有效地提高虚拟物品展示的丰富性,改善视觉效果。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从虚拟物品展示装置的角度进行描述,该虚拟物品展示装置具体可以集成在电子设备中,其中,该电子设备可以包括手机、平板电脑、笔记本电脑、终端以及个人计算机(Personal Computer,PC)等设备。
一种虚拟物品展示方法,包括:接收虚拟物品发送指令,该虚拟物品发送指令携带虚拟物品标识,然后,基于该虚拟物品标识获取组成虚拟物品的物品图像和目标动效视频,该目标动效视频包括至少一个视频帧,再确定该视频帧内物品图像融合区域中每个像素点的位置信息,接着,根据该位置信息在该物品图像中获取对应位置的像素信息,将该像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频,再然后,将该虚拟物品动效视频发送给目标对象的终端进行虚拟物品的动效展示。
如图1b所示,该虚拟物品展示方法的具体流程可以如下:
101、接收虚拟物品发送指令,该虚拟物品发送指令携带虚拟物品标识。
其中,该虚拟物品发送指令可以携带虚拟物品标识。其中,虚拟物品标识指的是可以用来识别虚拟物品的信息,比如,是虚拟蛋糕、虚拟鲜花、虚拟鸭子的编号或代码等等,如具体可以为虚拟物品的身份标识号(Identity document,ID)。
其中,虚拟物品指的是非实物,摸不到的物品。另外一种生产模式,另外一种生产领域,看得见,摸不着,是虚拟界一种产物。比如,可以是通过网络发送的虚拟礼物,如发送给好友或陌生人的虚拟鲜花,蛋糕等,看直播时给主播发送的礼物,也可以是从虚拟的网络游戏世界里衍生出来的物品,如装备、武器等。
其中,该虚拟物品发送指令可以由虚拟物品展示装置接收用户发送的虚拟物品请求,生成虚拟物品发送请求,也可以由其他设备,比如终端,接收到用户发送的虚拟物品请求后,生成虚拟物品发送请求,进而提供给虚拟物品展示装置,即,虚拟物品展示装置具体可以接收虚拟物品发送指令,也可以接收其他设备发送的虚拟物品发送指令。
例如,可以显示用户交互页面,该用户交互页面包括虚拟物品选择控件,当检测到用户针对该虚拟物品选择控件的触发操作时,显示虚拟物品选择页面,当用户针对该虚拟物品选择页面的虚拟物品发送操作时,接收到虚拟物品发送指令。
其中,控件的表现形式,可以为图标、输入框、按钮等形式。例如,具体可以在用户的终端显示用户与目标对象交流的用户交互页面,该用户交互界面可以包括虚拟物品选择按钮,比如,在交友软件中可以是“想认识”按钮,用户可以对该按钮进行触发操作如点击、滑动或其他等等时,当终端检测到用户针对该虚拟物品选择控件的触发操作时,可以显示虚拟物品选择页面,在该虚拟物品选择页面,用户可以选择想要送给目标对象的礼物,比如该虚拟物品选择页面可以包括虚拟物品切换控件,比如刷新按钮、切换按钮等,当用户针对该虚拟物品切换控件进行触发操作时,可以切换不同的虚拟物品,以供用户选择。当用户针对该虚拟物品选择页面的虚拟物品发送控件进行触发操作时,将确定当前虚拟物品选择页面显示的虚拟物品作为用户待发送给目标对象的礼物,此时,可以触发虚拟物品发送指令,终端将会对该指令进行接收。其中,目标对象指的是用户想要将虚拟物品发送给的对象,比如,目标用户等。
102、基于该虚拟物品标识获取组成虚拟物品的物品图像和目标动效视频,该目标动效视频包括至少一个视频帧。
例如,可以基于该虚拟物品标识,利用动画组件加载组成虚拟物品的物品图像和目标动效视频,该动画组件包括解码器,利用该解码器对该目标动效视频进行解析,得到至少一个视频帧。
其中,目标动效视频指的是想要虚拟物品展示特定动画特效的视频,该目标动画视频可以事先与物品图像一一对应绑定存储在设备中,也可以由用户根据自身喜好进行个性化选择,等等,在此不做限定。实现虚拟物品的动画融合特效,可以由动画效果的视频文件(即目标动效视频)、需要融入视频帧中的目标图像(如物品图像),定义具体融合逻辑的JavaScript文件组成。
其中,JavaScript(简称JS或js)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
比如,如图1c和1d所示,可以利用动画组件加载业务动画资源,即加载js动画逻辑、动画素材、以及动画相关的视频文件,然后,利用动画组件内部js绘制引擎,解释js代码,js绘制引擎加载动画资源,解析js动画逻辑,利用开放图形库(Open GraphicsLibrary,OpenGL)或Metal加载物品图像得到对应的纹理数据,即物品图像对应的目标纹理。调用内部解码模块(即解码器)加载动画相关的视频文件,如目标动效视频,可以利用AVFoundation或者FFmpeg对该视频文件进行解码,得到至少一个视频帧。其中,视频帧可以划分为两个对等的区域:动画特效区域和融合目标纹理的位置信息区域。
其中,开放图形库是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个接口由近350个不同的函数调用组成,用来绘制从简单的图形比特到复杂的三维景象。Metal是一项全新的技术,专为开发高临场感主机游戏的开发者打造,可让开发者全力发挥A7和A8芯片的性能。该技术经过优化,使处理器和图形处理器能够协同工作来实现最优性能。它专为多线程而设计,并提供各种出色工具将所有素材整合在Xcode中。Metal是一种低层次的渲染应用程序编程接口,提供了软件所需的最低层,保证软件可以运行在不同的图形芯片上。
其中,AVFoundation是iOS自带的处理音视频帧的框架,比如音视频编解码等,可以用它来播放和创建基于时间的视听媒体的几个框架之一,它提供了基于时间的视听数据的详细界别上的OC接口。可以用它来检查、创建、编辑、重新编码媒体文件。也可以从设备得到输入流和实时捕捉回放过程中操控视频用于处理基于时间的媒体数据的高级OC框架。充分利用了多核硬件的优势并大量使用block(块)和多线程编程(Grand Central Dispatch,GCD)机制将复杂的计算进程放在后台线程运行。自动提供硬件加速操作,确保在大部分设备上应用程序能以最佳性能运行。
FFmpeg是第三方开源的实力音视频帧的框架,是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库(libavcodec),为了保证高可移植性和编解码质量,libavcodec里很多code(编码)都是从头开发的。多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。
图1c中的可编程部分就是实现具体动画效果的js业务逻辑代码,控制视频帧的具体效果,比如视频帧透明处理,合成视频帧等。比如,js1、js2代表不同的js动画逻辑,js绘制引擎可以根据视频融合需要选择不同的js动画逻辑。
103、确定该视频帧内物品图像融合区域中每个像素点的位置信息。
其中,该位置信息可以包括全局位置信息和相对位置信息。例如,可以对该动画融合区域进行像素识别,确定动画融合区域中的物品图像融合区域,计算该物品图像融合区域中的每个像素点在该动画融合区域的全局位置信息,以及计算该物品图像融合区域中的每个像素点在该物品图像融合区域中的相对位置信息。
例如,可以确定该视频帧中的物品图像融合区域,计算该物品图像融合区域中每个像素点的位置信息,比如,具体可以利用像素RGBA值识别动画融合区域中每个像素点,以确定动画融合区域中的物品图像融合区域,再计算该物品图像融合区域中每个像素点的位置信息。
其中,RGBA是代表Red(红色)Green(绿色)Blue(蓝色)和Alpha的色彩空间。虽然它有的时候被描述为一个颜色空间,但是它其实仅仅是RGB模型的附加了额外的信息。采用的颜色是RGB,可以属于任何一种RGB颜色空间,但是Catmull(人名)和Smith(人名)在1971至1972年间提出了这个不可或缺的alpha数值,使得alpha渲染和alpha合成变得可能。
alpha通道(阿尔法通道)一般用作不透明度参数。如果一个像素的alpha通道数值为0%,那它就是完全透明的(也就是看不见的),而数值为100%则意味着一个完全不透明的像素(传统的数字图像)。在0%和100%之间的值则使得像素可以透过背景显示出来,就像透过玻璃(半透明性),这种效果是简单的二元透明性(透明或不透明)做不到的。它使数码合成变得容易。alpha通道值可以用百分比、整数或者像RGB参数那样用0到1的实数表示。
其中,计算每个像素点的相对位置信息的方式可以有很多种,比如,可以通过计算像素点在每个方向上的相对百分比来确定该像素点的相对位置信息,如2D图像可以计算x、y方向,3D图像可以计算x、y、z方向等等。
例如,具体可以计算该物品图像融合区域中的每个像素点在该物品图像融合区域中第一方向的百分比,计算该物品图像融合区域中的每个像素点在该物品图像融合区域中第二方向的百分比,根据该第一方向的百分比和该第一方向的百分比确定该像素点在该物品图像融合区域中的相对位置信息。
104、根据该位置信息在该物品图像中获取对应位置的像素信息,将该像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频。
例如,可以根据该第一方向的百分比和该物品图像的长度确定该像素点在该物品图像中第一方向上的位置信息,根据该第二方向的百分比和该物品图像的宽度确定该像素点在该物品图像中第二方向上的位置信息,基于该第一方向上的位置信息和该第二方向上的位置信息,获取对应位置的像素信息。
其中,像素信息可以指的是像素点的颜色信息、亮度信息、和/或灰度信息等等,如像素值等。像素值是原稿图像被数字化时由计算机赋予的值。
例如,可以利用js引擎把视频帧和目标纹理进行图像处理得到最终效果的动画效果纹理,即虚拟物品动效视频,比如,具体可以利用识别出来的相对位置信息到目标纹理中采样得到对应点的像素值,把该像素值替换掉原来视频帧中对应点的像素值,对其他像素点运用同样的技术,最终在视频帧中融入其他的图像素材(如物品图像),以实现融合动画的效果。
比如,具体可以根据该相对位置信息在该物品图像中获取对应位置的像素信息,将该全局位置信息映射到该动画特效区域,得到动画特效区域中的对应像素点,将该像素信息与动画特效区域中对应像素点的像素信息进行融合,得到虚拟物品动效视频。
为了消除像素融合到视频帧中出现的边缘锯齿,可以通过对边缘像素点进行平滑处理,如在对目标纹理采样时应用自定义的滤波算法,比如,具体可以判断物品图像的像素点是否位于物品图像的边缘,若该像素点位于物品图像的边缘,则对该像素点的像素信息进行融合处理,得到融合后像素信息,利用该融合后像素信息替换目标动效视频中对应位置的像素信息,得到虚拟物品动效视频,若该像素点不位于物品图像的边缘,则利用该像素信息替换目标动效视频中对应位置的像素信息,得到虚拟物品动效视频。
其中,判断物品图像的像素点是否位于物品图像的边缘的方式可以有很多种,比如,可以通过像素点的相邻像素点来判断该像素点是否处于边缘,等等。其中,相邻像素点可以是该像素点的上下左右像素点、或者东西南北像素点、亦可以是东南、西南、西北、东北方向的像素点等等。
比如,如图1e所示,具体可以获取物品图像中每个像素点的像素信息和位置信息,基于该位置信息确定该像素点的相邻像素点,获取该相邻像素点的像素信息,根据该像素点的像素信息和该相邻像素点的像素信息判断该像素点是否位于物品图像的边缘。然后,根据该像素点的像素信息和该相邻像素点的像素信息分别确定该像素点的像素值和该相邻像素点的相邻像素值,计算该像素值和该相邻像素值的平均值,将该像素值和该平均值进行融合处理,得到融合后像素信息,再利用该融合后像素信息替换目标动效视频中对应位置的像素信息,得到虚拟物品动效视频。
其中,获取物品图像中每个像素点的像素信息和位置信息的方式可以有很多种,比如可以利用开放图形库加载物品图像,得到物品图像对应的目标纹理,对该目标纹理进行采样,得到每个像素点的像素信息和位置信息。
为了将虚拟物品动效视频以透明的形式呈现在视频上,可以利用视频帧的透明处理技术来实现透明动画效果解决遮挡问题,比如,具体可以获取目标动效视频中的非物品图像融合区域,将该非物品图像融合区域中每个像素点设置为透明像素点。
105、将该虚拟物品动效视频发送给目标对象的终端进行虚拟物品的动效展示。
比如,生成虚拟物品动效视频后可以直接将该虚拟物品动效视频发送给目标对象的终端,也可以将该虚拟物品动效视频保存在服务器,以使服务器将该虚拟物品动效视频发送给该目标对象的终端,以便在目标对象的终端中进行虚拟物品的动效展示,也可以在发送的同时在用户的终端上同时展示,等等。
其中,可以利用展示动画效果的界面,比如,RAAnimationView(动画视图界面),绘制引擎输出的视频帧最终投射到展示界面上来显示最终的具体效果。
由上可知,本实施例可以接收虚拟物品发送指令,该虚拟物品发送指令携带虚拟物品标识,然后,基于该虚拟物品标识获取组成虚拟物品的物品图像和目标动效视频,该目标动效视频包括至少一个视频帧,再确定该视频帧内物品图像融合区域中每个像素点的位置信息,接着,根据该位置信息在该物品图像中获取对应位置的像素信息,将该像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频,再然后,将该虚拟物品动效视频发送给目标对象的终端进行虚拟物品的动效展示。由于该方案可以利用像素识别和融合来实现动画效果的组合,提供丰富的动画效果,使得视频帧中的元素可以被替换、合成,在类似的使用场景下可以复用,解决了在类似场景下效率低的问题,同时具备定制特性视觉效果丰富有个性。利用视频帧的透明处理技术来实现透明动画效果解决遮挡问题,提高用户的视觉体验。该方案使得用户在选中虚拟物品后,虚拟物品不仅可以以透明形式的动画呈现在视频上,还可以和背景动效效果融合形成新的动画效果在视频上呈现,在对目标纹理采样时应用了自定义的滤波算法,消除像素融合到视频帧中出现的边缘锯齿,有效地提高虚拟物品展示的丰富性,改善视觉效果。
根据上一个实施例所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该虚拟物品展示装置具体集成在电子设备,虚拟物品的物品图像为鸭子图像,目标动效视频为烟花视频为例进行说明。
如图2a所示,一种虚拟物品展示方法,具体流程可以如下:
201、电子设备显示用户交互页面,该用户交互页面包括虚拟物品选择控件。
例如,电子设备具体可以显示用户与目标对象交流的用户交互页面,该用户交互页面可以包括虚拟物品选择控件,比如,如图2b所示,可以是“想认识”按钮,用户可以对该按钮进行点击操作。
202、当检测到用户针对该虚拟物品选择控件的触发操作时,电子设备显示虚拟物品选择页面。
例如,具体可以当电子设备检测到用户针对该虚拟物品选择控件的触发操作时,比如,对“想认识”按钮进行点击操作时,显示虚拟物品选择页面,如图2c所示,该虚拟物品选择页面可以包括虚拟物品切换控件,比如刷新按钮,用户可以通过点击该刷新按钮切换不同的虚拟物品,比如,礼物,如图2d所示,从中选择想要送给目标对象的虚拟物品。
203、当用户针对该虚拟物品选择页面的虚拟物品发送操作时,电子设备接收到虚拟物品发送指令。
例如,该虚拟物品选择页面可以包括虚拟物品发送控件,可以为如图2c所示的“发送”按钮,具体可以当用户针对该虚拟物品选择页面的虚拟物品发送控件进行触发操作时,比如,对该“发送”按钮进行点击操作,则确定当前虚拟物品选择页面显示的虚拟物品,比如鸭子,作为用户待发送给目标对象的礼物,此时,可以触发虚拟物品发送指令,电子设备将会对该指令进行接收,该虚拟物品发送指令可以携带虚拟物品标识。
204、电子设备基于该虚拟物品标识获取组成虚拟物品的物品图像和目标动效视频,该目标动效视频包括至少一个视频帧。
例如,电子设备可以基于该虚拟物品标识,利用动画组件加载组成虚拟物品的物品图像(比如,鸭子图像)和目标动效视频(比如,烟花动效视频),以及js动画逻辑,利用动画组件内部js引擎,解释js代码,调用动画组件内部的解码模块对该烟花动效视频进行解析,得到至少一个视频帧。其中,视频帧可以划分为两个对等的区域:动画特效区域和融合目标纹理的位置信息区域。利用OpenGL加载鸭子图像得到鸭子图像对应的目标纹理。
205、电子设备对该动画融合区域进行像素识别,确定动画融合区域中的物品图像融合区域。
例如,如图2e所示,动画融合区域中目标纹理的位置可以用纯色块来标记,电子设备具体可以利用像素RGBA值识别动画融合区域中每个像素点,比如,可以利用底层图形处理器(Graphics Processing Unit,GPU)硬件进行像素扫描识别,以确定动画融合区域中的鸭子图像融合区域,比如图2e动画融合区域中间的纯色小块。
206、电子设备计算该物品图像融合区域中每个像素点的位置信息。
其中,该位置信息可以包括全局位置信息和相对位置信息。例如,电子设备可以计算该鸭子图像融合区域中的每个像素点在该动画融合区域的全局位置信息,比如,如图2e所示,当识别到鸭子图像融合区域中的像素点时计算出该像素点在动画融合区域中的坐标信息,如像素点A(x0,y0),映射到左侧动画特效区域得到C点坐标信息(x2,y2),C点就是需要进行融合的像素点。
接着,电子设备可以计算该鸭子图像融合区域中的每个像素点在该鸭子图像融合区域中的相对位置信息。例如,具体可以计算该鸭子图像融合区域中的每个像素点在该鸭子图像融合区域中第一方向的百分比,如在x方向的百分比,计算该鸭子图像融合区域中的每个像素点在该鸭子图像融合区域中第二方向的百分比,如在y方向的百分比,根据该第一方向的百分比和该第一方向的百分比确定该像素点在该鸭子图像融合区域中的相对位置信息。
207、电子设备根据该位置信息在该物品图像中获取对应位置的像素信息。
例如,电子设备可以根据该第一方向的百分比和该鸭子图像的长度确定该像素点在该鸭子图像中第一方向上的位置信息,根据该第二方向的百分比和该鸭子图像的宽度确定该像素点在该鸭子图像中第二方向上的位置信息,基于该第一方向上的位置信息和该第二方向上的位置信息,在该鸭子图像中获取对应位置的像素信息,比如,将A点映射到鸭子图像中得到B点的位置信息(x2,y2),对鸭子图像的目标纹理进行采样取到目标纹理中B点的RGBA像素信息。
208、电子设备将该像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频。
例如,电子设备可以根据该相对位置信息在该鸭子图像中获取对应位置的像素信息,将该全局位置信息映射到该动画特效区域,得到动画特效区域中的对应像素点,将该像素信息与动画特效区域中对应像素点的像素信息进行融合,对每一帧视频帧都进行步骤205至步骤208的操作,直到所有视频帧处理完毕,得到虚拟物品动效视频。
比如,为了消除像素融合到视频帧中出现的边缘锯齿,可以通过对边缘像素点进行平滑处理,如在对目标纹理采样时应用自定义的滤波算法,比如,电子设备具体可以获取鸭子图像中每个像素点的像素信息和位置信息,基于该位置信息确定该像素点的相邻像素点,获取该相邻像素点的像素信息,根据该像素点的像素信息和该相邻像素点的像素信息判断该像素点是否位于鸭子图像的边缘。比如,可以根据基于像素的alpha通道是否少于1判断该像素点是否处于目标纹理的边缘。
若该像素点位于鸭子图像的边缘,则根据该像素点的像素信息和该相邻像素点的像素信息分别确定该像素点的像素值和该相邻像素点的相邻像素值,计算该像素值和该相邻像素值的平均值,将该像素值和该平均值进行融合处理,得到融合后像素信息,将该融合后像素信息替换烟花动效视频中对应位置的像素信息,得到虚拟物品动效视频。若该像素点不位于鸭子图像的边缘,则将该像素信息替换烟花动效视频中对应位置的像素信息,得到虚拟物品动效视频。
比如,如图1e所示,在这里,可以取像素点M的东南像素点ES、西南像素点WS、西北像素点WN、以及东北像素点EN作为相邻像素点。然后,计算像素点M、东南像素点ES、西南像素点WS、西北像素点WN、以及东北像素点EN的像素值的平均值,将像素点M的像素值和平均值进行融合处理后,得到融合后像素信息。经过滤波平滑处理后的前后对比如图2f所示,图2f(1)为像素点应用自定义的滤波算法进行平滑处理前的效果图,图2f(2)为像素点应用自定义的滤波算法进行平滑处理后的效果图。
其中,应用自定义的滤波算法,消除像素融合到视频帧中出现的边缘锯齿的部分代码可以如下:
为了将虚拟物品动效视频以透明的形式呈现在视频上,电子设备可以利用视频帧的透明处理技术来实现透明动画效果解决遮挡问题,比如,电子设备具体可以获取烟花动效视频中的非鸭子图像融合区域,将该非鸭子图像融合区域中每个像素点设置为透明像素点,如图2e所示,将动画融合区域的非纯色块区域中每个像素点设置为透明像素点。
209、电子设备将该虚拟物品动效视频发送给目标对象的终端。
比如,为了是得到的虚拟物品动效视频可以在类似的使用场景下复用,提高效率,电子设备可以将该虚拟物品动效视频保存在自身的存储器中,也可以将该虚拟物品动效视频保存在服务器,以使服务器将该虚拟物品动效视频发送给该目标对象的终端,以便在目标对象的终端中进行虚拟物品的动效展示,也可以在发送的同时在用户的终端上同时展示,等等。比如,用户点击“发送”后,鸭子礼物不仅可以透明形式的动画呈现在视频上,还可以和背景动效烟花效果融合形成新的动画效果在视频上呈现,如图2g所示,鸭子随着烟花往上喷洒散开,鸭子自身也往上移动并且慢慢变大,就像烟花中喷出一个动态的鸭子的效果。
由上可知,本实施例可以接收虚拟物品发送指令,该虚拟物品发送指令携带虚拟物品标识,然后,基于该虚拟物品标识获取组成虚拟物品的物品图像和目标动效视频,该目标动效视频包括至少一个视频帧,再确定该视频帧内物品图像融合区域中每个像素点的位置信息,接着,根据该位置信息在该物品图像中获取对应位置的像素信息,将该像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频,再然后,将该虚拟物品动效视频发送给目标对象的终端进行虚拟物品的动效展示。由于该方案可以利用像素识别和融合来实现动画效果的组合,提供丰富的动画效果,使得视频帧中的元素可以被替换、合成,在类似的使用场景下可以复用,解决了在类似场景下效率低的问题,同时具备定制特性视觉效果丰富有个性。利用视频帧的透明处理技术来实现透明动画效果解决遮挡问题,提高用户的视觉体验。该方案使得用户在选中虚拟物品后,虚拟物品不仅可以以透明形式的动画呈现在视频上,还可以和背景动效效果融合形成新的动画效果在视频上呈现,例如,虚拟物品鸭子随着烟花往上喷洒散开,鸭子自身也往上移动并且慢慢变大,就像烟花中喷出一个动态的鸭子的效果。在对目标纹理采样时应用了自定义的滤波算法,消除像素融合到视频帧中出现的边缘锯齿,有效地提高虚拟物品展示的丰富性,改善视觉效果。
为了更好地实施以上方法,相应的,本申请实施例还提供一种虚拟物品展示装置,该虚拟物品展示装置具体可以集成在终端中,该终端可以包括手机、平板电脑、笔记本电脑以及个人计算机等可以实现虚拟物品展示的设备。
例如,如图3所示,该虚拟物品展示装置可以包括接收单元301、获取单元302、计算单元303、融合单元304和发送单元305,如下:
(1)接收单元301;
接收单元301,用于接收虚拟物品发送指令,该虚拟物品发送指令携带虚拟物品标识。
可选的,在一些实施例中,该接收单元301,具体可以用于显示用户交互页面,该用户交互页面包括虚拟物品选择控件;当检测到用户针对该虚拟物品选择控件的触发操作时,显示虚拟物品选择页面;当用户针对该虚拟物品选择页面的虚拟物品发送操作时,接收到虚拟物品发送指令。
(2)获取单元302;
获取单元302,用于基于该虚拟物品标识获取组成虚拟物品的物品图像和目标动效视频,该目标动效视频包括至少一个视频帧。
可选的,在一些实施例中,该获取单元302,具体可以用于基于该虚拟物品标识,利用动画组件加载组成虚拟物品的物品图像和目标动效视频,该动画组件包括解码器;利用该解码器对该目标动效视频进行解析,得到至少一个视频帧。
(3)计算单元303;
计算单元303,用于确定该视频帧内物品图像融合区域中每个像素点的位置信息。
可选的,在一些实施例中,该视频帧包括动画融合区域,该位置信息包括全局位置信息和相对位置信息,该计算单元303可以包括确定子单元、第一计算子单元和第二计算子单元,如下:
确定子单元,用于对该动画融合区域进行像素识别,确定动画融合区域中的物品图像融合区域;
第一计算子单元,用于计算该物品图像融合区域中的每个像素点在该动画融合区域的全局位置信息;
第二计算子单元,用于计算该物品图像融合区域中的每个像素点在该物品图像融合区域中的相对位置信息。
可选的,在一些实施例中,该第二计算子单元,具体可以用于计算该物品图像融合区域中的每个像素点在该物品图像融合区域中第一方向的百分比;计算该物品图像融合区域中的每个像素点在该物品图像融合区域中第二方向的百分比;根据该第一方向的百分比和该第一方向的百分比确定该像素点在该物品图像融合区域中的相对位置信息。
(4)融合单元304;
融合单元304,用于根据该位置信息在该物品图像中获取对应位置的像素信息,将该像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频。
可选的,在一些实施例中,该融合单元304,具体可以用于根据该第一方向的百分比和该物品图像的长度确定该像素点在该物品图像中第一方向上的位置信息;根据该第二方向的百分比和该物品图像的宽度确定该像素点在该物品图像中第二方向上的位置信息;基于该第一方向上的位置信息和该第二方向上的位置信息,获取对应位置的像素信息。
可选的,在一些实施例中,该视频帧包括动画特效区域,该融合单元304,具体可以用于根据该相对位置信息在该物品图像中获取对应位置的像素信息;将该全局位置信息映射到该动画特效区域,得到动画特效区域中的对应像素点;将该像素信息与动画特效区域中对应像素点的像素信息进行融合,得到虚拟物品动效视频。
可选的,在一些实施例中,该融合单元304可以包括判断子单元和融合子单元,如下:
该判断子单元,用于判断物品图像的像素点是否位于物品图像的边缘;
该融合子单元,用于若该像素点位于物品图像的边缘,则对该像素点的像素信息进行融合处理,得到融合后像素信息,利用该融合后像素信息替换目标动效视频中对应位置的像素信息,得到虚拟物品动效视频;若该像素点不位于物品图像的边缘,则利用该像素信息替换目标动效视频中对应位置的像素信息,得到虚拟物品动效视频。
可选的,在一些实施例中,该判断子单元,具体可以用于获取物品图像中每个像素点的像素信息和位置信息;基于该位置信息确定该像素点的相邻像素点;获取该相邻像素点的像素信息,根据该像素点的像素信息和该相邻像素点的像素信息判断该像素点是否位于物品图像的边缘。
可选的,在一些实施例中,该融合子单元,具体可以用于根据该像素点的像素信息和该相邻像素点的像素信息分别确定该像素点的像素值和该相邻像素点的相邻像素值;计算该像素值和该相邻像素值的平均值;将该像素值和该平均值进行融合处理,得到融合后像素信息。
可选的,在一些实施例中,该判断子单元,具体可以用于利用开放图形库加载物品图像,得到物品图像对应的目标纹理;对该目标纹理进行采样,得到每个像素点的像素信息和位置信息。
可选的,在一些实施例中,该虚拟物品展示装置还可以包括透明处理单元306,该透明处理单元306,具体可以用于获取目标动效视频中的非物品图像融合区域;将该非物品图像融合区域中每个像素点设置为透明像素点。
(5)发送单元305;
发送单元305,用于将该虚拟物品动效视频发送给目标对象的终端进行虚拟物品的动效展示。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例中可以由接收单元301接收虚拟物品发送指令,该虚拟物品发送指令携带虚拟物品标识,然后,由获取单元302基于该虚拟物品标识获取组成虚拟物品的物品图像和目标动效视频,该目标动效视频包括至少一个视频帧,再由计算单元303确定该视频帧内物品图像融合区域中每个像素点的位置信息,接着,由融合单元304根据该位置信息在该物品图像中获取对应位置的像素信息,将该像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频,再然后,由发送单元305将该虚拟物品动效视频发送给目标对象的终端进行虚拟物品的动效展示。由于该方案可以利用像素识别和融合来实现动画效果的组合,提供丰富的动画效果,使得视频帧中的元素可以被替换、合成,在类似的使用场景下可以复用,解决了在类似场景下效率低的问题,同时具备定制特性视觉效果丰富有个性。利用视频帧的透明处理技术来实现透明动画效果解决遮挡问题,提高用户的视觉体验。该方案使得用户在选中虚拟物品后,虚拟物品不仅可以以透明形式的动画呈现在视频上,还可以和背景动效效果融合形成新的动画效果在视频上呈现,在对目标纹理采样时应用了自定义的滤波算法,消除像素融合到视频帧中出现的边缘锯齿,有效地提高虚拟物品展示的丰富性,改善视觉效果。
此外,本申请实施例还提供一种电子设备,如图4所示,其示出了本申请实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理***与处理器401逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
接收虚拟物品发送指令,该虚拟物品发送指令携带虚拟物品标识,然后,基于该虚拟物品标识获取组成虚拟物品的物品图像和目标动效视频,该目标动效视频包括至少一个视频帧,再确定该视频帧内物品图像融合区域中每个像素点的位置信息,接着,根据该位置信息在该物品图像中获取对应位置的像素信息,将该像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频,再然后,将该虚拟物品动效视频发送给目标对象的终端进行虚拟物品的动效展示。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本实施例可以接收虚拟物品发送指令,该虚拟物品发送指令携带虚拟物品标识,然后,基于该虚拟物品标识获取组成虚拟物品的物品图像和目标动效视频,该目标动效视频包括至少一个视频帧,再确定该视频帧内物品图像融合区域中每个像素点的位置信息,接着,根据该位置信息在该物品图像中获取对应位置的像素信息,将该像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频,再然后,将该虚拟物品动效视频发送给目标对象的终端进行虚拟物品的动效展示。由于该方案可以利用像素识别和融合来实现动画效果的组合,提供丰富的动画效果,使得视频帧中的元素可以被替换、合成,在类似的使用场景下可以复用,解决了在类似场景下效率低的问题,同时具备定制特性视觉效果丰富有个性。利用视频帧的透明处理技术来实现透明动画效果解决遮挡问题,提高用户的视觉体验。该方案使得用户在选中虚拟物品后,虚拟物品不仅可以以透明形式的动画呈现在视频上,还可以和背景动效效果融合形成新动效在视频上呈现,在对目标纹理采样时应用了自定义的滤波算法,消除像素融合到视频帧中出现的边缘锯齿,有效地提高虚拟物品展示的丰富性,改善视觉效果。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例还提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种虚拟物品展示方法中的步骤。例如,该指令可以执行如下步骤:
接收虚拟物品发送指令,该虚拟物品发送指令携带虚拟物品标识,然后,基于该虚拟物品标识获取组成虚拟物品的物品图像和目标动效视频,该目标动效视频包括至少一个视频帧,再确定该视频帧内物品图像融合区域中每个像素点的位置信息,接着,根据该位置信息在该物品图像中获取对应位置的像素信息,将该像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频,再然后,将该虚拟物品动效视频发送给目标对象的终端进行虚拟物品的动效展示。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种虚拟物品展示方法中的步骤,因此,可以实现本申请实施例所提供的任一种虚拟物品展示方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种虚拟物品展示方法、装置和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (15)
1.一种虚拟物品展示方法,其特征在于,包括:
接收虚拟物品发送指令,所述虚拟物品发送指令携带虚拟物品标识;
基于所述虚拟物品标识获取组成虚拟物品的物品图像和目标动效视频,所述目标动效视频包括至少一个视频帧;
确定所述视频帧内物品图像融合区域中每个像素点的位置信息;
根据所述位置信息在所述物品图像中获取对应位置的像素信息,将所述像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频;
将所述虚拟物品动效视频发送给目标对象的终端进行虚拟物品的动效展示。
2.根据权利要求1所述的方法,其特征在于,所述视频帧包括动画融合区域,所述位置信息包括全局位置信息和相对位置信息,确定所述视频帧内物品图像融合区域中每个像素点的位置信息,包括:
对所述动画融合区域进行像素识别,确定动画融合区域中的物品图像融合区域;
计算所述物品图像融合区域中的每个像素点在所述动画融合区域的全局位置信息;以及
计算所述物品图像融合区域中的每个像素点在所述物品图像融合区域中的相对位置信息。
3.根据权利要求2所述的方法,其特征在于,所述计算所述物品图像融合区域中的每个像素点在所述物品图像融合区域中的相对位置信息,包括:
计算所述物品图像融合区域中的每个像素点在所述物品图像融合区域中第一方向的百分比;
计算所述物品图像融合区域中的每个像素点在所述物品图像融合区域中第二方向的百分比;
根据所述第一方向的百分比和所述第一方向的百分比确定所述像素点在所述物品图像融合区域中的相对位置信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所述位置信息在所述物品图像中获取对应位置的像素信息,包括:
根据所述第一方向的百分比和所述物品图像的长度确定所述像素点在所述物品图像中第一方向上的位置信息;
根据所述第二方向的百分比和所述物品图像的宽度确定所述像素点在所述物品图像中第二方向上的位置信息;
基于所述第一方向上的位置信息和所述第二方向上的位置信息,获取对应位置的像素信息。
5.根据权利要求2所述的方法,其特征在于,所述视频帧包括动画特效区域,所述根据所述位置信息在所述物品图像中获取对应位置的像素信息,将所述像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频,包括:
根据所述相对位置信息在所述物品图像中获取对应位置的像素信息;
将所述全局位置信息映射到所述动画特效区域,得到动画特效区域中的对应像素点;
将所述像素信息与动画特效区域中对应像素点的像素信息进行融合,得到虚拟物品动效视频。
6.根据权利要求1所述的方法,其特征在于,所述,将所述像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频,包括:
判断物品图像的像素点是否位于物品图像的边缘;
若所述像素点位于物品图像的边缘,则对所述像素点的像素信息进行融合处理,得到融合后像素信息,利用所述融合后像素信息替换目标动效视频中对应位置的像素信息,得到虚拟物品动效视频;
若所述像素点不位于物品图像的边缘,则利用所述像素信息替换目标动效视频中对应位置的像素信息,得到虚拟物品动效视频。
7.根据权利要求6所述的方法,其特征在于,所述判断物品图像的像素点是否位于物品图像的边缘,包括:
获取物品图像中每个像素点的像素信息和位置信息;
基于所述位置信息确定所述像素点的相邻像素点;
获取所述相邻像素点的像素信息,根据所述像素点的像素信息和所述相邻像素点的像素信息判断所述像素点是否位于物品图像的边缘。
8.根据权利要求7所述的方法,其特征在于,所述对所述像素点的像素信息进行融合处理,得到融合后像素信息,包括:
根据所述像素点的像素信息和所述相邻像素点的像素信息分别确定所述像素点的像素值和所述相邻像素点的相邻像素值;
计算所述像素值和所述相邻像素值的平均值;
将所述像素值和所述平均值进行融合处理,得到融合后像素信息。
9.根据权利要求7所述的方法,其特征在于,所述获取物品图像中每个像素点的像素信息和位置信息,包括:
加载物品图像,得到物品图像对应的目标纹理;
对所述目标纹理进行采样,得到每个像素点的像素信息和位置信息。
10.根据权利要求1所述的方法,其特征在于,所述将所述像素信息与目标动效视频中对应位置的像素信息进行融合之后,还包括:
获取目标动效视频中的非物品图像融合区域;
将所述非物品图像融合区域中每个像素点设置为透明像素点。
11.根据权利要求1所述的方法,其特征在于,所述接收虚拟物品发送指令,包括:
显示用户交互页面,所述用户交互页面包括虚拟物品选择控件;
当检测到用户针对所述虚拟物品选择控件的触发操作时,显示虚拟物品选择页面;
当用户针对所述虚拟物品选择页面的虚拟物品发送操作时,接收到虚拟物品发送指令。
12.根据权利要求1所述的方法,其特征在于,所述基于所述虚拟物品标识获取组成虚拟物品的物品图像和目标动效视频,所述目标动效视频包括至少一个视频帧,包括:
基于所述虚拟物品标识,利用动画组件加载组成虚拟物品的物品图像和目标动效视频,所述动画组件包括解码器;
利用所述解码器对所述目标动效视频进行解析,得到至少一个视频帧。
13.一种虚拟物品展示装置,其特征在于,包括:
接收单元,用于接收虚拟物品发送指令,所述虚拟物品发送指令携带虚拟物品标识;
获取单元,用于基于所述虚拟物品标识获取组成虚拟物品的物品图像和目标动效视频,所述目标动效视频包括至少一个视频帧;
确定单元,用于确定所述视频帧内物品图像融合区域中每个像素点的位置信息;
融合单元,用于根据所述位置信息在所述物品图像中获取对应位置的像素信息,将所述像素信息与目标动效视频中对应位置的像素信息进行融合,得到虚拟物品动效视频;
发送单元,用于将所述虚拟物品动效视频发送给目标对象的终端进行虚拟物品的动效展示。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至12中任一项所述的虚拟物品展示方法中的步骤。
15.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至12任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010301991.2A CN113538302A (zh) | 2020-04-16 | 2020-04-16 | 虚拟物品展示方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010301991.2A CN113538302A (zh) | 2020-04-16 | 2020-04-16 | 虚拟物品展示方法、装置和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113538302A true CN113538302A (zh) | 2021-10-22 |
Family
ID=78088467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010301991.2A Pending CN113538302A (zh) | 2020-04-16 | 2020-04-16 | 虚拟物品展示方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113538302A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114115530A (zh) * | 2021-11-08 | 2022-03-01 | 深圳市雷鸟网络传媒有限公司 | 虚拟对象控制方法、装置、电子设备及存储介质 |
-
2020
- 2020-04-16 CN CN202010301991.2A patent/CN113538302A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114115530A (zh) * | 2021-11-08 | 2022-03-01 | 深圳市雷鸟网络传媒有限公司 | 虚拟对象控制方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106611435B (zh) | 动画处理方法和装置 | |
CN108600781B (zh) | 一种视频封面生成的方法以及服务器 | |
CN105468353B (zh) | 一种界面动画的实现方法及装置、移动终端和电脑终端 | |
CN111193876B (zh) | 视频中添加特效的方法及装置 | |
US20100060652A1 (en) | Graphics rendering system | |
CN111161392B (zh) | 一种视频的生成方法、装置及计算机*** | |
WO2021135320A1 (zh) | 一种视频的生成方法、装置及计算机*** | |
CN108337547B (zh) | 一种文字动画实现方法、装置、终端和存储介质 | |
CN106886353B (zh) | 一种用户界面的显示处理方法及装置 | |
CN102411791B (zh) | 一种静止图像动态化的方法和设备 | |
CN115731294A (zh) | 通过面部表情操纵远程化身 | |
CN112073794B (zh) | 动画处理方法、装置、计算机可读存储介质和计算机设备 | |
CN111899155A (zh) | 视频处理方法、装置、计算机设备及存储介质 | |
CN113096233B (zh) | 图像处理方法、装置、电子设备及可读存储介质 | |
CN108846886A (zh) | 一种ar表情的生成方法、客户端、终端和存储介质 | |
CN112053370A (zh) | 基于增强现实的显示方法、设备及存储介质 | |
CN112884908A (zh) | 基于增强现实的显示方法、设备、存储介质及程序产品 | |
CN110908762A (zh) | 一种动态壁纸实现方法及设备 | |
US20230133416A1 (en) | Image processing method and apparatus, and device and medium | |
JP2011022727A (ja) | 画像処理装置および画像処理方法 | |
US20140161173A1 (en) | System and method for controlling video encoding using content information | |
CN113538302A (zh) | 虚拟物品展示方法、装置和计算机可读存储介质 | |
CN109587561A (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN113411537A (zh) | 视频通话方法、装置、终端及存储介质 | |
US8462163B2 (en) | Computer system and motion control method |
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: 40054032 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |